Skip to content

Releases: harshitwandhare/job-sentinel

v1.2.0

29 Jun 08:23
5caf0b6

Choose a tag to compare

Three new features shipping today: a third alert channel, an interview-prep
tool, and one-click data portability for tracked applications.

Added

  • Application export (GET /api/applications/export). Download the full
    tracker as a CSV spreadsheet or JSON file via a new Export button in the
    Applications toolbar. CSV covers 13 fields (id, title, employer, location,
    url, source, stage, salary, applied_date, deadline, notes, created_at,
    updated_at); JSON is the full model serialisation. 11 unit tests.

  • Discord webhook notifier (notifiers/discord.py). Third alert channel
    alongside Telegram and email; sends rich embeds with company, location,
    deadline, and urgency colour. Configure via DISCORD_WEBHOOK_URL in .env.
    12 unit tests.

  • Interview prep (POST /api/interview/questions, /interview page).
    Generates mock questions tailored to a pasted JD using the local LLM, with a
    curated 15-question universal fallback when Ollama is not running. Results
    grouped by category (Behavioural / Technical / Role-specific / Culture fit).
    11 unit tests.

v1.1.0

22 Jun 17:25
9410e99

Choose a tag to compare

Five new quality-of-life features across the job-search experience, plus a supply-chain CVE patch.

New features

  • Wellfound job source (no API key required) -- startup and tech jobs from AngelList/Wellfound enabled by default
  • Ghost job signals on search cards -- stale (45+ days) and thin listings flagged with amber warning chips
  • ATS platform detection -- 11 platforms (Greenhouse, Lever, Ashby, Workday, and more) identified from apply URLs
  • Visa sponsorship detection -- job descriptions scanned for sponsorship signals; green/red chip on each card
  • Search keyboard shortcut -- press / to focus keywords; clear-filters link when any filter is active

Fixed

  • Patched msgpack, pydantic-settings, pypdf CVEs that were blocking Dependabot PRs
  • Landing page test-count badge corrected to 450+

Install / upgrade

pip install --upgrade job-sentinel

v1.0.0

14 Jun 14:31
180524a

Choose a tag to compare

The release where Job Sentinel grows from a single-portal monitor into a full,
local-first career platform — search, match, track, and tailor, end to end,
on your own machine. Everything below ships typed (mypy --strict), tested
(450+ tests), and CI-gated (lint, types, tests ×3, CodeQL, secret scan,
supply-chain, license, web build).

Added

  • Bring-your-own LLM providers. Chat and embeddings now run on Ollama
    (zero-config default) or any OpenAI-compatible provider — OpenAI,
    OpenRouter, Groq, Gemini — configured independently. New /settings screen,
    GET/PUT /api/llm/config, and POST /api/llm/test. Keys live only in your
    local .env, are never logged, and are masked in the UI. No new runtime
    dependency. See docs/llm-providers.md.
  • Search jobs anywhere — a pluggable job-source layer. Enabled by default
    with no keys: RemoteOK, The Muse, Arbeitnow, Himalayas. Opt-in with a free
    key: Adzuna, USAJobs. Opt-in scraper tier (off by default, ToS-disclaimed):
    JobSpy. Plus follow-companies via public Greenhouse/Lever/Ashby boards.
    Unified JobQuery filters, concurrent search with per-source failure
    isolation + dedupe. New /search UI, sources CLI, and /api/sources*
    routes. See ADR 005.
  • Application tracker + document library. New applications and
    generated_documents tables (schema v2); a /applications pipeline table
    (saved → applied → interviewing → offer → rejected → archived) with inline
    stage editing, and a /resumes library of every generated résumé/cover letter
    with ATS scores and provenance. apps and docs CLI groups; full CRUD API.
  • RAG-grounded AI profile↔job match. POST /api/match blends ATS keyword
    coverage with semantic-embedding similarity and an optional, no-fabrication
    LLM rationale (strengths/gaps), surfaced as an "AI match" affordance on job
    cards. Personalization is retrieval over your own data — never fine-tuned into
    weights, so it stays deletable. See ADR 006.
  • Career dashboard (/dashboard) — pipeline funnel, closing-soon deadlines,
    source health, recent activity, quick actions.
  • Clip-to-track browser extension (Chrome/Firefox, Manifest V3, no build
    step) — one click turns any posting into a tracked application via the local
    API. Tracking only; never auto-submits. See extension/.
  • One-command installerscripts/install.sh and scripts/install.ps1
    (venv, deps, Playwright Chromium, .env scaffold, next-steps banner).
  • Hosted-demo mode (NEXT_PUBLIC_DEMO=1) — every screen alive with bundled
    sample data, so the public demo needs no backend.
  • ⌘K command palette, the profile rendered as a live résumé sheet, and a
    README screenshot gallery + launch-post drafts.
  • Docs: compliance.md (candidate-side tool; GDPR/CCPA posture), ADRs 005/006,
    and refreshed README / CLAUDE / HLD / LLD / web-ui.

Changed

  • Packaging polished for PyPI: clearer description, Development Status :: Beta,
    added Trove classifiers and keywords (twine-clean).
  • Navigation decluttered to four primary tabs + a "More" menu; all dropdowns
    restyled to the theme; job cards reworked to a single action row.
  • Docs now publish via the GitHub Pages artifact flow (retired the
    gh-pages branch, which was also breaking Vercel previews).
  • North Star refreshed — the v1.0 "intelligence & polish" scope is shipped.

Fixed

  • Vercel preview deployments no longer fail on the docs branch.
  • Command-palette cursor visibility and assorted UI spacing/polish.

Security

  • API responses and the ops status snapshot no longer surface exception/stack
    text (closes py/stack-trace-exposure). HTML/text cleaner is regex-free
    (no ReDoS). URL checks are host-anchored. CORS is tightened to localhost +
    extension origins. Secrets are repr-hidden and never echoed. CodeQL: 0
    open alerts.

v0.8.0

12 Jun 17:16

Choose a tag to compare

Automated release for v0.8.0. See CHANGELOG.md for details.

v0.7.0

12 Jun 12:02

Choose a tag to compare

Automated release for v0.7.0. See CHANGELOG.md for details.

v0.6.0

12 Jun 08:48

Choose a tag to compare

Automated release for v0.6.0. See CHANGELOG.md for details.

v0.5.0

10 Jun 18:22

Choose a tag to compare

Automated release for v0.5.0. See CHANGELOG.md for details.

v0.4.0

10 Jun 17:08
5016767

Choose a tag to compare

Automated release for v0.4.0. See CHANGELOG.md for details.

v0.3.2

10 Jun 06:36
553a8ec

Choose a tag to compare

Automated release for v0.3.2. See CHANGELOG.md for details.

v0.3.1

10 Jun 05:51
0334f13

Choose a tag to compare

Automated release for v0.3.1. See CHANGELOG.md for details.