Skip to content

Bring N-API out of experimental #501

Closed

Description

@mhdawson

The criteria for bringing N-API out of experimental were discussed in the VM Summit last July and captured here: nodejs/abi-stable-node#284.

The items where:

  • Multiple implementations of n-api on at least 2 VMs
    • Was already in place as N-API is implemented on V8 and Chakra core
  • Define N-API / async_hooks dependency
  • At least two modules used in real world use cases on at least one VM
  • At least two modules that are NPM installable with pre-builds and all unit tests passing
    • We have worked through the process of how N-API will integrate with node-pre-gyp and
      have a pull request here to integrate the required changed #345

    • We did not have to make any changes to the APIs to support working with node-pre-gyp and
      don't believe any future changes will be required either. As such the N-API team does not believe
      waiting until the PR lands is necessary to move N-API out of experimental.

We have not had to make any breaking changes to the APIs since the last ones which were originally planned for Node 8.6.x back in September 2017.

Along the way we have had comments from a number of modules owners that they will be more interested in moving to N-API once it comes out of experimental.

At this point in time, the N-API team believes it has met the substance of the criteria originally set out and the recommendation of the N-API team is to move it out of experimental as we believe that we will not get a material amount of additional validation while it remains in experimental. This is because modules owners are reluctant to invest while it is in that state.

Activity

  1. cjihrig commented on Mar 5, 2018

    @cjihrig
    Contributor

    +1. Thanks for all of the hard work on N-API.

  2. jasnell commented on Mar 5, 2018

    @jasnell
    Member

    +1

  3. ofrobots commented on Mar 5, 2018

    @ofrobots
    Contributor

    I support this.

  4. mcollina commented on Mar 5, 2018

    @mcollina
    SponsorMember

    +1

  5. rvagg commented on Mar 6, 2018

    @rvagg
    Member

    +1

  6. fhinkel commented on Mar 6, 2018

    @fhinkel
    Contributor

    +1

  7. fhinkel commented on Mar 6, 2018

    @fhinkel
    Contributor

    If there's no objections, moving N-API out of experimental doesn't need a TSC vote, right?

  8. Trott commented on Mar 6, 2018

    @Trott
    Member

    If there's no objections, moving N-API out of experimental doesn't need a TSC vote, right?

    @fhinkel Looking at our documented process in GOVERNANCE.md, we can skip a vote if we:

    • @-mention @nodejs/tsc (<-- oh, look at that, I just did it)
    • wait 72 hours
    • get two or more LGTMs (I think the +1s count) and no objections

    I think this should be removed from the meeting agenda, although by our rules, only @mhdawson can do that because they put it on the agenda in the first place. Michael or someone else can mention it during announcements if they want to raise awareness at the meeting.

    But it sure looks like this is going to sit here for 72 hours (because I think the clock starts when @nodejs/tsc is @-mentioned), and then be affirmed without a vote.

  9. fhinkel commented on Mar 6, 2018

    @fhinkel
    Contributor

    @Trott thanks for explaining. Definitely didn't want to rush it, just making sure we don't skip a vote if needed.

  10. Trott commented on Mar 6, 2018

    @Trott
    Member

    @Trott thanks for explaining. Definitely didn't want to rush it, just making sure we don't skip a vote if needed.

    71 hours and 35 minutes to go! 😄

  11. mhdawson commented on Mar 6, 2018

    @mhdawson
    MemberAuthor

    I'm happy to remove from the agenda. I just wanted to make sure we had some visibility/comments and I think that is occurring.

  12. mcollina commented on Mar 8, 2018

    @mcollina
    SponsorMember

    As part of this process we should make sure that the real-world usage is captured in citgm. It's important we verify that we are not regressing things.
    @mhdawson can you add a couple of those modules?

  13. 14 remaining items

  14. added a commit that references this issue on Jun 7, 2018
  15. added a commit that references this issue on Aug 16, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      Sponsor
      SponsoredKunjungi sekarang
      Promo