# Brand.Brief — Versions-Rollup

**Alle 69 Versionen** aus `CHANGELOG.md`, neueste zuerst. Die Spalte **Rollback-Snapshot** zeigt den Ordner (klickbar), wenn ein rollback-fähiger Snapshot existiert (`—` = kein eigener Snapshot, nächst-älterer Snapshot gilt). Quelle der Snapshots: `ROLLBACKS.md`.

Auto-generiert von `build_versions_rollup.py` — nicht von Hand editieren.

| Version | Datum | Änderung | Rollback-Snapshot |
|---|---|---|---|
| **v0.3.2.2** | 2026-06-18 15:31 CEST | Neue Rollup-Seite versions.html (ALLE Versionen aus CHANGELOG in EINER sortierbaren Tabelle, Snapshot-Spalte klickbar) + build_versions_rollup.py-Generator; version.html + rollbacks.html leiten auf versions.html; v0.3.2.0 self-contained Backup _v0.3.2.0_pull_production_20260618_1058 | — |
| **v0.3.2.1** | 2026-06-18 11:08 CEST | rollbacks.html → Redirect auf version.html (nur noch EINE Versions-/Rollback-Tabelle); v0.3.2.0-Zeile in ROLLBACKS.md ergaenzt | — |
| **v0.3.2.0** | 2026-06-18 10:45 CEST | Live+Staging resync: Org-Seiten-Stand als Meilenstein markiert. Content war schon byte-gleich (live=staging); nur der Live-VERSION-Stempel hing auf 0.3.1.0. Nächster Schritt: VERSION-Datei auf Live hochladen (1 Datei, toolkit.html unberührt). | `_v0.3.2.0_pull_production_20260618_1058` |
| **v0.3.1.28** | 2026-06-16 20:12 CEST | ROLLBACKS.md: eigener Petition-Versions-Baum-Abschnitt (v1.0) + rollbacks.html linkify erkennt Petition-Tabelle (→ petition.html); petition.html Footer zieht jetzt PETITION_VERSION | — |
| **v0.3.1.27** | 2026-06-16 20:05 CEST | rollbacks.html: Version- + Ordner-Zellen jetzt klickbar → öffnen jede Snapshot-Version via neuem _versions-Symlink (index.html direkt, sonst Verzeichnis-Listing), neuer Tab | — |
| **v0.3.1.26** | 2026-06-09 20:47 CEST | Petition hero: add &emsp; space between 'for' and 'European' (~1em wide) | — |
| **v0.3.1.25** | 2026-06-09 20:45 CEST | Petition Demand 03 lede: 'activation of Article 30 Skills Guarantee + VET partnerships — same status as clean transition/defense/space/digital' | — |
| **v0.3.1.24** | 2026-06-09 20:43 CEST | Petition Demand 02 title: 'Extend the Digital, Cultural & Creative Leadership policy window' | — |
| **v0.3.1.23** | 2026-06-09 20:42 CEST | Petition Demand 01 lede rephrased: Creative Innovation Infrastructure as content layer of European digital sovereignty | — |
| **v0.3.1.22** | 2026-06-09 20:11 CEST | Petition 01–05 more concise: drop bullet lists, keep title + one-line lede only | — |
| **v0.3.1.21** | 2026-06-09 20:07 CEST | Demand 00 box back on both pages WITHOUT visible '00' number (.demand-zero--no-num modifier) | — |
| **v0.3.1.20** | 2026-06-09 19:02 CEST | Remove Demand 00 (overarching block) from both index.html and petition.html | — |
| **v0.3.1.19** | 2026-06-09 19:01 CEST | Petition Demand 00: add Rationale block (matches index.html: black-hl on key phrases + €760M paper) | — |
| **v0.3.1.18** | 2026-06-09 18:56 CEST | Petition demands 01–05: uniform cream cards (override alternating pattern only on petition page) | — |
| **v0.3.1.17** | 2026-06-09 18:54 CEST | Petition hero: 'Read the 5 demands' → 'Read the whole manifesto' (link to index.html#manifesto) | — |
| **v0.3.1.16** | 2026-06-09 18:49 CEST | Petition demands 01–05: switch to same .demand component as index.html (2 cols, big red number, lede, bullets); drop unused .demand-compact CSS | — |
| **v0.3.1.15** | 2026-06-09 18:46 CEST | Petition: 'Why this is a petition' replaced with WHAT WE DEMAND — Demand 00 + compressed 01–05 in citizen language | — |
| **v0.3.1.14** | 2026-06-09 18:25 CEST | petition.html footer: unify with index.html (5-col stamp layout + CCI RIGHTS + Mobilize/Contact/Legal + URGENT strip) | — |
| **v0.3.1.13** | 2026-06-09 18:17 CEST | Main nav: remove Governance link | — |
| **v0.3.1.12** | 2026-06-09 18:12 CEST | Main nav (index.html): add 'Petition' link → petition.html (between Resources and Sign On) | — |
| **v0.3.1.11** | 2026-06-09 17:44 CEST | Petition checkboxes: drop manifesto consent; merged petition consent is now the single required tick (with hidden publish_consent=1) | — |
| **v0.3.1.10** | 2026-06-09 17:41 CEST | Fix: 'background' shorthand was tiling the chevron SVG → switch to 'background-color' so repeat/position/size from .signon select stay applied | — |
| **v0.3.1.9** | 2026-06-09 17:39 CEST | Petition: #signatures dark, #sign cream; signon form light-mode overrides for cream/paper sections | — |
| **v0.3.1.8** | 2026-06-09 17:36 CEST | Petition #sign section: dark → red background (CI red, paper text) | — |
| **v0.3.1.7** | 2026-06-09 17:33 CEST | petition.html now uses same form/JS/PHP as index.html; signon.php list-param routing; signon_citizen.php deleted | — |
| **v0.3.1.6** | 2026-06-09 17:11 CEST | Phase 3: petition.html live-ready — noindex+submit-guard out, .signon__check on, petition.js wired to signon_citizen.php | — |
| **v0.3.1.5** | 2026-06-09 14:07 CEST | Lede rephrase: '60 organisations and supporters … 32 are publicly listed; 28 chose to remain private' | — |
| **v0.3.1.4** | 2026-06-09 14:07 CEST | Sign-on checkboxes: bigger 24px boxes, CI red checkmark, hover/focus/checked card states | — |
| **v0.3.1.3** | 2026-06-09 14:04 CEST | Lede: 'organisations and persons publicly listed' (broader phrasing) | — |
| **v0.3.1.2** | 2026-06-09 13:50 CEST | Signatories lede: drop initiators/citizens — show 'total · across countries · X publicly listed; Y remained private' | — |
| **v0.3.1.1** | 2026-06-09 13:39 CEST | Signatories: merged static lede + JS-rendered counter into one sentence in the section header | — |
| **v0.3.1.0** | 2026-06-09 12:47 CEST | DEPLOY: Demand 00 overarching box + popup €760M callout (paper text) | — |
| **v0.3.0.18** | 2026-06-09 12:42 CEST | €760M: drop yellow chip, font color #ECE5D7 (paper) on the black hl | — |
| **v0.3.0.17** | 2026-06-09 12:39 CEST | €760M → yellow chip (#FFD600 bg + black text) in popup + Demand 00 | — |
| **v0.3.0.16** | 2026-06-09 12:36 CEST | Popup callout: line break before €760 million | — |
| **v0.3.0.15** | 2026-06-09 12:34 CEST | Popup €760M callout: text-align center | — |
| **v0.3.0.14** | 2026-06-09 12:33 CEST | Red font narrowed to €760 million only (popup + Demand 00 rationale) | — |
| **v0.3.0.13** | 2026-06-09 12:32 CEST | Red font on 'lose at least €760M in innovation funding' (popup + Demand 00 rationale) | — |
| **v0.3.0.12** | 2026-06-09 12:30 CEST | Activation popup: add €760M loss callout (black highlight) before 'Tell us who you are' | — |
| **v0.3.0.11** | 2026-06-09 12:25 CEST | Demand 00: black highlight on 'Yet what is not named cannot be funded' | — |
| **v0.3.0.10** | 2026-06-09 12:14 CEST | Demand 00: jobs figure 8.7M → 7.9M (both occurrences) | — |
| **v0.3.0.9** | 2026-06-09 12:13 CEST | Demand 00: black highlight on lead Rationale phrase (€760M lose) | — |
| **v0.3.0.8** | 2026-06-09 12:11 CEST | Demand 00 highlight: revert to black block (background ink + paper text) | — |
| **v0.3.0.7** | 2026-06-09 12:10 CEST | Demand 00 highlight: switch to black font color only (no background) | — |
| **v0.3.0.6** | 2026-06-09 12:09 CEST | Demand 00 text: add Parliament + national governments; black highlight on key phrases | — |
| **v0.3.0.5** | 2026-06-09 11:58 CEST | added overarching Demand 00 (policy window + €760M floor) above the 5 demands | — |
| **v0.3.0.4** | 2026-06-05 20:50 CEST | 🚀 DEPLOY v0.3.0.3 → brandbrief.eu live. 8 files uploaded (index.html, styles.css, signatories-tabs.js, petition.html, petition.css, petition.js, citizens.json=[], VERSION). Pre-deploy backup at _v0.3.0.3_predeploy_live_backup_20260605_2050. Live VERSION now reads 0.3.0.3 → footer tag will display. petition.html live with noindex + unconditional submit-block until backend ready. | — |
| **v0.3.0.3** | 2026-06-05 20:48 CEST | petition.html: submit-block now unconditional (not just staging-mode) with 'Citizen sign-on opens soon' message — prevents silent failure on production until backend ready | `_v0.3.0.3_predeploy_live_backup_20260605_2050` |
| **v0.3.0.2** | 2026-06-05 20:42 CEST | verified merge: 3 live-edits (manifesto-signee checkbox required + extended wording, publish_consent reworded with 'also' and 'keep private', new name_masked checkbox) already in staging; staging now superset of live (also has privacy-note + popup fix + sticky footer + version system + IMPRINT-only footer + Tab-UI) | — |
| **v0.3.0.1** | 2026-06-05 20:24 CEST | Signatories H2: 'Signed across Europe.' → 'Signed and supported across Europe.' | — |
| **v0.3.0.0** | 2026-06-05 20:12 CEST | homepage Signatories section now has Tab-UI: 'Organisations' (existing logo wall + dynamic list) and 'Citizens' (counter big + signature wall fed by citizens.json, with CTA → petition.html); combined header line 'Endorsed by X orgs and Y citizens across Z countries'; staging-only — decisions logged: YouMove deferred to 2027, citizen schema = first name + last initial + country | — |
| **v0.2.0.0** | 2026-06-04 18:15 CEST | petition.html DRAFT — citizen-petition page on staging (separate from index.html, noindex, links back to brand.brief); petition.css + petition.js + sample citizens.json (10 entries); sign-on form mirrors org form structure but for individuals (first name + last initial + country + optional city/msg + consent); copy is PLACEHOLDER, awaiting Humma Kavula + Wowbagger final pass | — |
| **v0.1.2.8** | 2026-06-04 18:09 CEST | 🚀 DEPLOY v0.1.2.7 → brandbrief.eu live (refresh_supporters.php + VERSION); refresh triggered → supporters.json now 30 entries incl. Time Machine + Culture Action Europe as static leads | — |
| **v0.1.2.7** | 2026-06-04 18:05 CEST | refresh_supporters.php injects static lead supporters (Time Machine AT, Culture Action Europe BE) into supporters.json — they show logos at top + now also in textual org list | — |
| **v0.1.2.6** | 2026-06-04 17:05 CEST | 🚀 DEPLOY v0.1.2.5 → brandbrief.eu live (index.html 54370B, styles.css 50248B, VERSION; cache-buster bumped ?v=20260604a). Pre-deploy backup at _v0.1.2.5_predeploy_live_backup_20260604_1645 | — |
| **v0.1.2.5** | 2026-06-04 16:59 CEST | sign-on form: privacy note added after 'Required fields' hint (data storage EU/Listmonk/Brevo, no third-party sharing, link to legal.html#privacy) | `_v0.1.2.5_predeploy_live_backup_20260604_1645` |
| **v0.1.2.4** | 2026-06-04 16:57 CEST | footer strip label gekürzt: 'IMPRINT & PRIVACY' → 'IMPRINT' (Link bleibt legal.html, dort sind beide Sektionen) | — |
| **v0.1.2.3** | 2026-06-04 16:55 CEST | footer strip: IMPRINT + PRIVACY zusammengezogen zu einem Link 'IMPRINT & PRIVACY' → legal.html (kein Anchor mehr, da beide drauf) | — |
| **v0.1.2.2** | 2026-06-04 16:52 CEST | staging server now binds 0.0.0.0 (LAN-reachable); staging-banner detection extended to RFC1918 + Tailscale CGNAT ranges | — |
| **v0.1.2.1** | 2026-06-04 16:49 CEST | popup copy: 'matter to you ... now!' → 'matter to me ... now?'; 'WHAT YOU STAND TO LOSE' → 'WHAT I STAND TO LOSE' (first-person framing) | — |
| **v0.1.2.0** | 2026-06-04 16:45 CEST | fix: popup X-Button schließt das Popup jetzt (data-actpop-close attribute fehlte am button#actPopClose; pre-existing bug aus Production) | — |
| **v0.1.1.6** | 2026-06-04 16:44 CEST | staging banner auto-activated on 127.0.0.1/localhost/file:///test (red strip top, BEARBEITUNGSMODUS + popup-button); JS submit-block as safety net; sticky-nav offset under banner | — |
| **v0.1.1.5** | 2026-06-04 16:40 CEST | footer strip now sticky at bottom (position:fixed); body padding compensates; mobile hides DOSSIER + EVERY VOICE to stay one row | — |
| **v0.1.1.4** | 2026-06-04 16:31 CEST | rollbacks.html — click-to-sort columns with version-aware compare (v0.0.1.20 > v0.0.1.9, suffix-tagged 20pre sorts before 20) | — |
| **v0.1.1.3** | 2026-06-04 16:29 CEST | added rollbacks.html — client-side MD→HTML render of ROLLBACKS.md (marked.js from CDN) | — |
| **v0.1.1.2** | 2026-06-04 15:38 CEST | retroactively tagged 22 historical backup folders with v0.0.1.x version prefix; added ROLLBACKS.md index | — |
| **v0.1.1.1** | 2026-06-04 15:29 CEST | switched to 4-segment versioning + runtime JS fetch (VERSION is now single source of truth) | — |
| **v0.1.1** | 2026-06-04 15:27 CEST | footer version tag + subtle styling; PRIVACY span stays red | — |
| **v0.1.0** | 2026-06-04 15:21 | Initial baseline — fresh mirror of brandbrief.eu production root pulled into staging. Version footer added. | `_v0.1.0_pull_production_20260604_1500` |

*69 Versionen · 4 mit eigenem Rollback-Snapshot.*
