github santifer/career-ops career-ops-v1.31.0
career-ops: v1.31.0

latest release: web-v0.9.0
4 hours ago

1.31.0 (2026-08-31)

Features

  • application-answers: read the evaluation's Block H draft answers (778d5bf)
  • cv: add "text" output_format — tailored markdown CV, no PDF (#3342) (13de717)
  • cv: ATS-friendliness check — score a generated CV for parseability (#2064) (6d4e4c7)
  • external data directory via CAREER_OPS_ROOT (#524) — lands #1444 (9159ec6)
  • hired-wall: a quiet chevron with the exact remainder says the strip continues (87e3188)
  • hired-wall: the audit line speaks to the person mid-search (c74dfc3)
  • hired-wall: the badge is the title — self-identifying label, own share line, tighter audit line (7280a48)
  • portals: profession-agnostic examples in portals.example.yml (b8614f8)
  • providers: JobsDB Hong Kong via the existing jobstreet provider (6fa8279)
  • web: add a global "Back to Top" button (#2821) (e5e786b)
  • wire reply-watch into status-log.tsv (#1582) (f88df83)

Bug Fixes

  • coverage: exclude the local-paths declaration file so a fork can commit it (280044e)
  • cv-sync-check: resolve prompt paths from CODE_ROOT instead of an undefined projectRoot (d6df7a2)
  • cv-sync-check: stop allowFail from excusing an uncaught crash (a19da42)
  • dashboard: read job URLs from the tracker before the legacy enrichment tiers (c124fb6)
  • deps: refresh web lockfile for Next update (2ca6c00)
  • doctor: survive a null entry in installed_plugins.json (0a137a1)
  • harness: make the syntax gate recursive, shared with npm run lint (43f846c)
  • hired-share: suggest outcome.mjs's real syntax in the no-Hired-row error (4a69583)
  • providers/icims: fill a missing location from the posting's JSON-LD (20ec88f)
  • scan: Level 1 runs Playwright sequentially, matching the shared-session rule (77eebc9)
  • scan: opt-in word:/stem: anchoring for content_filter keywords (ce3ac16)
  • tests: scope the profile pin and move the last hand-registered suites (0bcd0fa)
  • update-system: refuse to run when the install is not its own git toplevel (aecae53)
  • updater: parse git status with -z so quoted paths and renames match real files (79152e7)
  • verify-pipeline: recover a report number from a link target written with backslashes (8177808)
  • web: honour language.modes_dir and language.output on web-triggered runs (#3253) (316906e)
  • web: ignore nonfatal CLI stderr on clean run exit (#1974) (7f430ee)
  • web: only surface follow-ups that are actually due (#2157) (82e1055)
  • web: regenerate the nested web/ lockfile on postcss bumps (dba2a2e)
  • web: show a cause-specific hint on job failure instead of an always-auth prompt (#2158) (d372908)
  • web: show Via attribution for confidential employers (f749939)
  • web: stop evaluation tables collapsing to one word per line (#3254) (b3c1e12)
  • web: stop tracing runtime data paths (0a9d71f)
  • web: tab label spacing and report table word-breaking (#3160) (102560b)
  • web: use next/link for decision-card report link (#1931) (e7b38b3)

Don't miss a new career-ops release

NewReleases is sending notifications on new releases.