changelog

Merge pull request #1 from dekaruntime/ci/trusted-publishing
v0.0.2
Sep 15, 2026

create-deka-app: placeholder package that reserves the name
v0.0.1
Sep 15, 2026

deka 0.53.4 release binaries and WASM artifacts.

v0.53.4
Sep 15, 2026

{data.repo.split('/')[1]} released v0.53.4 in dekaruntime/dsc

dsc 0.53.4 CLI binaries and WASM artifacts.

v0.53.4
Sep 15, 2026

{data.repo.split('/')[1]} released v0.53.3 in dekaruntime/dsc

dsc 0.53.3 CLI binaries and WASM artifacts.

v0.53.3
Sep 15, 2026

{data.repo.split('/')[1]} released v0.53.2 in dekaruntime/dsc

dsc 0.53.2 CLI binaries and WASM artifacts.

v0.53.2
Sep 15, 2026

deka 0.53.2 release binaries and WASM artifacts.

v0.53.2
Sep 15, 2026

Human validation checklist

Run these on a clean machine with only the released binaries. Should take under 10 minutes. Anything that fails becomes an issue before the next release train.

Setup

deka --version     # expect: deka [version 0.53.1]
dsc --version      # expect: dsc [version 0.53.1]

1. deka --help tells you how to start (#977,#978)

deka --help

Expect a [getting started] block FIRST, before the alphabetical categories, listing init, serve, dev, add, build, run. Previously the list opened with auth/database/debug.

deka init --help

Expect help specific to init — its own usage line and examples. Previously this printed the global help verbatim.

Also check --yes appears once, not three times, and that flags shown under a command belong to that command.

2. A typo gets a useful answer (#993,#995)

deka --instal
deka self bogus ; echo "exit=$?"

Expect did you mean 'install', 'pkg install'? — two distinct real commands, not the same word twice. Expect the second to print unknown subcommand 'bogus' for 'self' and exit=2. Previously it printed nothing and exited 0.

3. A new project scaffolds and serves (#974,#972,#970)

mkdir hello && cd hello
deka init
deka dev

Expect an app/ tree (layout.dsx, page.dsx, not-found.dsx), src/ui/Counter.dsx, index.html, public/style.css, a .gitignore, plus the deka banner and http://localhost:8530.

Open it. Expect "Deka App" and "Hello, World." rendered, and the counter button showing 0 in the HTML source before any JavaScript runs (view-source, not devtools) — that is the island prerender fix. Click it; it should increment.

4. Permissions are declared, not mysterious (#973)

Open deka.json. Expect a permissions block with a dev section listing what was granted and an explicitly empty prod — production stays default-deny.

5. Task exit codes propagate (#975)

deka task dev   # in a project whose task fails
echo "exit=$?"

A failing task must return its command's exit code, not 1.

6. Installing packages keeps the lockfile intact (#971)

deka install json
deka install crypto
cat deka.lock

Expect BOTH packages in deka.lock. Previously each install rewrote the lock to contain only the last package, while ds_modules/ still had the rest.


What changed

Fixes the first-run experience end to end (tracker#969). Four of the five milestones were broken on 0.53.0: help output, the scaffold, the dev server, and permissions legibility.

  • #980 — the dev server was feature-gated out of every release binary, so deka dev told users to rebuild from source. It ships now.
  • #984deka init scaffolds a real RFD 24 app-router project instead of a static HTML page with no DekaScript in it.
  • #981client:load islands prerender their initial state instead of arriving empty until hydration.
  • #987 — the scaffold declares phase-aware dev/prod permissions; implicit dev grants announce themselves instead of happening silently.
  • #996 — per-command help with real usage lines and examples, a Getting Started block, and flags resolved against their owning command.
  • #1009 — explicit deka install no longer truncates deka.lock to the last package installed.
  • #1008 — unrecognized subcommands error and exit non-zero instead of exiting 0 in silence (affected self, pkg, db, auth, deploy).
  • #1003 — did-you-mean suggestions deduplicate and disambiguate (install vs pkg install).
  • #990 — self-update is deferred behind a non-default feature rather than advertising a command that did not work.
  • #975deka task propagates child exit codes.

Compiler side, shipped in dsc 0.53.1: the checker no longer infers through a bare unsafe {} block (dsc#225), and JSX text whitespace follows the Babel convention (dsc#226). Adopting that checker change required fixes in four repos — deka's codegen, deka's fixtures, the tour, and the conformance corpus.

Prefer ticking boxes? The same checklist is issue dekaruntime/staff#13.

v0.53.1
Sep 14, 2026

{data.repo.split('/')[1]} released v0.53.1 in dekaruntime/dsc

dsc 0.53.1 CLI binaries and WASM artifacts.

v0.53.1
Sep 14, 2026

deka 0.53.0 release binaries and WASM artifacts.

v0.53.0
Sep 14, 2026