00.81.10
eu.jsentinel:jCustos-*), new package root
(eu.jsentinel.jcustos), new type names (JCustos*), new operator-visible
names (jcustos.*). Wire formats and every signed byte stay identical — old
signed envelopes and audit-chain exports verify unchanged. The current release
is 00.83.00.Release date: 2026-08-31 Previous release: 00.81.00 (the last jSentinel release) Maven coordinates (parent):
eu.jsentinel:jCustos-parent:00.81.10Full changelog: GitHub release v00.81.10
This is the breaking release the rebrand announced. Every consumer touchpoint renames; no feature changes and no behavior changes. 112 package trees, 172 types, 61 modules, 62 POMs, ~2,000 files were rewritten, every step landing with a green full reactor.
The complete cut
| Surface | jSentinel (≤ 00.81.00) | jCustos (00.81.10+) |
|---|---|---|
| Maven groupId | com.svenruppert.jsentinel | eu.jsentinel |
| Maven artifactIds | jSentinel-<module> | jCustos-<module> |
| Package root | com.svenruppert.jsentinel | eu.jsentinel.jcustos |
| Types (172) | JSentinel* | JCustos* |
| System properties | jsentinel.dev, jsentinel.events.bus.enabled | jcustos.dev, jcustos.events.bus.enabled |
| OTel attributes (14) | jsentinel.envelope.id, … | jcustos.envelope.id, … |
| Named loggers | com.svenruppert.jsentinel.events / ….alerts | eu.jsentinel.jcustos.events / ….alerts |
| Webhook headers | X-JSentinel-Event-Type / -Envelope-Id | X-JCustos-Event-Type / -Envelope-Id |
| OAuth2 binding cookie | __Host-JSentinelOAuth2State | __Host-JCustosOAuth2State |
| Wrapper index | META-INF/jsentinel/generated-wrappers.idx | META-INF/jcustos/generated-wrappers.idx |
| Framework storage subdir | jsentinel-store | jcustos-store |
| Integration skills | jsentinel-vaadin, jsentinel-rest, … | jcustos-vaadin, jcustos-rest, … |
There are no aliases — this is a hard operator-name cut.
What deliberately did not change
- Wire formats: signed event envelopes, the envelope wire JSON,
EventTypevalues and the metric-name catalog (security.*— brand-free by design since 00.80.00). - Protocol domain strings (hash/signature bases) stay
jsentinel-audit-chain/v1,jsentinel-audit-batch/v1,jsentinel-event/canonical-json/v1, etc. Old signed data and NDJSON audit exports verify byte-identically under jCustos; the golden-value hash pins ran green throughout the rename. - The
jsentinel.eudomain (docs, Maven-namespace verification, the default Auth0 claim namespacehttps://jsentinel.eu/roles). - History: release notes, docs archives, snapshots and audit reports keep their original wording.
Breaking: Eclipse-Store fresh start
Storages written by jSentinel (≤ 00.81.00) cannot be opened by jCustos —
Eclipse Store persists FQCNs in its type dictionary and no legacy mappings ship
(a deliberate concept-gate decision). Export what you need under 00.81.00 first
(the NDJSON audit export stays verifiable forever), then start jCustos with
fresh storage directories. The default framework storage subdirectory also
renamed (jsentinel-store → jcustos-store), so a same-path deployment cannot
accidentally open an old tree.
Migration
Mechanical, ordered, ~minutes per project — use the jcustos-migration
skill: GAV swap → package/type rename → META-INF/services (names and
contents — extensionless) → operator names → verify grep-clean. The old
coordinates carry relocation POMs at 00.81.10: Maven prints the relocation
message and redirects, so stale builds keep working while telling you to move.
Verification
Full reactor green with tests after every rename wave (P001–P007 + review
fixes); golden-value hash pins green throughout. The exit review focused on
silent breakage — extensionless META-INF/services contents, regex-escaped
FQCNs in SpotBugs excludes, residual lowercase brand tokens in demos — all
fixed in-cycle. SHIP.
Roadmap
Next: 00.82.00 — hardening rest (T3) & CSRF, the first feature release under the jCustos name.