v1.2.1
v1.2.1 — Tenancy, background-job, and lifecycle hardening
A patch release that closes cross-tenant access gaps around the shared paper corpus, makes background jobs report their outcomes honestly, and tightens the installer and lifecycle scripts.
There is no database migration; existing deployments upgrade with jarvis-research update.
This release changes application code, so the :1.2.1 images differ from :1.2.0.
Fixed
- Access-control hardening. Saving a paper by identifier, and de-duplicating a synced Zotero item by DOI, no longer attach another user's private paper, and citation and metadata refreshes no longer promote or overwrite an existing paper.
A batch save can no longer claim an identifier in a namespace reserved for local uploads or Zotero sync, so it cannot pre-seed a row that a later genuine import would attach.
Single-paper question-answering, summary generation, tracked-author updates, and the knowledge-graph views now consistently scope to the requesting user. - Scheduled discovery on a fresh install. Automatic paper discovery again runs on an install that has no configured topics.
- Background job reliability. Batch jobs report a sanitized error code instead of a raw exception message, Zotero sync advances past a permanently malformed item instead of stalling, a fractional auto-fetch interval is honored, and a users-table read failure is reported distinctly from a genuinely empty active-user set.
A Zotero sync whose cursor fails to persist now reports that instead of implying a durable advance. - Installer and lifecycle scripts. Secret and registry writes are atomic across filesystems, the off-host upload grant is written with race-safe permissions, and the wrapper install derives its per-service network addresses.
Changed
- Consolidated shared configuration loading, secret-file resolution, safe-path handling, and background-task registration across services, with no change in behavior.
- Updated bundled frontend and documentation dependencies to their latest available minor and patch releases.
Upgrading
Run jarvis-research update (or ./update.sh); it stages the new applicatio images (use --build-local to rebuild from source),
takes a fresh checksum-verified backup, advances the checkout fast-forward only, and commits
after services report healthy. There is no schema migration in this release.
To roll back to a previously published release, pin JARVIS_VERSION to that tag and pull it.
Full changelog: CHANGELOG.md