Skip to content

Releases: perara/klipp

Klipp 0.6.1

Choose a tag to compare

@github-actions github-actions released this 02 Oct 15:57

Fixed

  • klipp/canvas's types accept real MapLibre maps and three.js raycasters in projects that
    compile with exactOptionalPropertyTypes. The example app compiles that way now, so it stays
    so.

Install

# npm 12 and later: allow URL dependencies for this project first
npm config set allow-remote root --location=project
npm install -D https://github.com/perara/klipp/releases/download/v0.6.1/klipp-0.6.1.tgz

Klipp 0.6.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 15:23

Added

  • Pointing at what a canvas draws. klipp/canvas has registerCanvas and adapters for
    MapLibre GL (maplibreTargets: the topmost rendered feature, by layer and id, property values
    only when named in reveal) and three.js (threeTargets: the nearest visible object, by its
    name down the scene graph, instanced meshes by instance). The chat, the agent's context, the
    ticket and links all name the feature or object; an ID names it with @key. A canvas can
    carry several adapters, asked newest first, such as a three.js layer drawn over a MapLibre
    map, whose hand-set camera the three.js adapter aims through.
  • react-three-fiber objects (<mesh>, <group> and the like) carry where they are written, as
    userData.klipp, so pointing at a 3D object leads to its JSX.
  • Web components: Klipp points into open shadow roots, an ID steps into one with s, and the
    app's own JSX rendered into a shadow root keeps its ID and is found by links.
  • The example app has a page with a MapLibre map, a react-three-fiber scene and web components.

Fixed

  • A message typed while Klipp was still finishing its answer was dropped; it is now shown at
    once and sent as soon as the answer is done.
  • In files that use react-three-fiber, DOM elements (<div>, <button>, custom elements)
    weren't stamped; only three.js tags are left alone now.
  • Backslash-escaped text in Klipp's replies shows without the backslashes.

Install

# npm 12 and later: allow URL dependencies for this project first
npm config set allow-remote root --location=project
npm install -D https://github.com/perara/klipp/releases/download/v0.6.0/klipp-0.6.0.tgz

Klipp 0.5.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 04:16

Security

  • The chat answers only a browser on this machine at localhost. A page that rebinds its own
    name to 127.0.0.1, a tunnel and a reverse proxy were let in before, since they connect from
    loopback; now the address the request was sent to, and any forwarding headers, count too.
  • chat.allowRemote now pairs each device once, with a code the dev server prints, instead of
    letting anyone on the network in.
  • Codex is confined to the repository: a permission profile lets it read only the repository,
    the system files programs need and its own install, and the commands it runs get only a core
    environment. It could read the whole disk before.
  • Agents no longer get the dev server's whole environment, only what they need to start and log
    in. chat.passEnv passes more by name.
  • Claude is also denied .envrc, .dev.vars, Terraform variables and state, keystores,
    .pypirc, .netrc, .pgpass, credentials*.json and .git/config.
  • The server files only a ticket the agent proposed in the conversation, once, while it waits on
    the user; the browser adds only the page details. Before, it filed any title and body.
  • A GitHub token goes only to its own host: github.com tokens to github.com, Enterprise tokens
    to their host, nothing to GitLab or other remotes. Filed issue addresses must be https.
  • Console errors are sent by name and message; objects logged with them are no longer
    serialized into the agent's context.
  • The page context is escaped so it can't close its own tag, and the agent is told to treat it
    as data.
  • Claude's MCP token moved from the command line to a file only you can read.
  • A crafted ?klipp= link can no longer put a link in Klipp's bubble.

Added

  • chat.allowRemote pairing, chat.pairingCode for a fixed code, chat.passEnv and
    chat.maxRuns (four agent runs at once by default).
  • The ticket card shows the whole ticket and the page details that will be added, before
    anyone files it.
  • HTTP/2 (server.https) support: requests carry :authority instead of Host.
  • Files with decorators or import attributes (with and the older assert) are stamped; a
    file that can't be parsed is reported instead of silently skipped.
  • vite build --ssr with KLIPP=1 stamps the server bundle too, so hydrated markup keeps its
    IDs.

Changed

  • The Vite peer range is ^5.4.12 || ^6.0.9 || ^7 || ^8: the first releases of 5 and 6 that
    check the Host header.
  • Escape closes Klipp when focus is in Klipp; on the page, Escape is the page's again.
  • On Windows the chat says to run the dev server in WSL, instead of that it can't find the
    agent.
  • vite preview serves the chat only for a build made with Klipp.
  • The manifest no longer includes the absolute repository root.
  • git status for the manifest runs in the background, so a large repository doesn't stall the
    dev server.
  • Self-hosted remotes on a custom port keep the port in permalinks.

Fixed

  • A page-tool call that threw left the agent waiting for 30 minutes; it now gets an error.
  • A ticket card left over from a turn that ended no longer takes the user's next message.
  • A message sent while the previous one was still collecting its element's details could run
    alongside it.
  • Malformed lines from an agent, or malformed MCP requests, could crash the dev server.
  • The MCP bridge and running agents are stopped when the dev server closes or restarts.
  • More of Klipp's events stop at its own root: pointer and mouse moves, touch moves,
    composition, drag and drop.

Install

# npm 12 and later: allow URL dependencies for this project first
npm config set allow-remote root --location=project
npm install -D https://github.com/perara/klipp/releases/download/v0.5.0/klipp-0.5.0.tgz

Klipp 0.4.0

Choose a tag to compare

@perara perara released this 02 Oct 02:24

Klipp turns what testers notice into actionable tickets: bugs, feature requests, suggestions and questions, each with what its type needs. Install with:

npm install -D https://github.com/perara/klipp/releases/download/v0.4.0/klipp-0.4.0.tgz

Klipp 0.3.1

Choose a tag to compare

@perara perara released this 02 Oct 01:43

File references from the agent read as path:line. Install with:

npm install -D https://github.com/perara/klipp/releases/download/v0.3.1/klipp-0.3.1.tgz

Klipp 0.3.0

Choose a tag to compare

@perara perara released this 02 Oct 01:40

Klipp's brain is now your own Claude Code or Codex, run in the background by the dev server with your login. No API keys. Install with:

npm install -D https://github.com/perara/klipp/releases/download/v0.3.0/klipp-0.3.0.tgz

Klipp 0.2.2

Choose a tag to compare

@perara perara released this 01 Oct 23:15

Klipp's key, pointer and focus events no longer reach the page's own listeners. Install with:

npm install -D https://github.com/perara/klipp/releases/download/v0.2.2/klipp-0.2.2.tgz

Klipp 0.2.1

Choose a tag to compare

@perara perara released this 01 Oct 23:09

No install scripts in the package. Install with:

npm install -D https://github.com/perara/klipp/releases/download/v0.2.1/klipp-0.2.1.tgz

Klipp 0.2.0

Choose a tag to compare

@perara perara released this 01 Oct 23:08

An animated paperclip you chat with. Install with:

npm install -D https://github.com/perara/klipp/releases/download/v0.2.0/klipp-0.2.0.tgz

See the README for setup (ANTHROPIC_API_KEY for the dev server, gh auth login for filing issues).