Skip to content

Releases: Atypical-Consulting/Koine

v0.250.0

Choose a tag to compare

@github-actions github-actions released this 11 Jul 09:14
6c95f6b

0.250.0 (2026-07-11)

Features

  • studio: add a Source Control ahead/behind sync readout and push action (#1150) (92fbf20)
  • studio: add Source Control Discard all and per-row Discard behind a confirm gate (#1151) (92fbf20)
  • studio: clear the studio-shell backlog — 16 grouped shell fixes (#1387) (92fbf20)
  • studio: migrate UnsavedIndicator, DiagnosticsStripPanel, and DocsPanelHost to koine-ui (#1244) (92fbf20)

Bug Fixes

  • deps: update dependency @anthropic-ai/sdk to ^0.111.0 (#1393) (5f753f1)
  • deps: update dependency starlight-blog to ^0.28.0 (#1391) (b703349)
  • studio: address branch-wide code-review findings, incl. per-row Discard destroying staged-row edits and git_discard no-op on C-quoted filenames (92fbf20)
  • studio: key SortableTable rows on rowLabel to avoid remount-on-sort churn (#1382) (92fbf20)
  • studio: make the workspace-open lock impossible to bypass and disable controls in flight (#1275) (92fbf20)
  • studio: move Source Control header actions into the shared right-rail header and align panel insets (#1410) (bafbdb2)
  • studio: revert-and-close the ADR/Note edit textareas on Escape (#1383) (92fbf20)
  • studio: scope the Problems tab count pill to the active context (#1203) (92fbf20)
  • studio: shrink .koi-resizer/.koi-resizer-y handles to 1px (#1388) (aa7c64c)

Performance Improvements

  • studio: make the StoreInspector raw dump lazy and throttled (#1134) (92fbf20)
  • studio: route refreshContextList() through the shared glossary memoizer (#1258) (92fbf20)

v0.249.0

Choose a tag to compare

@github-actions github-actions released this 10 Jul 14:04
50ee03e

0.249.0 (2026-07-10)

Features

  • demo: runnable demos for the TypeScript/Python/PHP/Rust targets (#1073) (#1360) (5443116)
  • studio: browse generated output file-by-file via a file tree (#871) (#1339) (990a276)
  • studio: Context Map + Problems obey the active-context scope (#1188) (#1200) (f44eb77)
  • studio: eager +n/−n line counts on Source Control rows via git numstat (#1152) (#1194) (ad4e62d)
  • studio: make the status-bar Context segment a clickable scope picker (#1182) (e92e8bf)
  • studio: prototype a host-adapter seam for store-coupled UI panels (#944) (#1235) (c2b8252)
  • studio: surface real state-machine transitions in the ⌘K launcher (#1163) (#1195) (7ea254d)
  • studio: the left rail obeys the active-context scope (#1188) (#1198) (f96b432)
  • studio: the Output rail obeys the active-context scope (ADR 0009) (#1196) (2553d3a)
  • studio: wire the launcher's degraded quick actions to real seams (#1165) (#1192) (2e8af3e)
  • tooling: harden aggregate-root Id co-rename with context scoping and an authoritative status signal (#565) (#1346) (99aa42c)

Bug Fixes

  • deps: update dependency @maxgraph/core to ^0.24.0 (#1205) (52a4811)
  • emit-core: reconcile disagreeing ConditionalExpr branches across Java/TS/Kotlin/Python (#1344) (#1348) (f766414)
  • emit-core: resolve ScalarOpWalker operands by full type instead of shallow identifier match (#1289) (#1296) (f8c4189)
  • emit-php: gate multipliedBy/dividedBy independently off MultiplyFactors/DivideFactors (#1301) (#1302) (6077075)
  • emit-rust: borrow compound operands in quantity +/- unit-checked routing (#1268) (#1278) (7ab1590)
  • emit-rust: clone non-Copy conditional/let/coalesce branches outside the quantity guard (#1282) (#1287) (41d4d95)
  • emit-rust: coerce a value object's constant-default field to its declared Rust type in new (#1319) (#1323) (38197c4)
  • emit-rust: coerce a whole mismatched-type conditional operand once (#1293) (#1307) (b24f777)
  • emit-rust: coerce an entity's constant-default field to its declared Rust type in new (#1324) (#1327) (3451181)
  • emit-rust: coerce and Some(...)-wrap an optional derived member's bare non-optional body (#1329) (#1330) (4ddf2fe)
  • emit-rust: emit scalar Mul/Div impls for quantities (#1084) (#1265) (4fb0ec6)
  • emit-rust: extend coerceTo dispatch to comparisons, disagreeing branches, and bare operands (#1311) (#1315) (5166c49)
  • emit-rust: extend the whole-operand coercion wrap to a bare UnaryExpr operand (#1326) (3fd278c)
  • emit-rust: extend the whole-operand coercion wrap to bare MemberAccessExpr/CallExpr operands (#1316) (#1320) (6f27528)
  • emit-rust: map-render an optional MemberAccessExpr/CallExpr/UnaryExpr operand coerced toward Decimal instead of wrap-prefixing it (#1354) (#1357) (1b7b4db)
  • emit-rust: map-render an optional-Int conditional-branch numeric widen instead of wrap-prefixing it (#1335) (#1338) (de182dd)
  • emit-rust: map-render an optional-Int operand coerced toward Decimal in comparisons (#1343) (#1347) (2dfa86d)
  • emit-rust: own a .trim() result for an optional-declared String derived member (#1332) (#1337) (908cdfe)
  • emit-rust: own and Some(...)-wrap an optional-declared read-model derived String field (#1349) (#1358) (05233e6)
  • emit-rust: render .or_else(...) for a CoalesceExpr with an optional right operand (#1333) (#1336) (59e0502)
  • emit-rust: resolve Wr...
Read more

v0.248.0

Choose a tag to compare

@github-actions github-actions released this 07 Jul 18:46
5cad42b

0.248.0 (2026-07-07)

Features

  • emit-cs: finish W1 handler options — --app-not-found result & --app-handler-result readModel (#1041) (#1139) (f249b14)
  • emit: populate DDD kind metadata in the TS/Python/PHP emitters (#1170) (#1172) (5a31a7a)
  • studio: add ⌘K Spotlight command launcher, retire command palette (#1143) (#1145) (0cd1534)
  • studio: add rstrip hairline separator and widen the tool-window spine to 42px (#1154) (#1166) (2c66a47)
  • studio: adopt the hexagon-κ logo across app, README, and website (#1141) (#1144) (92119a1)
  • studio: flush center — one spine, flush focus, per-file output rail (#1169) (e21736b)
  • studio: rebuild the Source Control panel to the handoff design (#1142) (#1146) (61ae0b8)
  • studio: wire the Source Control panel's overflow, caret, and history affordances (#1153) (#1173) (4265353)

Bug Fixes

  • studio: drop the koi-space-4 rail inset from the non-Properties right panels (#1155) (9075677)
  • studio: make the Output preview pane scroll again (#1177) (81cf976)
  • studio: open the domain diagram at its default zoom, keep the % readout truthful (#1159) (30fe0f2)
  • studio: stop the toolbar accent bleeding into the emit menu and mark the selected target (#1157) (33c60d4)
  • tooling: guard run-ide.ps1 against missing package-lock.json (#1168) (2c65ddb)

v0.247.0

Choose a tag to compare

@github-actions github-actions released this 06 Jul 13:20
7b5e992

📦 Downloads

This release ships prebuilt executables for the first time — the CLI is self-contained (no .NET runtime required).

Koine CLI (self-contained single file):

  • Linux x64koine-v0.247.0-linux-x64.tar.gz
  • macOS (Apple Silicon)koine-v0.247.0-osx-arm64.tar.gz
  • Windows x64koine-v0.247.0-win-x64.zip
  • NuGet global toolKoine.Cli.0.247.0.nupkg

Koine Studio desktop app:

  • macOS (Apple Silicon)Koine.Studio_0.247.0_aarch64.dmg
  • WindowsKoine.Studio_0.247.0_x64_en-US.msi or Koine.Studio_0.247.0_x64-setup.exe
  • LinuxKoine.Studio_0.247.0_amd64.AppImage, Koine.Studio_0.247.0_amd64.deb, or Koine.Studio-0.247.0-1.x86_64.rpm

Installing the unsigned Studio builds. These installers are not yet code-signed, so:

  • macOS: right-click the app → Open the first time (Gatekeeper).
  • Windows: on the SmartScreen prompt, click More info → Run anyway.

Code-signing & notarization is tracked in #1137.


0.247.0 (2026-07-06)

Features

Bug Fixes

  • emit-core: honor explicit qualifier + map-permission in flat-module owner resolution (#1124) (#1128) (9bc7735)
  • emit: qualify multi-owner cross-context type references; consolidate shared emitter infra (#1120) (3c37068) — this squash landed four issues: #1091 (ambiguous multi-owner cross-context qualification, with the KOI1419 diagnostic), plus the shared-emitter-infra consolidation: #581 (consolidate the repo-wide MembersOf / identifier-char helpers onto the shared #356 helpers), #977 (hoist per-emitter csproj boilerplate into a shared src/Koine.Emit.props), and #902 (migrate the C#/TypeScript/Python emitters to the unified NeedsAdd operator-needs model).

v0.246.0

Choose a tag to compare

@github-actions github-actions released this 06 Jul 08:25
e52c2cc

0.246.0 (2026-07-06)

Features

  • emit-cs: adoptable application-layer handlers, Mapperly mapping & an ASP.NET api layer (#1036) (fd9b705)
  • emit-java: add a dependency-free Java 17 emitter target (#858) (#1069) (c30d837)
  • emit-kt: add a Kotlin emitter target (#1066) (#1092) (014c412)
  • emit-kt: defensively copy collection members in value objects (#1110) (#1114) (e3a3cc3)
  • emit-rust: demand-driven value-object add/subtract for plain value +/- value (#887) (#1062) (991b24e)
  • emit-ts: truncate Int fields toward zero on scalar multiply/divide (#938) (#1032) (ab1d8f4)
  • studio: add a syntax-tree visualizer panel to the right rail (#890) (#1085) (b32612c)
  • studio: add an ESLint gate enforcing frontend safety conventions (#978) (#993) (f676bc8)
  • studio: clarify + recover the empty (non-Koine) clone outcome (#1017) (#1058) (f714939)
  • studio: preserve syntax-tree roving focus across panel refetch (#1097) (#1100) (ec33ba6)
  • studio: recreate the full-bleed Home with resume card, dense recents & Clone (#1005) (#1006) (aca2b5d)
  • studio: sticky ancestors band for the virtualized syntax-tree panel (#1106) (#1108) (424ba5d)
  • studio: type-check the koine-ui⇄koine-studio DOM-id contract via shared constants (#979) (#999) (83bd203)
  • studio: virtualize the syntax-tree panel + raise serializer MaxDepth (#1098) (#1101) (ad2c262)

Bug Fixes

  • deps: update dependency @anthropic-ai/sdk to ^0.110.0 (#1013) (1593d89)
  • emit-kt: backtick-escape keyword package segments in Kotlin output (#1109) (#1111) (39b70a9)
  • emit-php: emit computed Decimal defaults as valid PHP in const-required positions (#971) (#1025) (e999d64)
  • emit-php: re-box a bare Int-literal default on a Decimal member (#1030) (#1035) (78fe2d6)
  • emit-rust: lift impl Add over Option for optional numeric fields in sum-folded value objects (#970) (#1021) (16441dc)
  • emit-rust: route a quantity's plain +/- through unit-checked add/sub (#1068) (#1080) (9a3e02c)
  • semantics: catch division by zero nested in conditional/coalesce/let member defaults (#1048) (#1049) (09e1083)
  • semantics: fire KOI0217 for narrowing on stored constant defaults, not just derived members (#974) (#1020) (6145507)
  • semantics: infer a conditional as its branches' common numeric type so KOI0217 catches a narrowing else (#975) (#1033) (3360648)
  • semantics: rebuild KOI1606's zero-divisor walker on ExprWalker for exhaustive Expr coverage (#1056) (#1070) (b1e742b)
  • semantics: reject division by zero in a constant-foldable default expression (#1031) (#1045) (cea5948)
  • studio: bail in-flight surface loaders after inspectorController dispose (#1002) (#1029) (a7217e3)
  • studio: bail refreshContextList() after inspectorController dispose() so a resolving glossary fetch can't write a torn-down controller's state (#1037) (#1047) (c6af3ae)
  • studio: guard applyFileEdit dirty-clear against a mid-write keystroke (#1008) (#1050) (619eafc)
  • studio: guard applyFileEdit's didSave against a stale write (#1081) (#1087) (8da8b61)
  • studio: guard saveActive/saveAllDirty didSave against a mid-write buffer switch (#1009) (#1052) (d1916a3)
  • studio: guard saveAllDirty's didSave against a write failure on the active buffer (#1055) (#1078) (cfe04e4)
  • studio: gu...
Read more

v0.245.0

Choose a tag to compare

@github-actions github-actions released this 02 Jul 14:18
26aecba

0.245.0 (2026-07-02)

⚠ BREAKING CHANGES

  • emit: extract each emitter into its own Koine.Emit. project (#861) (#968)

Features

  • demand-generate value-object / scalar division in TS, Python, and Rust emitters (#879) (#933) (5d09c3a)
  • design-sync: ship Koine Studio panels as live components via a Preact→React adapter (#913) (3dabd10)
  • emit: extract each emitter into its own Koine.Emit.<Target> project (#861) (#968) (9169d5e)
  • studio: add an Initialize Repository button to the Source Control panel (#911) (05af580)
  • studio: adopt Concept Colors — one DDD concept, one color everywhere (#936) (#941) (dfe7a94)
  • studio: default desktop workspace root to Documents/Koine (#915) (#949) (78633da)
  • studio: extract Studio's reusable UI into @atypical/koine-ui (#905) (#932) (7011c55)
  • studio: redesign the top bar & status bar chrome (chrome v2) (#923) (#924) (8f338a3)
  • studio: ship-ready desktop MCP exposure and expandable tool-call cards (#934) (#935) (8fd3cef)

Bug Fixes

  • design-sync: drop orphan .d.ts and classify structural tokens (#920) (bb805e4)
  • emit-php: parenthesise (new Decimal('n'))->… for a Decimal-literal receiver in WriteAsDecimal (#907) (#963) (cdc2553)
  • emit-php: parenthesise WriteAsDecimal fallthrough arm's new-chaining for Int members (#849) (#903) (05579dd)
  • emit-rust: coerce a derived member's body to its declared numeric type (#961) (#967) (fc83bcf)
  • emit-rust: map over Option for optional numeric fields scaled/divided by a scalar (#960) (#964) (3cf4425)
  • emit-rust: scale & divide an Int field by a Decimal scalar via coerce-and-truncate (#937) (#952) (9a1ae00)
  • scripts: preserve caller's working directory in ps1 scripts (#912) (cabb776)
  • semantics: reject reversed scalar / value-object division (#878) (#906) (2565bec)
  • semantics: reject scalar arithmetic on a value object with no numeric field (#939) (#951) (11d2feb)
  • studio: gate cold-boot start-intent on lsp.start() to fix "LSP not started" (#955) (d3a6044)
  • studio: intermittent Windows CI failure in inspectorController.test.ts (#848) (#904) (bbf54b5)
  • studio: key mcp_endpoint cache on the requested port (#947) (#953) (847fcf1)
  • studio: paint Concept Colors & semantic tokens over the grammar highlighter (#962) (bd01db0)
  • studio: reject the zero-byte placeholder when resolving the bundled koine sidecar (#969) (225bf74)
  • studio: repair 30 verified bugs across shell, hosts, editor, AI, and panels (#930) (badb772)
  • studio: sync desktop/package version with the Koine release version (#957) (3faf88e)
  • website: serve /blog/rss.xml under trailingSlash:always to unblock the docs deploy (#948) (#954) (6c94b1a)

v0.244.0

Choose a tag to compare

@github-actions github-actions released this 01 Jul 07:14
31696b9

0.244.0 (2026-07-01)

Features

  • gbnf: require whitespace at word-to-word boundaries + character-level engine test (#448) (#896) (27f8309)
  • wasm: warm remaining interop handlers (EmitPreview, Completions, WorkspaceSymbols, CodeActions, EmitKoine, ApplyModelEdit) (#464) (#895) (4c732ff)
  • wasm: warm remaining interop handlers (EmitPreview, Completions, WorkspaceSymbols, CodeActions, EmitKoine, ApplyModelEdit) (#464) (#895) (e3cc6de)