Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
We fail to follow SemVer – and why it needn't m...
Search
Stephan Bönnemann
October 27, 2015
Programming
0
330
We fail to follow SemVer – and why it needn't matter
https://skillsmatter.com/conferences/6612-fullstack#program
Stephan Bönnemann
October 27, 2015
Tweet
Share
More Decks by Stephan Bönnemann
See All by Stephan Bönnemann
Greenkeeper – managing dependencies with confidence
boennemann
0
280
Greenkeeper – managing dependencies with confidence
boennemann
0
98
JavaScript Release Management for Open Source Projects and Companies
boennemann
0
520
Dependency Hell Just Froze Over
boennemann
1
560
npm – more than just install
boennemann
0
170
We fail to follow SemVer – and why it needn’t matter
boennemann
0
290
We fail to follow SemVer – and why it needn’t matter
boennemann
3
1.2k
We fail to follow SemVer – and why it needn’t matter
boennemann
0
230
Hoodie.js Introduction – Salzburg Web Dev Meetup
boennemann
0
680
Other Decks in Programming
See All in Programming
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
730
WebViewの現在地 - SwiftUI時代のWebKit - / The Current State Of WebView
marcy731
0
110
A full stack side project webapp all in Kotlin (KotlinConf 2025)
dankim
0
110
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
290
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
2
630
技術同人誌をMCP Serverにしてみた
74th
1
630
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
1
12k
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
110
テストから始めるAgentic Coding 〜Claude Codeと共に行うTDD〜 / Agentic Coding starts with testing
rkaga
11
3k
Deep Dive into ~/.claude/projects
hiragram
13
2.5k
生成AI時代のコンポーネントライブラリの作り方
touyou
1
170
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
430
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
7
510
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Adopting Sorbet at Scale
ufuk
77
9.4k
Visualization
eitanlees
146
16k
Bash Introduction
62gerente
614
210k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
A better future with KSS
kneath
239
17k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Transcript
125,000 @boennemann packages on npm
@boennemann 200,00 packages on npm
Each package is a problem solved @boennemann
@boennemann
1. npmsearch.com @boennemann
1. npmsearch.com 2. npm install <package> @boennemann
1. npmsearch.com 2. npm install <package> 3. ? @boennemann
1. npmsearch.com 2. npm install <package> 3. ? 4. profit
@boennemann
X.Y.Z @boennemann
X.Y.Z @boennemann Major Minor Patch http://semver.org
@boennemann Major Minor Patch http://semver.org 1.0.0
@boennemann Major Minor Patch http://semver.org 1.0.1
@boennemann Major Minor Patch http://semver.org 1.1.0
@boennemann Major Minor Patch http://semver.org 2.0.0
2.0.0 @boennemann Major Minor Patch
2.0.0 @boennemann Major Minor Patch
2.0.0 @boennemann Patch Breaking Feature
2.0.0 @boennemann Breaking Feature Patch http://semver.npmjs.com/
2.0.0 @boennemann Breaking Feature Patch http://semver.npmjs.com/ ~
2.0.0 @boennemann Breaking Feature Patch http://semver.npmjs.com/ ^
not really @boennemann
We fail to follow SemVer @boennemann
@boennemann http://npmbynumbers.bocoup.com/
@boennemann http://npmbynumbers.bocoup.com/ 0.y.z >0.y.z
Anything may change at any time @boennemann
@boennemann
No changelogs @boennemann
@boennemann
@boennemann
@boennemann
Hauptversionsnummern- erhöhungsangst¹ @boennemann ¹ Fear of increasing the major version
If we strictly followed “semantic” versioning, it would probably be
Backbone.js 43.0.0 by now — which doesn't help anyone evaluate the actual progress of the project. – Jeremy Ashkenas, http://backbonejs.org/ @boennemann
evaluate the actual progress of the project @boennemann
@boennemann
Versions are not for humans @boennemann
@boennemann
@boennemann
@boennemann 1.x 2.x
@boennemann 1.x 1.x
Versions are not for humans – names are @boennemann
@boennemann – Stephan Seidt, http://fucking.engineering/
Our tools are so bad, we value human readability in
computer protocols when it really doesn’t. fucking. matter. @boennemann – Stephan Seidt, http://fucking.engineering/
We fail to follow SemVer and why it needn’t matter
@boennemann
we need better tools @boennemann
semantic-release fully automated package publishing @boennemann
@boennemann
@boennemann – http://egghead.io/
Trust us, this will change your workflow for the better
@boennemann – http://egghead.io/
⭐⭐⭐ git.io/semantic-release @boennemann
@boennemann
automated dependency updates and testing @boennemann
@boennemann
@boennemann
@boennemann
npm install -g greenkeeper http://greenkeeper.io @boennemann
@boennemann
@boennemann
Thank you @boennemann