drupalorg-cli
drupalorg-cli copied to clipboard
Automatically list appropriate change notices
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.
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
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"
}
}
}
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
- #2910190 by sorabh.v6, casey, harings_rob, bojanz: PriceTwigExtension::formatPrice() should accept empty values
- #2928828 by mortona2k, bojanz: Order-level adjustment rounding is not performed
- #2908419 by edwardaa: Allow for a payment gateway object when creating a payment
- #2903544 by Lendude: \Drupal\commerce_order\Plugin\views\area\OrderTotal doesn't work with commerce_order_item.order_id
- #2939331 followup: Fix tests by removing the unused payment_method_url from the payment method twig template.
- #2943187 by jafacakes2011: Check payment method for existing billing profile before assuming a new one
- #2943767 by agoradesign, pazhyn: README still contains beta notice
- #2929994 by GoZ, bojanz: Clarify OrderRefreshInterface::refresh() documentation
- #2871569 by bucefal91, bojanz: OrderTotalSummary and OrderItemTable formatters can crash when used inside Views
- #2939048 by EclipseGc: Required order item fields will fail validation on add to cart form #ajax
- #2922450 by joachim, bojanz: The cart should always show tax for display inclusive prices
- #2909308 by alexpott: CouponRedemptionPaneTest fails
- #2930209 by alexpott: Random fail in PaymentMethodStorageTest
- #2937039 by bojanz: Cannot use BundleFieldDefinition; the name is already in use
- #2915167 by MegaChriz, jp.stacey, bojanz: Add a commerce_product @ContextDefinition context provider
Feature
- #2901324 by jsacksick, bojanz, edurenye: Make the $store argument to CartProvider methods optional
- #2943621 by bojanz: Add arithmetic methods to Adjustment
- #2936869: Expand adjustment type labels, add singular_label and plural_label
- #2924736 by bojanz: Allow bundle config entities to be locked
Task
- #2926559 by bojanz, rszrama, lisastreeter: Apply order promotions to the subtotal, not the total
- #2944082 by bojanz: Provide a fallback singular_label/plural_label for adjustment types
- #2943961: Create a AdjustmentTransformer service for combining/sorting/rounding adjustments
- #2914176 by agoradesign: Improve TimestampEventSubscriber's dependency injection
- #2943585 by bojanz: Use a value object for the result returned from commerce_order's PriceCalculator
- #2805549 by lisastreeter, edurenye, mglaman, flocondetoile, bojanz: Expand the "Calculated price" formatter with the ability to show prices with promotions/taxes/fees
- #2943525 by bojanz, edurenye: Clean up PriceCalculatedFormatter
- #2867430 by bmcclure, vasike, bojanz, finne: Add empty text to the order items view
- #2936982 by bojanz: Expand OrderNumberSubscriber docs with a better priority explanation
- #2937523 by bojanz: Clean up EntityAccessControlHandler usage
- #2932776 by mistermoper, dhwani.addweb: Prefix all dependencies in *.info.yml with the project name
- #2936705 by edwardaa: Remove legacy fieldable attribute
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/2943839All changes since 8.x-2.3:
Bug
- #2910190 by sorabh.v6, casey, harings_rob, bojanz: PriceTwigExtension::formatPrice() should accept empty values
- #2928828 by mortona2k, bojanz: Order-level adjustment rounding is not performed
- #2908419 by edwardaa: Allow for a payment gateway object when creating a payment
- #2903544 by Lendude: \Drupal\commerce_order\Plugin\views\area\OrderTotal doesn't work with commerce_order_item.order_id
- #2939331 followup: Fix tests by removing the unused payment_method_url from the payment method twig template.
- #2943187 by jafacakes2011: Check payment method for existing billing profile before assuming a new one
- #2943767 by agoradesign, pazhyn: README still contains beta notice
- #2929994 by GoZ, bojanz: Clarify OrderRefreshInterface::refresh() documentation
- #2871569 by bucefal91, bojanz: OrderTotalSummary and OrderItemTable formatters can crash when used inside Views
- #2939048 by EclipseGc: Required order item fields will fail validation on add to cart form #ajax
- #2922450 by joachim, bojanz: The cart should always show tax for display inclusive prices
- #2909308 by alexpott: CouponRedemptionPaneTest fails
- #2930209 by alexpott: Random fail in PaymentMethodStorageTest
- #2937039 by bojanz: Cannot use BundleFieldDefinition; the name is already in use
- #2915167 by MegaChriz, jp.stacey, bojanz: Add a commerce_product @ContextDefinition context provider
Feature
- #2901324 by jsacksick, bojanz, edurenye: Make the $store argument to CartProvider methods optional
- #2943621 by bojanz: Add arithmetic methods to Adjustment
- #2936869: Expand adjustment type labels, add singular_label and plural_label
- #2924736 by bojanz: Allow bundle config entities to be locked
Task
- #2926559 by bojanz, rszrama, lisastreeter: Apply order promotionsto the subtotal, not the total
- #2944082 by bojanz: Provide a fallback singular_label/plural_label for adjustment types
- #2943961: Create a AdjustmentTransformer service for combining/sorting/rounding adjustments
- #2914176 by agoradesign: Improve TimestampEventSubscriber's dependency injection
- #2943585 by bojanz: Use a value object for the result returned from commerce_order's PriceCalculator
- #2805549 by lisastreeter, edurenye, mglaman, flocondetoile, bojanz: Expand the "Calculated price" formatter with the ability to show prices with promotions/taxes/fees
- #2943525 by bojanz, edurenye: Clean up PriceCalculatedFormatter
- #2867430 by bmcclure, vasike, bojanz, finne: Add empty text to the order items view
- #2936982 by bojanz: Expand OrderNumberSubscriber docs with a better priority explanation
- #2937523 by bojanz: Clean up EntityAccessControlHandler usage
- #2932776 by mistermoper, dhwani.addweb: Prefix all dependencies in *.info.yml with the project name
- #2936705 by edwardaa: Remove legacy fieldable attribute
I think it'd be better to just list them, rather than including the entire description - they can include a lot of text.
I also think the change notices should have their own section, rather than being grouped in with the issues?
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.