Skip to content

JobSentinel 2.9.5

Latest

Choose a tag to compare

@github-actions github-actions released this 18 Jul 06:43

Overview

JobSentinel 2.9.5 reorganizes the complete repository around explicit product
and security ownership. The app remains local-first, external AI remains
optional and disabled by default, saved secrets remain protected, and the user
still reviews every external action and final application submission.

The refactor deliberately removes internal compatibility wrappers. User data
does not receive the same treatment: database changes still require safe
migrations, verified encrypted snapshots, integrity checks, and no silent data
loss.

Repository And Workspace

  • Added a root explicit-member virtual Cargo workspace with inherited package
    metadata, exact dependencies, lint policy, and release settings.
  • Assigned application orchestration to jobsentinel-application, with bounded
    domain, storage, source, security, notification, and assistance owners.
  • Kept src-tauri as the thin desktop shell and private IPC router.
  • Made implementation leaves and Tauri commands private or crate-visible, with
    explicit crate entry points and one registered command inventory.
  • Organized the React app into app composition, feature owners, shared
    contracts, UI primitives, and development mocks.
  • Moved migrations to the storage owner and kept SQLx offline metadata at the
    workspace root.
  • Enforced deterministic workspace membership, compiled Rust source ownership,
    and modules before crates.
  • Enforced 300-line and 32 KiB review thresholds plus 500-line and 64 KiB hard
    limits across governed source and configuration.

Privacy, Security, And Data Integrity

  • Made verified encrypted pre-migration snapshots mandatory for existing local
    databases before schema changes.
  • Added post-migration quick, foreign-key, and scheduled full integrity checks
    to the live startup path.
  • Kept credential tests non-interactive by default. Live operating-system
    credential roundtrips require an explicit opt-in.
  • Kept credential, resume, notification, source, URL, and external-AI details
    behind minimized typed boundaries.
  • Kept job import review state capped, expiring, memory-only, and opaque to the
    renderer. Confirmation saves the exact reviewed record without a second
    network request.
  • Preserved URL, DNS, redirect, response-size, rate-limit, restricted-source,
    and human-review protections across source adapters.

Reliability And Maintenance

  • Made Browser Import and browser test servers recover from occupied default
    loopback ports by selecting an available local port.
  • Removed orphan Rust and TypeScript source, obsolete compatibility paths,
    unused dependencies, empty directories, transition-only sensors, and unused
    generated mobile and store icons.
  • Rebuilt the jobs full-text index and replaced unsafe external-content FTS5
    update and delete triggers.
  • Made new and rescored dashboard candidates evaluate saved alert rules
    independently of aggregate match counts.
  • Assigned resume, salary, market, notification, scraper, automation, import,
    database, and credential behavior to bounded owners and removed unused
    self-tested APIs.
  • Centralized release, platform, security, dependency, and harness policy under
    final repository paths.
  • Refreshed the owned toolchain, direct dependencies, transitive lockfiles, and
    workflow action pins to the current stable release baseline.
  • Updated contributor, architecture, testing, SQLx, platform, security, release,
    agent, and public-wiki guidance for the final workspace.

Verification Posture

  • Complete frontend, script, Rust workspace, all-feature compilation, and E2E
    suites.
  • Formatting, lint, language, architecture, bloat, duplication, dependency,
    security, secret, and harness gates.
  • Production frontend, Storybook, and Tauri package builds.
  • SQLx offline metadata and encrypted migration contracts.
  • A universal no-account macOS package on macOS 27 beta, including checksum,
    metadata, architecture, signature, visible-window launch, private local data,
    database creation, and copied-app install checks.

Platform Notes

  • Windows installers remain signed only when signing credentials are available;
    otherwise public filenames must state that they are unsigned and include
    matching checksums.
  • The no-account universal macOS package is not Developer ID signed or
    notarized. Gatekeeper-ready distribution still requires Apple Developer
    Program materials and signed public-artifact proof.
  • Linux AppImage and deb packages remain subject to structure, checksum, SBOM,
    and attestation checks.

Updating

JobSentinel does not silently update itself. Back up Settings before replacing
the app, verify the downloaded package checksum, and follow
Updating Or Going Back.