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 matter
Search
Stephan Bönnemann
October 27, 2015
Programming
0
220
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
160
Greenkeeper – managing dependencies with confidence
boennemann
0
79
JavaScript Release Management for Open Source Projects and Companies
boennemann
0
510
Dependency Hell Just Froze Over
boennemann
1
540
npm – more than just install
boennemann
0
160
We fail to follow SemVer – and why it needn’t matter
boennemann
0
260
We fail to follow SemVer – and why it needn’t matter
boennemann
3
1.1k
We fail to follow SemVer – and why it needn’t matter
boennemann
0
220
Hoodie.js Introduction – Salzburg Web Dev Meetup
boennemann
0
560
Other Decks in Programming
See All in Programming
障害対応を起点としたもっといい開発と運用のサイクル作りのためにできること / Hatena Enginner Seminar #29
polamjag
0
420
パフォーマンスを求めてDBに機能を寄せる戦略
aoyagikouhei
0
110
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
840
Going beyond Apache Parquet's default settings
xhochy
0
140
ペパボOpenTelemetry革命
pyama86
2
160
Goのmultiple errorsについて (2024年4月版)
syumai
4
1.3k
Native Federation: The Future of Micro Frontends in Angular
manfredsteyer
PRO
0
130
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
700
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
2
400
SIMD Parallel Programming with the Vector API
josepaumard
0
240
Goのエラースタックトレースの歴史と今後
sonatard
10
2k
新宿ダンジョンを可視化してみた
satoshi7190
3
420
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
12
1k
Into the Great Unknown - MozCon
thekraken
15
1k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Building a Scalable Design System with Sketch
lauravandoore
457
32k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
0
43
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Practical Orchestrator
shlominoach
183
9.7k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
It's Worth the Effort
3n
180
27k
Designing on Purpose - Digital PM Summit 2013
jponch
111
6.5k
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