Comments (5)
I don't think semantic versioning is beneficial to this project. We don't plan on breaking API and having no major version number means that we'll never be tempted to.
from libvarlink.
@larskarlitski, thanks for the quick reply.
I don't think semantic versioning is beneficial to this project. We don't plan on breaking API and having no major version number means that we'll never be tempted to.
I guess that adding features, and fixing or even deprecating existing ones is an integral part of developing an API, so it might come in handy in case the API changed.
Semantic versioning is very explicit about such things, and makes things easier to parse and understand, especially from a release and maintenance point of view, but I am wearing my distribution hat at the moment ;-)
from libvarlink.
I guess that adding features, and fixing or even deprecating existing ones is an integral part of developing an API, so it might come in handy in case the API changed.
That's was my point: the API might change, but we only ever add things, never remove or change semantics. Breaking changes are a nuisance for consumers of an API. A single version number is enough for that. (Note that there's always symbol versioning in the rare case that we do want to reuse a symbol for a different need.)
I understand that this is a bit unusual, but we feel strongly about it. Sorry about that :)
from libvarlink.
I understand that this is a bit unusual, but we feel strongly about it. Sorry about that :)
I am all good with it :) Thanks for taking the time to explain.
from libvarlink.
In short: we just omit the "major" number, because we intend to never use it. In-library symbol versioning will do that for us, just like the glibc model, which will unlikely ever have a major version bump ever. We use the "minor number" as our release number. The "patch" number can be used by distributions.
from libvarlink.
Related Issues (20)
- Include C Examples HOT 3
- varlink_stream_bridge() will silently discard data HOT 1
- non-blocking sockets: Handle EWOULDBLOCK as EAGAIN HOT 4
- Failed to build on MacOS HOT 2
- Use python3 from path, instead of hardcoding /usr/bin HOT 2
- Build failure: Multiple producers for Ninja target "ctags" HOT 3
- Build error with newer meson and ninja HOT 1
- deprecated or not? HOT 2
- test packit HOT 9
- 21: test suite is failing HOT 19
- Fix tests-json/SEGFAULTS
- Fix failing tests in tests-json/FAILS
- Implementation for varlinks std interfaces HOT 2
- [packit] Propose downstream failed for release 23 HOT 1
- Fish shell completion
- There seems to be a memory leak
- RFE: Portability
- There seems to be a heap-use-after-free in test-server-client
- Conditional jump or move depends on uninitialised value(s) in varlink_array_unrefp
- Named PIPES as a backend HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libvarlink.