36 lines
2.0 KiB
Markdown
36 lines
2.0 KiB
Markdown
# Development Cycle
|
|
|
|
This project follows a regular releasing schedule similar to the one [used by the Rust language]
|
|
except releases always follow the latest [`bdk`] release by one to two weeks. In short, this means
|
|
that a new release is made at a regular cadence, with all the feature/bugfixes that made it to
|
|
`master` in time. This ensures that we don't keep delaying releases waiting for
|
|
"just one more little thing".
|
|
|
|
After making a new `bdk-ffi` release tag all downstream language bindings should also be updated.
|
|
|
|
This project uses [Semantic Versioning], but is currently at MAJOR version zero (0.y.z) meaning it
|
|
is still in initial development. Anything MAY change at any time. The public API SHOULD NOT be
|
|
considered stable. Until we reach version `1.0.0` we will do our best to document any breaking API
|
|
changes in the changelog info attached to each release tag.
|
|
|
|
We decided to maintain a faster release cycle while the library is still in "beta", i.e. before
|
|
release `1.0.0`: since we are constantly adding new features and, even more importantly, fixing
|
|
issues, we want developers to have access to those updates as fast as possible. For this reason we
|
|
will make a release **every 4 weeks**.
|
|
|
|
Once the project reaches a more mature state (>= `1.0.0`), we will very likely switch to longer
|
|
release cycles of **6 weeks**.
|
|
|
|
The "feature freeze" will happen when [`bdk`] releases a release candidate. This project will then
|
|
be updated and tested with [`bdk`] release candidates until a final release is published. This
|
|
means a new branch will be created originating from the `master` tip at that time, and in that
|
|
branch we will stop adding new features and only focus on ensuring the ones we've added are working
|
|
properly.
|
|
|
|
To create a new release a release manager will create a new issue using a `Release` template and
|
|
follow the template instructions.
|
|
|
|
[used by the Rust language]: https://doc.rust-lang.org/book/appendix-07-nightly-rust.html
|
|
[Semantic Versioning]: https://semver.org/
|
|
[`bdk`]: https://github.com/bitcoindevkit/bdk
|