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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Pine Mizune
November 17, 2015
Programming
55
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Semantic Versioning
社内勉強会で発表した資料
Pine Mizune
November 17, 2015
More Decks by Pine Mizune
See All by Pine Mizune
多言語対応と絵文字ジェネレーター / i18n of Emoji Generator
pine
0
870
C++ 製グラフィックライブラリ Skia の紹介 / Introduction to the graphics library Skia written by C++
pine
0
2k
asyncio + aiohttp で作るウェブサービス / How to develop a web service with asyncio and aiohttp
pine
0
690
Lerna による明示的疎結合アーキテクチャ
pine
1
680
CircleCI 2.0 x JavaScript
pine
3
570
Perl 卒業式
pine
0
370
Android Studio の気になる warnings を抑制する方法まとめ
pine
0
520
Emoji Generator meets Browser Extensions
pine
1
3k
近年の OSS 開発における CI 選択のベストプラクティス
pine
3
4.5k
Other Decks in Programming
See All in Programming
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
180
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
270
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.2k
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
790
JavaDoc 再入門
nagise
1
370
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
140
A2UI という光を覗いてみる
satohjohn
1
140
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
6.7k
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.7k
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
550
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
140
Performance Engineering for Everyone
elenatanasoiu
0
170
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
Designing for Timeless Needs
cassininazir
1
260
Paper Plane (Part 1)
katiecoart
PRO
0
9.1k
A better future with KSS
kneath
240
18k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
200
How to build a perfect <img>
jonoalderson
1
5.7k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Git: the NoSQL Database
bkeepers
PRO
432
67k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Visualization
eitanlees
152
17k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
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