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
Semantic Versioning
Search
Pine Mizune
November 17, 2015
Programming
0
47
Semantic Versioning
社内勉強会で発表した資料
Pine Mizune
November 17, 2015
Tweet
Share
More Decks by Pine Mizune
See All by Pine Mizune
多言語対応と絵文字ジェネレーター / i18n of Emoji Generator
pine
0
800
C++ 製グラフィックライブラリ Skia の紹介 / Introduction to the graphics library Skia written by C++
pine
0
1.8k
asyncio + aiohttp で作るウェブサービス / How to develop a web service with asyncio and aiohttp
pine
0
670
Lerna による明示的疎結合アーキテクチャ
pine
1
640
CircleCI 2.0 x JavaScript
pine
3
550
Perl 卒業式
pine
0
340
Android Studio の気になる warnings を抑制する方法まとめ
pine
0
500
Emoji Generator meets Browser Extensions
pine
1
3k
近年の OSS 開発における CI 選択のベストプラクティス
pine
3
4.5k
Other Decks in Programming
See All in Programming
Google I/O recap web編 大分Web祭り2025
kponda
0
2.9k
AHC051解法紹介
eijirou
0
630
Understanding Ruby Grammar Through Conflicts
yui_knk
1
140
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
1
730
TDD 実践ミニトーク
contour_gara
0
150
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
280
管你要 trace 什麼、bpftrace 用下去就對了 — COSCUP 2025
shunghsiyu
0
470
Laravel Boost 超入門
fire_arlo
1
140
AI OCR API on Lambdaを Datadogで可視化してみた
nealle
0
180
オープンセミナー2025@広島「君はどこで動かすか?」アンケート結果
satoshi256kbyte
0
220
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
160
『リコリス・リコイル』に学ぶ!! 〜キャリア戦略における計画的偶発性理論と変わる勇気の重要性〜
wanko_it
1
600
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
780
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.6k
It's Worth the Effort
3n
187
28k
Optimizing for Happiness
mojombo
379
70k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
Designing for Performance
lara
610
69k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
YesSQL, Process and Tooling at Scale
rocio
173
14k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
20k
The Pragmatic Product Professional
lauravandoore
36
6.8k
Transcript
Semantic Versioning 17 Nov, 2015 / Pine Mizune
目次 • ターゲット層と目的 • Semantic Versioning とは ? • Semantic
Versioning の規格について • Semantic Versioning で良いこと • npm@v3 と Semantic Versioning • まとめ
ターゲット層と目的 ライブラリを作成・メンテナンスする人 仕事で他者の作ったライブラリを使う人 ターゲット層 ターゲット層 ライブラリの利用者を混乱させないため
安定的に動作するソフトウェアを構築するため 目的 目的
Semantic Versioning とは ? バージョン番号の付け方の規格 v1.0.0 / v0.10.38
← この付け方の規格 SemVer と略す Ruby / Node で公式に採用 Rubygems / npm のライブラリは従う必要がある Perl は非準拠
Semantic Versioning の規格 v 1 . 2 . 3 破壊的変更
機能追加 バグ修正 major を上げる minor を上げる patch を上げる major . minor . patch
Semantic Versioning の規格 (その他) major.minor.patch-pre_release … 不安定版 例:
1.0.0-beta / 1.0.0-rc.10 0.minor.patch … 開発版 例: 0.1.0 / 0.9.8 / 0.10.38 Semantic Versioning では 0.x.x は特別扱い 0.x.x 系は常に破壊的変更が許される
Semantic Versioning の良い所 バージョン番号だけで変更内容を伝えられる バージョンアップするか否かの指標になる 状況に応じてバージョンアップを選択できる
全体を通した依存関係の解決ができる 依存関係に矛盾がないか機械的に判定できる 依存関係を最適化できる -> npm@v3
Semantic Versioning と npm@v3 npm@v3 は SemVer base の flat
tree 採用 → SemVer に準拠する必要性が高まる!!
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
npm@v2 npm@v3
まとめ Semantic Versioning で、安全な開発を ライブラリを使うとき ライブラリをバージョンアップするとき ライブラリを公開するとき
fin