ferrilab/radium

Version 1.0 and future

Closed this issue · 2 comments

The radium API has not changed in some time. I am satisfied with its API as used in bitvec, and it seems that radium has some other dependents who also have not suggested API changes.

Therefore, I propose that we move to version 1.0, and adopt the following versioning policy going forward:

  • radium only officially commits to the Rust stable release train. When new APIs are added to the standard library, radium will follow them on a best-effort basis. radium will not gate new APIs behind Cargo features.
  • Each of these is a minor-version increase:
    • new standard-library atomic API
    • MSRV lift due to rustc or cargo API changes
    • new supported target architecture
  • Changes to target detection or other radium internals are a patch release, if they do not also result in an MSRV lift.

bitvec also tracks the standard-library APIs, and is comfortable tying its MSRV policy to radium's.

If there are no objections remaining by then, I would like to release the main branch as 1.0 on or around 2021 December 25.

* Each of these is a **minor**-version increase:
  
  * new standard-library atomic API

Unfortunately due to the Radium trait not being sealed, I think this would actually be a semver-breaking change, as it would require adding a new method to the trait. Perhaps Radium should be sealed to avoid that.

Since nobody other than core has any business creating new wrappers for UnsafeCell, I agree.