[{"data":1,"prerenderedAt":199},["ShallowReactive",2],{"term-s\u002Fsemver":3,"related-s\u002Fsemver":186},{"id":4,"title":5,"acronym":5,"body":6,"category":166,"description":167,"difficulty":168,"extension":169,"letter":170,"meta":171,"navigation":172,"path":173,"related":174,"seo":179,"sitemap":180,"stem":183,"subcategory":184,"__hash__":185},"terms\u002Fterms\u002Fs\u002Fsemver.md","Semver",{"type":7,"value":8,"toc":160},"minimark",[9,14,18,22,25,29,149,153,156],[10,11,13],"h2",{"id":12},"eli5-the-vibe-check","ELI5 — The Vibe Check",[15,16,17],"p",{},"Semver is the numbering system for software versions: MAJOR.MINOR.PATCH. Bump PATCH for bug fixes, MINOR for new features that don't break anything, MAJOR for breaking changes. So 2.0.0 warns you 'things changed, update your code carefully'.",[10,19,21],{"id":20},"real-talk","Real Talk",[15,23,24],{},"Semantic Versioning is a version numbering convention (MAJOR.MINOR.PATCH) that communicates the nature of changes. Libraries publish new versions following semver so consuming packages know when upgrades are safe (minor\u002Fpatch) or breaking (major).",[10,26,28],{"id":27},"show-me-the-code","Show Me The Code",[30,31,36],"pre",{"className":32,"code":33,"language":34,"meta":35,"style":35},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# package.json version ranges\n\"dependencies\": {\n  \"lodash\": \"^4.17.21\",  \u002F\u002F ^ = compatible with 4.x.x\n  \"express\": \"~4.18.0\", \u002F\u002F ~ = compatible with 4.18.x\n  \"stripe\": \"12.0.0\"    \u002F\u002F exact version pinned\n}\n","json","",[37,38,39,48,67,97,121,143],"code",{"__ignoreMap":35},[40,41,44],"span",{"class":42,"line":43},"line",1,[40,45,47],{"class":46},"sTEyZ","# package.json version ranges\n",[40,49,51,55,59,61,64],{"class":42,"line":50},2,[40,52,54],{"class":53},"sMK4o","\"",[40,56,58],{"class":57},"sfazB","dependencies",[40,60,54],{"class":53},[40,62,63],{"class":46},": ",[40,65,66],{"class":53},"{\n",[40,68,70,73,77,79,82,85,88,90,93],{"class":42,"line":69},3,[40,71,72],{"class":53},"  \"",[40,74,76],{"class":75},"spNyl","lodash",[40,78,54],{"class":53},[40,80,81],{"class":53},":",[40,83,84],{"class":53}," \"",[40,86,87],{"class":57},"^4.17.21",[40,89,54],{"class":53},[40,91,92],{"class":53},",",[40,94,96],{"class":95},"sHwdD","  \u002F\u002F ^ = compatible with 4.x.x\n",[40,98,100,102,105,107,109,111,114,116,118],{"class":42,"line":99},4,[40,101,72],{"class":53},[40,103,104],{"class":75},"express",[40,106,54],{"class":53},[40,108,81],{"class":53},[40,110,84],{"class":53},[40,112,113],{"class":57},"~4.18.0",[40,115,54],{"class":53},[40,117,92],{"class":53},[40,119,120],{"class":95}," \u002F\u002F ~ = compatible with 4.18.x\n",[40,122,124,126,129,131,133,135,138,140],{"class":42,"line":123},5,[40,125,72],{"class":53},[40,127,128],{"class":75},"stripe",[40,130,54],{"class":53},[40,132,81],{"class":53},[40,134,84],{"class":53},[40,136,137],{"class":57},"12.0.0",[40,139,54],{"class":53},[40,141,142],{"class":95},"    \u002F\u002F exact version pinned\n",[40,144,146],{"class":42,"line":145},6,[40,147,148],{"class":53},"}\n",[10,150,152],{"id":151},"when-youll-hear-this","When You'll Hear This",[15,154,155],{},"\"It's a major version bump — check the changelog for breaking changes.\" \u002F \"Always follow semver when publishing your packages.\"",[157,158,159],"style",{},"html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":35,"searchDepth":50,"depth":50,"links":161},[162,163,164,165],{"id":12,"depth":50,"text":13},{"id":20,"depth":50,"text":21},{"id":27,"depth":50,"text":28},{"id":151,"depth":50,"text":152},"general","Semver is the numbering system for software versions: MAJOR.MINOR.PATCH.","beginner","md","s",{},true,"\u002Fterms\u002Fs\u002Fsemver",[175,176,177,178],"Package","Dependency","Lock File","Open Source",{"title":5,"description":167},{"changefreq":181,"priority":182},"weekly",0.7,"terms\u002Fs\u002Fsemver",null,"LLSGQbBpei_y_S5clonkCwm5b2LVzSiNYJkuNUsoBFw",[187,190,193,196],{"title":176,"path":188,"acronym":184,"category":166,"difficulty":168,"description":189},"\u002Fterms\u002Fd\u002Fdependency","A dependency is a package your project relies on to work. Your app depends on React to render UI, axios to make requests, and dotenv to read config.",{"title":177,"path":191,"acronym":184,"category":166,"difficulty":168,"description":192},"\u002Fterms\u002Fl\u002Flock-file","A lock file is a snapshot of the exact versions of every package your project is using right now.",{"title":178,"path":194,"acronym":184,"category":166,"difficulty":168,"description":195},"\u002Fterms\u002Fo\u002Fopen-source","Open source means the recipe is public. Anyone can read it, copy it, tweak it, and share their version. It's the opposite of a secret sauce.",{"title":175,"path":197,"acronym":184,"category":166,"difficulty":168,"description":198},"\u002Fterms\u002Fp\u002Fpackage","A package is a bundle of code someone else wrote and published so you don't have to reinvent the wheel. Need to parse dates? There's a package for that.",1776518312047]