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
AIを活用し、今後に備えるための技術知識 / Basic Knowledge to Utilize AI
kishida
22
5.7k
Navigating Dependency Injection with Metro
zacsweers
3
260
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
260
はじめてのMaterial3 Expressive
ym223
2
290
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
200
デザイナーが Androidエンジニアに 挑戦してみた
874wokiite
0
350
Swift Updates - Learn Languages 2025
koher
2
470
AWS発のAIエディタKiroを使ってみた
iriikeita
1
180
🔨 小さなビルドシステムを作る
momeemt
4
680
AIでLINEスタンプを作ってみた
eycjur
1
230
print("Hello, World")
eddie
2
530
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
Featured
See All Featured
Thoughts on Productivity
jonyablonski
70
4.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Visualization
eitanlees
148
16k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
920
Producing Creativity
orderedlist
PRO
347
40k
KATA
mclloyd
32
14k
RailsConf 2023
tenderlove
30
1.2k
How STYLIGHT went responsive
nonsquared
100
5.8k
Become a Pro
speakerdeck
PRO
29
5.5k
Designing for humans not robots
tammielis
253
25k
Raft: Consensus for Rubyists
vanstee
140
7.1k
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