Skip to content

Releases: aka-kika/reshelf

reshelf 1.10.0

Choose a tag to compare

@aka-kika aka-kika released this 01 Aug 14:36

Added

  • GitHub token in Settings → Capture. Without a token GitHub allows about 60 API requests per hour per IP, so bulk imports and busy capture sessions could hit "rate limit reached". Paste a personal access token (a fine-grained, read-only one is enough) and the limit rises to 5,000/hour — and Quick Capture can see your own private repos. The token lives in the macOS Keychain and is sent only to the GitHub API; a Test button confirms it works, and the rate-limit error now points at the setting when no token is saved.

Install: download reshelf-1.10.0.dmg, open it, drag reshelf to Applications.
Existing installs update in place via reshelf → Check for Updates… (Sparkle).

reshelf 1.9.1

Choose a tag to compare

@aka-kika aka-kika released this 28 Jul 15:01

Fixed — Quick Capture from ⌘K could close without opening

Paste a GitHub URL into the command palette, press Enter, and the palette would dismiss while the capture sheet never appeared. Afterwards capture wouldn't open again until you relaunched.

The cause was the wedge-recovery watchdog from 1.3.3. After asking for a sheet it waited 1.2 seconds and, if no sheet was on screen at that instant, declared the app wedged and cleared every sheet binding — including the request it had just made. Capture from the palette is the slow path: up to 600 ms waiting for the autofill popup to detach, and then a second sheet can't appear until the palette finishes dismissing. A perfectly healthy presentation could cross 1.2 seconds and be cancelled by its own watchdog.

A real wedge is permanent; a slow presentation is not. The watchdog now polls instead of sampling once — any check that sees a sheet stands down, and only a sheet that never arrives is treated as a wedge. A check also stands down if a newer request has been made since, so it can't cancel someone else's sheet.

No schema change in this release.

reshelf 1.9.0

Choose a tag to compare

@aka-kika aka-kika released this 28 Jul 00:44

Folders for the shelf

A folder is a grouping you make — "everything I cloned for project X". Separate from categories (a fixed taxonomy describing what a repo is) and from shelves (how much you value it), because a project's worth of repos spans all three shelves and a dozen categories.

Right-click a project → Add to Folder ▸, or New Folder…. Folders get their own sidebar section between Library and Categories, shown only once you have one; each row carries a folder icon and a live count and filters the list like a category row. Rename and delete from the row's context menu.

Deleting a folder only ungroups its projects. They keep their shelf, their clone, their notes, everything — and the confirmation says so. A project belongs to at most one folder, and any project qualifies whether or not it's cloned: uncloning shouldn't eject a repo from the group that exists to make the cleanup possible.

Folders travel with the catalog — in JSON exports and automatic backups — so moving a catalog between Macs no longer drops the grouping. On import they're matched by name, case-insensitively, so two Macs that each made a "Photos app" converge on one folder instead of two.

Batch actions

⌘-click to add rows to a selection, ⇧-click to extend a range. The footer then shows "N selected" with an Actions menu: move them all to a shelf, add them all to a folder, remove their local clones, or remove them from the catalog. Right-clicking inside the selection gives the same menu; right-clicking outside one still acts on that row alone.

Both destructive actions confirm with a count and say what survives — clones go to the Trash and stay in your catalog, catalog removals are backed up first and leave files on disk untouched.

Removed

The v2 Intelligence scaffolding is gone — 78 files. It had been unreachable since 1.7.0 retired the Labs toggle, so nothing you could use went with it.


⚠️ This adds a field and a model to the catalog store. Once you're on 1.9.0, don't open an older reshelf build — it can migrate the store backwards and drop them. If you run reshelf on two Macs, update both.

Signed & notarized, universal (Apple Silicon + Intel), macOS 14+. Full notes in CHANGELOG.md.

reshelf 1.9.0-beta.2 (beta)

Pre-release

Choose a tag to compare

@aka-kika aka-kika released this 28 Jul 00:03

Beta. Install by hand — deliberately not offered through in-app updates.

Same as 1.9.0-beta.1, with one change: folder rows in the sidebar are plain rows now, not a tree. Selecting a folder already shows exactly its members, so the disclosure triangle was listing the same names twice. The folder icon carries the signal on its own.

See 1.9.0-beta.1 for what folders and batch actions do.

⚠️ Adds a field and a model to the catalog store — after installing, don't open an older reshelf build, it can migrate the store backwards and drop them. In-app Check for Updates will offer to move you back down to 1.8.0; the feed only knows stable releases, so decline it while testing.

reshelf 1.9.0-beta.1 (beta)

Pre-release

Choose a tag to compare

@aka-kika aka-kika released this 27 Jul 23:56

Beta. Install by hand — this is deliberately not offered through in-app updates, so nothing auto-updates to it.

Folders for the shelf

A folder is a grouping you make — "everything I cloned for project X" — separate from the fixed categories and from shelf status. Right-click a project → Add to Folder, or New Folder…. Folders appear as their own sidebar section (only once you have one), each row filtering the list and expanding to show what's inside. Deleting a folder only ungroups its projects: they keep their shelf, their clone and their notes.

Folders travel with the catalog, in exports and in automatic backups. Import matches folders by name, case-insensitively, so both Macs converge on one "Photos app" rather than two.

Batch actions

⌘-click to add rows to a selection, ⇧-click to extend. Then Actions in the footer (or right-click inside the selection): move them all to a shelf, add them all to a folder, remove their local clones, or remove them from the catalog. Both destructive actions confirm with a count.

Labs removed

The v2 Intelligence scaffolding is gone — 78 files. Nothing you were using went with it.


⚠️ This adds a field and a model to the catalog store. After installing this, don't open an older reshelf build: it can migrate the store backwards and drop them. Back up ~/reshelf/catalog.store first.

Because the update feed only knows about stable releases, in-app Check for Updates will offer to move you back down to 1.8.0. Expected — decline it while testing.

reshelf 1.8.0

Choose a tag to compare

@aka-kika aka-kika released this 27 Jul 22:36

Backups now catch the edits they were missing

If you changed something without adding or removing a project — a note, a fit score, a shelf — that edit could go unrecorded. Two things were wrong at once:

  • The "has anything changed?" check compared file sizes. Swapping one value for another of the same length left the file exactly as long, so a real change looked identical and nothing was written.
  • Nothing reliably ran on quit, so an edit made in a session that didn't change the project count could be missed entirely.

Both fixed. The check now compares actual content, and a snapshot is written as the app quits.

A fresh install starts with repos worth having

The nine-repo starter set is now jade, Seedling, kika-obsidian-mcp, ollama, Handy, zed, excalidraw, lazygit and immich — instead of eight internal-tools platforms that read like someone else's bookmarks.

Your existing shelf is untouched. The starter set only ever appears when there's nothing to show.

(immich is AGPL on purpose, so the copyleft caution introduces itself on day one rather than surprising you later.)

Also

Removed the last of the cloud-AI plumbing left over from 1.7.0. Nothing to see — it was already unreachable.


Download: reshelf-1.8.0.dmg below — signed & notarized, universal (Apple Silicon + Intel), macOS 14+. Already on 1.5.0 or later? reshelf will offer this to you itself.

Full notes: CHANGELOG.md

reshelf 1.7.0

Choose a tag to compare

@aka-kika aka-kika released this 27 Jul 21:51

Settings you can actually read, and one less decision to make

Settings had grown into a single long scroll with five unrelated things stacked in it. It's now four short tabs, and the window opens large enough that the fullest one fits without scrolling:

  • General — Appearance, Licenses, and the Agent Skill installer
  • Capture — Capture Assist
  • Library — where repos get cloned, and how the inspector is laid out
  • About — unchanged

There's no AI provider to pick any more

reshelf generates on-device. Full stop. The AI Providers settings are gone.

In practice this changes nothing about what you were getting: Capture Assist always called on-device Apple Intelligence directly and never consulted that setting. The picker was offering a choice it didn't actually make. Now the code matches the promise — Quick Capture's Generate button is pinned to on-device too, so the option is genuinely gone rather than hidden.

You can see the update date now

1.6.0 added a Recently Updated sort but never showed you the date it was sorting by. The inspector now has an Updated row under Added. Entries whose date isn't known yet just don't show the row — a blank one would read as "never updated", which would be a lie.


Download: reshelf-1.7.0.dmg below — signed & notarized, universal (Apple Silicon + Intel), macOS 14+. Already on 1.5.0 or later? reshelf will offer this to you itself.

Full notes: CHANGELOG.md

reshelf 1.6.0

Choose a tag to compare

@aka-kika aka-kika released this 27 Jul 20:30

Sort by what's actually still alive

Your shelf knows when you saved something. Now it knows when the project last moved.

Recently Updated is a new sort order: repos that changed upstream recently float to the top, abandoned ones sink. It's the difference between "what did I collect lately" and "what's still worth my time."

  • One click fills it in for everything you've already cloned. Settings ▸ General ▸ Fill "Last Updated" from Clones reads each clone's last commit straight off your disk — offline, instant, no GitHub rate limit. On a 231-clone shelf it finishes in seconds.
  • Repos you haven't cloned fill in the next time their details are fetched. Until then they sort to the bottom rather than pretending to be ancient.
  • New captures pick the date up automatically.
  • The date rides along in your exported catalog JSON, so it survives the trip to another Mac.

Fixed

The top of the sidebar isn't blurry any more. macOS 26 already tried to paint a frosted band over the first rows and reshelf pushed back; macOS 27 started drawing a second one from a different place and it slipped past. Both are handled now — "All Projects" and the rows under it stay sharp.


⚠️ One thing before you update: this release adds a field to the catalog, which migrates the store. Afterwards, don't open an older reshelf build — it can migrate the store backwards and silently drop the new column. If you run reshelf on more than one Mac, update them both.

Download: reshelf-1.6.0.dmg below — signed & notarized, universal (Apple Silicon + Intel), macOS 14+. Already on 1.5.0 or later? reshelf will offer this to you itself.

Full notes: CHANGELOG.md

reshelf 1.5.1

Choose a tag to compare

@aka-kika aka-kika released this 27 Jul 19:37

Housekeeping release — it exists to prove the in-app update path works end to end, by being something for 1.5.0 to update to.

reshelf 1.5.0

Choose a tag to compare

@aka-kika aka-kika released this 27 Jul 19:30

reshelf updates itself now

New versions arrive in the app instead of as a DMG you download and drag. reshelf checks once a day in the background, shows you what changed, and installs only when you say so — nothing happens behind your back.

  • Check for Updates… in the reshelf menu, for when you're impatient
  • A switch in Settings ▸ About to turn automatic checking off
  • Update checks send nothing about your machine

One catch, once: 1.4.0 has no updater in it, so 1.5.0 is the last version you install by hand.

Also in this release: exports carry your "Why I Saved This" notes, and catalog import (from 1.4.0) means a shelf can move between Macs.

Download: reshelf-1.5.0.dmg below — signed & notarized, universal (Apple Silicon + Intel), macOS 14+. Drag to Applications.

Full notes: CHANGELOG.md