Updated: Comment #78
Problem/Motivation
There are currently two .tpl.php files in core and they are only used for automated tests that ensure PHPTemplate still works. Everything else has been converted to .html.twig.
The Twig conversion patches committed as part of #1987510: [meta] Convert all core *.tpl.php templates to Twig as singular patch got rid of a lot of references to .tpl.php but not everything.
Additionally, some preprocess functions should be updated to comply with Template preprocess functions documentation directives.
Proposed resolution
- Create a patch that updates all relevant occurrences (in documentation) of .tpl.php to .html.twig. There is a separate issue for the non-documentation Views changes: #2049209: Remove 'Theming information' feature from Views in favor of twig_debug
- Convert specific tests like HtmlTplPHPAttributesTest to more generic tests, for example HtmlAttributesTest (see #36 and #38).
Example of what we need to update, from default.settings.php:
/**
* A custom theme can be set for the offline page. This applies when the site
* is explicitly set to maintenance mode through the administration page or when
* the database is inactive due to an error. It can be set through the
* 'maintenance_theme' key. The template file should also be copied into the
* theme. It is located inside 'core/modules/system/maintenance-page.tpl.php'.
* Note: This setting does not apply to installation and update pages.
*/
# $conf['maintenance_theme'] = 'bartik';
Remaining tasks
Patch needs to be reviewed and tested to make sure everything was covered (see #78).
User interface changes
n/a
API changes
n/a
Related Issues
#1987510: [meta] Convert all core *.tpl.php templates to Twig as singular patch
#1757550: [Meta] Convert core theme functions to Twig templates
Simultaneous effort to fix things in smaller patches by chris_hall_hu_cheng:
#2098399: Seven commenting has a number of references to .tpl.php files
#2095109: Comment for html.html.twig in Bartik theme still refers to html.tpl.php
Comment | File | Size | Author |
---|---|---|---|
#114 | 2049207-114.patch | 696 bytes | LinL |
#104 | drupal8.documentation.2049207-104.patch | 1.56 KB | dlu |
#97 | drupal8.documentation.2049207-96.patch | 33.29 KB | dlu |
#89 | drupal8.documentation.2049207-89.interdiff.txt | 514 bytes | dlu |
#89 | drupal8.documentation.2049207-89.patch | 33.28 KB | dlu |
Comments
Comment #1
jhodgdonI did a quick grep through 8.x and there were 64 hits. A few of them are in HtmlTplPhpAttributesTest.php and a couple are in binary files. I'm not sure about HtmlTplPhpAttributesTest -- is that one of those cases where it is actually testing a tpl.php? If not, probably the name of that test should be changed too, and if it is actually still testing a tpl.php, then this should be left alone.
All the rest probably need attention... Anyway it looks like around 55-60 lines need changing, so let's try doing them all in one patch.
Comment #2
star-szrThanks @jhodgdon :) I think HtmlTplPhpAttributesTest can safely be renamed to something like HtmlAttributesTest, it's actually testing html.html.twig.
Comment #3
blakehall CreditAttribution: blakehall commentedHere's a first stab at the documentation cleanup. Hopefully I've caught everything.
Comment #4
star-szrThanks @blakehall! I reviewed the patch via Dreditor and
git diff --color-words
, looks like a great start. An observation and a couple things that need work below:Nice! :)
Please leave these changes for #2049209: Remove 'Theming information' feature from Views in favor of twig_debug, they are functional changes and need a bit more thought.
These comment lines are now too long, please wrap to as long as possible within 80 characters per http://drupal.org/node/1354#drupal.
Comment #5
blakehall CreditAttribution: blakehall commentedHere's another go...
Comment #6
star-szrThanks @blakehall! Looking better, I manually diffed the two patches but interdiffs would be helpful here too :)
We lost the change to default.settings.php - that should be brought back. I'd also like us to rename the HtmlTplPhpAttributesTest class in this issue. When updating the @file docblock please use the newer 'Contains \Drupal…' style, see https://drupal.org/node/1354#file.
Comment #7
blakehall CreditAttribution: blakehall commentedThank you @Cottser for your patience :)
Here's a new patch changing HtmlTplPhpAttributesTest to HtmlTwigAttributesTest and also includes the default.settings.php changes as well as an interdiff.
Comment #8
star-szrTwo more small things:
Rename the HtmlTplPhpAttributesTest.php file to match the class name (per PSR-0).
Contains \Drupal (need to add the leading backslash before 'Drupal')
Other than that I think this is ready to go!
Comment #9
blakehall CreditAttribution: blakehall commentedIncorporating #8.
Comment #10
star-szrLooks great! :)
Comment #11
jhodgdonFunctions like function template_preprocess_region(&$variables) are not even supposed to have .html.twig in their one-line descriptions. See https://drupal.org/node/1354#themepreprocess -- template_preprocess_foo() functions should say "Prepares variables for foo templates" and the hook_preprocess_HOOK functions for hook "foo" should say "Implements hook_preprocess_HOOK for the foo template".
Also, just as a note, after applying this patch I grepped for tpl.php and aside from Views (being handled elsewhere), I think this patch caught everything.
And I looked at the test results page and verified that the newly renamed HtmlTwigAttributesTest.php file is being run, so that is good doo.
Comment #12
star-szr@jhodgdon - great catch, I wasn't thinking about that! So it sounds like the preprocess functions being updated should use the new standards.
Comment #13
blakehall CreditAttribution: blakehall commentedLooking through theme.inc it looked to me like the only documentation that was inconsistent was template_preprocess_region.
If I missed any others let me know and I'll reroll.
Comment #14
jhodgdonThese types of lines also need an update:
Should say "Implements hook_preprocess_HOOK() for field templates."
Also, by convention we do not need to document $variables for either template_preprocess() or hook_preprocess_HOOK() functions.
Comment #15
blakehall CreditAttribution: blakehall commentedThanks for the guidance @jhodgdon.
Here's another go.
Comment #16
star-szrComing along, thanks @blakehall! Feedback on the latest patch:
Indent is off by one space here - the 'An associative array' line and the following line need to be indented by one more space.
EDIT: The associative array line needs to be indented by one and the elements line needs to be outdented by one, per http://drupal.org/node/1354#lists
I would leave these comments as referring to the specific .html.twig file, they will end up as links to the template files on api.d.o which will be more useful.
These ones (maybe missed a couple) are a bit off - always "templates" at the end (plural), and I would refer to the base preprocess to see how the template are referred to. e.g. template_preprocess_html() refers to "HTML document templates". So "maintenance-page" should not be used for example.
Comment #17
jhodgdonUm... Just to clarify, on lists, it should be:
The - goes right under the start of the line above. The description for @param is indented by two spaces from the @.
Other comments from Cottser: spot on. :)
Comment #18
star-szrYeah, I corrected myself after looking at my comment, thanks @jhodgdon :)
Comment #19
blakehall CreditAttribution: blakehall commentedAnother go...
Comment #20
star-szrNice, looking much better @blakehall! A couple things I spotted with the latest patch:
This is closer but the two lines under the @param need to be indented by another space, see @jhodgdon's example for what it should look like.
I know this is only in a test module but this docblock should be formatted like https://drupal.org/node/1354#themepreprocess with the "Prepares" line, default template, and @param.
Comment #21
blakehall CreditAttribution: blakehall commentedComment #22
star-szrThose changes look great! I missed these:
This preprocess function docblock should be given the full http://drupal.org/node/1354#themepreprocess treatment like the one in the theme_test module.
These lines should be left as is per the second point in #16.
Comment #23
jan.stoecklerI tried to incorporate the changes proposed by Cottser in #22.
To document the preprocess variables, i looked at the return value documentation of the relevant functions.
This is my first time uploading a patch, so I'm sorry if I did anything incorrectly.
Comment #24
star-szrThanks @janstoeckler! Great work on your first patch I might add :)
The rolled back lines look good. The only thing that I can see that needs work now is the @param documentation for template_preprocess_overlay(). All those variables are actually built in template_preprocess_overlay(), not passed in. The param passed in to the preprocess function is a render element of 'page', this is defined in overlay_theme().
So for the @param I think we can reuse the documentation from template_preprocess_html():
Comment #25
jan.stoecklerThanks for your response, is that better?
Comment #26
jan.stoecklersorry, forgot to change status.
Comment #27
yanniboi CreditAttribution: yanniboi commentedI've had a quick look at #25. Installed 8.x and patched it. Applied cleanly with no whitespace and no errors, and clean log messages.
Comment #28
star-szr@janstoeckler - that looks good to me! I will give this another review in the evening.
Comment #29
star-szrSo close! After looking at template_preprocess_theme_test_render_element() the docblock there is not quite right.
The @param is a bit off - this preprocess function adds to the attributes array but is passed an 'elements' render array - see theme_test_theme():
I think something like this should be fine for the docblock (grabbed from template_preprocess_block()):
- elements: An associative array containing the properties of the element.
Edit: So just change 'attributes' to 'elements' and the whole thing should be able to fit on one line as well.
Comment #30
jan.stoecklerI'm hoping I understood your instruction correctly.
Comment #31
star-szr@janstoeckler - Right idea but wrong function. Interdiffs are great here so thanks for adding them :). The overlay preprocess documentation was great in the #25 patch but is a bit off now (we should change it back). We need to update the documentation for the preprocess function in theme_test.module.
Comment #32
jan.stoecklerMaybe this time :-)
Comment #33
jan.stoecklerLet's try that again, I forgot to git rm core/modules/system/lib/Drupal/system/Tests/Theme/HtmlTplPhpAttributesTest.php in the previous patch.
Comment #34
star-szrWent through the whole patch again, looks great to me. Thanks for all your hard work on this @blakehall and @janstoeckler :)
Comment #35
webchickSince there's quite a bit here, this could probably benefit from jhodgdon's ever-watchful eye.
Comment #36
jhodgdonI've been lurking and watching Cottser doing an excellent job of reviewing/mentoring in this patch, so I've mostly stayed out of the discussion. :)
So, I think the current patch is mostly fine.
I'm a bit concerned about this one change though:
What does this test/method do, and should this change have actually been made?
Also, I thought in changing the HtmlTplPhpAttributesTest class, we were going to take out all references to either tpl.php or html.twig, and make it be something like HtmlThemeAttributesTest? That would be more in line with our current philosophy of saying "Processes variables for foo templates" rather than "processes variables for foo.html.twig templates" I think? So maybe that class's docs should be redone? Really it is not specific to using PHP or Twig templates -- it is just testing whether the preprocess function results in the attributes getting into the HTML for the page, right?
I'm willing to be overruled on either of these points though, so I've set the status back to "needs review" rather than "needs work".
Comment #37
star-szrI think the update to the file test is justifiable. The array of files is used to build out a directory and test copying it. The _getFakeModuleFiles() method was updated previously with the change to .info.yml files, so I think it's fair to update to .html.twig since that is the default. It's just an example in a test class and the tests pass, the example files created only contain their filename and aren't actually used beyond testing where the directory can be copied. See the testJail() method.
However, looking again at HtmlTplPhpAttributesTest I do agree, we can make it generic. Just need to update the documentation and assertions to remove mention of .tpl.php OR .html.twig and rename the class.
So needs work to make HtmlTplPhpAttributesTest (in the most recent patch HtmlTwigAttributesTest) generic.
Comment #38
tstoecklerMaking some concrete suggestions since this is still tagged Novice:
So the file should be renamed to HtmlAttributesTest.php and the class to HtmlAttributesTest
Should be:
Should be:
Should be:
The function should be named testThemeHtmlAttributes()
Simply omit the "for html.html.twig"
EDIT: Fixed HTML formatting per below.
Comment #39
star-szr@tstoeckler - thanks, can you edit your post to wrap your HTML tags in
<code>
tags please?Comment #40
tstoecklerThanks @Cottser, I always forget that...
Comment #41
jenlamptontagging so this stays on my radar
Comment #42
dlu CreditAttribution: dlu commentedReroll of #33 before starting to work on the comments that follow it.
Comment #43
dlu CreditAttribution: dlu commentedMade changes suggested by tstoeckler in #38.
Comment #44
dlu CreditAttribution: dlu commentedHmm, try that patch again. Interdiff in #43.
Comment #45
tstoecklerThe interdiff is incorrect, but the patch looks good.
Comment #46
star-szrThanks @dlu! I'll mention that it's worth configuring git to handle file renames better, that would make this patch a bit easier to review. You can run `git config --global diff.renames copies` or edit your .gitconfig directly. More details and goodness here: https://drupal.org/documentation/git/configure
That would make it so that the renamed test file in this patch is not shown as being completely deleted and added, it would only show the differences.
As for the patch itself this is looking very good to me, only found a few very minor things to tweak:
I think we can remove the second 'for'.
Please remove these added blank lines.
Definitely nitpicking but 'Note' can fit on the first line here :)
Comment #47
dlu CreditAttribution: dlu commentedIncorporated suggests from #46 along with an edit of the comment in item 3 to make it read a bit more smoothly.
Comment #48
star-szrThanks @dlu! The changes look great. Rewording that comment is a bit out of scope for this issue but I'll let @jhodgdon be the judge of that, it seems reasonable.
This looks RTBC from my perspective other than:
A couple stray line insertions/deletions remain in views-admin.js.
Comment #49
dlu CreditAttribution: dlu commentedCorrect patch to eliminate some stray additions/deletions.
Comment #50
star-szrThat looks good to me, thanks again @dlu!
Assigning to @jhodgdon for another review.
Comment #51
jhodgdonThis all looks great to me...
I have only one concern, and that is that html and body tags have been placed un-escaped into the /** */ documentation and/or test getInfo where they weren't before:
I am not sure, but I think these are all a bad idea. In /** */ docs, HTML meant to be illustrative should be enclosed in @code/@endcode. In getInfo... I'm just not sure what it will do, does it work? Why did this need to be changed from what it was before anyway?
Everything else is good!
Comment #52
star-szrI was suspicious about that but unsure, thanks @jhodgdon!
I think it should be fine to do something like this for all these cases:
Tests that the variables in the 'html' and 'body' tags can be altered.
Comment #53
jhodgdonI agree with #52. Should be a quick fix and then we can get this patch in. Thanks!
Comment #54
dlu CreditAttribution: dlu commentedShould the change happen in both the comments and the stings in code?
That is, should I also make changes like this:
'name' => '\'html\' and \'body\' attributes',
Comment #55
star-szrYes, but in that case we can double quote the whole string to avoid having to escape the single quotes:
'name' => "'html' and 'body' attributes",
And also in that case it might be helpful to add 'tag' or 'element' to give a little more context:
'name' => "'html' and 'body' tag attributes",
Comment #56
tstoecklerYeah, I introduced the < > brackets because "html attributes" could be attributes on any element/tag, whereas this is specifically about the
<html>
tag. I wasn't aware of the implications. I like the suggestion in #55, though.Comment #57
dlu CreditAttribution: dlu commentedRerolled #49 and made the changes suggested by #51 and #52.
The reroll is significantly bigger than #49, this troubles me – but I'm not sure how to evaluate the changes. Here's what I did:
Comment #58
dlu CreditAttribution: dlu commentedOops!
Comment #60
star-szrYes, the patch now has many unrelated changes, so #49 needs another reroll (then you can apply the interdiff). You were right to be suspicious about the size. I will review the interdiff for now :)
I would add 'element' to these ones.
I think this should stay as plural 'Tests' per http://drupal.org/node/1354#functions.
Comment #61
dlu CreditAttribution: dlu commentedSorted out what I did wrong with git in the #57, rerolled, and incorporated the changes from #60.
Comment #63
dlu CreditAttribution: dlu commentedOops, syntax error…
Comment #64
star-szrThanks @dlu for your continued work here. Another reroll is needed, I think it's just for #1969916: Remove drupal_add_js/css from seven.theme so should be a quick one.
Also I noticed another .tpl.php snuck in (to core/modules/views/lib/Drupal/views/Plugin/views/PluginBase.php) as part of #1911492: Views try to find Custom StylePlugin template in core/modules/views/templates, just needs to be replaced with .html.twig.
Other than that, patch looks great to me!
Comment #65
dlu CreditAttribution: dlu commentedDid a reroll and fixed reference to .tpl.php mentioned in #64.
Comment #66
star-szrThanks again @dlu!
So I compared the two patches (via visual diff), we did lose a couple fixes from #63 and I spotted one more docblock that can be fixed up by searching for "Implements hook_preprocess_HOOK() for ".
So these changes should be added back:
And this is a new one that I spotted that could be brought in line since we are fixing all these anyway:
Comment #67
dlu CreditAttribution: dlu commentedReroll of #65 without changes from #66. Intentionally left as 'needs work' since #68 will be a patch and interdiff to implement #66 and this should save the testbot some work.
Comment #68
dlu CreditAttribution: dlu commentedPick up changes from #66 on top of reroll in #67. I think #67 can be ignored, but just in case, it is there.
Comment #69
star-szrThanks @dlu, I think this is ready to fly! I reviewed the whole patch again.
Comment #70
star-szr:/
I did the grep for "Implements hook_preprocess_HOOK() for " again and spotted a couple more, then back to RTBC land:
Comment #71
dlu CreditAttribution: dlu commentedUpdates based on #70.
Comment #72
LinL CreditAttribution: LinL commentedPatch no longer applies:
Otherwise, looks good.
Comment #73
Gaelan CreditAttribution: Gaelan commentedRerolling.
Comment #73.0
Gaelan CreditAttribution: Gaelan commentedAdd issue link for Views Theming information fix issue
Comment #74
mradcliffeI added links to the two recent issues where simultaneous effort by chris_hall_hu_cheng done to fix the .tpl.php references.
Issue summary is a bit outdated with regard to
Comment #75
jhodgdonI don't see where the issue summary is outdated... it looks like the task is correct. Maybe if you see something wrong you can update the summary mradcliffe?
Comment #76
ramlev CreditAttribution: ramlev commentedThe patch is rerolled to work with core for now.
Comment #77
ramlev CreditAttribution: ramlev commentedComment #78
Moderate CreditAttribution: Moderate commentedHi,
I tested the patch.
There were some occurences of .tpl.php in default.settings.php and settings.php.
I edited the last patch.
But i don't know what to do with node--1.tpl.php?
Comment #78.0
Moderate CreditAttribution: Moderate commentedAdded duplicate issues to issue summary to note simultaneous effort done by new core contributor.
Comment #79
dlu CreditAttribution: dlu commentedThis patch looks ok to me, but it might be better to split the reroll from the change to default.settings.php, so I reworked #79 so that we have an interdiff by applying #76 and then making the change from #78. Hopefully this is the right thing to do. The only other "issue" I noticed with this patch (really #76) was a change from templates to template (below) not sure if that was intentional or not – templates seems like the right one to me, but I'm OK with either.
I think the thing to do with node--1.tpl.php is to leave it for now. There doesn't seem to be much point in changing just the comment and from the looks of it, that file may be going away.
As far as I can tell this is ready for RTBC.
Comment #80
star-szrPatch needs another reroll.
node--1.tpl.php is fine because it is used for testing PHPTemplate.
We lost this from #71, please add it back. I diffed #71 and #79.
This should be 'templates' plural as noted by @dlu and according to the standards: http://drupal.org/node/1354#themepreprocess
This is a great catch while we are updating this line, however the line is now too long and needs to be wrapped at 80 characters per http://drupal.org/node/1354#drupal.
Comment #81
dlu CreditAttribution: dlu commentedReroll of #79 prior to starting work on #81 – things must be hopping in Prague :-)
Figure the test bot might be busy, so left it as "needs work" (which it does).
Comment #82
dlu CreditAttribution: dlu commentedThis is a patch based on @Cottser's comments in #81. I can't explain it, but the dropped segment that @Cottser notes as problem #1 isn't dropped in my version… So I didn't make that change. When making change #3 just moving the line break earlier in the line looked ugly, so I rewrote the comment a bit. I'm not sure if that was the right thing to do. Here is the change I made:
I'd appreciate knowing what the "right" thing to do here is – or better yet, where to go looking to see if there is already guidance on this.
Anyway, assuming the above is OK and I'm not delusional about #1, then I think this is ready for review and hopefully we can RTBC it
and get it in before those mad committers in Prague make another reroll necessary!
Comment #84
dlu CreditAttribution: dlu commented#82: drupal8.documentation.2049207-82.patch queued for re-testing.
Comment #85
star-szrI discussed this with @dlu in IRC, and I mentioned we probably shouldn't change the comment that much. Generally less is more and makes things easier to review.
Edit: And usually we keep awkward line breaks, erring on the side of code standards: http://drupal.org/node/1354 :)
Comment #86
dlu CreditAttribution: dlu commentedFixed the over edited default.settings.php. The interdiff is from #85, below is the diff relative to 8.x (that is, the change that should have been made in the first place).
Comment #87
star-szrI think that looks better, thanks @dlu! I think now we need to decide whether "Note: This setting…" gets a paragraph of its own or becomes part of the paragraph ending in ".html.twig'." https://drupal.org/node/1354#general
Comment #88
dlu CreditAttribution: dlu commentedI was thinking it got its own paragraph, so that the note would draw more attention. Not a strong opinion either way.
Comment #89
dlu CreditAttribution: dlu commentedMinor, minor, minor tweak to make note in default.settings.php its own paragraph. No reroll :-D
Comment #90
star-szrThanks for the quick turnaround! I have reviewed the patch itself and grepped again to make sure we're not missing anything. RTBC :)
Comment #91
jhodgdonI concur. Great work! This is ready to go in.
Comment #92
dlu CreditAttribution: dlu commentedYay! And the patch still applies to HEAD :-)
Comment #93
LinL CreditAttribution: LinL commented#89: drupal8.documentation.2049207-89.patch queued for re-testing.
Comment #95
dlu CreditAttribution: dlu commentedReroll of #89. Should be ready to RTBC.
Comment #96
dlu CreditAttribution: dlu commentedCan't post a patch right now – attempts return this error: "An HTTP error 0 occurred /comment-upload/js" in both Chrome and Safari.
I've got a patch ready to go, or if anybody else can post, the fix is trivial, just a simple merge in core/themes/bartik/bartik.theme.
Comment #97
dlu CreditAttribution: dlu commentedHere is the reroll I promised.
Comment #98
LinL CreditAttribution: LinL commentedGo testbot!
Comment #99
LinL CreditAttribution: LinL commentedAnd back to RTBC.
Comment #100
webchickLooks like jhodgdon approves, so getting this in now while it still applies. Great work!!
Committed and pushed to 8.x. Thanks!
Comment #101
tstoecklerThe latest patch missed the HtmlAttributesTest file which was added (renamed) in the previous patches.
Comment #102
star-szrWell, HtmlAttributesTest is definitely there in the patch, but I don't see it or HtmlTplPhpAttributesTest in HEAD. Great catch @tstoeckler!
http://drupalcode.org/project/drupal.git/commit/4f59f97
I think a patch that just adds HtmlAttributesTest would be the quickest fix here.
Comment #103
jhodgdonWhat you are saying is that the commit missed adding the file, right? Maybe webchick still has it in her git repo and can commit it?
Comment #104
dlu CreditAttribution: dlu commentedMy dear Dr. Watson, it is evident that someone purloined HtmlAttributesTest…
Perhaps this small extract from #97 will put things right. The ways of git are most mysterious.
All humor aside, it seemed like the easiest thing to do was just to grab the hunk of the patch from #97 that created HtmlAttributesTest.php and make it into its own patch. That's what this is. It applies on my system to a clean copy of HEAD, but I wanted to describe what I did just in case it is broken in some way.
Comment #106
webchickThanks very much! :) And it was indeed on my machine yet somehow missed by git apply --index. NO idea.
Committed and pushed to 8.x for real this time. :)
Comment #107
webchickHuh. Well that is an ominous cross-post. Though it looks like it is a random fail? Can't think of how this missing test would've caused problems in Drupal\views_ui\Tests\DefaultViewsTest->testSplitListing().
Comment #108
dlu CreditAttribution: dlu commentedIndeed…
Comment #109
dlu CreditAttribution: dlu commented#104: drupal8.documentation.2049207-104.patch queued for re-testing.
Comment #111
webchickThat fail is to be expected, since it's already committed to HEAD.
I'll still be up for an hour or so DEFINITELY NOT WORKING ON MY PNWDS PRESENTATION AT THE LAST MINUTE ;) :) so I'll keep an eye on https://qa.drupal.org/8.x-status and make sure there's no weirdness.
Comment #112
dlu CreditAttribution: dlu commentedDefinitely not, way too stressful…
Comment #113
star-szr:D
Thanks, everyone.
Comment #114
LinL CreditAttribution: LinL commentedLooks like the changes to
sites/default/default.settings.php
were also missing from the commit.The file has been changed since by #1829170: Convert the Maintenance Theme variable to settings, so here's a new patch.
Comment #115
star-szrIndeed, thanks @LinL! Great catch.
Comment #116
jhodgdonThanks! Committed to 8.x. Issue marked fixed yet again. :)
Comment #117
webchickSheesh! :) The documentation patch that keeps on ticking!
Comment #118.0
(not verified) CreditAttribution: commentedUpdate issue summary to include latest updates and new proposals.