Releases: Cratis/cli
Release v1.6.3
Summary
The cratis update command updates the on-disk binary but then checks the version of the currently running process, which hasn't changed. This caused it to report "Already at the latest version (1.6.1)" even after successfully installing 1.6.2.
Fixed
Release v1.6.2
No release notes
Release v1.6.1
Summary
Activating a read model row in the Chronicle Workbench blocked the UI thread on the instances fetch: OpenDetailOverlay called BuildInstancesContent, which ran OnFetchInstances(...).GetAwaiter().GetResult() synchronously before building the overlay. The whole TUI froze for the duration of the network call, and the detail overlay only appeared once data returned.
This opens the overlay immediately with a Loading instances… placeholder, fetches off the UI thread, and updates the Instances tab when the data arrives.
Fixed
- Read model instances now load asynchronously: the detail overlay opens immediately and the UI thread no longer blocks on the instances fetch when activating a read model row.
Changed
DetailOverlayWindowexposes its per-tab editors (TabEditors) so a tab’s content can be updated afterBuild— used to fill the Instances tab once the async fetch completes. The fetch runs on a background task (Task.Run+ConfigureAwait(false)) and the result is marshalled back onto the UI thread viaEnqueueOnUIThread.
The change is confined to ReadModelsView and DetailOverlayWindow (no public API removed; DetailOverlayWindow change is additive).
Note: I could not produce a full local build — this repo’s source generators require a newer Roslyn than my local SDK ships (
CS9057), so generator-emitted symbols are unavailable in my environment. The two changed files compile clean; CI with the project’s toolchain should build normally.
Release v1.6.0
Summary
This update introduces significant enhancements to the Chronicle Workbench, focusing on user interface improvements and new functionalities.
Release v1.5.0
Summary
Introduce a new workbench renderer for the dashboard UI
Added
cratis chronicle workbenchTUI command
Release v1.4.2
- Inspect current branch state and verify whether
brew updateis present in code - If missing, add/restore
brew updatebefore Homebrew upgrade in self-update flow - Run focused tests for update behavior
- Run security scan and finalize
- Commit/push and reply to PR comment with commit hash
Release v1.4.1
Summary
Arc commands previously fell back directly to a hardcoded default URL when --url/ARC_URL were unset, which missed common local Arc setups. This change adds launchSettings.json discovery (Properties/properties) and aligns the default Arc URL with Arc app defaults.
Added
- Added launch settings URL discovery in Arc settings resolution by reading
profiles.*.applicationUrlfromProperties/launchSettings.jsonorproperties/launchSettings.json(#issue)
Changed
- Updated Arc URL resolution precedence to:
--url→ARC_URL→launchSettings.json applicationUrl→ default (http://localhost:5000) (#issue) - Updated Arc command examples and Arc docs to reflect
http://localhost:5000as the default URL and the new resolution order (#issue)
// Effective Arc URL resolution
if (--url is set) return url;
if (ARC_URL is set) return env;
if (launchSettings.applicationUrl exists) return applicationUrl;
return "http://localhost:5000";Fixed
- Fixed Arc CLI behavior for local projects where runtime URL is configured in launch settings but not passed as a flag/env var (#issue)
- Fixed mismatch between documented/default Arc URL and expected Arc local default (
http://localhost:5000) (#issue)
Removed
- Removed implicit assumption that Arc URL fallback is only an env var + hardcoded default path (#issue)
Security
- No security behavior change; launch settings parsing is local-file, read-only, and guarded for invalid/unreadable JSON (#issue)
Deprecated
- No deprecations in this PR (#issue)
Release v1.4.0
Adds a new arc command group to the CLI for introspecting registered command and query endpoints in a running Cratis Arc application.
Added
cratis arc commands list— callsGET /.cratis/commandsand lists all registered Arc commands with name, namespace, HTTP route, and doc summary (#7)cratis arc queries list— callsGET /.cratis/queriesand lists all registered Arc queries with name, namespace, HTTP route, type, and doc summary (#7)ArcCommand<TSettings>base class —HttpClient-based counterpart toChronicleCommand<TSettings>, with connection error handling and TLS bypass for local dev (#7)- Arc URL resolution:
--urlflag →ARC_URLenv var →https://localhost:5001(#7) - Documentation under
Documentation/arc/(#7)
Release v1.3.1
Summary
Renames the Chronicle CLI command path from event-store-subscriptions to subscriptions for consistency and shorter invocation. Updates command registration, completion routing, examples, integration usage, and Chronicle docs to the new path.
Added
- None.
Changed
- Renamed the Chronicle branch command from
event-store-subscriptionstosubscriptionsin CLI registration and command discovery. - Updated dynamic completion keying for subscription removal to match the new command path.
- Updated command examples/help text to use
cratis chronicle subscriptions .... - Updated Chronicle documentation index/table/TOC labels and command invocations to
subscriptions.
# before
cratis chronicle event-store-subscriptions list --event-store system
# after
cratis chronicle subscriptions list --event-store systemFixed
- Updated integration scenario for add/list/remove subscription flow to invoke
chronicle subscriptionsinstead of the old path.
Removed
- Removed remaining runtime references to
event-store-subscriptionscommand invocation paths (except documentation file nameevent-store-subscriptions.md).
Security
- None.
Deprecated
event-store-subscriptionscommand path is superseded bysubscriptions.
Release v1.3.0
Summary
Adds CLI support for Chronicle event store subscriptions by wiring IEventStoreSubscriptions into command surface area and completion. Includes end-to-end integration coverage and Chronicle documentation for the new command group.
Added
- New
chronicle event-store-subscriptionsbranch withlist,add, andremovecommands wired toIServices.EventStoreSubscriptions(#0000) - Command settings for subscription identifier, source event store, and event type input parsing (#0000)
- Integration spec:
for_EventStoreSubscriptions/when_adding_and_removing_event_store_subscription(#0000) - New Chronicle docs page:
Documentation/chronicle/event-store-subscriptions.mdcoveringlist,add, andremoveusage (#0000)
Changed
- Dynamic completion now supports
event-store-subscriptionsidentifiers via_completecontext resolution (#0000) - Chronicle branch registration text now includes event store subscriptions in the top-level command map (#0000)
- Chronicle documentation navigation updated to include Event Store Subscriptions in
Documentation/chronicle/toc.ymlandDocumentation/chronicle/index.md(#0000)
await services.EventStoreSubscriptions.Add(new AddEventStoreSubscriptions
{
TargetEventStore = settings.ResolveEventStore(),
Subscriptions =
[
new EventStoreSubscriptionDefinition
{
Identifier = settings.SubscriptionId,
SourceEventStore = settings.SourceEventStore,
EventTypes = settings.EventTypes
.Split(',', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries)
.Select(id => new EventType { Id = id })
.ToList()
}
]
});Fixed
- CLI gap where EventStoreSubscriptions contract methods (
GetSubscriptions,Add,Remove) were available in contracts but not exposed through Chronicle commands (#0000)
Removed
- None (#0000)
Security
- None (#0000)
Deprecated
- None (#0000)