Releases: harshitwandhare/job-sentinel
v1.2.0
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 viaDISCORD_WEBHOOK_URLin.env.
12 unit tests. -
Interview prep (
POST /api/interview/questions,/interviewpage).
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
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
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/settingsscreen,
GET/PUT /api/llm/config, andPOST /api/llm/test. Keys live only in your
local.env, are never logged, and are masked in the UI. No new runtime
dependency. Seedocs/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.
UnifiedJobQueryfilters, concurrent search with per-source failure
isolation + dedupe. New/searchUI,sourcesCLI, and/api/sources*
routes. See ADR 005. - Application tracker + document library. New
applicationsand
generated_documentstables (schema v2); a/applicationspipeline table
(saved → applied → interviewing → offer → rejected → archived) with inline
stage editing, and a/resumeslibrary of every generated résumé/cover letter
with ATS scores and provenance.appsanddocsCLI groups; full CRUD API. - RAG-grounded AI profile↔job match.
POST /api/matchblends 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. Seeextension/. - One-command installer —
scripts/install.shandscripts/install.ps1
(venv, deps, Playwright Chromium,.envscaffold, 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-pagesbranch, 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 (closespy/stack-trace-exposure). HTML/text cleaner is regex-free
(no ReDoS). URL checks are host-anchored. CORS is tightened to localhost +
extension origins. Secrets arerepr-hidden and never echoed. CodeQL: 0
open alerts.
v0.8.0
Automated release for v0.8.0. See CHANGELOG.md for details.
v0.7.0
Automated release for v0.7.0. See CHANGELOG.md for details.
v0.6.0
Automated release for v0.6.0. See CHANGELOG.md for details.
v0.5.0
Automated release for v0.5.0. See CHANGELOG.md for details.
v0.4.0
Automated release for v0.4.0. See CHANGELOG.md for details.
v0.3.2
Automated release for v0.3.2. See CHANGELOG.md for details.
v0.3.1
Automated release for v0.3.1. See CHANGELOG.md for details.