0.15.0 (2026-10-15)
Features
- add Assessment lifecycle and follow-up status controls (#4317) (8cb0161)
- followups: let users turn off follow-ups (#5164) (0a388c8)
- test-all: run the inline sections alongside the discovered suites (#5146) (#5150) (9a2f8d2)
- upskill: show the requirements behind your recent skips (#5242) (f541063)
- web: add an interview prep pack to each report (#5216) (4c94be4)
- web: add generated documents dashboard (#4856) (#4958) (ca7d047)
- web: add the cv studio edit model and api for tailored cvs (#5232) (1fcd8d1)
- web: ATS keyword coverage on the report view (#4579) (886b834)
- web: company evidence card on the report (and fix the data root it reads from) (#4581) (bcfdcdc)
- web: compare two or three selected pipeline rows side by side (#5223) (d396b19)
- web: draft a cover letter from the report page (#5258) (49e14d4)
- web: expand Analytics into progress and search stats (#4310) (6e0cd23)
- web: fill modes/_profile.md from the assistant, confirm-gated, with a live onboarding panel (#4256) (93d1853)
- web: give each today card the evaluator's call and reason (#5215) (4ef7ade)
- web: list watched companies on the portals page before a health check (#5220) (b4864ee)
- web: rank today's decisions by score with an apply next link (#5235) (9296142)
- web: recurring skill gaps on the CV page (#4583) (85fdac2)
- web: set one status on several tracker rows from the pipeline table (#5187) (d319b4a)
- web: show the posting url in the tracker view (#5130) (d79024c)
Bug Fixes
- analytics: count only in-flight rows as active applications (#5186) (ed10c7a)
- scheduler: preserve the original recurrence anchor (#5006) (1884acf)
- test-harness: link the dependency tree a worktree inherits, in both suites (#5055) (b528fe5)
- test-harness: run the suite against a scratch data root and guard the real one (#5137) (2bebe32)
- web/scheduled: a lock whose stat fails is not stale (#5013) (7f30002)
- web/scheduled: retry Windows EPERM/EACCES on the lock mkdir instead of crashing (#4917) (291d53b)
- web: answer 400, not 500, when a JSON body is not an object (#5188) (9abcad3)
- web: attach the tailored cv to localized resume upload fields (#5162) (e632866)
- web: deny Write/Bash when evaluating untrusted JDs (#3629) (a98717e)
- web: keep Assistant keyboard focus through open, send and close (#5123) (b5b136b)
- web: keep colon location and pay cells in the inbox (#5120) (e6ed41e)
- web: keep Discover running when the URL updates (#3628) (c78e14c)
- web: keep failed inbox undo actions retryable (#5050) (63ec2fc)
- web: keep places like Idaho Falls in the location breakdown (#5153) (cf26d04)
- web: label application review fields and confirmation hints (#4996) (cdcd8c4)
- web: label padded application numbers in assistant actions (#5157) (09f1399)
- web: link an unscored inbox row to its posting (#5122) (662ca5c)
- web: match admin as a word when bucketing archetypes (#5154) (9174770)
- web: name every explore filter field for screen readers (#5222) (523a205)
- web: never inherit a stale console on Windows, and stop the doctor reporting a failed probe as all set up (#4253) (4e590f2), closes #3809
- web: open the inbox score on the saved report (#2968) (6a45392)
- web: persist Today snoozes and confirm status writes (#4106) (a0bb5f0)
- web: point an empty inbox at the roles already tracked (#5171) (4d1d57a)
- web: preserve company evidence scope and source certainty (#5007) (33c927c)
- web: preserve context and focus for assistant confirmations (#5017) (d0a9bb5)
- web: preserve Pipeline filters when returning from a report (#5049) (4468aac)
- web: preserve report identity when generating tailored PDFs (#4104) (a8b3340)
- web: preview table-only report sections as fields, not separator residue (#5218) (5fe9b88)
- web: recover interrupted application fills without losing answers (#4109) (2810471)
- web: refuse submit buttons labeled in every shipped locale (#5158) (56867bd)
- web: reject private URLs in Apply session (#3627) (3444fdd)
- web: say where cli evaluations go on the workers page (#5172) (6bf0667)
- web: serve cv and cover pdfs whose filenames are not ascii (#5163) (6b55711)
- web: show inbox rows that are only a URL (#3626) (87ecfa2)
- web: show no success rate when no scan has run (#5121) (0756f03)
- web: show the "report left on disk" notice when deleting a tracker row (#5067) (ae9fdeb)
- web: show the verdict reason without raw markdown markers (#5169) (ffebb75)
- web: show upcoming follow-ups on the follow-ups page (#5129) (685221f)
- web: show why a tailored cv was not generated next to the button (#5240) (8680fb7)
- web: start each agent message on a new line so the cv envelope parses (#5239) (cc56d48)
- web: stop calling a flagged posting recommended in the verdict card (#5219) (849a8b5)
- web: stop the apply fill clicking a combobox option that only contains the answer (#5160) (b05b700)
- web: stop the sankey screen-reader table widening analytics on phones (#5217) (6899c17)
- web: update source-map-js to 1.2.2 (#5009) (012c782)