1"use strict";(globalThis.webpackChunkjhipster_website=globalThis.webpackChunkjhipster_website||[]).push([[3875],{23040(e,s,r){r.r(s),r.d(s,{assets:()=>h,contentTitle:()=>a,default:()=>p,frontMatter:()=>l,metadata:()=>t,toc:()=>o});const t=JSON.parse('{"id":"releases/2024-09-21-jhipster-release-8.7.1","title":"Release 8.7.1","description":"This is a patch release for JHipster v8.","source":"@site/docs/releases/2024-09-21-jhipster-release-8.7.1.mdx","sourceDirName":"releases","slug":"/2024/09/21/jhipster-release-8.7.1.html","permalink":"/2024/09/21/jhipster-release-8.7.1.html","draft":false,"unlisted":false,"editUrl":"https://github.com/jhipster/jhipster.github.io/tree/main/docs/releases/2024-09-21-jhipster-release-8.7.1.mdx","tags":[],"version":"current","lastUpdatedAt":1726957180000,"frontMatter":{"title":"Release 8.7.1","slug":"/2024/09/21/jhipster-release-8.7.1.html","displayed_sidebar":"docsSidebar","sidebar_class_name":"hidden"},"sidebar":"docsSidebar","previous":{"title":"Release 8.7.0","permalink":"/2024/08/26/jhipster-release-8.7.0.html"},"next":{"title":"Release 8.7.2","permalink":"/2024/10/28/jhipster-release-8.7.2.html"}}');var i=r(74848),n=r(28453);const l={title:"Release 8.7.1",slug:"/2024/09/21/jhipster-release-8.7.1.html",displayed_sidebar:"docsSidebar",sidebar_class_name:"hidden"},a="JHipster release v8.7.1",h={},o=[{value:"What's new?",id:"whats-new",level:2},{value:"Closed tickets and merged pull requests",id:"closed-tickets-and-merged-pull-requests",level:2},{value:"How to install",id:"how-to-install",level:2},{value:"How to upgrade",id:"how-to-upgrade",level:2},{value:"Help and bugs",id:"help-and-bugs",level:2}];function d(e){const s={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsx)(s.h1,{id:"jhipster-release-v871",children:"JHipster release v8.7.1"})}),"\n",(0,i.jsx)(s.p,{children:"This is a patch release for JHipster v8."}),"\n",(0,i.jsxs)(s.p,{children:["It includes ",(0,i.jsx)(s.a,{href:"https://github.com/jhipster/generator-jhipster/issues?q=is:closed+milestone:8.7.1",children:"260 closed issues and pull requests on the main branch"})," after the 8.7.0 release."]}),"\n",(0,i.jsx)(s.h2,{id:"whats-new",children:"What's new?"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["Upgrade to Spring Boot 3.3.4 (",(0,i.jsx)(s.a,{href:"https://github.com/jhipster/generator-jhipster/pull/27333",children:"#27333"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Enable Spring Boot's Docker support by default (",(0,i.jsx)(s.a,{href:"https://github.com/jhipster/generator-jhipster/pull/27062",children:"#27062"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Upgrade to Angular 18.2.4 (",(0,i.jsx)(s.a,{href:"https://github.com/jhipster/generator-jhipster/pull/27263",children:"#27263"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Upgrade to Vue 3.5.5 (",(0,i.jsx)(s.a,{href:"https://github.com/jhipster/generator-jhipster/pull/27290",children:"#27290"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Upgrade to ESLint 9.10.0 (",(0,i.jsx)(s.a,{href:"https://github.com/jhipster/generator-jhipster/pull/27204",children:"#27204"}),")"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"closed-tickets-and-merged-pull-requests",children:"Closed tickets and merged pull requests"}),"\n",(0,i.jsxs)(s.p,{children:["See the ",(0,i.jsx)(s.a,{href:"https://github.com/jhipster/generator-jhipster/releases/tag/v8.7.1",children:"GitHub 8.7.1 release notes"})," for more details."]}),"\n",(0,i.jsxs)(s.p,{children:["As always, ",(0,i.jsx)(s.strong,{children:(0,i.jsx)(s.a,{href:"https://github.com/jhipster/generator-jhipster/issues?q=is:closed+milestone:8.7.1",children:"you can view all closed tickets and merged pull requests"})}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"how-to-install",children:"How to install"}),"\n",(0,i.jsx)(s.p,{children:"To install JHipster v8.7.1:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{children:"npm install -g generator-jhipster\n"})}),"\n",(0,i.jsx)(s.p,{children:"It is also available using the JHipster Docker image, as it is automatically built from our source code."}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://start.jhipster.tech",children:"JHipster Online"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/jhipster/jhipster-devbox",children:"JHipster Devbox"})}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"how-to-upgrade",children:"How to upgrade"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.strong,{children:"Automatic upgrade"})}),"\n",(0,i.jsxs)(s.p,{children:["For an automatic upgrade, use the ",(0,i.jsx)(s.a,{href:"/upgrading-an-application/",children:"JHipster upgrade sub-generator"})," on an existing application:"]}),"\n",(0,i.jsx)(s.p,{children:"Upgrade your version of JHipster:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{children:"npm update -g generator-jhipster\n"})}),"\n",(0,i.jsx)(s.p,{children:"And then run the upgrade sub-generator:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{children:"jhipster upgrade\n"})}),"\n",(0,i.jsxs)(s.p,{children:["You can also use the ",(0,i.jsx)(s.a,{href:"https://github.com/jhipster/generator-jhipster-migrate",children:"migrate blueprint"})," for more advanced upgrade features."]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{children:"npm i -g generator-jhipster-migrate\njhipster-migrate\n"})}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.strong,{children:"Manual upgrades"})}),"\n",(0,i.jsx)(s.p,{children:"For a manual upgrade, first upgrade your version of JHipster with:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{children:"npm update -g generator-jhipster\n"})}),"\n",(0,i.jsxs)(s.p,{children:["If you have an existing project, it will still use the JHipster version with which it was generated.\nTo upgrade your project, you must first delete its ",(0,i.jsx)(s.code,{children:"node_modules"})," folder and then run:"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{children:"jhipster\n"})}),"\n",(0,i.jsx)(s.p,{children:"Since JHipster 8.0, this command will update your project and all its entities."}),"\n",(0,i.jsxs)(s.p,{children:["You can also update your entities one-by-one by running again the entity sub-generator, for example if your entity is named ",(0,i.jsx)(s.em,{children:"Foo"}),", use:"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{children:"jhipster entity Foo\n"})}),"\n",(0,i.jsx)(s.h2,{id:"help-and-bugs",children:"Help and bugs"}),"\n",(0,i.jsx)(s.p,{children:"If you find any issue with this release, don't hesitate to:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["Add a bug to our ",(0,i.jsx)(s.a,{href:"https://github.com/jhipster/generator-jhipster/issues?state=open",children:"bug tracker"})]}),"\n",(0,i.jsxs)(s.li,{children:["Post a question on ",(0,i.jsx)(s.a,{href:"http://stackoverflow.com/tags/jhipster/info",children:"Stack Overflow"})]}),"\n",(0,i.jsxs)(s.li,{children:["Create a new discussion on ",(0,i.jsx)(s.a,{href:"https://github.com/jhipster/generator-jhipster/discussions",children:"GitHub"})]}),"\n"]}),"\n",(0,i.jsx)(s.p,{children:"If the issue you have is an urgent bug or security issue, please:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["Contact ",(0,i.jsx)(s.a,{href:"https://twitter.com/jhipster",children:"@jhipster"})," on Twitter"]}),"\n"]})]})}function p(e={}){const{wrapper:s}={...(0,n.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},28453(e,s,r){r.d(s,{R:()=>l,x:()=>a});var t=r(96540);const i={},n=t.createContext(i);function l(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.