-
-
Notifications
You must be signed in to change notification settings - Fork 419
Open
Description
From an outside perspective, versioning of Dulwich releases seems rather arbitrary:
- Despite being a rather old library, all releases start with
0.x.yindicating that it's somehow “not done”. - The distinction between major and minor releases is irrelevant, as Dulwich has never had a major release.
- Minor releases are expected to contain API changes — although ideally, they should be backwards compatible.
- Patch releases should only fix bugs, and should never change APIs.
Yet, patch releases frequently contain breaking changes, such as #1891 which changed the return type of client.get_credentials_from_store() from a tuple to a generator of tuples. As the maintainer of a project depending on Dulwich, this is quite annoying. Not even guarding on minor releases is sufficient; I should probably mark it as incompatible with any future release.
(Now hg-git has also had a fair amount of usages of functions prefixed with _, i.e. private ones. When those break, that's our fault. But that's expected; what's annoying is changes to exposed functions, with no regards to backward compatibily, and in a release supposed to be compatible.)
Metadata
Metadata
Assignees
Labels
No labels