This release adds 4 notable features for engineering teams evaluating rollout.
Published 22d
Productivity & Wikis
✓ No known CVEs patched
✓ 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 summaryAdded 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.mjsmirror the parent's zero-token Exalead "card search" provider (the public feed behind3ds.com/careers/jobs). It's a single global endpoint, so it's provider-selected (provider: dassault) or auto-detected from a3ds.comhost, SSRF host-pinned towww.3ds.comwithredirect:'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_ADAPTERScount, sorted-id and/api/scan/sourcesEN-set assertions bumped 40 → 41. Suitetests/sources-dassault.test.mjs(10 cases). - Ported parent robustness fixes. Avature parser now tolerates two live tenant markup variants (
article--resultwith a position-index suffix + a classless JobDetail title anchor, #1541); Get on Board guards a0/negativepublished_at(no more bogus 1970 dates); SuccessFactors caps the last page so it can't overshootMAX_JOBS(#1528). - Server audit fixes.
safe-fetchno 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). SSEstream.*activity-logging is reachable again (the/api/stream/check moved above the blanket "skip GET" guard). - SPA audit fixes. The
#/statstab 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), Russianeval.jdLbl("Job Description"), Italiandash.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
About Career Ops UI
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]