Repository navigation
v0.9.0
The live session (tx interactive, tx serve, tx ui) is a preview: its protocol and options
may still change. A live session does not yet notice when other tools change its model's files
(for example a git checkout or an edit in Power BI Desktop), and saving from it overwrites
those changes; save or close the session before changing the files another way (#351).
Added
tx interactive(aliastx shell) opens a model once and keeps it in memory: commands such
asget,set,add,rmandbpa runwork on the open model,undoandredostep
through every change,begin…commitgroups edits into one undo step,historylists
them, andsavewrites the model. It asks before discarding unsaved changes (#347).tx serveholds a live session for editors and agents and speaks the tomix session protocol
(JSON-RPC over stdio, specified indocs/protocol.md): open, read, edit, undo, transactions,
save, and change events for every client (#348, #349).tx ui [model]shares a live session on127.0.0.1with a browser page and agents at the
same time: the page shows who is connected and every client's changes as they happen, with
Undo, Redo and Save.--openopens the page;--port,--graceand--logtune it. Every
request needs the session's token.tx serveon a modeltx uiholds joins that session
instead of opening a second one (#369).- While
tx uiholds a model,add,bpa run,deps,find,format,get,ls,mv,
replace,rm,save,set,summaryandvalidateon it run in its session instead of
on the files: edits become undo steps there and show up on the page, reads see unsaved
edits, and edits stay unsaved untiltx save(#400). - New error codes
TOMIX_SESSION_IN_USE,TOMIX_UI_UNAUTHORIZED,TOMIX_UI_FORBIDDEN,
TOMIX_UI_PORT_IN_USEandTOMIX_UI_UNREACHABLE(#369).
What's Changed
- feat(core): live session contracts and ADR 0002 lease gate (#343) by @bgarcevic in #380
- feat(provider-tom): change journal and TomWriter for every TOM write (#379) by @bgarcevic in #381
- feat(provider-tom): TomLiveModelSession with a FIFO lease gate (#344) by @bgarcevic in #382
- refactor(app): run handlers against an open session (#345) by @bgarcevic in #384
- feat(provider-tom): undo, redo and explicit transactions in the live session (#346) by @bgarcevic in #385
- feat(cli): tx interactive (alias tx shell), the live session REPL (#347) by @bgarcevic in #386
- docs(protocol): tomix session protocol v0 spec (#348) by @bgarcevic in #387
- feat(serve): tx serve over stdio (#349) by @bgarcevic in #389
- ci(dependabot): use conventional dependency update titles by @bgarcevic in #388
- feat(serve): one live session shared by several clients over localhost (#369) by @bgarcevic in #390
- build: Bump Microsoft.CodeAnalysis.BannedApiAnalyzers from 4.14.0 to 5.6.0 by @dependabot[bot] in #383
- feat(ui): tx ui shares a live session with a browser page and agents (#369) by @bgarcevic in #399
- feat(live): one-shot commands on a model tx ui holds run in its session (#400) by @bgarcevic in #401
- chore(release): prepare 0.9.0 by @github-actions[bot] in #402
Full Changelog: v0.8.0...v0.9.0