Semantic Versioning Sucks! Long Live Semantic Versioning

Semantic Versioning Sucks! Long Live Semantic Versioning

Semantic versioning is a mechanism to convey compatibility between releases. Learn how it works and the best way to use it in this post.

Tomo Suzuki

> automated tools that assign version numbers to releases (based on backward compatibility)

Kengo’s… automatically generates version number based on commit messages.

FerN Talavera

Just as an informative reference. Have you heard of Elm?
A functional language with Enforced Semantic Versioning?
You may want to take a look at it for inspiration:

The Divine Comment #500nap

Optional Fields

Another place you commonly see Maybe values is in records with optional fields.

For example, say we are running a social networking website. Connecting people, friendship, etc. You know the spiel. The Onion outlined our real goals best back in 2011: mine as much data as possible for the CIA. And if we want all the data, we need to ease people into it. Let them add it later. Add features that encourage them to share more and more information over time.

So let’s start with a simple model of a user. They must have a name, but we are going to make the age optional.

type alias User =
{ name : String
, age : Maybe Int

Now say Sue creates an account, but decides not to provide her birthday:

sue : User
sue =
{ name = “Sue”, age = Nothing }

Sue’s friends cannot wish her a happy birthday though. I wonder if they really care about her…
Spicy example yay

Sowthri Ganth Selvakumar


Please refer the below blog. You may have an idea on Semantic Versioning.…

Please don’t forget to take a look on the videos listed on their playlist.