Releases: myind-ai/gapmap
Releases · myind-ai/gapmap
Gap Map v0.1.23
Gap Map v0.1.23 — macOS (Apple Silicon)
Signed + notarized for macOS (no Gatekeeper warning — just double-click to open).
New data sources (Agent Reach integration)
- V2EX, Bilibili, Xiaohongshu (小红书), Xueqiu (雪球), Xiaoyuzhou (小宇宙), Exa neural search, generic web reader (Jina), and a LinkedIn public-URL reader — selectable in the collect source picker.
Reddit, done properly
- Reddit fetching is now a tiered cascade (PRAW → cookie → proxy → RSS). Connect Reddit and you get full posts with scores + comments; no more hard 403s.
New: Reach Connections
- A Connections screen (and a Settings card): open a platform's login in your browser, import the session cookie locally, verify, and unlock that source. Nothing leaves your machine.
Also in this release
- Academic multi-agent research mode + FSD fleet governance.
Install: download the .dmg, open it, drag Gap Map to Applications.
Apple Silicon only this release.
Gap Map v0.1.22
Gap Map v0.1.22
Download → gapmap.myind.ai
Installers:
- macOS Apple Silicon —
Gap-Map-*-macOS-Apple-Silicon.dmg - macOS Intel —
Gap-Map-*-macOS-Intel.dmg - Windows —
Gap-Map-*-Windows.msi(managed deploy) orGap-Map-*-Windows-Installer.exe(click-to-install) - Linux —
Gap-Map-*-Linux.AppImage(portable) orGap-Map-*-Linux.deb(Debian/Ubuntu APT)
What's changed
Auto-generated from commits since v0.1.21.
- chore(release): sync pyproject version 0.1.19 → 0.1.22
- feat(research): paper cited Q&A + search; fix(collect): throughput & crash
- docs: FEATURES cat 18 — Research & paper-writing assistant (204·203·1)
- feat(mcp): complete the headless research-writing chain
- feat(research): Phase R1 — Connect the Dots (novel cross-paper connection engine)
- docs: detailed plan — Gap Map → research & paper-writing assistant
- docs: 196/196 ✅ — 0 🟡, every feature complete
- feat(map): faceted filtering via clickable legend
- feat(viz): enrich Personas cards + polish Bets screen
- fix(sentiment): chart/card labels show readable source name, not slug/sentiment word
- docs: cat-15 → 22/25, tracker 196·193·3 — only 3 cosmetic screens left
- feat(viz): Insights consensus tiers + OST Impact×Effort matrix + Global-Competitors detail
- docs: MCP funnel complete — strategy frameworks + root-cause + tactics exposed (161 tools)
- feat(mcp): expose all 6 strategy frameworks + root-cause + tactics as MCP tools
- docs: cat-14 fully closed (196·190·6) — all partial analysis modules done
- feat: finish the last 4 partial modules — root-cause, sentiment charts, tactics, hypotheses
- feat(mcp): expose PERT + idea-scan as MCP tools
- docs(FEATURES+changelog): cat 17 pre-build strategy frameworks → ✅ (196·179·17)
- feat(strategy): 6 pre-build frameworks — market sizing, Porter, SWOT, Lean Canvas, Value-Prop, North-Star
- feat(research): strategy_common — shared base for pre-build framework modules
- docs: add BUILD-PROGRESS.md durable cross-session tracker
- docs(FEATURES): flip 8 modules 🟡→✅ after the screen-completion workflow
- feat(screens): finish 9 partial research screens (workflow: 1 agent/screen, own file only)
- docs: product-discovery framework coverage — Gap Map applied to itself
- docs(FEATURES): bring the feature tracker current (2026-06 session)
- feat(prioritize): Prioritize tab — ranked opportunity list (RICE/Kano/MoSCoW)
- feat(prioritize): ranked-opportunity data layer (RICE + Kano + MoSCoW + painpoint)
- docs: detailed user-feedback source analysis (tiers, auth, limits, usage, gaps)
- feat(sources): add Steam reviews — real user feedback for games/software (free, no key)
- fix(papers): treat Europe PMC + DBLP as papers across the whole flow
- fix(reddit): restore public_client._get removed in the RSS rewrite (broke CLI import)
- feat(papers): auto-prefetch full PDF text (no LLM) for top-15 papers after collect
- feat(chat): include paper full-text excerpts for pubmed + europepmc too (was 4 sources)
- feat(sources): add Europe PMC + DBLP research-paper sources; add CHANGES-2026-06.md
- feat(sources): surface Crossref, Semantic Scholar, Wikipedia (wired, reliable, opt-in)
- fix(sources): Bluesky via app-password (anon search is 403); expose as source + BYOK
- feat(sources): add Stack Exchange network — 8 no-auth Q&A communities in one source
- feat(sources): enable Lemmy + GitHub Issues by default (reliable no-gate sources)
- fix(byok): accurate Reddit help text — RSS (no key) vs full JSON read-only OAuth (key)
- feat(reddit): read-only OAuth — full JSON with just client_id+secret (no refresh token)
Gap Map v0.1.21
Gap Map v0.1.21
Download → gapmap.myind.ai
Installers:
- macOS Apple Silicon —
Gap-Map-*-macOS-Apple-Silicon.dmg - macOS Intel —
Gap-Map-*-macOS-Intel.dmg - Windows —
Gap-Map-*-Windows.msi(managed deploy) orGap-Map-*-Windows-Installer.exe(click-to-install) - Linux —
Gap-Map-*-Linux.AppImage(portable) orGap-Map-*-Linux.deb(Debian/Ubuntu APT)
What's changed
Auto-generated from commits since v0.1.20.
- chore(release): v0.1.21 — chat decomposition + RSS feeds + collect fix
- fix(collect): rerun silently skipped Reddit; add explicit Reddit prompt
- feat(sources): user-added custom RSS feeds (Settings UI → swept on every collect)
- docs(chats): update header to reflect inline chat (no topic-tab navigation)
- feat(chat-ui): sidebar Chats opens chat INLINE via the shared chatPanel
- refactor(chat-ui): extract reusable chatPanel; topic Chat tab now mounts it
- refactor(chat-ui): extract renderMarkdown/inlineMd to lib/markdown.js (shared)
- refactor(chat-ui): extract shared chat state to screens/chat/chatState.js
- feat(chat): in-app "Diagnose" button → chat doctor report
- refactor(chat): extract agent_tools + meta — backend decomposition complete
- fix(chat): auto-resolve topic-name variants in semantic retrieval (accuracy)
- feat(chat): add
chat doctor— one-call topic readiness diagnosis + CLI - fix(chat/byok/ui): chat tab always renders fresh; key changes refresh app-wide
- refactor(chat): extract retrieval_context (corpus grounding) with palace fallback
- refactor(chat): extract llm_dispatch (providers + streaming + test) with tests
- refactor(chat): convert chat.py to a package; extract source_intent + timeout (tested)
- fix(chat/byok/ui): chat tab always renders fresh; key changes refresh app-wide
- feat(sources): add 'listings' RSS bundle (G2, SourceForge, Show HN, SaaSworthy)
Gap Map v0.1.20
Gap Map v0.1.20
Download → gapmap.myind.ai
Installers:
- macOS Apple Silicon —
Gap-Map-*-macOS-Apple-Silicon.dmg - macOS Intel —
Gap-Map-*-macOS-Intel.dmg - Windows —
Gap-Map-*-Windows.msi(managed deploy) orGap-Map-*-Windows-Installer.exe(click-to-install) - Linux —
Gap-Map-*-Linux.AppImage(portable) orGap-Map-*-Linux.deb(Debian/Ubuntu APT)
What's changed
Auto-generated from commits since v0.1.19.
- fix(activation): rotate leaked signing secret + harden release pipeline (v0.1.20)
- fix(ci): release auto-promote stuck on Draft — grep parsed dash-led pattern as flags
Gap Map v0.1.19
Gap Map v0.1.19
Download → gapmap.myind.ai
Installers:
- macOS Apple Silicon —
Gap-Map-*-macOS-Apple-Silicon.dmg - macOS Intel —
Gap-Map-*-macOS-Intel.dmg - Windows —
Gap-Map-*-Windows.msi(managed deploy) orGap-Map-*-Windows-Installer.exe(click-to-install) - Linux —
Gap-Map-*-Linux.AppImage(portable) orGap-Map-*-Linux.deb(Debian/Ubuntu APT)
What's changed
New / Changed
- Licence gate ON by default — the app now requires an activated licence. Without a
valid key it locks to the activation screen; your local data is never touched. (Dev
bypass:GAPMAP_LICENSE_GATE_ENABLED=0.) - Simpler activation — onboarding Step 6 and Settings → Licence now ask for just
email + activation key (password optional, server resolved automatically; the
"License API base URL" input is gone). - Automatic licence re-validation — renewals and revocations sync on their own
(boot + every 6 h) with no key re-entry. Only an explicit server revocation locks the
app; a 404/5xx/offline never does (offline grace).
Fixed
- Onboarding no longer traps you on the "Connect sources" step — a failing system
health check (sidecar/db/palace, often just a cold/rebuilding sidecar) used to silently
block Continue. It's now an informational warning; you always decide. - Sign-out crashed with
dialog.confirm not allowed— added the dialog confirm/ask/message
permissions; sign-out now awaits the async dialog. - Every "are you sure?"
confirm()dialog across the app now actually waits for your
answer (they were proceeding without waiting under Tauri v2).
Ops / Security (server side, gapmap.myind.ai)
- Deployed the
/v1/licence/validatealias + enriched validate response (returns
expires_at/trial_ends_at/is_trial/plan_id/status) so the app can sync renewals. - Rotated the production admin secret (the default placeholder was still live).
Gap Map v0.1.18
Gap Map v0.1.18
Download → gapmap.myind.ai
New
- Much faster first collect (~15 min → ~2–3 min). A new topic now does a
fast scan — recent + top posts + every free source (HN, arXiv, App/Play Store,
news, …) in parallel + a 1-year Reddit backfill. The full 3-year, all-subreddit
deep sweep is now an explicit “Fetch more” button on the topic (and is
clearly labelled in the New-topic modal). - LLM prewarm on launch + on opening the New-topic modal — the first
topic-canonicalize call is no longer a 30–60 s cold start, so search feels
instant. - “What do you want from this research?” defaults to Market research report.
- Paper-knowledge workflow + literature-gap detector — one action downloads
full text, summarizes, builds paper↔paper relations, and surfaces four kinds
of research gaps (understudied intersections, contradictions, temporal,
method/replication), then drafts a paper grounded in them. - Map tab “Ask this map” in the toolbar; map-view chat persists into the
topic’s Chat tab.
Fixed
- Reddit “fetches nothing, old or new” made clear. Reddit now blocks
unauthenticated access (403), which silently produced an empty Reddit corpus.
Collect now detects missing Reddit credentials up front, skips Reddit
cleanly (no error spam), and shows a dismissible banner linking to
Settings → Reddit. Add your Reddit API credentials there to fetch Reddit. - macOS notarization — release bundles are signed + notarized correctly
(the PyInstaller sidecar is built against a non-framework Python so there is
no embeddedPython.frameworkto break signing). - Streaming-listener crash — fixed a “Cannot access … before
initialization” unhandled rejection in the enrich/chat/paper streams. - Chat single-scroll viewport + collect-during-chat robustness.
CI / Release
- Cleaner public-release publishing (cross-draft artifact gathering on mac/linux;
Windows uses the Git-Bash-safe path); CIcargo checkresources-glob fix. - The map “Reveal”/“Open in browser” file-exposing buttons are now behind a
gapmap.flags.revealflag (default off).
Gap Map v0.1.16
Gap Map v0.1.16
Download → gapmap.myind.ai
Installers:
- macOS Apple Silicon —
Gap-Map-*-macOS-Apple-Silicon.dmg - macOS Intel —
Gap-Map-*-macOS-Intel.dmg - Windows —
Gap-Map-*-Windows.msi(managed deploy) orGap-Map-*-Windows-Installer.exe(click-to-install) - Linux —
Gap-Map-*-Linux.AppImage(portable) orGap-Map-*-Linux.deb(Debian/Ubuntu APT)
What's changed
- See the in-app changelog (Settings → About) for what changed.
Gap Map v0.1.12
Gap Map v0.1.12
Download → gapmap.myind.ai
Installers:
- macOS Apple Silicon —
Gap-Map-*-macOS-Apple-Silicon.dmg - macOS Intel —
Gap-Map-*-macOS-Intel.dmg - Windows —
Gap-Map-*-Windows.msi(managed deploy) orGap-Map-*-Windows-Installer.exe(click-to-install) - Linux —
Gap-Map-*-Linux.AppImage(portable) orGap-Map-*-Linux.deb(Debian/Ubuntu APT)
What's changed
- See the in-app changelog (Settings → About) for what changed.
Gap Map v0.1.7
Gap Map v0.1.7
Download → gapmap.myind.ai
Installers:
- macOS Apple Silicon —
Gap-Map-*-macOS-Apple-Silicon.dmg - macOS Intel —
Gap-Map-*-macOS-Intel.dmg - Windows —
Gap-Map-*-Windows.msi(managed deploy) orGap-Map-*-Windows-Installer.exe(click-to-install) - Linux —
Gap-Map-*-Linux.AppImage(portable) orGap-Map-*-Linux.deb(Debian/Ubuntu APT)
What's changed
New
- User-driven topic merge — merge two topics (and their posts, findings,
and chats) from the GUI or CLI, with a dry-run preview of exactly what moves
and a clear "this cannot be undone" confirmation. - MCP "Copy config" button (Settings) — copies the exact
mcpServersentry
Connect would write, so you can paste it into any MCP client by hand. Backed
by a newmcp_config_snippetcommand that mirrors the installer's path
resolution and refuses to hand out an unstable/translocated path. - MCP-disconnect diagnosis — clearer guidance when the app runs from a DMG
mount or a macOS App-Translocation path (move to /Applications and reopen).
Fixed
- WAL data-loss fix (critical) — the SQLite WAL self-heal no longer deletes
the live-wal/-shmside files; deleting them while another process held
the database open could silently discard committed transactions. (This had
cost ~56ktopic_postsrows in testing; recovered.) - Security hardening —
open_urlnow allows onlyhttp(s)/mailto
schemes; CSPscript-srctightened; markdown rendering XSS closed; user
values bound as SQL parameters (no string concatenation). - Worker robustness — an out-of-memory exit (137) is now treated as
recoverable and no longer counts toward the give-up threshold. - Build fix — created the missing shared
src/lib/toast.jsmodule that the
topic-merge modal imports (was breaking the production frontend build). - Test isolation — the topic-merge test fixture now uses an isolated
temp database (GAPMAP_DATA_DIR+tmp_path) and can no longer mutate the
real application database.
CI / Release
- Race-proof public-release promotion: a dedicated
workflow_runjob now flips
the public release draft → latest once mac + windows artifacts are present,
instead of relying on per-job timing.
Gap Map v0.1.4
Gap Map v0.1.4
Download → gapmap.myind.ai
Installers:
- macOS Apple Silicon —
*_arm64.dmg - macOS Intel —
*_x64.dmg - Windows —
*_x64_en-US.msi/*_x64-setup.exe - Linux —
*.AppImage/*.deb
See the source repo changelogs/ folder for what changed.