This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+11 more
Summary
AI summaryAdds an Analytics page showing market vacancy and salary statistics per target role and country.
Full changelog
[1.86.0] — 2026-07-03
Statistics by target roles (#/stats) — market vacancy & salary stats for YOUR target roles. A new Analytics page reads your target roles from the profile (config/profile.yml → not hard-coded) and the latest scan's postings, then shows, per role and country:
- Vacancies by country and median salary by country (USD) — aggregated client-side (
public/js/lib/role-stats.js, reusingwindow.Countries) from the sparse data the scanners already collect. Salaries in any currency are normalized to USD via an explicitly-approximate FX table, with a sample-size caveat — never fabricated. - Role & country filters and hand-rolled inline-SVG bar + trend charts (no new deps, CSP-safe —
addEventListeneronly). - Save snapshot (
POST /api/stats/snapshot) persists the current aggregate todata/role-stats.jsonl; the trend chart (GET /api/stats/trend) tracks vacancy counts over time — the "dynamics" view. Honest hybrid: snapshots come from local scan data, refreshed on demand. - Fully localized in all 16 locales (26 new i18n keys).
New: server/lib/routes/stats.mjs (16th route module), public/js/lib/role-stats.js, public/js/views/stats.js, PATHS.roleStats; tests role-stats.test.mjs (7) + stats-routes.test.mjs (5).
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Career Ops UI
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]