pointfreeco / swift-nonempty

🎁 A compile-time guarantee that a collection contains a value.

Home Page:https://www.pointfree.co/episodes/ep20-nonempty

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

1.0.0

KyLeggiero opened this issue · comments

commented

How do I know when to release 1.0.0?
If your software is being used in production, it should probably already be 1.0.0. If you have a stable API on which users have come to depend, you should be 1.0.0. If you’re worrying a lot about backwards compatibility, you should probably already be 1.0.0.

SemVer.org


The release major version number is still less than 1 (right now, it's 0.2.2). By the SemVer standard, this mean that this is still in initial development and the API may change drastically between minor versions:

  1. Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.

SemVer.org

Since it seems initial development is complete and this is ready for production use, can we increment the major version number to 1 (or greater) to indicate this? That would not preclude big future changes which change the functionality or public API:

  1. Major version X (X.y.z | X > 0) MUST be incremented if any backwards incompatible changes are introduced to the public API. It MAY also include minor and patch level changes. Patch and minor version MUST be reset to 0 when major version is incremented.

SemVer.org

Because we're still making some major changes, we'll continue to use 0.x.x releases for now. (We just released 0.3.0.)

We still try to keep our 0.x releases stable and introduce deprecations and fixits where we can, and will plan a 1.0.0 eventually 😄