Skip to content

Releases: stephengpope/shockwave

1.0.5

03 Jun 05:03

Choose a tag to compare

v1.0.5

Release v1.0.5

1.0.4

02 Jun 14:43

Choose a tag to compare

v1.0.4

Fix Windows build: remove npm's recursive cli-tools self-link before …

1.0.2

01 Jun 05:47

Choose a tag to compare

Release v1.0.2 — list/todo Enter fixes; wiki-link cursor-reveal

Markdown list Enter behavior had two distinct bugs that made bullets and todos
feel broken in note files with spacing:

1. Empty markers didn't collapse on the first Enter. markdown() defaults to
   addKeymap:true, injecting its own markdownKeymap at Prec.high — that
   high-prec copy pre-empted our ordered keymap, so taskEnterKeymap never ran
   (empty `- [ ]` never cleared) and bullets used the default tight->loose
   conversion (insert a blank line, collapse only on the 2nd Enter). Fix: pass
   addKeymap:false and own the binding via
   insertNewlineContinueMarkupCommand({ nonTightLists: false }), bound after
   taskEnterKeymap so tasks win on `- [ ]` lines.

2. Continuing a bullet inside a "loose" list (items separated by blank lines)
   re-inserted a blank line every Enter — self-perpetuating, since one blank
   makes the list loose. CM's nonTightList branch isn't reachable by config.
   New listContinueKeymap continues a non-empty bullet/ordered item tightly
   (copies its own indent + marker, no blank line); empty items still fall
   through to collapse. Tasks were already tight via taskEnterKeymap.

Also: taskEnterKeymap now handles Enter mid-text in a todo — splitting carries
the after-cursor text onto a new `- [ ] ` line instead of dropping the checkbox.

wikiLinks: reveal raw [[name]] when the cursor/selection touches the link, so
it can be edited (same convention as markdownLinks).

Verified via CDP against real keypresses: plain/star bullets, nested, ordered,
tasks, loose lists, mid-text split — all collapse/continue correctly.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

1.0.1

31 May 06:48

Choose a tag to compare

Release v1.0.1 + fix sync clobbering typed edits

The useLinkIndex.updateFile wrapper was dropping its third argument (mtime),
so writeNow's call resolved to mtimes.set(path, undefined) and fell through
to a Date.now() fallback in linkIndex.updateFile. Date.now() is integer ms;
fs.stat.mtimeMs has fractional precision. The watcher's stat then read a
mtime > the stored integer, isFresh fired, and the editor was reloaded from
disk mid-typing — losing the last keystrokes and jumping the cursor.

Fix the wrapper to forward mtime, and remove the misleading Date.now()
fallback in linkIndex so a missing mtime no longer silently corrupts the
self-echo guard. updateFile now preserves existing mtime if called without
one (used by the rename-echo path, where renameFile already carried the
mtime over). renameOps captures the mtime returned from writeFile so the
reference-rewrite path threads the real value through.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

1.0.0

28 May 23:21

Choose a tag to compare

Rewrite README around AI agent + free sync; stable release filenames

- README: lead with the two selling features (integrated AI agent, free
  GitHub sync), add an Install section with permanent latest/download
  links and concise unsigned-build workarounds per OS.
- package.json: version-less artifactName per platform so the
  releases/latest/download/<file> links never need editing each release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>