drupalorg-cli icon indicating copy to clipboard operation
drupalorg-cli copied to clipboard

Automatically list appropriate change notices

Open damienmckenna opened this issue 7 years ago • 7 comments

It would be really useful if the script could check for change notices. That said, I'm not sure how it could do this without direct access to the d.o database.

damienmckenna avatar Apr 02 '18 13:04 damienmckenna

This is something I wanted, as well. I actually thought Drupal.org listed them! See #14. We can query them via the API pretty easily: https://www.drupal.org/api-d7/node.json?type=changenotice

mglaman avatar Apr 02 '18 13:04 mglaman

Initial proposed output for JSON

{
    "ChangeRecords": [
        {
            "title": "Drupal 8.5 required",
            "description": "<p>As the messenger service is used to show the warning message the Drupal core 8.5 is needed because the services is available in this version.<\/p>\n<p>Read more at: <a href=\"https:\/\/www.drupal.org\/node\/2774931\" rel=\"nofollow\">drupal_get_message() and drupal_set_message() replaced by Messenger service<\/a><\/p>",
            "link": "https:\/\/www.drupal.org\/node\/2966164"
        }
    ],
    "Issues": {
        "Bug": {
            "2966567": "#2966567 by adriancid: Make the onlyone_admin_toolbar module dependent off the admin_toolbar_tools module",
            "2962186": "#2962186 by adriancid, dawehner: Multiples nodes allowed creating nodes with locked languages on configured content types"
        },
        "Feature": {
            "2966904": "#2966904 by adriancid: Drush command to configure the module options",
            "2959384": "#2959384 by adriancid, merauluka: Create a new menu entry for the configured content types",
            "2966586": "#2966586 by adriancid: Don't show the onlyone\/add page it the module is not configured to do it",
            "2966223": "#2966223 by adriancid: Create a new action link in the admin\/content page for the onlyone\/add page",
            "2966146": "#2966146 by adriancid: Save the settings form only if a change is made",
            "2965737": "#2965737 by adriancid: Show a message in the Add content (Only One) page if there are not configured content types",
            "2960494": "#2960494 by adriancid: Save the content types configuration form only if a change is made",
            "2959661": "#2959661 by adriancid: Rebuild the menu only when is needed in the onlyone_config_content_types form submit method",
            "2959429": "#2959429 by adriancid: Rebuild the menu when a new node is added in a configured content type",
            "2959424": "#2959424 by adriancid: Create the README.txt for the module onlyone_admin_toolbar",
            "2959674": "#2959674 by adriancid: Create the onlyone.admin_toolbar service",
            "2959428": "#2959428 by adriancid, merauluka: Change the message in the Add content menu entries",
            "2959430": "#2959430 by adriancid: Rebuild the menu when a node is deleted in a configured content type",
            "2959425": "#2959425 by adriancid: Create the help page for the onlyone_admin_toolbar module",
            "2959397": "#2959397 by adriancid: Create the composer.json file for the onlyone_admin_toolbar module",
            "2959388": "#2959388 by adriancid: Create the onlyone_admin_toolbar.info.yml file",
            "2959295": "#2959295 by adriancid, merauluka: Change the message in the Add content page",
            "2959285": "#2959285 by adriancid: Move global constants to the OnlyOneInterface interface",
            "2959261": "#2959261 by adriancid: Use admin theme for onlyone.config_content_types route",
            "2958807": "#2958807 by adriancid: Create a configuration form for the module options",
            "2958662": "#2958662 by adriancid: Create a test for the getLanguageLabel method when an empty string is passed as a parameter",
            "2958317": "#2958317 by adriancid: Create a test for the getTemporaryContentTypesTableName method",
            "2958245": "#2958245 by adriancid: Create a test for the existsNodesContentType method",
            "2957171": "#2957171 by adriancid: Create a test for the deleteContentTypeConfig method",
            "2956862": "#2956862 by adriancid: Create a test for the getContentTypesList method",
            "2955368": "#2955368 by adriancid: Use the language constants for the language codes",
            "2952429": "#2952429 by adriancid: Create a test to test the InternalFunctions class methods",
            "2952339": "#2952339 by adriancid: Show a message if there are not content types on the site",
            "2952116": "#2952116 by adriancid: Add the css file only if we have not available content types",
            "2945126": "#2945126 by adriancid: Highlight the text 'Content types which have more than one node in at least one language'"
        },
        "Task": {
            "2959244": "#2959244 by adriancid: Update the module documentation",
            "2909962": "#2909962 by adriancid: Drush command to configure the module options",
            "2966850": "#2966850 by adriancid: Rename the configuration variable new_menu_entry to onlyone_new_menu_entry",
            "2966091": "#2966091 by adriancid: Simplify the logic expression to show the links in a menu or another",
            "2959649": "#2959649 by adriancid: Remove the hook_menu_links_discovered_alter() hook implementation from the module onlyone",
            "2958970": "#2958970 by adriancid: Rename the OnlyOneAdminSettings form to ConfigContentTypes",
            "2958305": "#2958305 by adriancid: Rename the getTemporaryContentTypesTable method to getTemporaryContentTypesTableName",
            "2951920": "#2951920 by adriancid: Create a test to test the default configuration variables",
            "2955821": "#2955821 by adriancid: Put the getLanguageLabel utility function inside the onlyone service",
            "2953743": "#2953743 by adriancid: Add the @coversDefaultClass and @cover to all the tests",
            "2952644": "#2952644 by adriancid: Rename the InternalFunctions class to Language",
            "2951602": "#2951602 by adriancid: Put the ONLYONE_GREEN_OUTPUT constant in the drush command file",
            "2951187": "#2951187 by \u0415\u043b\u0438\u043d \u0419., adriancid: Simplify if statement for getting the node id",
            "2951188": "#2951188 by \u0415\u043b\u0438\u043d \u0419., adriancid: Typo in constant for green output",
            "2948894": "#2948894 by adriancid: OnlyOneAdminSettings class constructor is not calling the parent constructor",
            "2948892": "#2948892 by adriancid: Add the docblock to the constructors",
            "2948890": "#2948890 by adriancid: Create an interface to implement it in the onlyone service",
            "2948480": "#2948480 by adriancid: The module version in the CHANGELOG.txt file is not correct"
        }
    }
}

mglaman avatar May 04 '18 14:05 mglaman

Markdown example

/Add a summary here/

Contributors (28)

sorabh.v6, casey, harings_rob, bojanz, rszrama, lisastreeter, mortona2k, jsacksick, edurenye, edwardaa, Lendude, agoradesign, jafacakes2011, pazhyn, mglaman, flocondetoile, GoZ, bmcclure, vasike, finne, bucefal91, EclipseGc, joachim, alexpott, mistermoper, dhwani.addweb, MegaChriz, jp.stacey

Changelog

Issues: 31 issues resolved. Change records: 1 change records.

Change records

The $store argument in CartProvider methods is now optional

The signature of CartProvider methods which accept a $store has changed to allow a NULL value, which indicates that the current store should be used.

Before:

public function createCart($order_type, StoreInterface $store, AccountInterface $account = NULL) {

After:

public function createCart($order_type, StoreInterface $store = NULL, AccountInterface $account = NULL) {

This simplifies the calling code in cases when only a single store is ever used.

[https://www.drupal.org/node/2943839][https://www.drupal.org/node/2943839]

All changes since 8.x-2.3:

Bug

Feature

Task

mglaman avatar May 04 '18 14:05 mglaman

Add a summary here

Contributors (28)

sorabh.v6, casey, harings_rob, bojanz, rszrama, lisastreeter, mortona2k, jsacksick, edurenye, edwardaa, Lendude, agoradesign, jafacakes2011, pazhyn, mglaman, flocondetoile, GoZ, bmcclure, vasike, finne, bucefal91, EclipseGc, joachim, alexpott, mistermoper, dhwani.addweb, MegaChriz, jp.stacey

Changelog

Issues: 31 issues resolved.

Change records: 1 change records.

Change records

The $store argument in CartProvider methods is now optional

The signature of CartProvider methods which accept a $store has changed to allow a NULL value, which indicates that the current store should be used.

Before:

public function createCart($order_type, StoreInterface $store, AccountInterface $account = NULL) {

After:

public function createCart($order_type, StoreInterface $store = NULL, AccountInterface $account = NULL) {

This simplifies the calling code in cases when only a single store is ever used.

https://www.drupal.org/node/2943839

All changes since 8.x-2.3:

Bug

Feature

Task

mglaman avatar May 04 '18 14:05 mglaman

I think it'd be better to just list them, rather than including the entire description - they can include a lot of text.

damienmckenna avatar May 04 '18 18:05 damienmckenna

I also think the change notices should have their own section, rather than being grouped in with the issues?

damienmckenna avatar May 04 '18 18:05 damienmckenna

Great idea. I agree its better to just link to the change notice rather than including their content, as their content could be updated in the future which would leave the release notes inaccurate.

manuee avatar Sep 19 '18 08:09 manuee