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
780
C++ 製グラフィックライブラリ Skia の紹介 / Introduction to the graphics library Skia written by C++
pine
0
1.7k
asyncio + aiohttp で作るウェブサービス / How to develop a web service with asyncio and aiohttp
pine
0
660
Lerna による明示的疎結合アーキテクチャ
pine
1
630
CircleCI 2.0 x JavaScript
pine
3
540
Perl 卒業式
pine
0
330
Android Studio の気になる warnings を抑制する方法まとめ
pine
0
490
Emoji Generator meets Browser Extensions
pine
1
2.9k
近年の OSS 開発における CI 選択のベストプラクティス
pine
3
4.5k
Other Decks in Programming
See All in Programming
GoのGenericsによるslice操作との付き合い方
syumai
3
700
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
0
270
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
120
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
710
VS Code Update for GitHub Copilot
74th
1
490
Select API from Kotlin Coroutine
jmatsu
1
200
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
160
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
110
CursorはMCPを使った方が良いぞ
taigakono
1
200
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
240
童醫院敏捷轉型的實踐經驗
cclai999
0
210
ふつうの技術スタックでアート作品を作ってみる
akira888
0
220
Featured
See All Featured
KATA
mclloyd
30
14k
Writing Fast Ruby
sferik
628
62k
Speed Design
sergeychernyshev
32
1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
720
What's in a price? How to price your products and services
michaelherold
246
12k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Building Adaptive Systems
keathley
43
2.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
For a Future-Friendly Web
brad_frost
179
9.8k
Producing Creativity
orderedlist
PRO
346
40k
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