"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9944],{28453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>a});var o=t(96540);const i={},r=o.createContext(i);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(r.Provider,{value:n},e.children)}},60760:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>g,frontMatter:()=>s,metadata:()=>o,toc:()=>d});const o=JSON.parse('{"id":"development/versioning","title":"Versioning","description":"\x3c!--","source":"@site/docs/33.0.0/development/versioning.md","sourceDirName":"development","slug":"/development/versioning","permalink":"/docs/33.0.0/development/versioning","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"id":"versioning","title":"Versioning"},"sidebar":"docs","previous":{"title":"Build from source","permalink":"/docs/33.0.0/development/build"},"next":{"title":"Contribute to Druid docs","permalink":"/docs/33.0.0/development/contribute-to-docs"}}');var i=t(74848),r=t(28453);const s={id:"versioning",title:"Versioning"},a=void 0,l={},d=[{value:"Versioning Strategy",id:"versioning-strategy",level:2},{value:"Tagging strategy",id:"tagging-strategy",level:2}];function c(e){const n={a:"a",em:"em",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"This page discusses how we do versioning and provides information on our stable releases."}),"\n",(0,i.jsx)(n.h2,{id:"versioning-strategy",children:"Versioning Strategy"}),"\n",(0,i.jsxs)(n.p,{children:["We generally follow ",(0,i.jsx)(n.a,{href:"http://semver.org/",children:"semantic versioning"}),". The general idea is"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:'"Major" version (leftmost): backwards incompatible, no guarantees exist about APIs between the versions'}),"\n",(0,i.jsxs)(n.li,{children:['"Minor" version (middle number): you can move forward from a smaller number to a larger number, but moving backwards ',(0,i.jsx)(n.em,{children:"might"})," be incompatible."]}),"\n",(0,i.jsx)(n.li,{children:'"bug-fix" version ("patch" or the rightmost): Interchangeable. The higher the number, the more things are fixed (hopefully), but the programming interfaces are completely compatible and you should be able to just drop in a new jar and have it work.'}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Note that this is defined in terms of programming API, ",(0,i.jsx)(n.strong,{children:"not"}),' in terms of functionality. It is possible that a brand new awesome way of doing something is introduced in a "bug-fix" release version if it doesn\u2019t add to the public API or change it.']}),"\n",(0,i.jsx)(n.p,{children:'One exception for right now, while we are still in major version 0, we are considering the APIs to be in beta and are conflating "major" and "minor" so a minor version increase could be backwards incompatible for as long as we are at major version 0. These will be communicated via email on the group.'}),"\n",(0,i.jsx)(n.p,{children:"For external deployments, we recommend running the stable release tag. Releases are considered stable after we have deployed them into our production environment and they have operated bug-free for some time."}),"\n",(0,i.jsx)(n.h2,{id:"tagging-strategy",children:"Tagging strategy"}),"\n",(0,i.jsxs)(n.p,{children:["Tags of the codebase are equivalent to release candidates. We tag the code every time we want to take it through our release process, which includes some QA cycles and deployments. So, it is not safe to assume that a tag is a stable release, it is a solidification of the code as it goes through our production QA cycle and deployment. Tags will never change, but we often go through a number of iterations of tags before actually getting a stable release onto production. So, it is recommended that if you are not aware of what is on a tag, to stick to the stable releases listed on the ",(0,i.jsx)(n.a,{href:"https://github.com/apache/druid/releases",children:"Release"})," page."]})]})}function g(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}}}]);