Skip to content

NimBus v2.0.0

Choose a tag to compare

@akakaule akakaule released this 31 Jul 08:30
· 383 commits to master since this release

NimBus 2.0.0 adds storage-backed authorization with PII redaction, rewrites the EventCatalog export, and removes dead public API so Service Bus topology is created in one place only.

Highlights

  • Added storage-backed roles (Reader, Contributor, Owner and PiiReader) through a new IAccessControlStore in every storage provider, with an Access Control management page (spec 026).
  • Added a Reader floor with whole-payload [REDACTED] for users without PiiReader, and an effective-access panel showing each user's resolved roles.
  • Added Entra compatibility: EIP_Management maps to site-wide Owner, and configured Entra object IDs map to platform admin.
  • Added a rewritten nb catalog export that emits a runnable EventCatalog site in native MDX with per-service AsyncAPI 3.0 documents.
  • Added version stamping of deployed apps from the latest git tag.
  • Improved ClearEndpoint so it recreates exactly the rule set the provisioner expects.
  • Fixed the Resolver never starting in Azure because it read its identity setting with a __ key instead of :.
  • Fixed RBAC-only deployments by declaring the shared Cosmos containers in Bicep.

Compatibility

Breaking changes:

  • IServiceBusManagement loses its six entity-creation methods; topology is created only by ServiceBusTopologyProvisioner (nb topology apply).
  • ICosmosDbClient is removed; resolve INimBusMessageStore or the granular store contracts instead.
  • Obsolete bridges are deleted: the CLI AsyncApiExporter, AddMessageStore(), the CosmosDbClient Serilog constructors, the AsyncApiFormat bridge enum and EventCatalogExporter.ExportAsync.

Custom storage providers must implement IAccessControlStore. Akaule.NimBus.MessageStore.CosmosDb no longer depends on Serilog.

This release was validated with the .NET workflow and the NuGet publish workflow on the release commit.

Commits: v1.2.0...v2.0.0