Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: add per-item changelogs #11489

Merged
merged 29 commits into from
Feb 24, 2017
Merged

doc: add per-item changelogs #11489

merged 29 commits into from
Feb 24, 2017

Conversation

addaleax
Copy link
Member

@addaleax addaleax commented Feb 22, 2017

Add per-item changelogs to the docs, for notable changes to the API made between io.js 1.0.0 and now. I have used a somewhat subjective idea of “notable” and focused on changes in how the API is used rather than e.g. bug fixes, so please feel free to point out anything that you feel is missing here or doesn’t belong here.

Also, in cases of LTS backports I’ve listed all versions in which the change was applied.

Example screenshot:
Example screenshot

/cc @nodejs/documentation @nodejs/collaborators

@addaleax addaleax added doc Issues and PRs related to the documentations. tools Issues and PRs related to the tools directory. labels Feb 22, 2017
@mscdex
Copy link
Contributor

mscdex commented Feb 22, 2017

I think this table should be collapsible and be collapsed by default, especially since it sits in between the current syntax and its parameters and it takes up a fair amount of space (even more so as time goes along).

@addaleax
Copy link
Member Author

@mscdex Good idea, done!

@italoacasas
Copy link
Contributor

Wao really nice idea...

Maybe the Added in can be the first row in the table?

@joyeecheung
Copy link
Member

Great work!

What about future changes, how will they be added in the documentation? Along with backport PRs?

@addaleax
Copy link
Member Author

What about future changes, how will they be added in the documentation? Along with backport PRs?

Just like we currently handle the added: tags – you add an entry like these containing a REPLACEME tag to the documentation, which will then replaced by the actual version during the release.

Backport PRs might require a bit of manual work by the releaser but that should be okay given how few significant API changes we actually backport.

@mscdex
Copy link
Contributor

mscdex commented Feb 22, 2017

Something else to think about is at what point do we start removing ancient version information (if we should decide that)? If we don't, some of the pages could get quite long unless we set a max height on the tables, at which point the table could automatically be scrollable.

@addaleax
Copy link
Member Author

@italoacasas Done! See updated screenshot.

Something else to think about is at what point do we start removing ancient version information (if we should decide that)? If we don't, some of the pages could get quite long unless we set a max height on the tables, at which point the table will be scrollable.

@mscdex I doubt that will happen anytime soon. I don’t think any entry here has more than 3 changelog entries (4, counting the Added in … one).

@italoacasas
Copy link
Contributor

italoacasas commented Feb 22, 2017

@addaleax I think the word Added in the right column is enough, but since English is not my native language maybe another word to describe the idea?

@addaleax
Copy link
Member Author

@italoacasas Not sure, I’m not a native English speaker either. If anybody else has better suggestions I’ll gladly take them.

Copy link
Member

@jasnell jasnell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love it. Thank you for this. It'll be a bit of work to keep things updated but really quite valuable

@sam-github
Copy link
Contributor

This is great. I agree it would be good to have the table be collapsible, and default to collapsed.

Agree that changes in the API usage (equiv of semver-minor and -major) are what should be documented, not bug fixes.

I would suggest "History" as a less jargony alternative to "Changelog".

@silverwind
Copy link
Contributor

Few stylistic suggestions. Maybe add a class to <details> to allow more targeted styling.

details > summary {
  margin: .5rem 0;
  padding: .5rem 0;
  cursor: pointer;
}

@addaleax addaleax force-pushed the changelogs branch 2 times, most recently from 2cfbc79 to a8ad747 Compare February 23, 2017 13:28
@addaleax
Copy link
Member Author

@silverwind Done, see updated screenshot

I would suggest "History" as a less jargony alternative to "Changelog".

@sam-github Done, sounds better to me too

@@ -470,6 +470,12 @@ th > *:last-child, td > *:last-child {
margin-bottom: 0;
}

details > summary {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.changelog > summary would be better now that we have a class :)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@silverwind done – sorry, wasn’t 100 % sure whether you meant that ;)

Copy link
Member

@bnoordhuis bnoordhuis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, LGTM with some comments/questions.

changes:
- version: v3.0.0
pr-url: https://github.com/nodejs/node/pull/2002
description: The `Buffer`s class now inherits from `Uint8Array`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be in <!-- YAML ... --> markers or do I misunderstand how it works?

doc/api/os.md Outdated
changes:
- version: v5.11.0
pr-url: https://github.com/nodejs/node/pull/6093
description: Added support for `SIGINFO`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto.

while (i < a.length && i < b.length && a[i] === b[i]) i++;
a = a.substr(i);
b = b.substr(i);
return +b.match(numberRe)[1] - +a.match(numberRe)[1];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is going to fail with a TypeError on malformed input (e.g. v0.12.x.) Is that acceptable?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bnoordhuis I actually couldn’t get this code to fail, it would just treat v0.12.x as 0 (assuming the common prefix is v0.12.). That seems somewhat reasonable to me.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, the capture is for zero or more digits (star, not plus.) Right, that never fails to produce a match object. Please disregard then.

@addaleax
Copy link
Member Author

Updated, thanks for catching these.

CI: https://ci.nodejs.org/job/node-test-commit/8097/

PR-URL: nodejs#11489
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Italo A. Casas <[email protected]>
PR-URL: nodejs#11489
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Italo A. Casas <[email protected]>
PR-URL: nodejs#11489
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Italo A. Casas <[email protected]>
addaleax added a commit that referenced this pull request Feb 24, 2017
PR-URL: #11489
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Italo A. Casas <[email protected]>
addaleax added a commit that referenced this pull request Feb 24, 2017
PR-URL: #11489
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Italo A. Casas <[email protected]>
addaleax added a commit that referenced this pull request Feb 24, 2017
PR-URL: #11489
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Italo A. Casas <[email protected]>
addaleax added a commit that referenced this pull request Feb 24, 2017
PR-URL: #11489
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Italo A. Casas <[email protected]>
addaleax added a commit that referenced this pull request Feb 24, 2017
PR-URL: #11489
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Italo A. Casas <[email protected]>
addaleax added a commit to addaleax/node that referenced this pull request Feb 24, 2017
PR-URL: nodejs#11489
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Italo A. Casas <[email protected]>
addaleax added a commit to addaleax/node that referenced this pull request Feb 24, 2017
PR-URL: nodejs#11489
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Italo A. Casas <[email protected]>
addaleax added a commit that referenced this pull request Feb 25, 2017
PR-URL: #11489
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Italo A. Casas <[email protected]>
addaleax added a commit that referenced this pull request Feb 25, 2017
PR-URL: #11489
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Italo A. Casas <[email protected]>
@italoacasas italoacasas mentioned this pull request Feb 28, 2017
italoacasas added a commit to italoacasas/node that referenced this pull request Feb 28, 2017
Notables changes:

* child_process: spawnSync() exit code now is null when the child is killed via signal (cjihrig)
[nodejs#11288](nodejs#11288)
* http: new functions to access the headers for an outgoing HTTP message (Brian White)
[nodejs#11562](nodejs#11562)
* lib: deprecate node --debug at runtime (Josh Gavant)
[nodejs#11275](nodejs#11275)
* tls: new tls.TLSSocket() supports sec ctx options (Sam Roberts)
[nodejs#11005](nodejs#11005)
* url: adding URL.prototype.toJSON support (Michaël Zasso)
[nodejs#11236](nodejs#11236)
* doc: items in the API documentation may now have changelogs (Anna Henningsen)
[nodejs#11489](nodejs#11489)

PR-URL: nodejs#11553
italoacasas added a commit to italoacasas/node that referenced this pull request Mar 1, 2017
Notables changes:

* child_process: spawnSync() exit code now is null when the child is killed via signal (cjihrig)
[nodejs#11288](nodejs#11288)
* http: new functions to access the headers for an outgoing HTTP message (Brian White)
[nodejs#11562](nodejs#11562)
* lib: deprecate node --debug at runtime (Josh Gavant)
[nodejs#11275](nodejs#11275)
* tls: new tls.TLSSocket() supports sec ctx options (Sam Roberts)
[nodejs#11005](nodejs#11005)
* url: adding URL.prototype.toJSON support (Michaël Zasso)
[nodejs#11236](nodejs#11236)
* doc: items in the API documentation may now have changelogs (Anna Henningsen)
[nodejs#11489](nodejs#11489)
* crypto: adding support for OPENSSL_CONF again (Sam Roberts)
[nodejs#11006](nodejs#11006)
* src: adding support for trace-event tracing (misterpoe)
[nodejs#11106](nodejs#11106)

PR-URL: nodejs#11553
italoacasas added a commit to italoacasas/node that referenced this pull request Mar 1, 2017
Notables changes:

* child_process: spawnSync() exit code now is null when the child is killed via signal (cjihrig)
[nodejs#11288](nodejs#11288)
* http: new functions to access the headers for an outgoing HTTP message (Brian White)
[nodejs#11562](nodejs#11562)
* lib: deprecate node --debug at runtime (Josh Gavant)
[nodejs#11275](nodejs#11275)
* tls: new tls.TLSSocket() supports sec ctx options (Sam Roberts)
[nodejs#11005](nodejs#11005)
* url: adding URL.prototype.toJSON support (Michaël Zasso)
[nodejs#11236](nodejs#11236)
* doc: items in the API documentation may now have changelogs (Anna Henningsen)
[nodejs#11489](nodejs#11489)
* crypto: adding support for OPENSSL_CONF again (Sam Roberts)
[nodejs#11006](nodejs#11006)
* src: adding support for trace-event tracing (misterpoe)
[nodejs#11106](nodejs#11106)

PR-URL: nodejs#11553
italoacasas added a commit to italoacasas/node that referenced this pull request Mar 1, 2017
Notables changes:

* child_process: spawnSync() exit code now is null when the child is killed via signal (cjihrig)
[nodejs#11288](nodejs#11288)
* http: new functions to access the headers for an outgoing HTTP message (Brian White)
[nodejs#11562](nodejs#11562)
* lib: deprecate node --debug at runtime (Josh Gavant)
[nodejs#11275](nodejs#11275)
* tls: new tls.TLSSocket() supports sec ctx options (Sam Roberts)
[nodejs#11005](nodejs#11005)
* url: adding URL.prototype.toJSON support (Michaël Zasso)
[nodejs#11236](nodejs#11236)
* doc: items in the API documentation may now have changelogs (Anna Henningsen)
[nodejs#11489](nodejs#11489)
* crypto: adding support for OPENSSL_CONF again (Sam Roberts)
[nodejs#11006](nodejs#11006)
* src: adding support for trace-event tracing (misterpoe)
[nodejs#11106](nodejs#11106)

PR-URL: nodejs#11553
imyller added a commit to imyller/meta-nodejs that referenced this pull request Mar 2, 2017
    Notables changes:

    * child_process: spawnSync() exit code now is null when the child is killed via signal (cjihrig)
    [#11288](nodejs/node#11288)
    * http: new functions to access the headers for an outgoing HTTP message (Brian White)
    [#11562](nodejs/node#11562)
    * lib: deprecate node --debug at runtime (Josh Gavant)
    [#11275](nodejs/node#11275)
    * tls: new tls.TLSSocket() supports sec ctx options (Sam Roberts)
    [#11005](nodejs/node#11005)
    * url: adding URL.prototype.toJSON support (Michaël Zasso)
    [#11236](nodejs/node#11236)
    * doc: items in the API documentation may now have changelogs (Anna Henningsen)
    [#11489](nodejs/node#11489)
    * crypto: adding support for OPENSSL_CONF again (Sam Roberts)
    [#11006](nodejs/node#11006)
    * src: adding support for trace-event tracing (misterpoe)
    [#11106](nodejs/node#11106)

    PR-URL: nodejs/node#11553

Signed-off-by: Ilkka Myller <[email protected]>
@addaleax
Copy link
Member Author

addaleax commented Mar 5, 2017

@italoacasas Just so you know, I added the dont-land-on-v7.x label back, there is a commit in here that should not land on v7.x

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc Issues and PRs related to the documentations. tools Issues and PRs related to the tools directory.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants