Why do some libraries start with version "0.6" or "0.2" instead of using "1.2" or "1.6"?

Asked

Viewed 117 times

4

Well, here at Stackoverlow I could learn about Versioning.

I was able to understand perfectly the versioning scheme, and how each of the "points" that separate the numbers from the versions work.

I noticed that several libraries (like Composer for example) with the default #.#.#, and Versionar is usually from 1. That is to say, 1.0.0.

For example:

"phplegends/pt-br-validator": "1.0.4",

"maatwebsite/excel" : "1.1.0",

I thought that a lock of a pattern start to number the version (first digit) of the library from 1.0.0. However I saw libraries starting (the first number) from 0.

For example, this library of Barryvdh/Laravel-Dompdf is in the version 0.4.*:

 "barryvdh/laravel-dompdf": "0.4.*",

Why do some libraries do this?

When the library begins with 0 instead of 1, has some special meaning (such as a beta version, for example)?

  • 3

    They are usually pre-release versions, or not yet mature enough to be considered a release candidate.

  • Guys, what’s with the negatives? I don’t understand. Please, demonstrate here. I take the time to ask the questions to clear my doubts and anyone else’s doubts, and you’re just standing there doing it. If something’s really wrong, don’t be quiet, show me...

  • Thanks for the info @Onosendai :D

  • In addition to @Onosendai there are some rare release cases that are on 0.x because the developer does not understand well how versioning works.

1 answer

7

Why do some libraries do this?

Because their development teams don’t consider them stable. There are a number of reasons for this, such as maturity, usage time, adherence to a considerable amount of systems, and so on.

When the library starts with 0 instead of 1, it has some special meaning (like a beta version, for example)?

According to the Semantic Versioning, indicate a version number started by 0 means that the developer considers that the library in question is still being developed, gaining functionality, etc., and is therefore still at a stage alpha or beta.

  • Despite taking negatives (perhaps because some think this is obvious), I only know in practice the versioning of Composer. And I don’t understand why they use the 0.5, since that means alpha or beta, once the branch master usually it is the version under development (usually called dev-master)... Correct me if I’m wrong

  • 2

    Versioning is one thing. The main branch or branch of development is another, and they are not correlated. Version numbering is a developer’s or development team’s point of view.

  • Thank you, son...

Browser other questions tagged

You are not signed in. Login or sign up in order to post.