Skip to content

Releases: mvanhorn/last30days-skill

v3.11.0

Choose a tag to compare

@github-actions github-actions released this 05 Jul 13:38
4bbfee4

What's Changed

  • fix(render): surface LinkedIn in emoji footer, stats engagement, and source label by @mvanhorn in #758
  • fix(techmeme): window Techmeme results to real dates, drop useless sync by @mvanhorn in #752
  • feat(doctor): unified doctor health command with fix prescriptions by @mvanhorn in #753

Full Changelog: v3.10.0...v3.11.0

v3.10.0

Choose a tag to compare

@github-actions github-actions released this 04 Jul 15:32
a5b3ca1

What's Changed

  • fix(nux): embed the welcome pitch in the setup modal (the visible surface) by @mvanhorn in #750
  • feat: Instagram comments + comments-by-default + rank-based comment diversity by @mvanhorn in #751

Full Changelog: v3.9.4...v3.10.0

v3.9.4

Choose a tag to compare

@github-actions github-actions released this 04 Jul 06:42
51424be

What's Changed

  • fix(nux): deterministic first-run welcome + GitHub device code (engine-driven) by @mvanhorn in #748

Full Changelog: v3.9.3...v3.9.4

v3.9.3

Choose a tag to compare

@github-actions github-actions released this 04 Jul 05:43
6318f74

What's Changed

  • fix(skill): first-run NUX gaps (welcome skipped, install list, device code, already-linked) by @mvanhorn in #746
  • feat(engine): optional remote research API backend (env-driven) by @mvanhorn in #747

Full Changelog: v3.9.2...v3.9.3

v3.9.2

Choose a tag to compare

@github-actions github-actions released this 04 Jul 03:20
cc62044

What's Changed

  • fix(trustpilot): resolve name->domain, session warm-up, single-fetch cap by @mvanhorn in #745

Full Changelog: v3.9.1...v3.9.2

v3.9.1

Choose a tag to compare

@github-actions github-actions released this 04 Jul 02:37
9b9bd42

What's Changed

  • fix(setup-wizard): repair the first-run NUX (Chrome-first cookies, working GitHub signup, honest copy) by @mvanhorn in #744

Full Changelog: v3.9.0...v3.9.1

v3.9.0

Choose a tag to compare

@github-actions github-actions released this 03 Jul 22:49
784624c

What's Changed

  • ci: add pytest coverage gate at 60% floor (#254) by @gourab5139014 in #697
  • fix: prune unsupported Codex auth provider path by @tmchow in #698
  • Add LinkedIn source via ScrapeCreators by @ravstr in #702
  • fix(diagnose): report X as available-pending when FROM_BROWSER will authenticate it by @mvanhorn in #729
  • feat: Add arXiv + Techmeme (default-on) and Trustpilot (opt-in) sources by @mvanhorn in #709
  • test: tighten Hermes skillignore regression coverage by @SyntaxSawdust in #739
  • fix(setup-wizard): display pp_sources (arXiv/Techmeme) install status in setup summary by @23241a6749 in #741
  • Preflight: auto-provision Python 3.12 via uv before failing the version gate by @buntysomroy in #738
  • feat: add StockTwits as a source, gated to ticker/crypto topics by @wtiwana in #658

New Contributors

Full Changelog: v3.8.3...v3.9.0

v3.8.3 - Free Reddit at ScrapeCreators parity

Choose a tag to compare

@mvanhorn mvanhorn released this 25 Jun 22:57
d5f3083

Added

  • Free Reddit gets dedicated-subreddit lanes: entity-home subs (e.g. r/Kanye for "Kanye West", via the new --dedicated-subreddits flag) are pulled in full from top+hot+new listings and exempt from the relevance floor, since the whole sub is the topic. Fixes the over-aggressive floor that dropped on-topic posts whose titles lacked the entity name.
  • reddit_arctic resolves upvote counts for threads found only via RSS search (which carries no score) using the free, keyless arctic-shift archive — batched, paced, cached, and graceful-degrading. Reddit now gets headlines-with-points and best-comments-with-points entirely for free, at parity with ScrapeCreators.
  • LAST30DAYS_REDDIT_SC_MIN_ITEMS (default 0 = unchanged empty-only behavior): set above 0 to let the ScrapeCreators backup backfill a thin free Reddit run instead of sitting idle. Backfilled items merge deduped by post id.

Removed

  • The permanently-403 search.json Tier 0 is gone from the keyless Reddit path; discovery is RSS breadth + shreddit listing partials (real scores) + the dedicated-sub lanes, with no wasted 403 calls.

v3.8.2 - Renderer-aware citations + security/CI hardening

Choose a tag to compare

@mvanhorn mvanhorn released this 25 Jun 14:35
c09e67c

Added

  • Advisory Semgrep SAST scan runs on every push/PR as part of the Security workflow, catching source-level security bugs using Semgrep CE community rules (#563)
  • Scheduled OSV-Scanner vulnerability-drift workflow scans repository lockfiles weekly and uploads SARIF results to GitHub code scanning, catching newly disclosed CVEs in the dependency tree even between PRs (#571)
  • LAST30DAYS_REDDIT_BACKEND=scrapecreators makes ScrapeCreators the primary Reddit backend with the public path as fallback. Users with a ScrapeCreators key who were getting shallow public data will now get full nested comment trees by setting this flag (#589)
  • MCP Go tests (mcp/) now run in CI on every push/PR alongside the Python test suite, so MCP server regressions are caught before merge (#621)
  • PR dependency review gate blocks merges that introduce new vulnerable dependencies (#551)

Changed

  • Citations are now renderer-aware (LAW 8). On hidden-link hosts (Claude Code) every citation stays an inline [name](url) link as before; on visible-URL hosts (Codex, Cursor, Gemini CLI, raw CLI) citations render as plain source labels so the narrative no longer turns into label (https://...) URL soup. The host is detected deterministically from the CLAUDECODE environment variable, and full URLs remain reachable through the engine footer and the saved raw file.

Fixed

  • The query-plan invocation guidance now warns against wrapping the heredoc in bash -lc '...' / zsh -lc '...', whose single quotes terminate at the first apostrophe in a ranking string and abort the engine run with unmatched " on Codex. The quoted <<'PLAN_EOF' heredoc is already apostrophe-safe; the -lc wrapper was the hazard.
  • Firefox profile detection on Linux now checks $XDG_CONFIG_HOME/mozilla/firefox (or its default ~/.config/mozilla/firefox) in addition to ~/.mozilla/firefox, fixing cookie extraction on distros that honour the XDG Base Directory Specification (#667)

v3.8.1 - Restore the first-run NUX wizard

Choose a tag to compare

@mvanhorn mvanhorn released this 23 Jun 02:24
977f0be

Restore the first-run NUX wizard

This release restores the original v3.0.0 guided onboarding wizard - the polished, modal-driven Claude Code first-run experience that had eroded over time - layered on top of the consent-driven foundation from #659/#660.

Added

  • Restored the v3.0.0 first-run NUX wizard (Claude Code Modal Flow). Step 0 now runs the original guided onboarding on hosts with AskUserQuestion: a welcome message, an Auto/Manual/Skip setup modal, a cookie-consent modal, the ScrapeCreators signup offer, a TikTok/Instagram INCLUDE_SOURCES opt-in, and a first-topic picker. Hosts without modals (OpenClaw, Codex, Cursor, Gemini CLI) get an equivalent Non-Modal Prose Flow. Digg is threaded into the install messaging alongside yt-dlp, the ScrapeCreators credit count is 10,000 free calls, the hard "Step 0 before research" gate is restored, and the flow is locked against re-erosion by tests/test_onboarding_contract.py.
  • Consent-driven first-run onboarding (#660): asks before reading browser cookies, surfaces the macOS Full Disk Access fix on permission-denied, offers the ScrapeCreators GitHub signup, and persists the key automatically (0600, masked).

Fixed

  • First-run setup no longer silently skipped or run without consent (#659/#660). The first-run gate routes into the wizard on every new install.

Thanks to @henkyermontero for finding and fixing the first-run regression (#659, #660) that this builds on.

Install artifacts: last30days.skill (Claude Code / Codex / Cursor) and the .mcpb bundles (MCP, per-platform) are attached.