Skip to content

Career Ops UI

v1.97.0 Feature

This release adds 4 notable features for engineering teams evaluating rollout.

Published 22d Productivity & Wikis
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

airbnb-style ashby ats career-ops claude-code cv
+11 more
express greenhouse-api hh-ru job-application job-search lever local-first no-telemetry resume self-hosted sse

Summary

AI summary

Added Dassault Systèmes scan source and robustness fixes across parsers, server fetch handling, SPA tab switching, and translation corrections.

Full changelog

[1.97.0] — 2026-07-05

Dassault Systèmes scanner source + a three-front quality sweep.

  • New scan source — Dassault Systèmes (parent career-ops parity, #1498). server/lib/sources/dassault.mjs + server/lib/portals/adapters/dassault.mjs mirror the parent's zero-token Exalead "card search" provider (the public feed behind 3ds.com/careers/jobs). It's a single global endpoint, so it's provider-selected (provider: dassault) or auto-detected from a 3ds.com host, SSRF host-pinned to www.3ds.com with redirect:'error'. The XML is parsed without a DOM (per-<Hit> <Meta> maps), city/country pulled from the localized category string, and postings are kept only when their public URL is on *.3ds.com. The registry now ships 46 adapters (41 EN + 5 RU); ALL_ADAPTERS count, sorted-id and /api/scan/sources EN-set assertions bumped 40 → 41. Suite tests/sources-dassault.test.mjs (10 cases).
  • Ported parent robustness fixes. Avature parser now tolerates two live tenant markup variants (article--result with a position-index suffix + a classless JobDetail title anchor, #1541); Get on Board guards a 0/negative published_at (no more bogus 1970 dates); SuccessFactors caps the last page so it can't overshoot MAX_JOBS (#1528).
  • Server audit fixes. safe-fetch no longer hangs on an over-cap response — the size-cap path now settles the promise directly instead of waiting for an 'end' event a destroyed stream never emits (fixes large-page /api/pipeline/preview + auto-pipeline fetches). SSE stream.* activity-logging is reachable again (the /api/stream/ check moved above the blanket "skip GET" guard).
  • SPA audit fixes. The #/stats tab switcher guards against an async render race — a slow tab's result can no longer clobber a newer tab the user already switched to. The mock-interview and networking delete confirms now pass a proper title + body (no more empty-bodied dialog).
  • Translation fixes. Untranslated dictionary values corrected — Ukrainian config.modes* (Adaptive Framing / Exit Narrative / Location Policy), Russian eval.jdLbl ("Job Description"), Italian dash.quick.contactoSub ("referral" → "segnalazione") — plus the English **16 locales** boilerplate localized in the ru/uk/ja/ko/zh-CN/zh-TW CHANGELOGs.

New: server/lib/sources/dassault.mjs; server/lib/portals/adapters/dassault.mjs.

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

Track Career Ops UI

Get notified when new releases ship.

Sign up free

About Career Ops UI

All releases →

Related context

Beta — feedback welcome: [email protected]