this post was submitted on 26 Aug 2023
22 points (100.0% liked)
Experienced Devs
3981 readers
1 users here now
A community for discussion amongst professional software developers.
Posts should be relevant to those well into their careers.
For those looking to break into the industry, are hustling for their first job, or have just started their career and are looking for advice, check out:
- Logo base by Delapouite under CC BY 3.0 with modifications to add a gradient
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Using git is not having a versioned library for what it's worth. Users can't get the latest fixes by picking a newer commit without building against the changes you put into your libraries apis. It sounds like your library is indeed entirely unversioned.
I also do SemVer-compliant releases. Backporting fixes is possible.
It doesn't change the fact that there are large breaking changes between versions. The only users of my library are within the same company, and we have all of the convenience of planning out the changes together.
The challenge arises from developers doing large amounts of R&D on separate but coupled libraries. My library happens to be a very central dependency.
If your library is a core dependency and it is constantly having breaking updates then something is deeply unwell in the environment. That is not sustainable, and it sounds like your library was created without a clear idea of what it should do.
I've been around long enough to know these things happen, but you're not going to find a good way forward because there isn't one. This is going to be a pain point until either the library is stable or the project fails.
I think it's close to stability. And the scope of the library hasn't changed. It's just solving a complex problem that requires several very large data structures, and I've needed to address a couple important issues along the way.