• v1.0.1 60e1ffa32c

    evileko released this 2026-08-20 05:37:39 -04:00 | 204 commits to main since this release

    evilcode v1.0.1 — hardening and reliability

    This is a focused patch release for the stable 1.0 line. It keeps the core evilcode workflow intact while making persistence, self-updates, and safety boundaries more dependable.

    What changed

    Safer updates and installation

    • Release metadata and binary downloads are bounded, require the canonical HTTPS Forgejo host, and validate redirects before following them.
    • Update downloads are checked before installation, including ELF validation, and are synced, permissioned, and atomically swapped into place so an interrupted update cannot leave a half-written executable.
    • The installer is safer around paths, symlinks, temporary files, and reset/remove operations, with clearer Linux and architecture messages.

    More durable sessions and state

    • Compaction now replays the canonical session state correctly, including safe UTF-8 handling when content must be shortened.
    • Session appends and clean-exit markers are serialized and written atomically, reducing the chance of corrupted or misleading resume state.
    • Configuration, memory, and todo results are defensively copied so callers cannot accidentally mutate persisted state through shared slices or maps.
    • Todo state loading now enforces size, score, dependency, rollback, and cycle-safety checks.

    Safer provider and tool boundaries

    • Provider responses, prompt input, stdin, and background-task waits have explicit limits and cancellation behavior.
    • URL, date, integer, and JSON parsing is stricter at tool boundaries, including rejection of trailing JSON values.
    • Confined and atomic filesystem writes use safer temporary names and preserve clear distinctions between existing and newly created files.
    • Skill discovery, search requests, LSP operations, and image rendering handle invalid or oversized inputs more safely.

    TUI and operational polish

    • Interrupts, model/provider overrides, reasoning preferences, session titles, productivity images, and reconnect-related notices behave more predictably.
    • Probe coverage and terminal goldens were refreshed alongside the fixes, so visual regressions are easier to catch.
    • Completion metadata now tracks the current command surface, including session and daemon-related options.

    Install or update

    Fresh install:

    curl -fsSL https://evileko.dev/evilcode | sh
    

    Existing installations can update in place:

    evilcode update
    

    Source builds require Go 1.26 or newer. This release publishes the Linux/amd64 binary evilcode-linux-amd64.

    Verification

    • go test ./...
    • go test -race ./...
    • go test -tags probe ./probe/...
    • go vet ./...

    SHA-256 for evilcode-linux-amd64:

    c6f69bbda66751754af1857c6b6258f6d711b9c10fd396f9be3873aa1eea5279
    

    See the full v1.0.0…v1.0.1 comparison.

    GPL-3.0. Linux only. Built with the Charm stack.

    Downloads