Files

64 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog
All notable changes to this project are documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [1.1.0] — 2026-07-23
Profile geography moved to the Loire-Atlantique · Vendée · Morbihan zone, and
the CV restructured.
### Changed
- Landing profile block: `Zone` (Loire-Atlantique · Vendée · Morbihan) replaces
the former `Localisation actuelle`; every mention of Yerres and of the planned
Nantes relocation removed, including the ZenQuality timeline entry.
- Presence stated as an explicit order of preference on both surfaces — full
remote, then hybrid or on-site inside the zone, Paris only as a fallback and
capped at 1–2 days per month.
- CV restructured: technical skills promoted above professional experience,
"Centres d'intérêt" dropped, markup trimmed 656 → 424 lines.
- `CLAUDE.md` content rules: geography note rewritten to the zone model, with an
explicit guard against reintroducing Yerres.
### Added
- `CV_Bastien_CHANOT_General.{html,pdf}` — general CV variant kept beside the
served one. Repo-only: not linked from the landing, not in the Dockerfile
COPY whitelist.
## [1.0.0] — 2026-07-06
First tagged release. Landing page + CV live at https://bchanot.fr, served by
a hardened nginx container behind the host reverse proxy.
### Security
- Container runs unprivileged: `nginxinc/nginx-unprivileged` digest-pinned,
uid 101, internal port 8080; base at 1.30-alpine (nginx/1.30.3) covering
CVE-2026-42945. Compose hardening: `read_only`, `cap_drop: ALL`,
`no-new-privileges`, loopback-bound port.
- Security headers (CSP, X-Content-Type-Options, X-Frame-Options,
Referrer-Policy, Permissions-Policy) re-included in every nginx location
(add_header inheritance trap closed); `server_tokens off`; CSP `script-src`
pinned to the inline script's sha256 hash; dotfile requests 404 ahead of
the caching locations.
### Changed
- Palette strictly tokenized: 6 brand hexes + documented functional neutrals
+ white-on-dark family; off-palette colors mapped to tokens.
- CSS deduplicated via grouped selectors (landing cards, CV headers / date
chips / roles / tags); dead rules and no-op declarations removed.
- Unused Google Fonts faces trimmed from both pages (CV proven
render-identical; landing verified at 375 px and 1440 px).
- CV date chips in French with en-dashes; language/interest tags as true
pills; profile geography aligned landing ↔ CV (Nantes relocation).
- `prefers-reduced-motion` disables transitions as well as animations;
decorative CTA arrows removed from the accessibility tree.
- PDF served uncompressed (already flate-compressed); single container
healthcheck (image `HEALTHCHECK`, inherited by compose).
### Added
- `version.txt` and this CHANGELOG — the release lineage starts here.