Skip to content

Releases: betagouv/csplab

0.1.8

06 May 07:36
6f59801

Choose a tag to compare

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

22 Apr 08:16
a995dba

Choose a tag to compare

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

  • 🐛(candidate) make sure drawer opens after filtering occured (#374)
  • 🐛(ingestion) let load_offers task call load_offers_usecase, instead of load_documents_usecase (#393)
  • 🐛(tooling) make bootstrap work on fresh setup (#399)

0.1.6

07 Apr 13:32
87389ea

Choose a tag to compare

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

  • 🐛(tycho:candidate) delete max tokens contraints for experimented cv (#341)
  • 🐛(tycho:candidate) fix toast alert positioning and close button (#354)
  • 💚(tycho) fix ci qdrant (#356)

0.1.5

24 Mar 09:22
6d50ebc

Choose a tag to compare

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

  • 🤸(a11y) fix cv results page title hierarchy (#315)
  • 🤸(tycho:candidate) hide drag-drop text from AT in dropzone (#314)
  • 🐛(ingestion) fix and test datetime for RawDocument and Offer when upserting (#287)
  • ⬆️(ocr) add httpx for sentry_sdk (#325)
  • 🚀(ocr) add popper-utils for scalingo (#330)

0.1.4

10 Mar 15:48
c93642f

Choose a tag to compare

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

24 Feb 08:19
adeb463

Choose a tag to compare

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

11 Feb 13:24
25ceab7

Choose a tag to compare

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

  • 🐛(tycho) fix config tycho with django 6 (#151)
  • 🐛(tycho:ingestion) fix localisation and reference cleaner (#154)
  • 🐛(ingestion) fix errors preventing clean offers usecase saving in db (#168)
  • 🐛(shared) update CorpsModel and VectorizedDocumentsModel for instantiate match cv necessity (#183)

0.1.1

27 Jan 07:48
5083b84

Choose a tag to compare

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

13 Jan 13:45
ae0a083

Choose a tag to compare

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)