Semantic Versioning Lightning Talk

632 views

Published on

Semantic Versioning Lightning talk from the http://www.meetup.com/DevOps-Kansas-City/ September meetup.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
632
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Semantic Versioning Lightning Talk

  1. 1. Semantic Versioning Aaron Blythe
  2. 2. Fundamentals – The Shot
  3. 3. Fundamentals – The Shot
  4. 4. Fundamentals – The Shot
  5. 5. Fundamentals – The Shot
  6. 6. Fundamentals – The Shot
  7. 7. http://semver.org/
  8. 8. 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
  9. 9. Version 1.2.3
  10. 10. Version 1.2.3 Major Minor Fix (Patch)
  11. 11. Fix Version 1.2.3 Version 1.2.4
  12. 12. Passive Addition of Functionality Version 1.2.3 Version 1.3.0
  13. 13. Non-Passive Change Version 1.2.3 Version 2.0.0
  14. 14. 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.
  15. 15. What about Continuous Integration? 1.0.0-alpha1 < 1.0.0-beta1 < 1.0.0-beta2 < 1.0.0-rc1 < 1.0.0
  16. 16. 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
  17. 17. 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.
  18. 18. When do I ship 1.0.0? • If your code is in a production system, then it is a 1.0.0
  19. 19. What if I mess up?
  20. 20. Why is this important? This is communication Mechanism
  21. 21. Why is this important?
  22. 22. Why is this important?

×