$30 off During Our Annual Pro Sale. View Details »
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
300
Greenkeeper – managing dependencies with confidence
boennemann
0
100
JavaScript Release Management for Open Source Projects and Companies
boennemann
0
530
Dependency Hell Just Froze Over
boennemann
1
560
npm – more than just install
boennemann
0
180
We fail to follow SemVer – and why it needn’t matter
boennemann
0
300
We fail to follow SemVer – and why it needn’t matter
boennemann
3
1.3k
We fail to follow SemVer – and why it needn’t matter
boennemann
0
230
Hoodie.js Introduction – Salzburg Web Dev Meetup
boennemann
0
720
Other Decks in Programming
See All in Programming
connect-python: convenient protobuf RPC for Python
anuraaga
0
350
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
5
270
AIと協働し、イベントソーシングとアクターモデルで作る後悔しないアーキテクチャ Regret-Free Architecture with AI, Event Sourcing, and Actors
tomohisa
5
18k
俺流レスポンシブコーディング 2025
tak_dcxi
13
7.7k
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
2
1.1k
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
2.9k
[堅牢.py #1] テストを書かない研究者に送る、最初にテストを書く実験コード入門 / Let's start your ML project by writing tests
shunk031
11
6.9k
CSC305 Lecture 15
javiergs
PRO
0
250
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
8
18k
WebRTC と Rust と8K 60fps
tnoho
2
1.9k
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
110
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
260
Featured
See All Featured
A Tale of Four Properties
chriscoyier
162
23k
A Modern Web Designer's Workflow
chriscoyier
697
190k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.2k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
960
Code Reviewing Like a Champion
maltzj
527
40k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
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