SlideShare a Scribd company logo
Semantic Versioning
Aaron Blythe
Semantic Versioning Lightning Talk
Semantic Versioning Lightning Talk
Semantic Versioning Lightning Talk
Fundamentals – The Shot
Fundamentals – The Shot
Fundamentals – The Shot
Fundamentals – The Shot
Fundamentals – The Shot
http://semver.org/
Public API
• MUST declare a public API
– declared in the code itself or exist strictly in
documentation
– should be precise and comprehensive
• Once released, the contents MUST NOT be
modified
• Any modifications must be released as a new
version
Version 1.2.3
Version 1.2.3
Major Minor Fix (Patch)
Fix
Version 1.2.3
Version 1.2.4
Passive Addition of Functionality
Version 1.2.3
Version 1.3.0
Non-Passive Change
Version 1.2.3
Version 2.0.0
What about Continuous Integration?
• I build code everyday that is changing…
• Pre-release MAY be denoted by arbitrary
string following the patch version and a dash
• Only alphanumerics plus dash [0-9A-Za-z-]
• Precedence SHOULD be determined by
lexicographic ASCII sort order.
What about Continuous Integration?
1.0.0-alpha1 < 1.0.0-beta1 <
1.0.0-beta2 < 1.0.0-rc1 < 1.0.0
But every system is different
• Java Maven
– 2.4-SNAPSHOT Builds:
– server-2.4-20130917.071310-55.jar
• RubyGems
– Rails
• 2.3.8.pre1
• 3.0.0.beta2
• 3.2.14.rc2
What about early on when I change
the API everyday
• Major version zero (0.y.z) is for initial
development.
• Anything may change at any time.
• The public API should not be considered
stable.
When do I ship 1.0.0?
• If your code is in a production system, then it
is a 1.0.0
What if I mess up?
Semantic Versioning Lightning Talk
Why is this important?
This is communication Mechanism
Why is this important?
Why is this important?

More Related Content

PDF
Versioning strategy for a complex internal API (Konstantin Yakushev)
PDF
Upgrade von TYPO3 4.5 auf 6.2 - CertiFUNcation Phantasialand 2015
PDF
Api Versioning
PDF
E instruction hardware compatibility charts
PPTX
SemVer, the whole story
PDF
Semantic Versioning
PDF
Be Happy With Semantic Versioning And Git Flow - PHP Conference Brasil 2012
PPTX
Semantic Versioning with GitVersion
Versioning strategy for a complex internal API (Konstantin Yakushev)
Upgrade von TYPO3 4.5 auf 6.2 - CertiFUNcation Phantasialand 2015
Api Versioning
E instruction hardware compatibility charts
SemVer, the whole story
Semantic Versioning
Be Happy With Semantic Versioning And Git Flow - PHP Conference Brasil 2012
Semantic Versioning with GitVersion

Viewers also liked (13)

PPTX
Gitflow - Una metología para manejo de Branches
KEY
Git Magic: Versioning Files like a Boss
PPTX
Semantic Versioning
PDF
Community live #1 - Gitflow Workflow
PDF
How to be a SemVer Hero – an interactive lightning talk
PPTX
Git like a Pro (How to use it as it was meant to)
PDF
Puppet at GitHub - PuppetConf 2013
PDF
Pubmi gitflow
PDF
Composer The Right Way - 010PHP
PDF
Git-flow workflow and pull-requests
PDF
Composer the right way
PPTX
Angular 2 어디까지 왔을까
PPTX
EMOCON 2015 - HAL with Swagger
Gitflow - Una metología para manejo de Branches
Git Magic: Versioning Files like a Boss
Semantic Versioning
Community live #1 - Gitflow Workflow
How to be a SemVer Hero – an interactive lightning talk
Git like a Pro (How to use it as it was meant to)
Puppet at GitHub - PuppetConf 2013
Pubmi gitflow
Composer The Right Way - 010PHP
Git-flow workflow and pull-requests
Composer the right way
Angular 2 어디까지 왔을까
EMOCON 2015 - HAL with Swagger
Ad

Similar to Semantic Versioning Lightning Talk (20)

PPT
Understand release engineering
PPT
Managing Change
PDF
Skinny Framework Progress Situation
PDF
SQL Server DevOps Jumpstart
PDF
Continuous Automated Deployment with Apache ACE
PDF
Software Quality Management of Opensource Project ( ubuntu and django )
PPTX
Git collaboration
PDF
Real World Git Workflows - EclipseCon Europe 2013
PPTX
Software Versioning by mohammad al banna
PDF
Continuous Delivery in OSS using Shipkit.org
PDF
Acidgrooves DSP SDK Brochure
PDF
The future of RISC-V Supervisor Binary Interface(SBI)
PPTX
Python monorepos what, why and how (shared)
PPTX
Git Workflow .pptx
PDF
HKG18-317 - Arm Server Ready Program
PDF
Business Intelligence Release Management Best Practices
PDF
Everything You Always Wanted to Know About Versions* (*but were afraid to ask...
PDF
Basic switch management
PDF
[WroclawJUG] Continuous Delivery in OSS using Shipkit
Understand release engineering
Managing Change
Skinny Framework Progress Situation
SQL Server DevOps Jumpstart
Continuous Automated Deployment with Apache ACE
Software Quality Management of Opensource Project ( ubuntu and django )
Git collaboration
Real World Git Workflows - EclipseCon Europe 2013
Software Versioning by mohammad al banna
Continuous Delivery in OSS using Shipkit.org
Acidgrooves DSP SDK Brochure
The future of RISC-V Supervisor Binary Interface(SBI)
Python monorepos what, why and how (shared)
Git Workflow .pptx
HKG18-317 - Arm Server Ready Program
Business Intelligence Release Management Best Practices
Everything You Always Wanted to Know About Versions* (*but were afraid to ask...
Basic switch management
[WroclawJUG] Continuous Delivery in OSS using Shipkit
Ad

More from Aaron Blythe (9)

PDF
Creating a Pipeline - LeanAgileKC 2015
PPTX
Guerrilla Marketing: Selling Splunk Internally to your Enterprise
PPTX
Continuous Delivery: Delivering Client Value at Light Speed - DevCon 2015
PPTX
ChefConf 2015 Cleaning up the Kitchen
PPTX
What is devops
PPTX
Devops KC October Lightning Talk
PPTX
Interns What Is DevOps
PPTX
Zabbix: Beyond Thunderdome
PPTX
Devops kc meetup_5_20_2013
Creating a Pipeline - LeanAgileKC 2015
Guerrilla Marketing: Selling Splunk Internally to your Enterprise
Continuous Delivery: Delivering Client Value at Light Speed - DevCon 2015
ChefConf 2015 Cleaning up the Kitchen
What is devops
Devops KC October Lightning Talk
Interns What Is DevOps
Zabbix: Beyond Thunderdome
Devops kc meetup_5_20_2013

Recently uploaded (20)

PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Cloud computing and distributed systems.
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Big Data Technologies - Introduction.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Machine learning based COVID-19 study performance prediction
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Review of recent advances in non-invasive hemoglobin estimation
MIND Revenue Release Quarter 2 2025 Press Release
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Cloud computing and distributed systems.
NewMind AI Weekly Chronicles - August'25 Week I
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
MYSQL Presentation for SQL database connectivity
20250228 LYD VKU AI Blended-Learning.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Big Data Technologies - Introduction.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Machine learning based COVID-19 study performance prediction
The Rise and Fall of 3GPP – Time for a Sabbatical?
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Network Security Unit 5.pdf for BCA BBA.
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Review of recent advances in non-invasive hemoglobin estimation

Semantic Versioning Lightning Talk