Skip to content

Releases: midagedev/gadak

gadak v0.12.0

Choose a tag to compare

@github-actions github-actions released this 13 Aug 11:02

Changelog

Features

  • 324d6ca feat: v0.12 paper identity, retire TUI, live labels/priority/title

Other

  • eed711e refactor: rename the product from scry to gadak

Install / upgrade

brew install midagedev/tap/gadak     # first install
brew upgrade midagedev/tap/gadak     # upgrade
# or
curl -fsSL https://raw.githubusercontent.com/midagedev/gadak/main/scripts/install.sh | sh

Or download the archive for your OS/arch from this release, unpack it, and run:

./gadak init && ./gadak serve --sync

The web UI is embedded — the binary is the whole install. See the README for Docker and source builds. Running installs notice new releases on their own (daily anonymous check, updateCheck: false to opt out — see SECURITY.md).

scry v0.11.0

Choose a tag to compare

@github-actions github-actions released this 12 Aug 10:03

The browser comes inside — and the app updates itself

Two headlines in this release.

The in-app browser pane. Opening the original of a Jira issue or a
Confluence page no longer leaves the app: the page renders in a tabbed pane
right beside your mirror — Atlassian's live editor included — and closing a
tab (or just coming back to Scry) resyncs exactly that one item, so the copy
you land on is already fresh. Tabs survive stepping away; a pill brings them
back.

The app updates itself. The desktop app now checks GitHub Releases
quietly on launch and installs the next version when you say so — Tools →
Check for Updates… asks by hand, "updateCheck": false in config.json
silences it entirely. v0.11.0 is the first release it can update from, so
this is the last one you install by hand.

Also here: the desktop runtime moved to Wails v3; external (non-Atlassian)
links open the system browser again; Confluence breadcrumbs stop repeating
the space name (space homepage ids are now mirrored, schema v17); breakdown
chips jump to their section, and epic group headers open the epic itself.

Changelog

Features

  • 77b6304 feat(confluence): sync space homepage ids; breadcrumbs drop them by identity
  • f4fb20e feat(desktop): embedded browser pane replaces browse tab windows
  • 8709361 feat(desktop): in-app browser tabs with single-item resync
  • e28fa29 feat(desktop): wails v3, and the app updates itself
  • 2a184e3 feat(web): breakdown chips jump to their section; epic headers open the epic
  • 4770726 feat(web): the browser pane — tabs, toolbar, and the rectangle

Fixes

  • f596845 fix(desktop): embedded pages identify as the Safari they are
  • e14d09c fix(desktop): external links open the system browser again
  • ef4c262 fix(web): drop the space-homepage duplicate from the doc breadcrumb

Other

  • b5d3ec2 refactor(atlhttp): one Atlassian transport, two clients
  • 8821942 refactor(cmd): cmdServe becomes a sequence of testable steps
  • cb3d8a1 refactor(settings): one draft object, seven tab components
  • fa4f0ec refactor(store): context flows through every DB method
  • bd9a86e refactor(stores): watches, push, and favorites leave the me store
  • 0d40afd refactor(sync): one run skeleton for both connectors, usage flushed for both
  • e74f1b3 refactor(tui): one listPane for issues, docs, and feed cursors
  • 52fc803 refactor(web): fold repeated markup and window listeners into shared pieces
  • b1ca2e6 refactor(web): shared rune factories for search, resources, and casts
  • 817cf55 refactor(web): the right panel is one value; URL sync is one protocol
  • 0a5778e refactor: seven small idiom gaps — sentinel errors, DI, one command registry
  • abecdee test(cmd): make the install-dir default test hermetic

Install / upgrade

brew install midagedev/tap/scry     # first install
brew upgrade midagedev/tap/scry     # upgrade
# or
curl -fsSL https://raw.githubusercontent.com/midagedev/scry/main/scripts/install.sh | sh

Or download the archive for your OS/arch from this release, unpack it, and run:

./scry init && ./scry serve --sync

The web UI is embedded — the binary is the whole install. See the README for Docker and source builds. Running installs notice new releases on their own (daily anonymous check, updateCheck: false to opt out — see SECURITY.md).

scry v0.10.0

Choose a tag to compare

@github-actions github-actions released this 07 Aug 12:35

Changelog

Features

  • 1096106 feat(cli): make profiles an inventory, not a list of names
  • 993654e feat(cli): scry api — the escape hatch for what the mirror does not model
  • 1d7e258 feat(cli): scry doctor — the report a stranger can actually paste
  • 4f4afd8 feat(cli): scry install-cli, so nobody types the bundle path by hand
  • f2b8d94 feat(cli): scry skill install — the other way to hand an agent the mirror
  • 9503fb1 feat(desktop): Tools → Install Command Line Tool, because the app can just do it
  • ce4024e feat(desktop): drop the native title bar
  • bf7d5d5 feat(onboarding): setup ends at connected, not at synced
  • b897e61 feat(sources): Confluence can be turned on from the product
  • a41e9fd feat(store): text-derived page↔issue cross-references (item_refs, v16)
  • b218fd4 feat(sync): report what the mirror is fetching, and how much, from every pass
  • 1948487 feat(tui): v0.10 document-wave parity — author filter, match highlight, tree counts, cross-refs
  • d8c856f feat(ui): document screens carry their own weight — deep links, labels, evidence
  • 6299697 feat(ui): search reaches every screen — palette matches documents, / follows you
  • a6af702 feat(ui): the seam between the sources, drawn — cross-references on both panels, and a reading line
  • 340950b feat(workspaces): mount them in the app, and sync what you can switch to

Fixes

  • 3995488 fix(desktop): drop the accent mark from the title-bar row
  • b9c5728 fix(desktop): the bundled CLI carries the release's version
  • 4648e33 fix(docs): window the document lists
  • d71db74 fix(sidebar): an empty DOCS section says which of five things is wrong
  • 0c46706 fix(snapshot): shared mirrors keep their documents
  • e9e9c10 fix(sources): choosing a space saves it, instead of being discarded
  • 9d3e60c fix(sync): a settings change reaches the running loop, instead of waiting for a restart
  • 6f39ab5 fix(ui): one sentence for the mirror, wherever you are looking at it

Other

  • e060a40 docs(agents): playwright reuses a running fixture server, so it does not always rebuild
  • 295f3fd docs(agents): the E2E fixture serves the built UI, so rebuild before judging a screenshot
  • 5ba1aca docs(changelog): profiles inventory, and why there is no switch
  • f30ace0 docs(changelog): the document freeze and the gate that missed it
  • babc17e docs(readme): answer the install question in the first screen, move the manual out
  • b23b4a4 docs(readme): the promise the product actually keeps
  • f66efb1 style: gofmt drift in doctor_test.go (predates this wave)
  • 427c748 test(doctor): fixtures use the documented example host, not an invented tenant
  • f2b023f test(perf): give the perf fixture documents, and a budget over them

Install / upgrade

brew install midagedev/tap/scry     # first install
brew upgrade midagedev/tap/scry     # upgrade
# or
curl -fsSL https://raw.githubusercontent.com/midagedev/scry/main/scripts/install.sh | sh

Or download the archive for your OS/arch from this release, unpack it, and run:

./scry init && ./scry serve --sync

The web UI is embedded — the binary is the whole install. See the README for Docker and source builds. Running installs notice new releases on their own (daily anonymous check, updateCheck: false to opt out — see SECURITY.md).

scry v0.9.0

Choose a tag to compare

@github-actions github-actions released this 06 Aug 14:21

Changelog

Features

  • 36f68fa feat(api): a person's comments — the missing leg of the people axis
  • fc7ebc4 feat(brand): one orb everywhere — mark, wordmark, favicon, app icon
  • b7af1e6 feat(search): say why it matched — field and snippet on every hit
  • 6cea0da feat(store): pages.excerpt — a one-line body preview lands on PageLite (v15)
  • 2a0152d feat(tui): docs rows carry the excerpt line; search-hint parity stated honestly
  • e6eddfe feat(web): P0 foundation — the accent means something again
  • 4ad61f5 feat(web): P0-1 — one icon family, and red belongs to meaning
  • dff62d0 feat(web): activity doc lists carry one line of the body
  • 9b18a42 feat(web): search results say why — comment and body matches carry their line
  • c086f01 feat(web): the people axis — search a person, land on their work

Fixes

  • 9b81236 fix(demo): English bodies where the excerpt line now looks — CJK search keeps two anchors
  • 6b99170 fix(store): a space between ADF blocks — excerpts stop fusing headings into words

Other

  • e8f6f4b demo: comments and reporters spread across four personas
  • 6e3b431 style(web): detail panels — pinned headers, grouped comments, one spacing scale
  • 4219fa5 style(web): every control lands on a two-step grid
  • f5f96fb style(web): the sweep reaches the corners

Install / upgrade

brew install midagedev/tap/scry     # first install
brew upgrade midagedev/tap/scry     # upgrade
# or
curl -fsSL https://raw.githubusercontent.com/midagedev/scry/main/scripts/install.sh | sh

Or download the archive for your OS/arch from this release, unpack it, and run:

./scry init && ./scry serve --sync

The web UI is embedded — the binary is the whole install. See the README for Docker and source builds. Running installs notice new releases on their own (daily anonymous check, updateCheck: false to opt out — see SECURITY.md).

scry v0.8.0

Choose a tag to compare

@github-actions github-actions released this 06 Aug 09:08

Scry.app — the macOS desktop app

The headline of this release: the web UI in its own native window, with no
local server at all
— no port, no address, nothing new listening. First
launch walks through setup in the window, and the bundle carries the CLI
(Contents/Resources/bin/scry) so a desktop-only install can still wire up
an agent with scry mcp install claude.

Install: download Scry-0.8.0-arm64.dmg below (Apple Silicon), drag to
Applications. Signed and notarized — it opens without Gatekeeper warnings.
Details: docs/DESKTOP.md.

Also in this release: finishing first-run onboarding now starts the
background sync immediately (previously it waited for a restart).

Changelog

Features

  • f59c003 feat(desktop): Scry.app prototype — the web UI in a window, no port at all
  • f31ff5d feat(desktop): graduation — Edit menu, bundled CLI, signing, release job

Fixes

  • e362c59 fix(ci): secrets context is invalid in step-level if — gate via job env
  • d6c4400 fix(ci): the notary key secret is base64-encoded PEM — decode before notarytool
  • 53f2e5d fix(desktop): single-instance lock is per profile, not global
  • 41ab698 fix(serve): start the watch loop after in-app onboarding, not only at boot

Other

  • 67f4910 docs(roadmap): keep the plan, drop the campaign

Install / upgrade

brew install midagedev/tap/scry     # first install
brew upgrade midagedev/tap/scry     # upgrade
# or
curl -fsSL https://raw.githubusercontent.com/midagedev/scry/main/scripts/install.sh | sh

Or download the archive for your OS/arch from this release, unpack it, and run:

./scry init && ./scry serve --sync

The web UI is embedded — the binary is the whole install. See the README for Docker and source builds. Running installs notice new releases on their own (daily anonymous check, updateCheck: false to opt out — see SECURITY.md).

scry v0.7.0

Choose a tag to compare

@github-actions github-actions released this 06 Aug 08:10

Changelog

Features

  • e8602c3 feat(api): GET settings/spaces/ — Confluence space listing for the picker
  • 6f02089 feat(api): PUT settings/ persists confluence.spaces — the picker's save path
  • 64e8d8b feat(brand): wordmark, logo mark, and a favicon the app never had
  • 2a31a9e feat(cli): scry mcp install — registration that pins profile and binary
  • 90a166d feat(serve): natural port-conflict handling — hand off to a running scry, else fall back
  • ad32a69 feat(serve): open http://scry.localhost when the resolver maps it to loopback
  • 20b2f1b feat(store): mirror space names — v14 spaces table, PageLite.space_name
  • 75abc64 feat(tui): docs mode follows the web's recency-first views — Updated, By author, Spaces
  • 87f5e6e feat(tui): s aliases t for transition — key parity with the web triage flow
  • fb0ba05 feat(web): Epics built-in view — the epic breakdown one click from the sidebar
  • 4bbfebd feat(web): docs UX wave — space names, unified recents, scope pickers, Recently edited view
  • aa64bdb feat(web): docs navigation lands its final shape — tabbed views, no sidebar tree
  • c7edef3 feat(web): freshness chip + focus mirror pull — the server↔Jira leg made visible
  • 8d96e7c feat(web): keyboard triage — a sprint cleanup that never touches the mouse

Fixes

  • dc047cb fix(confluence): always quote space keys in CQL — digit-leading keys 400'd
  • aadd2a7 fix(confluence): survive a real site — team spaces by default, chunked CQL, tolerated 404s
  • a720655 fix(demo): English space-home bodies — the Korean Confluence template is gone
  • 5a290a9 fix(demo): the snapshot speaks English where the UI shows data
  • 5fdf972 fix(export-static): present as loopback to the browser guard
  • 0e4d587 fix(server): reject cross-origin writes and DNS-rebinding reads on the local API
  • 9fd680b fix(store,config): 0600 mirror database, 0700 data directories
  • 58434b7 fix(tui): register page-scroll keys in keyMap so help and docs stop lying by omission
  • aa92313 fix(web): durable cache bootstrap — chunked IDB writes, honest warm-boot metric
  • e0901e4 fix(web): settings interval selects rendered empty — selected moves to the option

Other

  • 07b2451 docs(media): hero clip walks the new docs UX — tabs, spaces, one-click Epics
  • 98ca903 docs(media): re-record hero GIF against the anglicized demo database
  • b99b6ab docs(security): document the browser guard and fix the loopback-refusal code anchor
  • 1906613 docs(spec): document the v14 spaces table
  • 8463eb2 test(perf): interaction budgets against a 10k-issue fixture

Install / upgrade

brew install midagedev/tap/scry     # first install
brew upgrade midagedev/tap/scry     # upgrade
# or
curl -fsSL https://raw.githubusercontent.com/midagedev/scry/main/scripts/install.sh | sh

Or download the archive for your OS/arch from this release, unpack it, and run:

./scry init && ./scry serve --sync

The web UI is embedded — the binary is the whole install. See the README for Docker and source builds. Running installs notice new releases on their own (daily anonymous check, updateCheck: false to opt out — see SECURITY.md).

scry v0.6.0

Choose a tag to compare

@github-actions github-actions released this 05 Aug 23:29

Changelog

Features

  • baa25c7 feat(api): read path for mirrored pages — unified search, pages/ endpoints
  • 9211bab feat(confluence): collect page labels — schema v13, PageLite exposure
  • 674c124 feat(demo): snapshot carries the Nimbus wiki — 71 pages beside 519 issues
  • a8298a5 feat(seed-demo): --docs mode seeds the Nimbus wiki into Confluence
  • d11262a feat(seed-demo): --epics mode — epic hierarchy for the demo backlog
  • c78366c feat(seed-demo): wiki labels — authored dataset labels, idempotent apply
  • 8bb224f feat(store): honest epic_key — nearest level-1 ancestor, not a parent alias
  • 1d7488c feat(sync): Confluence page mirror — second source on the items spine
  • 62eb131 feat(tui): docs navigator — D toggles a space-grouped page tree
  • 7659ca9 feat(web): epic hierarchy in the UI — group labels, row chips, breadcrumb, rollup
  • f50f1c1 feat(web): mirrored wiki pages in the UI — sidebar tree, document panel, unified search

Fixes

  • ce39dc7 fix(mcp): schema hints an agent actually needs — measured against a live take
  • 297bdba fix(web): phones render the desktop layout, not a squeezed column

Other

  • 608fb8f chore(demo): refresh snapshot — epic hierarchy and page bodies
  • 385697d chore(demo): snapshot with wiki labels — 50/69 pages, v13
  • ea26b4f docs(agents): web-UI waves require a TUI follow-up in the same version
  • 3593922 docs(media): reshoot all three clips — lower logical resolution, bigger text

Install / upgrade

brew install midagedev/tap/scry     # first install
brew upgrade midagedev/tap/scry     # upgrade
# or
curl -fsSL https://raw.githubusercontent.com/midagedev/scry/main/scripts/install.sh | sh

Or download the archive for your OS/arch from this release, unpack it, and run:

./scry init && ./scry serve --sync

The web UI is embedded — the binary is the whole install. See the README for Docker and source builds. Running installs notice new releases on their own (daily anonymous check, updateCheck: false to opt out — see SECURITY.md).

scry v0.5.0

Choose a tag to compare

@github-actions github-actions released this 05 Aug 10:43

Highlights

Korean search finds inflected words. FTS5's unicode61 tokenizer treats every Korean conjugation and particle as a different token, so 로그인 used to miss 로그인이 실패했다. Bare search terms are now rewritten to prefix matches ("로그인"*) in both the web UI and the TUI — agglutinated forms match without you thinking about it. Explicit FTS syntax (quotes, *, AND/OR/NOT/NEAR) passes through untouched. Known limit, documented rather than hidden: word-middles (결제 inside 간편결제) still miss.

The TUI came alive. A neon look with an ambient background wave, a shimmering title, and a pulsing active tab — always at rest, never in your way (SCRY_NO_ANIM=1 or NO_COLOR turns it all off, and light terminals skip the background wave). With it:

  • Ctrl+K command palette — jump to a tab, an issue by key, a saved view, or an action from one fuzzy prompt.
  • Mouse support — wheel to scroll the list and feed, click to select, click again to open, click the tab bar to switch.
  • Search-term highlight — your filter text lights up in every matching row.

Workspaces: one process, every profile. scry serve now mounts each sibling profile under /w/<name>/ — full API, reads and write-through, opened lazily on first request. When more than one profile exists, the web sidebar shows a WORKSPACES switcher with the current mirror marked. Two mirrors on one origin never share cache or favorites (storage is keyed per workspace). The trust boundary is unchanged: same loopback listener, same single OS user, and the workspace list endpoint carries site + projects only — never credentials.

Notes

  • Releases are now fully automated: the Homebrew formula updates from the release workflow itself (write-scoped deploy key, one repository).
  • Upgrade: brew upgrade midagedev/tap/scry, or grab a binary below. Running installs will notice this release on their own within a day.

scry v0.4.0

Choose a tag to compare

@github-actions github-actions released this 05 Aug 09:48

Highlights

Edit custom fields from the TUI. Press e on any issue: pick one of your editable fields, then pick a value from what Jira actually allows on that issue — single select for options, multi-select (with current values preselected) for option/version arrays, your member list for user fields. No free-text input anywhere; a clear entry empties the field. The same allowlist and value shaping now drive both the web editor and the TUI (internal/fields).

Update notices on every surface. scry now checks GitHub releases at most once a day (anonymous GET to api.github.com, nothing sent, cached on disk) and tells you when a newer version exists — after scry sync, in scry status (and its --json), as a badge in the TUI header, and as a link in the web sidebar. Opt out with updateCheck: false; dev builds never check.

TUI shows your custom fields. The detail view renders discovered field specs with their labels, and body-role fields (team-specific description/analysis/result fields) as prose sections.

Hosted demo works — or says why not. In-app browsers (Twitter/X, Instagram) block the service worker the zero-install demo runs on; instead of an eternal loading skeleton you now get a clear notice with a copy-link button. The service-worker handshake is raced against a deadline, so restricted WebViews that hang (rather than fail) also land on the notice.

Notes

  • The update check is the only network call scry makes besides your Jira site, and it carries no identity. See SECURITY.md.
  • Upgrade: brew upgrade midagedev/tap/scry, or grab a binary below.

scry v0.3.0

Choose a tag to compare

@github-actions github-actions released this 05 Aug 08:38

The mirror configures itself

Until now, custom fields required a hand-written fieldMap — so in practice
nobody configured them and every board looked half-empty. v0.3.0 removes the
step entirely:

  • Custom-field auto-discovery. The first full sync fetches every field,
    groups the site catalog by display name (Jira mints a separate field id per
    board template for the same concept — on one large site, 57 of 353 names
    carried two or more ids), classifies each field's role and editor from its
    schema, and backfills the mirror from the already-stored raw documents with
    no re-download. The sync log tells you what it did:

    fields: discovered 23 custom fields in use — labels, filters, and editors configured
    fields: backfilled 6,543 issues from the mirror (no re-download)
    
  • Projects are optional. scry init needs only site, email, and token.
    An empty project list means every project the account can see; the sync
    start line shows the total so you can narrow later.

  • The UI follows the data. Detail panels show only the fields an issue
    actually fills, with Jira's own display names; long-form fields (repro
    steps, QA notes) render as document sections, not chips. Filter axes come
    from the discovered fields per project scope — a team board is not offered
    a QA board's thirty fields. array<option> fields get a proper
    multi-select editor, values from Jira's own allowed list.

  • Everything stays editable: Settings → Fields in the web UI (edits are
    pinned across re-discovery), scry fields --apply, or the fields array
    in ~/.scry/config.json.

Also in this release

  • Readable sync progress1,200 / 6,543 (18%) with an upfront count
    and elapsed time, instead of a page counter with no denominator.
  • Sync history — click the sidebar timestamp for recent runs (kind,
    changed/deleted counts, errors). Meaningful runs only; no-op polls are not
    recorded.
  • Agent-driven onboardingdocs/AGENT_SETUP.md opens with a paste-ready
    prompt that lets a coding agent move an existing Jira setup (env vars, MCP
    connector) into scry end to end.
  • The group-taxonomy field is renamed to the neutral team_group.

Install / upgrade

brew install midagedev/tap/scry     # or: brew upgrade midagedev/tap/scry
# or
curl -fsSL https://raw.githubusercontent.com/midagedev/scry/main/scripts/install.sh | sh

macOS binaries are signed and notarized. Existing mirrors: run
scry sync --full once after upgrading to trigger field discovery.