Skip to content

v0.1.4

Choose a tag to compare

@fangshili fangshili released this 18 Aug 14:34
· 14 commits to main since this release
9ed4299

Liang v0.1.4 Release Notes

This release is a focused set of correctness and reliability fixes, based on a full code review of the event pipeline and setup flow. No new features.

Fixes

  • Fixed silently dropped events when hooks fire in quick succession

    • When Cursor emitted multiple hook events close together (e.g. stop + sessionEnd, or sessionStart + beforeSubmitPrompt), only the last event was processed and everything in between was dropped.
    • The adapter now publishes events incrementally and the state engine processes each one in order, so no intermediate state is lost.
  • Fixed unbounded memory growth from the event buffer

    • The adapter previously accumulated every received event in an ever-growing array that was never trimmed. Events are now streamed one at a time instead of buffered.
  • Fixed auto-install / uninstall overwriting your existing Cursor hooks

    • Installing or uninstalling the bridge used to replace or delete the entire ~/.cursor/hooks.json, wiping any hooks you had configured for other tools.
    • Installation now merges Liang's entries into the existing file, and uninstall removes only Liang's entries, leaving everything else intact.
  • Fixed a race condition that could permanently lose events

    • The file-watcher and the periodic health check could read the same file concurrently, occasionally corrupting a line so its event was lost forever. All reads are now serialized on a single queue.
  • Fixed task status leaking across parallel conversations

    • When one conversation finished while another was still running, the "finishing" transition could mark every in-progress task as finished. Task-state propagation is now scoped to the conversation that triggered the transition.
  • Fixed cross-conversation event de-duplication dropping legitimate events

    • The de-duplication signature omitted the conversation and generation IDs, so two distinct events within the window could be treated as duplicates. The signature now includes both IDs.
  • Fixed two settings silently resetting after restart

    • "Cursor status label" and "Notch expansion panel" were saved but never restored on launch, so they always reverted to their defaults. They are now restored correctly.
  • Fixed the bridge script passing the full payload via command-line arguments

    • The payload (which can include large tool input) was passed to Python as an argv argument, risking ARG_MAX failures on large files and briefly exposing the payload in ps. It now flows over stdin.
  • Fixed the adapter starting even when hooks were disabled at launch

    • When Cursor hooks were already disabled, the adapter still started and reported itself connected. It now honors the disabled state consistently, matching the runtime behavior.

System Requirements

  • macOS 14.0 or later
  • Apple Silicon (arm64)

Checksums

  • Liang-0.1.4.dmg: 2,833,142 bytes
  • SHA-256: 4d258ccb6a8fb1bc7592438eb1d7477929b18d154405589d3f1c2c4053769ba3