• v1.1.1 3f4b850336

    evileko released this 2026-08-21 17:30:15 -04:00 | 181 commits to main since this release

    evilcode v1.1.1 — clickable shell commands, smoother start page, safer sessions

    This patch release keeps v1.1.0's persistent daemon/client model and tightens the
    places that matter during everyday terminal work: copying commands, typing into the
    start page, and recovering sessions across daemon restarts.

    Highlights

    Click-to-copy shell commands

    • Click a bash or fish code block to copy its pasteable command to the clipboard.
    • Inline comments are removed only when they are shell comments (quoted hashes and
      escaped hashes stay intact); comment-only lines, trailing whitespace, and trailing
      blank lines are left out of the copied text.
    • Actionable text — including read, write, edit, multiedit, and bash tool
      rows, reasoning traces, and shell commands — gets a jagged underline while hovered.
      The hover state remains visible while the pointer is still, and shell fences only
      underline the exact command prefix that will be copied.
    • Clipboard writes use the native wl-copy, xclip, or xsel helper asynchronously
      with a timeout, so an unavailable clipboard cannot freeze the TUI.

    A calmer, faster start page

    • Typing a new prompt no longer makes the green resume highlight flash back in or
      compete with the composer. Roster polling pauses while the composer has text, and
      the start-page preview is cached without making wrapped input lag.
    • The old greeting is replaced by a centered four-line figlet -f small evilcode
      wordmark in mauve, crossed by a faster, smoother animated white wave.
    • The wordmark, preview, and session row stay aligned across terminal widths, with
      updated probe goldens for the new layout.

    Sessions shut down cleanly

    • A detached session with no open window and no active turn is kept hydrated for ten
      minutes. After that, evilcode writes a clean exit, consolidates memory, unloads the
      live runtime, and leaves the durable transcript ready for a later resume.
    • Daemon shutdown now distinguishes an idle or between-turn session from a session
      that was actively making a turn: only the latter remains crash-detectable on resume.
    • Session teardown and in-flight builds are bounded so a stuck local filesystem cannot
      wedge daemon shutdown.

    Reliability and polish

    • Partial streamed answers survive provider errors and interrupts instead of vanishing
      from the durable conversation.
    • A timeout owned by one tool is no longer mistaken for a user interruption of the
      whole turn.
    • Daemon session builds use isolated configuration snapshots, Codex tool calls with
      missing IDs are handled safely, and deterministic replays no longer risk deleting an
      existing conversation log.
    • The composer now keeps a visible caret, and the TUI avoids rebuilding settled
      transcript/start-page work on every keystroke.

    Documentation

    The README was rewritten to be more direct about what evilcode is, how its daemon and
    sessions work, what is optional, and how to contribute. It also calls out the project's
    AI-assisted origin and its intentionally opinionated, still-evolving shape.

    Install or update

    Fresh install:

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

    Existing installations can update in place:

    evilcode update
    

    This release publishes the Linux/amd64 binary evilcode-linux-amd64.

    Verification

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

    SHA-256 for evilcode-linux-amd64:

    065beb30e0299e750d7d6e0772ccb7f9f1e5c4c55885574061a79fa85086ba97
    
    Downloads