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

Roadmap development #231

Closed
rvagg opened this issue Jan 2, 2015 · 8 comments
Closed

Roadmap development #231

rvagg opened this issue Jan 2, 2015 · 8 comments

Comments

@rvagg
Copy link
Member

rvagg commented Jan 2, 2015

As part of the 2014-12-17 TC meeting, there's a desire to start pulling together a roadmap of sorts to guide the direction of the project.

The first step is to seek input from the community and this has been happening somewhat in the roadmap repo but it's become a little too bunched up in the "pain points" issue so it's hard to pull apart.

Somebody, at some stage, will start to pull together a roadmap proposal to take to the TC for discussion and possible acceptance, but first it needs ideas enumerated as issues in the roadmap issue.

How to contribute

Create an issue for each discrete idea or roadmap item in the roadmaps repo with the intent to start discussion and get greater feedback. Please be aware that proposing something doesn't guarantee acceptance or even any sort of discussion beyond yourself so be prepared for that.

Somebody needs to start pulling together roadmap-suitable items from the repo that are practical and don't conflict with the broader goals of the project into a roadmap document. What form this takes and the timeframes involved is intentionally vague and open to interpretation; and indeed the "goals" are not clearly defined beyond a stated desire to remain compatible with Node.js releases. Ideally the person would already be a committer or a TC member and be fully aware of the practicalities and goals and not likely to propose something too far from what the TC is likely to accept. This would also be a good case for collaboration amongst multiple people, e.g. propose a skeleton via PR and allow discussion to shape it. At some point I'll probably step in and start this process if nobody else does. I'll probably step in at some point and make a start on this if nobody else does.

@snostorm
Copy link

snostorm commented Jan 2, 2015

Hey @rvagg I think my new issue "Process considerations, 3rd party inspiration" nodejs/roadmap#8 might be relevant to this discussion. At least in terms of how we help people organize and contribute their individual ideas/proposals/"roadmap items".

Edit: fixed the external issue reference.

@rvagg
Copy link
Member Author

rvagg commented Jan 2, 2015

@snostorm yes, interesting indeed, thanks for the links to the resources.

Something I'm personally interested in is scope and how to restrain it. One of the strong points of Node is that it's got a very small core. How can we open up the roadmap process to greater input from outside while not making it a feature-fest? How do we keep core small and not a slowly bloating beast like most other OSS projects?

@sonewman
Copy link
Contributor

sonewman commented Jan 2, 2015

I guess we need a rough list that outlines the feature scope of core (for now). That way it will be easier to defer suggestions falling outside of that remit to the "Great Idea - Create an NPM Module" page.

Even if it does fall on the boundaries; IMO it's always better for an idea to be developed as a module, so we should find a way to encourage it more obviously.

It's always possible to pull good ideas into core if it is decided later that it would be a good idea. We could also have 'core' blessed packages for particular use-cases on the wiki.

If we had a repo / thread (or forum) for features and ideas (could directed to node-forward?), where people can discuss and collaborate on those ideas away from the main io.js repo.

That way issues posted can be directed in the "Feature / Idea" section and good ideas from them can inevitably be pulled back.

It is also probably worth noting that it is wiser to discuss ideas with one of the core contributors / TC members, before creating pull requests for core (even if it does end ip being an issue in the the io.js repo).

Sorry if these suggestions seem obvious, I just thought i'd bounce some ideas 😄

@ilanbiala
Copy link

@sonewman

We could also have 'core' blessed packages for particular use-cases on the wiki.

No one is going to actually maintain the "blessed by core" packages....

IMO it's always better for an idea to be developed as a module

Also not necessarily good, because it won't be optimized like modules here in core are, it won't be supported forever (Passport died, connect-mongo died and came back after a while)...sole developers run out of time, so core things should really be handled by core because new contributors will always join if it's an active community and language...Obviously things like Passport and connect-mongo should be in userland, but they are just an example.

@bnoordhuis
Copy link
Member

@rvagg Say I want to nominate nodejs/roadmap#9, how do I go about that?

@sonewman
Copy link
Contributor

@ilanbiala by "blessed" i just meant like what npm does where it displays popular well tested modules. This information could even be sourced from npm via their API.
-btw the above were suggestions.

No one is going to actually maintain the "blessed by core" packages....

It's kind of a pessimistic view point don't you think?

That is like saying "No one will maintain any package". There is no guarantee that anyone will maintain any package they create anyway, the beauty of open source is that modules can be forked, etc. Growing the community and getting more people involved in the responsibilities helps further expansion and reincarnation.

IMO it's always better for an idea to be developed as a module

Also not necessarily good, because it won't be optimized like modules here in core are, it won't be supported forever...

A lot of things in core have been developed outside of core initially, i.e. readable-streams.

There is really no reason why something can't be optimised in for core outside of core, if the developer is serious about making something super optimised.

And as I also said you can test something in the wild and see if it is actually a good idea or not. Because once something is in core, it is very difficult to remove (e.g. domains).

io.js and node would be hugely losing focus by accepting or implementing every feature anybody ever asked for inevitably becoming some kind of standard library.

It's just not practical. So there has to be a point to draw a line.

By having a roadmap, everyone sees the direction, and can help to achieve a common goal. What that goal is and the milestones involved with that should also a collaborative process.

@mikeal
Copy link
Contributor

mikeal commented Jan 24, 2015

This is underway now in the roadmap repo. Closing here :)

@mikeal mikeal closed this as completed Jan 24, 2015
@sonewman
Copy link
Contributor

Nice 👍

Trott pushed a commit to npm/node that referenced this issue Aug 20, 2019
Full release notes:

A few meaty bugfixes, and introducing `peerDependenciesMeta`.

FEATURES

* [`a12341088`](npm/cli@a123410)
  [nodejs#224](npm/cli#224) Implements
  peerDependenciesMeta ([@arcanis](https://github.com/arcanis))
* [`2f3b79bba`](npm/cli@2f3b79b)
  [nodejs#234](npm/cli#234) add new forbidden 403
  error code ([@claudiahdz](https://github.com/claudiahdz))

BUGFIXES

* [`24acc9fc8`](npm/cli@24acc9f)
  and
  [`45772af0d`](npm/cli@45772af)
  [nodejs#217](npm/cli#217)
  [npm.community#8863](https://npm.community/t/installing-the-same-module-under-multiple-relative-paths-fails-on-linux/8863)
  [npm.community#9327](https://npm.community/t/reinstall-breaks-after-npm-update-to-6-10-2/9327,)
  do not descend into directory deps' child modules, fix shrinkwrap
  files that inappropriately list child nodes of symlink packages
  ([@isaacs](https://github.com/isaacs) and
  [@salomvary](https://github.com/salomvary))
* [`50cfe113d`](npm/cli@50cfe11)
  [nodejs#229](npm/cli#229) fixed typo in semver doc
  ([@gall0ws](https://github.com/gall0ws))
* [`e8fb2a1bd`](npm/cli@e8fb2a1)
  [nodejs#231](npm/cli#231) Fix spelling mistakes in
  CHANGELOG-3.md ([@XhmikosR](https://github.com/XhmikosR))
* [`769d2e057`](npm/cli@769d2e0)
  [npm/uid-number#7](npm/uid-number#7) Better
  error on invalid `--user`/`--group` configs. This addresses the issue
  when people fail to install binary packages on Docker and other
  environments where there is no 'nobody' user.
  ([@isaacs](https://github.com/isaacs))
* [`8b43c9624`](npm/cli@8b43c96)
  [nodejs#28987](nodejs#28987)
  [npm.community#6032](https://npm.community/t/npm-ci-doesnt-respect-npmrc-variables/6032)
  [npm.community#6658](https://npm.community/t/npm-ci-doesnt-fill-anymore-the-process-env-npm-config-cache-variable-on-post-install-scripts/6658)
  [npm.community#6069](https://npm.community/t/npm-ci-does-not-compile-native-dependencies-according-to-npmrc-configuration/6069)
  [npm.community#9323](https://npm.community/t/npm-6-9-x-not-passing-environment-to-node-gyp-regression-from-6-4-x/9323/2)
  Fix the regression where random config values in a .npmrc file are not
  passed to lifecycle scripts, breaking build processes which rely on
  them.  ([@isaacs](https://github.com/isaacs))
* [`8b85eaa47`](npm/cli@8b85eaa)
  save files with inferred ownership rather than relying on `SUDO_UID`
  and `SUDO_GID`. ([@isaacs](https://github.com/isaacs))
* [`b7f6e5f02`](npm/cli@b7f6e5f)
  Infer ownership of shrinkwrap files
  ([@isaacs](https://github.com/isaacs))
* [`54b095d77`](npm/cli@54b095d)
  [nodejs#235](npm/cli#235) Add spec to dist-tag
  remove function ([@theberbie](https://github.com/theberbie))

DEPENDENCIES

* [`dc8f9e52f`](npm/cli@dc8f9e5)
  `[email protected]`: Infer the ownership of all unpacked files in
  `node_modules`, so that we never have user-owned files in root-owned
  folders, or root-owned files in user-owned folders.
  ([@isaacs](https://github.com/isaacs))
* [`bb33940c3`](npm/cli@bb33940)
  `[email protected]`:
  * [`9c93ac3`](npm/cmd-shim@9c93ac3)
    [#2](npm/cmd-shim#2)
    [npm#3380](npm/npm#3380) Handle
    environment variables properly
    ([@basbossink](https://github.com/basbossink))
  * [`2d277f8`](npm/cmd-shim@2d277f8)
    [nodejs#25](npm/cmd-shim#25)
    [nodejs#36](npm/cmd-shim#36)
    [nodejs#35](npm/cmd-shim#35) Fix 'no shebang' case
    by always providing `$basedir` in shell script
    ([@igorklopov](https://github.com/igorklopov))
  * [`adaf20b`](npm/cmd-shim@adaf20b)
    [nodejs#26](npm/cmd-shim#26) Fix `$*` causing an
    error when arguments contain parentheses
    ([@satazor](https://github.com/satazor))
  * [`49f0c13`](npm/cmd-shim@49f0c13)
    [nodejs#30](npm/cmd-shim#30) Fix paths for
    MSYS/MINGW bash ([@dscho](https://github.com/dscho))
  * [`51a8af3`](npm/cmd-shim@51a8af3)
    [nodejs#34](npm/cmd-shim#34) Add proper support
    for PowerShell ([@ExE-Boss](https://github.com/ExE-Boss))
  * [`4c37e04`](npm/cmd-shim@4c37e04)
    [#10](npm/cmd-shim#10) Work around quoted
    batch file names ([@isaacs](https://github.com/isaacs))
* [`a4e279544`](npm/cli@a4e2795)
  `[email protected]` ([@isaacs](https://github.com/isaacs)):
    * fail properly if `uid-number` raises an error
    * [`7086a1809`](npm/cli@7086a18)
  `[email protected]` ([@isaacs](https://github.com/isaacs))
* [`8845141f9`](npm/cli@8845141)
  `[email protected]` ([@isaacs](https://github.com/isaacs))
* [`51c028215`](npm/cli@51c0282)
  `[email protected]` ([@isaacs](https://github.com/isaacs))
* [`534a5548c`](npm/cli@534a554)
  `[email protected]` ([@isaacs](https://github.com/isaacs))
* [`3038f2fd5`](npm/cli@3038f2f)
  `[email protected]` ([@isaacs](https://github.com/isaacs))
* [`a609a1648`](npm/cli@a609a16)
  `[email protected]` ([@isaacs](https://github.com/isaacs))
* [`f0346f754`](npm/cli@f0346f7)
  `[email protected]` ([@isaacs](https://github.com/isaacs))
* [`ca9c615c8`](npm/cli@ca9c615)
  `[email protected]` ([@isaacs](https://github.com/isaacs))
* [`b417affbf`](npm/cli@b417aff)
  `[email protected]` ([@isaacs](https://github.com/isaacs))

TESTS

* [`b6df0913c`](npm/cli@b6df091)
  [nodejs#228](npm/cli#228) Proper handing of
  /usr/bin/node lifecycle-path test
  ([@olivr70](https://github.com/olivr70))
* [`aaf98e88c`](npm/cli@aaf98e8)
  `[email protected]` ([@isaacs](https://github.com/isaacs))
isaacs added a commit to npm/node that referenced this issue Aug 21, 2019
Full changelog:

6.11.1 (2019-08-20):

Fix a regression for windows command shim syntax.

* [`37db29647`](npm/cli@37db296)
  `[email protected]` ([@isaacs](https://github.com/isaacs))

v6.11.0 (2019-08-20):

A few meaty bugfixes, and introducing `peerDependenciesMeta`.

FEATURES

* [`a12341088`](npm/cli@a123410)
  [nodejs#224](npm/cli#224) Implements
  peerDependenciesMeta ([@arcanis](https://github.com/arcanis))
* [`2f3b79bba`](npm/cli@2f3b79b)
  [nodejs#234](npm/cli#234) add new forbidden 403 error
  code ([@claudiahdz](https://github.com/claudiahdz))

BUGFIXES

* [`24acc9fc8`](npm/cli@24acc9f)
  and
  [`45772af0d`](npm/cli@45772af)
  [nodejs#217](npm/cli#217)
  [npm.community#8863](https://npm.community/t/installing-the-same-module-under-multiple-relative-paths-fails-on-linux/8863)
  [npm.community#9327](https://npm.community/t/reinstall-breaks-after-npm-update-to-6-10-2/9327,)
  do not descend into directory deps' child modules, fix shrinkwrap files
  that inappropriately list child nodes of symlink packages
  ([@isaacs](https://github.com/isaacs) and
  [@salomvary](https://github.com/salomvary))
* [`50cfe113d`](npm/cli@50cfe11)
  [nodejs#229](npm/cli#229) fixed typo in semver doc
  ([@gall0ws](https://github.com/gall0ws))
* [`e8fb2a1bd`](npm/cli@e8fb2a1)
  [nodejs#231](npm/cli#231) Fix spelling mistakes in
  CHANGELOG-3.md ([@XhmikosR](https://github.com/XhmikosR))
* [`769d2e057`](npm/cli@769d2e0)
  [npm/uid-number#7](npm/uid-number#7) Better
  error on invalid `--user`/`--group` configs. This addresses the issue
  when people fail to install binary packages on Docker and other
  environments where there is no 'nobody' user.
  ([@isaacs](https://github.com/isaacs))
* [`8b43c9624`](npm/cli@8b43c96)
  [nodejs#28987](nodejs#28987)
  [npm.community#6032](https://npm.community/t/npm-ci-doesnt-respect-npmrc-variables/6032)
  [npm.community#6658](https://npm.community/t/npm-ci-doesnt-fill-anymore-the-process-env-npm-config-cache-variable-on-post-install-scripts/6658)
  [npm.community#6069](https://npm.community/t/npm-ci-does-not-compile-native-dependencies-according-to-npmrc-configuration/6069)
  [npm.community#9323](https://npm.community/t/npm-6-9-x-not-passing-environment-to-node-gyp-regression-from-6-4-x/9323/2)
  Fix the regression where random config values in a .npmrc file are not
  passed to lifecycle scripts, breaking build processes which rely on them.
  ([@isaacs](https://github.com/isaacs))
* [`8b85eaa47`](npm/cli@8b85eaa)
  save files with inferred ownership rather than relying on `SUDO_UID` and
  `SUDO_GID`. ([@isaacs](https://github.com/isaacs))
* [`b7f6e5f02`](npm/cli@b7f6e5f)
  Infer ownership of shrinkwrap files
  ([@isaacs](https://github.com/isaacs))
* [`54b095d77`](npm/cli@54b095d)
  [nodejs#235](npm/cli#235) Add spec to dist-tag remove
  function ([@theberbie](https://github.com/theberbie))

DEPENDENCIES

* [`dc8f9e52f`](npm/cli@dc8f9e5)
  `[email protected]`: Infer the ownership of all unpacked files in
  `node_modules`, so that we never have user-owned files in root-owned
  folders, or root-owned files in user-owned folders.
  ([@isaacs](https://github.com/isaacs))
* [`bb33940c3`](npm/cli@bb33940)
  `[email protected]`:
  * [`9c93ac3`](npm/cmd-shim@9c93ac3)
    [#2](npm/cmd-shim#2)
    [npm#3380](npm/npm#3380) Handle environment
    variables properly ([@basbossink](https://github.com/basbossink))
  * [`2d277f8`](npm/cmd-shim@2d277f8)
    [nodejs#25](npm/cmd-shim#25)
    [nodejs#36](npm/cmd-shim#36)
    [nodejs#35](npm/cmd-shim#35) Fix 'no shebang' case by
    always providing `$basedir` in shell script
    ([@igorklopov](https://github.com/igorklopov))
  * [`adaf20b`](npm/cmd-shim@adaf20b)
    [nodejs#26](npm/cmd-shim#26) Fix `$*` causing an
    error when arguments contain parentheses
    ([@satazor](https://github.com/satazor))
  * [`49f0c13`](npm/cmd-shim@49f0c13)
    [nodejs#30](npm/cmd-shim#30) Fix paths for MSYS/MINGW
    bash ([@dscho](https://github.com/dscho))
  * [`51a8af3`](npm/cmd-shim@51a8af3)
    [nodejs#34](npm/cmd-shim#34) Add proper support for
    PowerShell ([@ExE-Boss](https://github.com/ExE-Boss))
  * [`4c37e04`](npm/cmd-shim@4c37e04)
    [#10](npm/cmd-shim#10) Work around quoted
    batch file names ([@isaacs](https://github.com/isaacs))
* [`a4e279544`](npm/cli@a4e2795)
  `[email protected]` ([@isaacs](https://github.com/isaacs)):
    * fail properly if `uid-number` raises an error
* [`7086a1809`](npm/cli@7086a18)
  `[email protected]` ([@isaacs](https://github.com/isaacs))
* [`8845141f9`](npm/cli@8845141)
  `[email protected]` ([@isaacs](https://github.com/isaacs))
* [`51c028215`](npm/cli@51c0282)
  `[email protected]` ([@isaacs](https://github.com/isaacs))
* [`534a5548c`](npm/cli@534a554)
  `[email protected]` ([@isaacs](https://github.com/isaacs))
* [`3038f2fd5`](npm/cli@3038f2f)
  `[email protected]` ([@isaacs](https://github.com/isaacs))
* [`a609a1648`](npm/cli@a609a16)
  `[email protected]` ([@isaacs](https://github.com/isaacs))
* [`f0346f754`](npm/cli@f0346f7)
  `[email protected]` ([@isaacs](https://github.com/isaacs))
* [`ca9c615c8`](npm/cli@ca9c615)
  `[email protected]` ([@isaacs](https://github.com/isaacs))
* [`b417affbf`](npm/cli@b417aff)
  `[email protected]` ([@isaacs](https://github.com/isaacs))

TESTS

* [`b6df0913c`](npm/cli@b6df091)
  [nodejs#228](npm/cli#228) Proper handing of
  /usr/bin/node lifecycle-path test
  ([@olivr70](https://github.com/olivr70))
* [`aaf98e88c`](npm/cli@aaf98e8)
  `[email protected]` ([@isaacs](https://github.com/isaacs))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants