Repository navigation
Releases
MiniCode v0.17.0
v0.17.0 — 2026-11-10
Added
- Allowlist bash untuk pengembang:
node *+npm install/ci/test/startdi daftar default; daftar developer terpisah untuk fallback tanpa sandbox OS (restrictBash) mencakup runtime (python/python3/ruby/php/deno), package manager (pip/uv/pipx/yarn/pnpm/cargo/go/composer), dan test/lint/build (pytest/ruff/mypy/jest/eslint/tsc/make/cmake/gcc). Deny-list bash-guard tetap zirah: inline-eval, baca kredensial, exfiltrasi, perintah destruktif tetap ditolak. - Timeout interaktif default 1 jam (exec tetap 15 menit).
- Partial-persist saat turn timeout/crash — resume tidak amnesia.
Improved
- Perf TUI: repaint inkremental per baris (tanpa clear-penuh
ESC[2Jtiap keystroke) + proyeksi transkrip di-cache (tanpa O(N) concat saat history panjang). - Guidance system-prompt: checkpoint temuan + audit Map-Reduce.
- Auto-scroll saat drag seleksi di tepi viewport.
Changed
- Ikon status ✓/✗/⊘/○ dihapus — cukup warna + kata.
Fixed
- Navigasi history ↑↓ tak lagi tersangkut di entri command (recall tidak membuka dropdown
/).
Internals
- Budget paket re-baseline 3920 → 3968 KiB (persetujuan owner; aktual 3925 KiB).
v0.16.0
Retensi fakta pada kompaksi & proyeksi (hasil tool tidak lagi <result omitted>), pagu ringkasan + input summarizer diskala mengikuti jendela model, konsolidasi selector konteks, penjaga volume-baca opt-in, footer live context, sentralisasi ledger tool, dan unfreeze vendor (host-editable). Lihat CHANGELOG.md untuk detail.
v0.15.0
Added
/unrestric— hidden per-session full-access mode (jail + bash-guard + sandbox off; gate = operator trust). Footer shows open-lock 🔓 without a status label.- Exit session summary "kop": wordmark
minicode+ Session/Model/Usage (tokens, cost, duration), cleared to avoid overlapping pre-login text.
Changed
/helpregrouped (Session/Model/Mode/View/Task),/help fullfor described list,/help keysfor shortcuts; Ctrl+C shortcut now accurate.
Fixed
- Subcommand router uses scoped argv (
args.slice(cmdIndex)) — leading global flags no longer misread as sub-actions (or exit silently). - TUI exit (Ctrl+D) clean restore: reset attrs + show cursor before leaving the alternate screen.
- Gate regressions (i18n neutral-locale,
--interactiveover pipes, OAP-008 writer inventory).
Full gate green: 5612 tests, coverage 88.25% funcs / 89.47% lines, pack 23, audit 60.
MiniCode v0.14.6
What's new in 0.14.6
Clean Permission Mode (Auto/Ask) — no more phantom Allowlist.
- Permission Mode is now purely Auto/Ask. The no-sandbox bash restriction became a separate capability flag (restrictBash) and no longer shows up as a confusing Allowlist mode.
- Footer now shows Auto/Ask plus a
bash:strictbadge when the bash allow-list is active (Windows no-sandbox default). bash-guard(deny-list) stays always-on; the allow-list only tightens bash when enabled.
Published to npm with SLSA provenance.
MiniCode v0.14.5
What's new in 0.14.5
Automatic context window (no more 32k fallback surprise)
- Built-in offline model catalog resolves a real context window per model family: DeepSeek v4 = 1M, GPT-5 = 400k, GPT-4.1 = 1M, Claude = 200k, Gemini = 2M, and more.
- \minicode pricing sync\ now also collects \context_length\ from models.dev, covering 3k+ long-tail models.
Graceful full-context handling (like OpenCode)
- When a request nears the window, minicode compacts (summarizes old turns) and retries instead of hard-failing with \Context window exceeded. Bounded, so a no-op compaction still terminates cleanly.
- Context cutoff diagnostics (calibration factor, local estimate, message count) make premature cutoffs vs genuine growth distinguishable.
Published to npm with SLSA provenance.
MiniCode v0.14.4
What's new in 0.14.4 (includes 0.14.3)
Clean TUI transcript & model output
- Slash command input, provider/model/session popup choices, and routine UI toggle confirmations no longer leave historical rows behind.
- Model answers trim empty edge lines and collapse repeated blank lines outside fenced code.
Work mode & permission mode clarity
- Footer shows \Work Mode: Build|Plan|Discuss\ (left) and \Permission Mode: Auto|Ask\ (right, near context usage), with distinct colors.
- Defaults: WorkMode Discuss, PermissionMode Auto; exactly 3 work modes and 2 permission modes.
- Cleaner, more minimal command/picker/manager windows.
Runtime resilience
- Deadline timeout starts per prompt (idle interactive sessions stay responsive).
- Provider timeout + bounded retry/backoff; invalid rate-limit / Retry-After values no longer cause hot-wait loops.
Release engineering
- MiniCore context seams are now carried as a measured host overlay (vendor = pinned upstream + additive patch), fixing the CI vendor-integrity gate.
- Locked *.patch\ to LF so the overlay fingerprint is stable across OSes.
Published to npm with SLSA provenance.
MiniCode v0.14.2
Highlights
- Hardened grep subprocess execution by resolving a trusted executable, disabling repository Git configuration, and removing behavior-changing configuration variables.
- Corrected provider usage snapshots for long conversations and handled MCP child
EPIPEfailures as controlled request errors. - Checkpoint Git failures now report that undo/redo coverage is incomplete instead of silently using a limited snapshot.
- Workspace completion verification now fails closed for missing, uninspectable, non-regular, or oversized modified files, and retains unresolved conflict-marker checks.
- Pinned Bun 1.4.3 in CI and publish workflows for reproducible coverage results; added cross-platform coverage for Windows
PATHEXTresolution. - Reduced the npm tarball to about 3.8 MiB unpacked (3,794 KiB in CI).
Known limitations
- Checkpoint snapshots in large repositories may still be slow or fail; this remains an open P2 risk.
- MiniChat is only an evaluation fixture. This release does not claim that the full-system audit is complete.
MiniCode v0.14.1
MiniCode v0.14.1 ships the Mode Architecture Migration, separating three previously conflated responsibilities into a clean, enforceable model.
WorkMode — how the agent operates
DISCUSS— read-only investigation and discussion.PLAN— analysis, planning, and task decomposition.BUILD— implementation and autonomous execution (product name for the internalEXECUTEidentity).
PermissionMode — whether human approval is required
AUTO— full autonomous execution. Authorized capabilities (includinggit_commit,delegate_task, and configured MCP tools) run end-to-end without routine approval interruptions.ask_useris blocked deterministically in AUTO.ASK— human-supervised execution; applicable actions prompt for approval.
Tool Access Policy — what is available
Capability sets, bash allowlist, gated class, and MCP authorization are consolidated on a single tool-contract registry (src/policy/tool-contract.ts) — no second engine and no duplicated tool-name lists.
Hard-security boundaries retained (non-overridable)
Path jail, sensitive-file and owned-state protection, bash-guard, approval-binding target verification, and the scheduler's injected AutonomousPermissionHandler all remain enforced across every mode.
TUI & footer
Tabcycles WorkMode (DISCUSS → PLAN → BUILD).Shift+Tabtoggles PermissionMode (AUTO ↔ ASK).- Footer always shows both layers (
BUILD · AUTO);/modeis approval-only,/work-modeis operating-mode-only.
CLI compatibility & persistence
--work-mode DISCUSS|PLAN|BUILD(BUILDnormalizes toEXECUTEinternally).--planis deprecated and now maps toWorkMode PLAN.--allow-all/--allowlistremain as deprecated access profiles with explicit notices.BUILD/EXECUTEpersistence is unchanged;--plannow persists as WorkMode PLAN across--resume.
Known limitations
git_commit all:truecan still stage unrelated tracked workspace changes; task-scope precision is via explicitpaths+ path jail, not a diff-scope tracker.- Legacy
--allow-all/--allowliststill flow through thepermissionModestring; a separateToolAccessProfiletype is deferred. - The resume stderr notice still spells the internal identity
EXECUTE(footer//status/help useBUILD).
Full test suite: 5462 pass · 19 skip · 0 fail (5481 tests across 372 files).