Releases: betagouv/csplab
0.1.8
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.8] - 2026-05-06
Added
- 🔧(tooling) add optional layer in commit templates (#417)
- ✨(ingestion) add delete to vector repository (#421)
- 🔧(tooling) add make run-mvp for all mvp services at once (#420)
- ✨(ingestion-infrastructure) setup TalentsoftBackClient (#425)
- 💎(candidate-presentation) expose organisation or ministry in opportunity cards and drawers (#443)
- ✨(api) setup api documentation (#396)
- ✨(ingestion-usecase) archive offers (#455)
- 🎨(ingestion-presentation) get better endpoint documentation (#480)
Modified
- 🎨(tooling) replace stdout with loggers (#413)
- 🔥(candidate-presentation) delete unused search corps feature (#437)
- 🎨(tooling) refactor logging to use lazy string interpolation (#412)
- 💎(candidate-presentation) update mvp cv styles and content (#441)
- ♻️(shared) embedding service async (#442)
- ♻️(shared) regorganize tests (#451)
- 💎(candidate-presentation) allow closing drawer modal from browser back navigation (#444)
- ♻️(tycho) make test containers independent (#457)
- ♻️(shared) rename find_by_xx methods to get_by_xx (#458)
- 🔧(ingestion-infrastructure) admin - update list_display and list_filter to visualize ingestion workflow (#469)
- ♻️(tycho) homogenise tests and refactoring factories and fixtures (#467)
Removed
- 🔥(ingestion-infrastructure) remove unused config, dtos and lib (#459)
Fixed
- 🐛(tycho:candidate) reflect active filters in UI on page load (#380)
- 🐛(tooling) fix vscode python interpreter path (#439)
- ✨(ingestion) Prevent failed documents from remaining in a pending state and being reprocessed (#452)
- 🔒️(config) set an appropriate key size (#474)
- ⬆️(ingestion-infrastructure) add python-dateutil for relativedelta usage in archive_offers (#477)
- 🐛(ingestion-presentation) remove unused mandatory updated_before arg (#479)
- ✅(ingestion) autoclose worker thread connections in tests (#478)
0.1.7
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.7] - 2026-04-22
Breaking Changes
- ✨(async) setup broker and queue (#376)
Added
- 🔧(accessibility) add automated accessibility testing with pytest-playwright and axe-playwright-python (#157)
- 🔧(project) add port override (#391)
- ✨(tycho:domain) load metiers data (#397)
- ✨(tycho-ingestion) clean metiers (#398)
- ✨(tycho-ingestion) add task for clean metiers (#414)
Modified
- ✨(candidate) send process uploaded cv usecase to tasks broker (#377)
- 🔧(tooling) disable periodic tasks in dev (#390)
- ✨(ingestion) enqueue periodiq vectorization and cleaning tasks (#381)
- ♻️(tycho:ingestion) use async http client (#389)
Removed
- 🔥(notebook) good bye es (#370)
- 🔥(shared) remove VectorizedDocumentModel and pgvector_repository (#385)
- 🔥(shared) remove pgvector lib (#386)
Fixed
0.1.6
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.6] - 2026-04-07
Added
- 🤸(tycho:candidate) add live region to announce results to screen readers (#353)
- 💎(candidate) add loading opacity on results zone during htmx swap (#352)
- ✨(candidate) add deep filters to match cv to opportunities (#355)
- ✨(ingestion) add find_by_external_ids in raw_document repository (#345)
- ✨(ingestion) add get_detail in talentsoft client (#344)
- ✨(tycho:candidate) add deep filters to cv_flow view (#357)
- ✨(ingestion) map categories to offers (#362)
- ✨(tycho:candidate) add Matomo analytics for candidate journey (#358)
Modified
- ✨(candidate) add progressive enhancement to opportunity detail trigger (#348)
- ✨(ingestion) load detailed offers (usecase and commnand) (#342)
- ♻️(candidate) refactor CV results view into use case + presenter (#361)
- 🐛(tooling) fix dev static management (#360)
Removed
- 🔥(ingestion) remove ability from load_documents (command and strategy) to handle ingestion of the offers (#350)
Fixed
0.1.5
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.5] - 2026-03-24
Added
- ✨(candidate) push cv results filter params in url and implement simple pagination (#274)
- 🤸(tycho) add skip links for accessibility (#275)
- ✨(candidate) implement filter fieldset tooltips (#276)
- 🤸(tycho:candidate) add live region to processing page polling and respect reduced motion preference (#310)
- 🔧(dev) add auto-reload and django-browser-reload integration (#277)
- 🎉(ocr) init ocr as a service (#319)
- 🔒️(ocr) add private routes with authentication (#322)
- 🔧(ocr) sent errors to sentry (#324)
- ✨(tycho) qdrant implementation for vector db (#316)
- ✨(ocr) add text extraction (#327)
- ✨(ingestion) resilient mini batch clean documents (#329)
- ✨(tycho) implementation of soveraign ocr (#332)
Modified
- 🔧(tycho:candidate) improve meta tags (#308)
- 🤸(candidate) remove redundant main role (#309)
- 🤸(tycho:candidate) add a11y sr-only hints on result cards and drawer (#311)
- 🎨(candidate) reactivate assertion on scoring (#281)
Fixed
0.1.4
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.4] - 2026-03-10
Added
- 🔧(backend) let add custom domain to allowed hosts in dev (#206)
- ✨(tycho:candidate) integrate tally form in no results scenario for user feedback (#245)
- 🔒️(security) setup Cross-Origin Opener Policy and HTTP Strict Transport Security, make default clickjacking setup explicit, use secure cookies (#248)
- 🔒️(security) setup Content Security Policies (#247)
- ✨(candidate) add opportunity detail drawers (#254)
- ✨(candidate) add simple client opportunity user feedback mechanism (#260)
- ✨(candidate) add feedback modal and trigger button in cv results page when matching return results (#261)
- ✨(tycho) add field in admin raw documents for better data wrangling (#285)
Modified
- ♻️(tycho:candidate) update results page styles and filtering logic (#196)
- 💎(candidate) update cv upload page styles (#219)
- 💎(candidate) update cv processing page styles (#223)
- 🐛(candidate) fix albert ocr implementation (#246)
- ♻️(tooling) preliminary refactoring before #204 (#242)
- ✨(candidate) create error static pages (#228)
- ♻️(candidate) refactor opportunity drawer components (#262)
- ⚡️(db) add HnswIndex (#269)
- ⚡️(candidate) remove duplicates queries (#271)
- 🧩(candidate) hide inactive header actions (#288)
Fixed
- 🐛(tooling) align git commit hook with new cz emojis config (#221)
- 🔧(tooling) make sure both vscode djlint and cli djlint use same config (#220)
- 🐛(tooling) align git commit hook with new cz emojis config (#222)
- 🐛(candidate) fix concours card props (#231)
- 🐛(ingestion) fix VectorizedDocumentModel unicity constraint (#233)
- 🎨(candidate) fix unproperly formatted partial (#244)
- 🐛(ingestion) add APHP in FPH verse (#234)
- ✨(ingestion) vectorize only pending documents (#204)
- 🐛(candidate) allow for optionnal field in cv experience (#256)
- 🐛(security) fix request.csp_nonce into csp_nonce (#267)
- 🔒️(tycho) fix CSP nonces on all script tags (#265)
- 🐛(candidate) fix htmx targetError on poll-to-results transition (#264)
- 🐛(candidate) fix opportunity variable reference in feedback component inclusion (#270)
- 🐛(ingestion) add updated_at in load_documents upsert_batch (#286)
0.1.3
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.3] - 2026-02-24
Breaking Changes
- ♻️(ingestion) replace entities id with uuid (#201)
Added
- 🔧(tooling) add django debug toolbar in dev settings (#186)
- 🔧(tooling) update sentry config (#192)
- ✨(ingestion) add fields to optimize ingestion by batch (#208)
- ✨(candidate) add details if json parsing error (#217)
Modified
- ♻️(admin) refactor admins, set fields read-only (#184)
- 🔧(tooling) let use custom third parties endpoint in dev mode, and set explicit fake value for override test vars (#188)
- 🔧(tooling) catch the messages sent to the loggers into the console (#194)
- ♻️(ingestion) split compositedocumentrepository into document repository and document gateway (#212)
- ♻️(tycho) simplify config for envs (#215)
Fixed
- 💚(tooling) disable PR-title-format on push (#207)
0.1.2
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.2] - 2026-02-11
Added
- Offers ingestion - load document - technical improvements (#107)
- 76 ingestion offers clean (#138)
- ✨(tycho:ingestion) offers ingestion - load documents - use case implementation (#120)
- ✨(tycho:candidate) add initialize cv_metadatas usecase
- ✨(candidate) add simple cv results page
- ✨(candidate) Integrate template and components for candidate cv results page
- ✨(candidate) setup simple htmx filtering for cv results page
- 🔒️(api) make all endpoints authenticated access only with jwt authent
- ✨(tycho:candidate) instanciate process_uploaded_cv_usecase in CVUploadView (#161)
- ✨(candidate) handle CV errors in candidate flow (#164)
- ✨(candidate) instanciate match cv to opportunities (#167)
- 💄(tycho:candidate) add CSP images required for next integration tasks (#179)
- ✨(test:tycho) update test command to accept additional arguments (allows filtering) (#178)
Modified
- ✨(tycho:ingestion) let clean_documents command accept OFFERS document type (#152)
- ✨(tycho:candidate) update process uploaded cv usecase (#160)
- ✨(tycho:candidate) add polling in match cv to opportunities (#163)
- ✨(ingestion) vectorize offers (#166)
- ✨(candidate) setup htmx and polling (#162)
- 🐛(candidate) fix polling over-swapping content (#165)
- ✨(ingestion) let clean_documents iterate over sliced dataset (#171)
- 💄 (tycho:candidate) update global partials styles (#182)
- 💄(tycho:candidate) update homepage template and styles (#180)
Fixed
0.1.1
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.1] - 2026-01-27
Added
- ✨(tycho:ingestion) define entities and value objects for offers
- 🔧(project) share vscode config (#55)
- ✨ (tycho:candidate) add openai implementation for cv ocr (#46)
- (project) add djLint for Django template linting and formatting (#101)
- 🔧(tycho) configure Sass tooling (#100)
- ✨(tycho:ingestion) add offer repository (#103)
- Integrate candidate CV upload page (#53)
- ✨(tycho:candidate) integrate minimal CV processing page (#102)
- (tycho) Add talentsoft front office client to collect offers (#95)
- Editor front-tooling upgrade (prettier, stylelint) (#121)
Modified
- 🔧(tooling) ignore docker-compose.override.yml for local port customization (#80)
- 109 Refactoriser le css existant en scss modulaire (#115)
- Setup and enforce proper SCSS coding styles (#122)
- ✨(tycho:ingestion) update offer entity and value objects (#128)
- ♻️(tycho:ingestion) refactor clean tests (#130)
Removed
- 🔧(tycho:candidate) remove redundant search path from candidate URLs (#92)
Fixed
- 🔧(tooling:mypy) update python version for mypy, update domain/types.py syntax (#110)
0.1.0
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.0] - 2026-01-13
Added
- ✨(tycho:ingestion) set-up ingestion and load CORPS documents
- 🔧(tycho) add CSRF_TRUSTED_ORIGINS necessary for deployment on https (#15)
- ✨(tycho:ingestion) add custom django commands to launch usecases
- ✨(tycho:candidate) add retrieve corps usecase
- ✨(tycho:candidate) add template for semantic search
- ✨(tycho:ingestion) ingest concours from greco csv
- ✨(tycho:candidate) add process cv usecase
- ✨(tycho:candidate) add match cv to opportunities usecase (#31)
- 🎨(tooling) add a template for PR (#34)
- 📝(tooling) add issue templates (#57)
- 👷(tooling) check PR label for changelog generation (#50)
- 👷(tooling) automate changelog and releases (#56)
- 🔧(tooling) use N-1 processors to launch tycho tests suite (#83)
Modified
- 🐛(tycho:candidate) fix template tags (#26)
- 🐛(tycho) fix concurrency pb caused by container singletons (#29)
- 📝(tooling) rendre possible l'utilisation des apps python (tycho & notebook) hors docker (#35)
- 🏗️(tooling) PR template & fixup message (#42)
- 🎨(backend) reorganise tycho codebase (#44)
- ✨(tycho:candidate) home page integration (#37)
- ♻️(backend) use fixtures instead of setup methods to make container in tests (#59)
- 🔧(tooling) frenchification of issue templates (#85)
Removed
- 🏗️(tooling) reduce overhead in local Python application execution (#36)
- 🔧(project) delete commit-format job from merge on main events (#48)
Fixed
- 🔧(tycho) fix coverage computation (#79)