JHipster release v5.0.0
This is our first stable release of JHipster 5!
Here is a summary of the release notes from our 4 beta releases of JHipster 5.0.0, updated with our latest changes.
- React support #6044 (out of experimental status)
- Same features as our Angular support (including updates mentioned below regarding dialogs and entity folder structure)
- Uses Redux for state management
- Uses React Router v4 for routing
- Written in Typescript
- Webpack 4 is used for builds and is very similar to our Angular Webpack setup
- Jest + Mocha + Chai unit tests with good coverage
- Improved Angular support
- Upgrade to Angular 6 thanks to William Marques in #7582
- This includes a migration to Webpack 4, which gives a nice performance boost (it varies depending on your situation, but you can expect a noticeable positive impact) #7186
- Lazy loading support for the admin modules #7235
- Reworked entity create/edit screens, they are normal pages now instead of popup dialogs #7368
- Improved AOT setup
- The folder structure of entities have been improved, especially for microservices as now they are grouped by services. There is a
--skip-ui-groupingflag to retain the old behaviour #7079
- Support of Webpack 4 for both Angular and React, which allows much faster builds for both.
- Support of Jest instead of Puppeteer (and previously PhantomJS) for both Angular and React will provide much faster installation and testing (including parallel tests!). It will also solve all CI issues (typically with Jenkins) when running front-end tests, as it doesn’t require to have native libraries installed. See #7636 and #7663 from William Marques.
- Prettier support #6906
- Upgrade to Font Awesome 5 for both Angular and React, see #7516.
- Removed AngularJS support
- As we now focus on Angular 5+, we have removed our support for the older AngularJS 1.x
- As a side effect support for Bower and Gulp also have been removed
- Spring Boot 2.0.0 support #7061
- All Spring libraries have been upgraded, including Spring Data, Spring Security and Spring Cloud
- The Spring Boot configuration has also been upgraded
- Refined REST support by removing the “feature” of creating entities using the
@PutMappingannotation. See #7425.
- Much improved OAuth2 support thanks to the great work of Fabien Arrault which was integrated by Matt Raible. Most of this work can be seen in #7666.
- Migration from swagger-codegen to openapi-generator (which is a community-driven fork of swagger-codegen) has been done by Christophe Bornet, who is both a member of the JHipster core team and the openapi-generator team. More information on #7728.
- Memcached support, as an alternative Spring Cache implementation. This will be much easier to use than Ehcache/Hazelcast/Infinispan on main cloud providers like Heroku, GCP and AWS.
- “Social Login” using Google/Twitter/Facebook has been removed as Spring Social is not actively maintained anymore. Currently you can use Keycloack to achieve the same result, and in the near future you should be able to use our new OAuth2 support.
As we also improved our database schema, our initial Liquibase changelog has been modified. To upgrade an existing schema (ie. JHipster 4.x), you can use the following changelog:
<changeSet id="00000000000002" author="jhipster"> <modifyDataType columnName="email" newDataType="varchar(254)" tableName="jhi_user"/> </changeSet> <changeSet id="00000000000003" author="jhipster" > <dropIndex indexName="idx_user_login" tableName="jhi_user"/> </changeSet> <changeSet id="00000000000004" author="jhipster" > <dropIndex indexName="idx_user_email" tableName="jhi_user"/> </changeSet> <changeSet id="00000000000005" author="jhipster" > <addNotNullConstraint columnName="password_hash" columnDataType="varchar(60)" tableName="jhi_user"/> </changeSet>
Sub-generators and tooling
- JDL v2 with application generation support #7339
- As a result, the language evolved dramatically, and you can now build full applications using the JDL, and not just entities. This is a huge news if you want to share and reuse your JHipster configuration.
- New JHipster blueprints
- The blueprints system allows to easily extends and/or replace JHipster templates. This is how the new JHipster Kotlin works. This isn’t well-documented yet, but JHipster Kotlin already gives a nice working example.
- New Sub-generator to deploy to AWS containers #7035
- Initial Istio support #7337 has been added in #7695 by Ray Tsang from Google, and #7697 by Srinivasa Vasu. With the help of Pierre Besson.
- Google App Engine support for monoliths by Ray Tsang from Google, see #7765.
Closed tickets and merged pull requests
How to upgrade
For an automatic upgrade, use the JHipster upgrade sub-generator on an existing application:
Upgrade your version of JHipster:
yarn global upgrade generator-jhipster
And then run the upgrade sub-generator:
For a manual upgrade, first upgrade your version of JHipster with:
yarn global upgrade 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:
You can also update your project and all its entities by running
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
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:
- Contact @java_hipster on Twitter