v1.3.0
ai-job-search-dev/ai-job-searchv1.3.0Aug 3, 2026by MadsLorentzen
Upgrading?
AI Summary
Focuses on ATS compatibility and language requirements. CV dates are made ATS-safe, and the Language Gate checks posting requirements against user skills.
Key Highlights
- CV dates changed from -- to - to be readable by ATS.
- Language Gate implemented to filter postings by language requirements.
- Fork reconciliation required for methodology files.
Breaking Changes
- 01-candidate-profile.md structure changed (free-form Languages: line becomes a table).
- cv/main_example.tex date fields changed from -- to -.
New Features
- /upskill aggregate mode consumes gaps.
- Salary Excel parsing improved for localized numbers.
- Gitignore guard now enforces all personal-data rules.
Full Release Notes
## Why update **Your CV's dates may be invisible to ATS parsers.** The stock template wrote date ranges as `[YYYY--YYYY]`, and LaTeX turns `--` into an en-dash glyph that extracts from the PDF text layer as `�` - so an ATS reads `2016�2024` and parses no date range at all. This failed silently: the rendered page looks perfect and every existing check passed. Confirmed against a real Workday import (a lost end date and zero education entries). The template now uses ASCII hyphens, and `05-cv-templates.md` documents the check that catches it. If you built CVs from this template, see the CHANGELOG's **fork reconciliation note** for a one-line grep that finds affected files. (#276, thanks @kblackma) **The Language Gate.** The framework never checked a posting's language requirements against what you actually speak. Now it does, everywhere: `/setup` captures a structured Languages table (asked directly, or read from your CV/LinkedIn export), and a posting requiring a language you haven't declared is excluded before scoring, while one asking for a *higher level* than you declared is flagged for your own judgment - never silently dropped, never silently passed. Wired through `/scrape`, `/rank` (persisted to `seen_jobs.json`), and `/apply`. (#275, thanks @GabrielMensi) ## For fork maintainers - read before pulling This is the heaviest reconciliation release so far. Three methodology files bumped `framework_version` (`01-candidate-profile.md` 1.0.0 → 1.1.1, `04-job-evaluation.md` 1.1.0 → 1.2.2, `05-cv-templates.md` 1.3.0 → 1.4.0), and two changes land on lines your fork has personalized: - **CLAUDE.md / 01-candidate-profile.md**: the free-form `Languages:` line becomes a structured table. Expect a conflict there; keep your languages, adopt the table shape. - **cv/main_example.tex**: the five `\cventry` date fields changed `--` to `-`. Keep your own dates, apply the same one-character change, and run the grep from the CHANGELOG over your other CV variants. Run `python3 tools/check_upstream_updates.py` after fetching - it lists exactly which of your personalized files this release touched, with per-file diff commands. ## Also in this release - `/upskill` aggregate mode consumes the gaps `/rank` records instead of re-inferring them, completing the #258 pair (#264, thanks @NotAbdelrahmanelsayed) - `tools/convert_salary_excel.py` parses localized numeric text cells (`"108,5"`, `"1.234,5"`) instead of silently dropping them, and deliberately skips the one ambiguous pattern (`"1,234"`) rather than guessing (#272, thanks @ayobamiseun) - `tools/check_upstream_updates.py` no longer fires a spurious fork-vs-self warning on lowercased clone URLs (#273), and SETUP.md section 8 now shows the `git remote add upstream` command it always assumed you'd run (#274) - both thanks @oscarbol09 - The gitignore guard now enforces every personal-output ignore rule, so any future weakening of the personal-data boundary fails CI (#271, thanks @ayobamiseun) Full details in the [CHANGELOG](https://github.com/MadsLorentzen/ai-job-search/blob/master/CHANGELOG.md).
Related Repositories
public-apis/public-apis★ 491,326
A collective list of free APIs
NousResearch/hermes-agent★ 256,173
The agent that grows with you
yt-dlp/yt-dlp★ 200,390
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,631
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,711
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.