Release notes for Chenile 2.1.21 covering version metadata, chenile-admin-ui, service-registry ecosystem visibility, build verification, and documentation updates.
Edit me
Chenile 2.1.21 rolls the framework family forward from 2.1.20 and captures the framework work that landed after the 2.1.20 tag, along with the release alignment, full build verification, and documentation refresh for this version.
Highlights
Release and build verification
- The standard 11 Chenile repositories are aligned on
2.1.21. chenile-javadocis aligned to the same parent release.chenile-gencontinues to default generated projects to the current Chenile release baseline.- A full
mvn installrun completed successfully for the release set:chenile-parentchenile-corechenile-query-workflow-blueprintschenile-service-registrychenile-proxieschenile-securitychenile-messagingchenile-bddchenile-otherschenile-process-managementcconfigchenile-javadoc
chenile-genalso built successfully from its actual Maven root atchenile-gen/jgen.
Core runtime and version metadata
chenile-corenow aggregates version properties from every classpath resource ending inversion.txtinstead of keeping only one version value in memory.ChenileConfigurationnow supportsgetVersion("xxx"), which resolvesxxx.version.- Services can now declare an optional
serviceModule, both in service JSON and in@ChenileController. serviceModulenow defaults from the service ID when it is not declared explicitly.versionPropertyremains accepted as a deprecated compatibility alias.- The built-in
infoServicenow resolves its service version fromchenile.version.
Monolith naming transition
chenile.monolith.nameis now the primary runtime property for monolith identity.chenile.module.namestill works as a deprecated compatibility fallback.chenile-gentemplates and framework test resources now generate and validatechenile.monolith.nameby default.- Core runtime APIs now expose
getMonolithName()while keepinggetModuleName()as a compatibility alias. - Public JSON payloads emitted by
chenile-coreandchenile-service-registrynow usemonolithName. - Incoming JSON that still sends
moduleNameis accepted for compatibility during the transition window.
Chenile Admin UI
chenile-corenow containschenile-admin-ui, a standalone React frontend for inspecting running Chenile systems.- The UI can query
/info,/service-info/{service}, and/health-check/{service}from a target monolith. - When it detects a central
service-registry-service, it can also list the wider service ecosystem through/serviceregistry. - The UI also surfaces a Swagger or OpenAPI link when the target server exposes standard docs endpoints.
Service registry ecosystem visibility
chenile-service-registrynow exposes a central listing API for the full registered ecosystem.- The central registry can aggregate local services and services registered by delegate-enabled monoliths that publish through
chenile.remote.service.registry. - Remote registry metadata now includes health-check exposure so ecosystem tooling can decide when a health probe is available.
Upgrade notes
- The main Chenile repositories now resolve to
2.1.21throughchenile-parent. git describe --tagsshould return2.1.21across the standard tagged release repositories after the annotated tags are created and pushed.chenile-genremains a release follow-up repository rather than part of the standard 11, but its generated defaults should stay aligned with the active Chenile baseline.- Applications should start moving their
chenile.propertiesfiles fromchenile.module.nametochenile.monolith.name. - Consumers of
/info,/service-info, and service-registry payloads should switch tomonolithName.moduleNameremains accepted on input, but new output now prefersmonolithName.
Documentation updates
The Chenile docs were updated to reflect:
- the
2.1.21release alignment - the new
2.1.21release notes page - the updated sidebar versions across the docs site
- the current release baseline in the architecture and modules overview pages
- the
chenile-admin-uiguide and its ecosystem mode - the current
chenile-genexample dependency version - the
chenile.monolith.nametransition andmonolithNamepayload shape