SemVer

์‹œ๋งจํ‹ฑ ๋ฒ„์ €๋‹(SemVer, Semantic versioning) ๋˜๋Š” ์œ ์˜์  ๋ฒ„์ „์€ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ฒ„์ „์„ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ทœ์น™์ด๋‹ค. ๋ฒ„์ „์„ <major>.<minor>.<patch> ํ˜•์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๊ณ , ๊ธฐ์กด ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ์ด ์žˆ๋‹ค๋ฉด major ๋ฒ„์ „์„, ๊ธฐ์กด๊ณผ ํ˜ธํ™˜๋˜๋Š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค๋ฉด minor ๋ฒ„์ „์„, ๊ธฐ์กด ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •๋งŒ ์žˆ์—ˆ๋‹ค๋ฉด patch ๋ฒ„์ „์„ ์˜ฌ๋ฆฐ๋‹ค.

์‹œ๋งจํ‹ฑ ๋ฒ„์ €๋‹์˜ ๋ช…์„ธ๋Š” ๊ทธ๋ผ๋ฐ”ํƒ€(Gravatars)์˜ ์ฐฝ์‹œ์ž์ด์ž, ๊นƒํ—™(GitHub)์˜ ๊ณต๋™์ฐฝ๋ฆฝ์ž์ธ ํ†ฐ ํ”„๋ ˆ์Šคํ„ด-๋ฒ ๋ฅด๋„ˆ(Tom Preston-Werner)๊ฐ€ ์ž‘์„ฑํ–ˆ๋‹ค.

๋ฒ”์œ„

๋ฒ„์ „์˜ ๋ฒ”์œ„ ํ‘œํ˜„์€ SemVer ๋ช…์„ธ์— ํฌํ•จ๋˜์–ด ์žˆ์ง€๋Š” ์•Š์ง€๋งŒ, ๋งŽ์€ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋“ค์ด ์ด๋ฅผ ์ง€์›ํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ <, >, <=, >=, = ๋“ฑ ๋น„๊ต ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, || ์—ฐ์‚ฐ์ž๋กœ ๋‘ ๋ฒ”์œ„ ์กฐ๊ฑด์„ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฌผ๊ฒฐ(Tilde) ๋ฒ”์œ„๋Š” ๋งˆ์ด๋„ˆ ๋ฒ„์ „์˜ ๋ณ€๊ฒฝ์„ ํ—ˆ์šฉํ•˜๋˜, ๋งˆ์ด๋„ˆ ๋ฒ„์ „์ด ๋ช…์‹œ๋œ ๊ฒฝ์šฐ ํŒจ์น˜ ๋ฒ„์ „์˜ ๋ณ€๊ฒฝ๋งŒ์„ ํ—ˆ์šฉํ•œ๋‹ค.

  • ~1.2.3: >=1.2.3 <1.3.0
  • ~1.2: >=1.2.0 <1.3.0 (1.2.x์™€ ๋™์ผ)
  • ~1: >=1.0.0 <2.0.0 (1.x์™€ ๋™์ผ)

์บ๋Ÿฟ(Caret) ๋ฒ”์œ„๋Š” ๋ฒ„์ „์—์„œ ๊ฐ€์žฅ ์™ผ์ชฝ์˜ 0์ด ์•„๋‹Œ ์ˆซ์ž๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ์„ ํ—ˆ์šฉํ•œ๋‹ค. ์ฆ‰, ๋ฒ„์ „ 1.0.0 ์ด์ƒ์— ๋Œ€ํ•ด์„œ๋Š” ํŒจ์น˜์™€ ๋งˆ์ด๋„ˆ ๋ฒ„์ „์˜ ๋ณ€๊ฒฝ์„ ํ—ˆ์šฉํ•˜๊ณ , ๋ฒ„์ „ 0.1.0๋ณด๋‹ค ํฐ 0.x์— ๋Œ€ํ•ด์„œ๋Š” ํŒจ์น˜ ๋ฒ„์ „์˜ ๋ณ€๊ฒฝ์„ ํ—ˆ์šฉํ•œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ 0.x ๋ฒ„์ „์€ ์ดˆ๊ธฐ ๊ฐœ๋ฐœ ๋‹จ๊ณ„์ด๊ธฐ ๋•Œ๋ฌธ์— x๊ฐ€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ์„ ์ผ์œผํ‚ค๋Š” ๋ฉ”์ด์ € ๋ฒ„์ „์ฒ˜๋Ÿผ ์ทจ๊ธ‰๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์บ๋Ÿฟ ๋ฒ”์œ„๋Š” 0.2.4์™€ 0.3.0 ๋ฒ„์ „ ์‚ฌ์ด์— ๋ฉ”์ด์ € ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํฌํ•จ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์„ ๋•Œ ์œ ์šฉํ•˜๋‹ค.

  • ^1.2.3: >=1.2.3 <2.0.0
  • ^0.2.3: >=0.2.3 <0.3.0
  • ^0.0.3: =0.0.3 <0.0.4

-, *, x๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

  • 1.2.3 - 2.3.4: >=1.2.3 <=2.3.4
  • *: >=0.0.0 (๋ชจ๋“  ๋ฒ„์ „)
  • 1.x: >=1.0.0 <2.0.0 (๋ฉ”์ด์ € ๋ฒ„์ „ ์ผ์น˜)
  • 1.2.x: >=1.2.0 <1.3.0 (๋ฉ”์ด์ €, ๋งˆ์ด๋„ˆ ๋ฒ„์ „ ์ผ์น˜)

์ฐธ๊ณ ์ž๋ฃŒ

์ด ๋ฌธ์„œ๋ฅผ ์ธ์šฉํ•œ ๋ฌธ์„œ