groove-x / trio-util

Utility library for the Python Trio async/await framework
https://trio-util.readthedocs.io/
MIT License
68 stars 6 forks source link

tracking backwards-incompatible changes #16

Open belm0 opened 3 years ago

belm0 commented 3 years ago

Subscribe to this issue for notices of backward-incompatible changes.

Occasional API changes in trio-util should be expected. The current policy is that such changes may happen within minor version increments (middle number of the version). Bugfix increments (last number) will never have intentional breaking changes. Therefore:

  1. if your application or package build/test environment depends on trio-util, it's best practice to pin the entire version (e.g. via pip-compile tool)
  2. if your package has a trio-util requirement, then... it's tricky. Ideally you'd specify only a minimum version, and make the package work with old and new trio-util versions by various means (so that apps or dependees using your package are free to choose a trio-util version).

Regarding packages depending on trio-util, roughly these levels of care about compatibility are possible:

As the number of packages depending on trio-util increases, I'll try to adjust the priority to suit.

belm0 commented 3 years ago

breaking changes in upcoming release trio-util 0.5.0: