Releases
career-ops-v1.25.0
Compare
Sorry, something went wrong.
No results found
1.25.0 (2026-08-04)
Features
add company:funded — review-first funded-company discovery from public RSS sources (#2117 ) (7ab92ab )
cv: add optional Awards / Honors section to HTML + LaTeX CV templates (#2220 ) (59df4bb )
i18n: add Italian translations for interview modes (#2335 ) (8127c93 )
pdf: opt-in hiring-manager audit pass — adversarial, research-grounded CV review (#2239 ) (3024413 )
providers: getManfred board-wide feed (Spanish/EU tech, salaries published) (9474ff1 )
reposts: add --help usage block to detect-reposts (6ec8e15 )
scan: add --since, a relative posted-date bound that also stops paging early (1d9ff63 )
test: dynamic upgrade PR gate — old install applies the commit under test (#2358 ) (aa57dcb )
web: Follow-up Tracker page with logging, history, and cadence settings (#1422 ) (6554de6 )
weekly-digest: weekly interview digest aggregator (#2130 ) (37a5184 )
Bug Fixes
batch-runner: tab-IFS collapse recorded score "-" for every successful offer (5b312bf )
cli: --flag=value was silently ignored in five scripts (37055d7 )
company-funded: catch the layoff spellings #2404 left through (aca8b71 )
company-funded: the cuts N% layoff exclusion never matched (#2404 ) (476b21b )
company-history: count a hire as a company response (#2297 ) (c6220bf )
cv-facts: the anti-fabrication gate saw nothing in five shipped locales (599dd82 )
cv-facts: the employer/title gate only matched lowercase triggers (a05c270 )
cv-latex: single mailto: scheme + escape OT1-unsafe glyphs (#2378 ) (654dce2 )
dashboard: localize the hired status label and buffer split stream openers (#2295 ) (8f5d10d )
dashboard: the progress funnel dropped Hired from every stage (#2406 ) (aac93e8 )
dedup: use Unicode-aware Via key for blind-employer grouping (#2397 ) (fe4561b )
deps: update npm dependencies (+ Dockerfile playwright pins, web lockfile sync) (f154f59 )
doctor: detect Playwright MCP in JSONC OpenCode configs (#2252 ) (ead7985 )
fingerprint: non-Latin employers no longer collapse to the same company key (#2501 ) (9326a04 )
git-ignore article-digest.md and guard the user layer against tracking (#2365 ) (e8a33cf )
jd-skill-gap: warn when zero skills are classified instead of printing a clean summary (#2341 ) (9e3586d )
liveness: classify transient 5xx as uncertain, not expired (#2371 ) (6958d84 )
merge-tracker: collapse placeholder Notes to the re-eval marker (#2483 ) (0df8a41 )
merge-tracker: four silent data-loss paths in the merge loop, with Unicode-safe company matching (#2399 ) (7bcae6b )
providers: a16z speedrun feed silently truncates to 50 jobs (4abcb32 )
providers: dead boards throw instead of reading as live-but-empty (#2379 ) (3c331e4 )
resolve the PDF manifest from the tracker, not the install dir (#2471 ) (bc73c7f )
scan-ats-full: --since -5 silently scanned nothing and called it a clean run (#2498 ) (8a10c01 )
scan-ats-full: keep the checkpoint when a resolver outage stops a sweep (#2283 ) (5764c35 )
set-status: close the report-less-row blind spot and add explicit --row/--report selectors (#2347 ) (292f55d )
show actual LinkedIn URL as cover-letter link text, not the word "LinkedIn" (#2338 ) (f04b40e )
strip GitHub URL scheme case-insensitively in cover letters (#2340 ) (0157284 )
sync-pdf: reject unknown options (a9b986b )
tailor: prompt-cache the openai-tailor.mjs static system prefix (#2432 ) (1ec3320 )
test-all: the states.yml freeze guarded 6 of 9 ids (#2408 ) (d3acdad )
test: forbid finish() in discovered suites — it forges the global verdict (cd346d3 )
test: report the Windows-unobservable lock contention signal instead of failing (d2b4ccd )
tests: budget harness waits for slow runners and preserve crashed-script diagnostics (#2332 ) (e439792 )
tests: find Git Bash under Scoop and name the fallback shell in failures (#2366 ) (bff961c )
tests: isolate tracker-columns fixtures from the real reports/ directory (0f79901 )
test: stop test-all silently passing when a node:test suite fails (#2463 ) (7e02444 )
test: use a junction on Windows for the node_modules link (241bcfd )
tracker: non-Latin company names all keyed to empty string, silently overwriting each other (#2429 ) (f589ce8 )
tracker: rank Hired in dedup, canonicalize its aliases, stop bare tracker-number merges across roles (#2377 ) (83cde52 )
verify-cv-facts: stop the modifier count from deciding whether a claim exists (#2279 ) (11493bf )
verify-pipeline: orphan check masks and invents orphans (#1425 ) (b4309a0 )
verify-pipeline: Unicode-aware keys for company/role/Via grouping (00a839f )
web: render PDFs from the backend instead of the spawned agent (#2182 ) (fef3ff2 )
weekly-digest: --from=… was silently ignored, digesting the wrong week (#2402 ) (43af8c6 )
workable: use the public widget API so large accounts are scanned (5ab8425 )
Performance Improvements
detect-reposts: bucket titles instead of comparing every pair (#2389 ) (a42a0bf )
fingerprint: popcount table + hoisted loop state in findCrossListings (#2388 ) (f2ffc7a )
tests: fix the dead SSRF DNS stub and cut three fixed costs from test-all (#2390 ) (2f21fe7 )
You can’t perform that action at this time.