What jhipster/generator-jhipster shipped
Written by FoxPlug from the repository's own releases; not affiliated with Jhipster. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/jhipster/generator-jhipster; Jhipster did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of November 2, 2026
What shipped
- Applications and workspaces can now use pnpm as the package manager, with npm staying the default. Pull request #35861
- Added the skipUserRegistration option so applications can be generated without user self-registration, leaving user creation to an administrator. Pull request #36083
- The Vue sign in is now a page at the login route instead of a modal. Pull request #36089
- The React sign in is now a page at the login route instead of a modal. Pull request #36088
- Spring Boot entity list and search endpoints accept sort properties from to-one relationships, one level deep, and reject unknown properties with 400. Pull request #36085
- The Vue entity list and details render persisted collection relationships as lists of related entities instead of single related entities. Pull request #36090
- The Vue admin configuration, health and metrics screens now render from shared models written for all clients. Pull request #36060
- The Angular configuration, health and metrics screens now render from the shared client:spring-boot models. Pull request #36062
- The React configuration, health and metrics screens now render from the shared client:spring-boot models. Pull request #36061
- A Spring Boot sort by an unknown path of a query with its own select now answers with 400 and Invalid sort property. Pull request #36052
Why it matters
This week moves all three client frameworks onto shared admin models and signs users in on a page rather than a modal. Applications gain pnpm support and an option to leave account creation to administrators. Several Spring Boot fixes make sort and error responses more consistent.
Changelog entry
- Support pnpm in applications and workspaces, with npm as the default. Pull request #35861
- Add skipUserRegistration to generate applications without user self-registration. Pull request #36083
- Vue sign in is a page at the login route instead of a modal. Pull request #36089
- React sign in is a page at the login route instead of a modal. Pull request #36088
- Spring Boot entity list and search accept sort properties from to-one relationships. Pull request #36085
- Vue lists every persisted collection relationship as related entities. Pull request #36090
- Vue admin screens render from the shared client:spring-boot models. Pull request #36060
- Angular admin screens render from the shared client:spring-boot models. Pull request #36062
- React admin screens render from the shared client:spring-boot models. Pull request #36061
- Add a client:spring-boot generator with the logs model used by all clients. Pull request #36043
- Answer with 400 to a Spring Boot sort by an unknown path. Pull request #36052
- Cypress tests ignore ResizeObserver loop errors from the page. Pull request #36091
This week: pnpm support for applications and workspaces, a skipUserRegistration option, sign in on a page for Vue and React, and shared admin models behind the Angular, React and Vue screens.
This week in the generator: pnpm is now supported for applications and workspaces, with npm staying the default. A new skipUserRegistration option generates applications where only administrators create users. Vue and React sign in on a page instead of a modal. The Angular, React and Vue admin screens now render from shared client:spring-boot models for configuration, health and metrics. Spring Boot entities can be sorted by the columns of their to-one relationships, unknown sort paths answer with 400, and error responses follow the application format.
Week of October 26, 2026
What shipped
- SQL Server applications can now be deployed on Kubernetes and Knative with the required environment variables, secret, and storage class. Pull request #35855
- Knative applications using Istio now stay registered in Consul by registering at the cluster address on port 80. Pull request #35898
- The Knative Helm apply script now works with Helm 4 and can rerun in a namespace. Pull request #35896
- The gossip traffic of Kubernetes Consul servers is now encrypted with a valid, project-specific key. Pull request #35857
- The Maven Liquibase plugin now uses the Hibernate 7 extension, matching the Hibernate version of generated applications. Pull request #35815
- The React package.json now lists deepmerge and react-infinite-scroll-component as runtime dependencies. Pull request #35814
- The helm and knative prerequisite checks now run without a shell pipeline, so they work on all platforms. Pull request #35813
- The jhipster run command now accepts a scoped namespace and keeps the scope when looking up the package. Pull request #35921
- App:bootstrap now cancels for blueprint application types, and app composes javascript-simple-application only for official application types. Pull request #35923
- The Vue client now loads the account only on the first navigation, avoiding repeated API requests for anonymous users. Pull request #35902
Why it matters
This week brings SQL Server deployments to Kubernetes and Knative, keeps Knative apps registered in Consul under Istio, and encrypts Consul gossip traffic for Kubernetes. It also aligns Liquibase with Hibernate 7 and fixes dependency and prerequisite issues that affected generated applications.
Changelog entry
- Deploy SQL Server apps on Kubernetes and Knative. Pull request #35855
- Keep Knative apps registered in Consul when using Istio. Pull request #35898
- Make the Knative Helm apply script work with Helm 4 and rerun in a namespace. Pull request #35896
- Encrypt the gossip traffic of Kubernetes Consul servers. Pull request #35857
- Use the Hibernate 7 extension with the Maven Liquibase plugin. Pull request #35815
- List deepmerge and react-infinite-scroll-component as runtime dependencies in React. Pull request #35814
- Run the helm and knative checks without a shell pipeline. Pull request #35813
- Run a generator by its scoped namespace. Pull request #35921
- Cancel app bootstrap for blueprint application types. Pull request #35923
- Load the account on the first navigation only in Vue. Pull request #35902
- Update the Helm mssql service snapshot for the Consul cluster address. Pull request #35916
- Show the error of a failed load of entity form relationships in Vue. Pull request #35907
SQL Server apps can now deploy on Kubernetes and Knative. Knative apps stay registered in Consul with Istio, and Kubernetes Consul gossip traffic is encrypted. Liquibase uses the Hibernate 7 extension, and the jhipster run command accepts scoped namespaces.
This week's updates: SQL Server applications can now be deployed on Kubernetes and Knative, with database environment variables and storage configured. Knative applications using Istio now stay registered in Consul at the cluster address on port 80, and the Knative Helm apply script works with Helm 4. Kubernetes Consul servers now encrypt their gossip traffic with a valid, project-specific key. The Maven Liquibase plugin now uses the Hibernate 7 extension to match generated applications, and the helm and knative prerequisite checks no longer rely on a shell pipeline. The jhipster run command now accepts scoped namespaces, and the Vue client loads the account only on the first navigation.
Week of October 19, 2026
What shipped
- Added finalizeDefault and finalizeDefaultOrUndefined to generator-jhipster/utils so defaults are computed when the data is finalized. Pull request #35742
- Required relationships and cyclic required relationships are now set as delayed entity defaults in base-application, replacing two post-preparing tasks. Pull request #35741
- Generator-jhipster/ci now exports describeGithubSamplesGroup and githubSamplesGroupOf, plus a synchronous getGithubSamplesFolderGroup that reads a samples group from a folder. Pull request #35727
- Jhipster generators are now registered under the jhipster namespace whatever package name installs them, including scoped forks. Pull request #35724
- The JDL now accepts scoped packages in lists and namespace configs, such as blueprints with a scoped name. Pull request #35723
- Entity changes are computed once and shared across priorities, and a warning is logged when the primary key an entity file declares changes. Pull request #35715
- Jhipster generate-sample without a sample name now asks for the workflow and then a sample, with a new --workflow option to skip the first question. Pull request #35713
- Base-application now reads an application's objects from the objects key of its.yo-rc.json and writes custom objects. Pull request #35700
- The JDL accepts any application type checked by pattern only, and generator-jhipster/jdl exports the importer, parse and getCst again. Pull request #35696
- Added the dockerApplicationHealthcheckCommand application property for the healthcheck of the app docker compose service. Pull request #35673
Why it matters
This week changes how defaults, required relationships and entity changes are computed, and extends the JDL and CI sample helpers. People using the project get a JHipster installation that works under another package name, scoped blueprint names in the JDL, and an interactive generate-sample when no sample is given.
Changelog entry
- Add finalizeDefault and finalizeDefaultOrUndefined to generator-jhipster/utils for defaults computed when the data is finalized. Pull request #35742
- Set required relationships and cyclic required relationships as delayed entity defaults in base-application. Pull request #35741
- Export describeGithubSamplesGroup, githubSamplesGroupOf and a synchronous getGithubSamplesFolderGroup from generator-jhipster/ci. Pull request #35727
- Register the jhipster generators as jhipster whatever package name installs them. Pull request #35724
- Accept scoped packages in JDL lists and namespace configs. Pull request #35723
- Compute entity changes once across priorities and warn when the primary key changes. Pull request #35715
- Ask for the workflow and sample in generate-sample when no sample name is given, and add the --workflow option. Pull request #35713
- Read the objects of an application and write custom objects in base-application. Pull request #35700
- Check the JDL application type by its pattern only and export the jdl importer, parse and getCst. Pull request #35696
- Prepare entityAlertName in base-application for every backend, built-in entities included. Pull request #35685
- Wait for a yellow Elasticsearch cluster in its docker health check. Pull request #35682
- Add the dockerApplicationHealthcheckCommand property for the app docker compose service healthcheck. Pull request #35673
This week: delayed entity defaults in base-application, entity changes computed once with a primary key warning, scoped blueprints in the JDL, jhipster under another package name, an interactive generate-sample, and a docker app healthcheck command.
This week in the repository: finalizeDefault and finalizeDefaultOrUndefined in generator-jhipster/utils, required relationships and their cycles as delayed entity defaults in base-application, and entity changes computed once with a warning when the primary key changes. The JDL accepts scoped blueprints in lists and namespace configs, and any application type checked by pattern only; the jdl API exports the importer, parse and getCst again. jhipster now runs installed under another package name, generate-sample asks for the workflow and sample when none is given, and the ci module exports the synchronous sample group readers. Docker gains dockerApplicationHealthcheckCommand, and the Elasticsearch health check waits for a yellow cluster.
Week of October 12, 2026
What shipped
- A new server:i18n generator now writes the server messages, including account e-mails, to messages.properties and a file per enabled language. Pull request #35547
- The spring-boot generator gained a reproducible-secrets option that derives secrets and the development KeyStore from the creation timestamp. Pull request #35538
- Runs without the cli now get the jdl definitions of their blueprints, so generator tests and blueprint runs have the same definitions. Pull request #35540
- The jdl generator merges the jdl over previously written configuration read from the in-memory file system, and generate-sample can pass jdl entities with app samples. Pull request #35543
- Server:i18n names each language file by its JHipster language tag after a new option, instead of only the Java locale suffix. Pull request #35559
- Generating entities now commits to the existing git repository. Pull request #35539
- Every blob field an entity stores as byte[] is now converted, fixing entities saved before the conversion. Pull request #35556
- The root package.json of every application now includes concurrently and wait-on, which its root scripts use. Pull request #35558
- ReproducibleSecrets is declared with the base command options, so any generator, including a blueprint's, can use it. Pull request #35554
- Entities without a changelog date are ordered by the date they get during bootstrap rather than counting as zero. Pull request #35560
Why it matters
This week adds new generators and options for server messages and reproducible secrets, and makes entity and jdl generation more reliable. Several fixes address broken builds and incorrect output that users hit when generating entities, blob fields and root scripts.
Changelog entry
- Add a server:i18n generator that writes the server messages, including account e-mails, to messages.properties and per-language files. Pull request #35547
- Add a reproducible-secrets option to spring-boot that derives secrets and the development KeyStore from the creation timestamp. Pull request #35538
- Build the jdl definitions of the blueprints of a run without the cli. Pull request #35540
- Merge the jdl over configuration written before, read from the in-memory file system. Pull request #35543
- Name the server messages of a language by its language tag in server:i18n. Pull request #35559
- Commit to the existing repository when entities are generated. Pull request #35539
- Convert every blob field an entity stores as byte[]. Pull request #35556
- Add concurrently and wait-on to the root package.json of every application. Pull request #35558
- Declare reproducibleSecrets with the options of the base command. Pull request #35554
- Order an entity without changelog date by the date it gets. Pull request #35560
- Make the graalvm generator depend on the build tool generator. Pull request #35518
- Document how to check a downloaded application against a regeneration in SECURITY.md. Pull request #35561
This week: a server:i18n generator for server messages, a reproducible-secrets option for spring-boot, jdl definitions in runs without the cli, and fixes for entity git commits, blob fields and root package.json scripts.
This week in the generator: a new server:i18n generator that writes the server messages and per-language files; a reproducible-secrets option for the spring-boot generator that derives secrets and the development KeyStore from the creation timestamp; jdl definitions now available to runs without the cli; and the jdl generator merges over configuration written before from the in-memory file system. Fixes this week include committing generated entities to the existing git repository, converting every blob field stored as byte[], adding concurrently and wait-on to the root package.json of every application, and declaring reproducibleSecrets with the base options so blueprints can use it.
Week of October 5, 2026
What shipped
- The spring-boot generator now builds the application KeyStore in memory with node crypto alone, so it no longer needs a JDK at generation time. Pull request #35281
- Couchbase support is brought on par with the other databases: relationships are stored and read back like MongoDB and SQL, listings and searches check their sort, and entities implement the eager relationship APIs. Pull request #35444
- Commands now declare the field types with the validations each one takes, and the validations with the kind of value they take, in field types and validations. Pull request #35432
- Commands now declare the entity options, and the JDL definitions and entity types are derived from them. Pull request #35427
- The preparing tasks of entities, fields and relationships receive defaults helpers, as the application tasks already receive applicationDefaults. Pull request #35445
- The generators of JHipster and of blueprints are resolved through a GeneratorsResolver, and the describe API is built on it, so tools can describe blueprints with one call. Pull request #35425
- The editor metadata of a merged multi-step file now lists the template and fragment files merged into it, in their order, as mergedFiles. Pull request #35399
- A process that generates many times now shares its prettier and eslint worker pools instead of creating and destroying them at each commit. Pull request #35388
- A new eslint rule reports priority getters that never run because the class does not read or declare the getter of that priority. Pull request #35393
- The information the cli prints about the commands of a blueprint now goes to stderr, keeping stdout for what a command prints, like json. Pull request #35436
Why it matters
This week brings Couchbase on par with the other databases and adds entity, field and relationship defaults helpers and command declarations that make generators more consistent. The KeyStore can now be generated without a JDK, and shared worker pools make repeated generation commits cheaper. Blueprints and tools also get a generators resolver and clearer cli output on stderr.
Changelog entry
- Generate the application KeyStore in memory with node crypto, removing the keytool and JDK requirement at generation time. Pull request #35281
- Bring Couchbase support on par with the other databases: relations, sort checks and eager relationship APIs. Pull request #35444
- Commands declare field types with their validations and the validations with their value kind. Pull request #35432
- Commands declare entity options, with JDL definitions and entity types derived from them. Pull request #35427
- Preparing tasks for entities, fields and relationships receive defaults helpers. Pull request #35445
- Resolve JHipster and blueprint generators through a GeneratorsResolver and build the describe API on it. Pull request #35425
- List merged template and fragment files in the editor metadata of multi-step files. Pull request #35399
- Share the prettier and eslint worker pools across commits in a generation process. Pull request #35388
- Report priority getters that never run with a new eslint rule. Pull request #35393
- Print the information about blueprint commands on stderr, keeping stdout for command output. Pull request #35436
- Replace the unmaintained iarna/toml dependency with smol-toml. Pull request #35408
- Start the cli environments from the jhipster store with shared lookup options. Pull request #35409
Couchbase is now on par with the other databases. Entity, field and relationship preparing tasks get defaults helpers, commands declare field types, validations and entity options, and the KeyStore is generated without keytool. Blueprint generators can be described in one call.
This week in the project: Couchbase is brought on par with the other databases, with relationships stored and read back like MongoDB and SQL and listings and searches checking their sort. The entities, fields and relationships preparing tasks receive defaults helpers, and commands now declare field types, validations and entity options, with JDL definitions and entity types derived from them. The spring-boot generator builds the KeyStore in memory without keytool, so no JDK is needed at generation time. Generators of JHipster and of blueprints are resolved through a GeneratorsResolver, letting tools describe blueprints with one call, and cli information about blueprint commands now goes to stderr.
Week of September 28, 2026
What shipped
- JDL generator now uses the CLI's environment builder for each application in a workspace, inheriting blueprints and configuration settings. Pull request #35299
- JDL conversion now applies stack configuration to applications in a dedicated layer, handling multi-application setups with proper indexing. Pull request #35278
- JDL now rejects entities from other microservices when referenced in a microservice application as a semantic error. Pull request #35222
- Fixed CLI command comparison logic to resolve TypeScript build failures after recent merges. Pull request #35300
- Export and deferred-commit modes now format generated files using the generated Prettier configuration. Pull request #35297
- Workspace sample generation now uses fixed JWT secrets for consistent output across deployments and Kubernetes configs. Pull request #35298
- Elasticsearch repositories are now enabled for reactive applications with JWT authentication. Pull request #35239
- Spring Boot Elasticsearch indexing now waits for transaction commit before dispatching the async index operation. Pull request #34620
- Angular @for loops now track items by stable keys for better performance and correctness. Pull request #35302
- Angular entity lists now use linkedSignal instead of syncing effects for better state management. Pull request #35280
Why it matters
This week's changes address critical issues with multi-application JDL workspaces, improve data consistency in Elasticsearch operations, and fix build failures affecting the CLI. Several framework-specific improvements enhance Angular signal usage and reactive application handling.
Changelog entry
- Feat(jdl): generate applications with the environment builder of the CLI Pull request #35299
- Feat(jdl): apply stack config of applications in a layer of JDL conversion Pull request #35278
- Feat(jdl): refuse an entity of another microservice in a microservice Pull request #35222
- Fix(cli): compare jdl command by its name to resolve build failures Pull request #35300
- Fix(bootstrap): format exported/deferred files with generated Prettier config Pull request #35297
- Fix(spring-boot): update Elasticsearch index only after transaction commit Pull request #34620
- Fix(elasticsearch): enable repositories from ElasticsearchConfiguration for reactive apps Pull request #35239
- Ci: generate workspace samples with fixed secrets for consistency Pull request #35298
- Fix(angular): track @for items by stable keys instead of index Pull request #35302
- Refactor(angular): use linkedSignal for entity list instead of syncing effect Pull request #35280
- Fix(react): use useEffect instead of useLayoutEffect in logout Pull request #35312
- Fix(angular): replace deprecated throwError(Error) with factory function Pull request #35316
Shipped this week: JDL workspace builder fixes, Elasticsearch transaction safety, CLI stability improvements, and better Angular signals support.
Week 36 focused on improving multi-application JDL support with proper environment building and stack configuration. Fixed critical issues with Elasticsearch indexing in reactive apps and JWT authentication. CLI build failures resolved. Framework improvements across Angular (signals), React (useEffect), and Vue continue the modernization efforts.
Week of September 21, 2026
What shipped
- Fixed random exit code 134 errors in Node 22 workspace jobs by loading prettier and eslint workers with import() instead of require(). Pull request #35201
- ParseJDL() now parses JDL into AST and diagnostics without throwing, returning all problems in source order. Pull request #35180
- JDL exports now include createJDLRuntime, getDefaultJDLDefinitions, getDefaultRuntime, and buildJDLApplicationConfig for external tools. Pull request #35194
- Added JDL.md reference documentation at repository root describing JDL syntax and constraints for users. Pull request #35182
- JDL parser now lexes comments, gives every AST node its kind, and reports linter suggestions as info diagnostics. Pull request #35186
- JDL parser refactored to track AST node locations from the parser instead of walking tokens. Pull request #35200
- JDL statements now kept in order as written, preventing silent loss of application statements. Pull request #35199
- Fixed React generator to properly escape entity validation patterns containing quotes. Pull request #35183
- Field validations, options, and deployments now checked with semantic rules reporting positions. Pull request #35154
- Replaced deprecated Redisson setPassword with Config.setPassword. Pull request #35195
Why it matters
The JDL parser received major refactoring this week to improve error reporting, maintain source locations, and provide better APIs for external tools. Multiple deprecated dependencies across Java, Testcontainers, and JavaScript tooling were updated. React template generation was fixed for validation patterns containing quotes.
Changelog entry
- Fix(bootstrap): load prettier and eslint workers with import() to fix Node 22 exit code 134 errors Pull request #35201
- Refactor(jdl): track AST node locations from parser instead of walking tokens Pull request #35200
- Refactor(jdl): keep JDL statements in order as written, prevent silent loss of statements Pull request #35199
- Feat(jdl): export createJDLRuntime, getDefaultJDLDefinitions, buildJDLApplicationConfig and related types Pull request #35194
- Feat(jdl): lex comments, assign kind to every AST node, report linter suggestions as info diagnostics Pull request #35186
- Fix(react): escape entity validation patterns containing quotes Pull request #35183
- Docs: add JDL.md reference documenting JDL syntax and constraints Pull request #35182
- Feat(jdl): parseJDL() returns AST and diagnostics without throwing Pull request #35180
- Fix: replace deprecated Redisson setPassword with Config.setPassword Pull request #35195
- Fix: replace deprecated yeoman-test cd() with cwd run settings Pull request #35155
JDL parser now returns all diagnostics with source locations instead of throwing. External tools can access JDL definitions and runtime. React validation patterns with quotes work correctly.
This week's JDL parser improvements focus on better error reporting and tooling support. The parser now captures source locations for all AST nodes, reports diagnostics without throwing, and exports APIs for external tools like linters and editors. Meanwhile, deprecated dependencies in Java and JavaScript tooling were updated, and a React template generation bug with validation patterns containing quotes was fixed.
Week of September 14, 2026
What shipped
- Elasticsearch now supports custom index and field names on entities and relationships to maintain compatibility when derived names change. Pull request #35028
- CLI commands that don't use blueprints now disable them automatically to skip unnecessary loading. Pull request #35017
- SQL Server container image updated from 2019 to 2025 to fix fatal startup crashes on recent host kernels. Pull request #34990
- New ESLint rule enforces that generator task groups appear in the correct execution order. Pull request #35029
- JDL string literals now support escaped double quotes and properly escape mapstruct expressions. Pull request #34870
- Kubernetes generators refactored to compose a common kubernetes generator that handles shared prompts. Pull request #35045
- Gateway admin page updated to use Bootstrap 5 classes instead of removed Bootstrap 3 classes. Pull request #35038
- Security documentation added explaining the trust model for.yo-rc.json and JDL configuration files. Pull request #34988
- Client theme prompts moved into command configuration so all client questions are defined in one place. Pull request #35024
Why it matters
This week includes important infrastructure work consolidating configuration definitions into command files, security documentation for configuration trust, and fixes for compatibility with current tooling versions like Bootstrap 5.3 and SQL Server 2025. These changes make the codebase more maintainable and the generated applications more secure.
Changelog entry
- Feat(elasticsearch): Add elasticsearchIndexName and elasticsearchFieldName schema properties for custom Elasticsearch mappings Pull request #35028
- Feat(cli): Add disableBlueprints flag to skip loading blueprints for commands that don't use them Pull request #35017
- Feat(eslint): Add jhipster/task-group-order rule to enforce generator task execution order Pull request #35029
- Fix(docker): Update SQL Server container from 2019 to 2025 to fix kernel compatibility Pull request #34990
- Fix(jdl): Support escaped double quotes in string literals and escape mapstruct expressions Pull request #34870
- Docs: Add SECURITY.md documenting.yo-rc.json and JDL configuration trust model Pull request #34988
- Fix(angular|vue): Replace Bootstrap 3 classes with Bootstrap 5 equivalents on gateway page Pull request #35038
- Refactor(kubernetes): Extract common prompts into kubernetes:common generator Pull request #35045
- Refactor(client): Consolidate theme prompts into command configuration Pull request #35024
This week: Elasticsearch custom index names, Kubernetes refactoring, SQL Server 2025 support, improved ESLint rules, and JDL string literal escaping. Configuration consolidation improves maintainability.
JHipster's weekly update includes significant infrastructure improvements: Elasticsearch now supports custom index and field names for compatibility, Kubernetes generators refactored for cleaner composition, SQL Server container upgraded to 2025, and new ESLint rules enforce correct task execution order. JDL string literals gain escape support. Multiple refactoring PRs consolidate configuration definitions into command files for easier maintenance.