JHipster release v7.0.0

This is our first stable release of JHipster v7!

Here is a summary of the release notes from our 2 beta releases of JHipster v7.0.0, updated with our latest changes.

It includes a total of 2371 closed tickets and pull requests on the main project:

Breaking changes

Related to Blueprints and Modules:

  • Remove getAllJhipsterConfig - #12023. Use getJhipsterConfig instead of getAllJhipsterConfig.
  • Create jhipsterConfig for synchronised config and move configOptions to generator-base - #12026. generators-base-blueprint’s jhipsterConfig field is now a proxy instead of a Storage object look at the PR description for migration.
  • Updates to getXXXAppName() methods on base-generator #12325:
    • added getFrontendAppName() and frontendAppName attribute
    • removed getAngularAppName() and angularAppName attribute
    • removed getAngularXName() and angularXAppName attribute
  • Removed setup*Options() operations
    • A replacement may not be required. Use load(App/Client/Server)Config if needed.
  • id field is added to fields at jhipster 7.
    • Remove id fields if the blueprint/module doesn’t support. this.fields = this.fields.filter(field => !field.id);

Related to front:

  • Angular: follow closer Angular Style Guide - #13125
  • React: tests next to the files they are testing #13425
  • Login page refactoring - #11926
  • Replace moment by Day.js - #12575
  • Server common scripts - webpack profile replaced by webapp #13196

Related to backend:

  • Protect user api and create a filtered user api for relationships - #12374
  • Springfox 3 upgrade - #12133 and jhipster/jhipster#764
    • swagger maven profile becomes api-docs
    • jhipster.swagger property becomes jhipster.api-docs
    • SwaggerCustomizer becomes SpringfoxCustomizer
    • swaggerSpringfoxApiDocket becomes openapiSpringfoxApiDocket
    • swaggerSpringfoxManagementDocket becomes openAPISpringfoxManagementDocket
  • All generated Gateways are Reactive instead of Spring MVC - #13855
    • Zuul is replaced by Spring Cloud Gateway
    • Ribbon is replaced by Spring Cloud Load Balancer
  • Add id to PUT request - #14139

Entities:

  • Change relationship table name - #11025

Most important new features and upgrades

New features

  • Vue.js support - #12064
  • Cypress support - #12307
  • JDL Studio V2
  • JHipster Control Center - See the project
  • Prettier for Java - #12109
  • Angular CLI support - #10539
  • Snyk support - #12441
  • Add support to –pk-type - #13296
  • Add support to @MapstructExpression - #13195
  • Support Neo4j with k8s subgenerator - #13548
  • NPM 7 - #13060

Entities

  • add support for custom ids - #13258
  • Incremental Liquibase - #12178

Improvements

  • Angular 11 - #13035
  • Blueprint improvement
  • Webflux improvement
  • Spring Boot 2.4 - #13551
  • Java 11 by default - #12021
  • PostgreSQL as default database - #11736
  • IntegrationTest annotation - #12460
  • Annotation to detect generated files - #12459
  • Remove system and anonymoususer - #13043
  • Docker-Compose v3 - #12428
  • Typescript 4 - #12435
  • Webpack 5 for React and Vue - #13615

Refactoring

  • JHipster library, with tech.jhipster as package name - #12854
  • JHipster Core is merged with generator-jhipster - #11694
  • ng-jhipster is merged with generator-jhipster - #12909

Removed

  • Removed audit page - #12024
  • Yarn support dropped - #12134
  • Remove deprecated JHipster Console (ELK) - #12414
  • UAA support dropped - #13081
  • Traefik support dropped - #14233

Closed tickets and merged pull requests

As always, you can check all closed tickets and merged pull requests here.

How to upgrade

Automatic upgrade

For an automatic upgrade, use the JHipster upgrade sub-generator on an existing application:

Upgrade your version of JHipster:

npm update -g generator-jhipster

And then run the upgrade sub-generator:

jhipster upgrade

Manual upgrades

For a manual upgrade, first upgrade your version of JHipster with:

npm update -g generator-jhipster

If you have an existing project, it will still use the JHipster version with which it was generated. To upgrade your project, you must first delete its node_modules folder and then run:

jhipster

You can also update your project and all its entities by running

jhipster --with-entities

You can also update your entities one-by-one by running again the entity sub-generator, for example if your entity is named Foo

jhipster entity Foo

Tips

To generate your project with incremental Liquibase changelogs, you should use:

jhipster --incremental-changelog

To generate your project with @GeneratedByJHipster annotation in your Java classes, you should use:

jhipster --with-generated-flag

Help and bugs

If you find any issue with this release, don’t hesitate to:

If the issue you have is an urgent bug or security issue, please: