EU Parliament Monitor v0.9.20
·
826 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
What's Changed
- [aw] Upgrade available @github-actions[bot] (#2096)
🌍 EU Parliament Integration
- fix(translate): explicit IMF fixed-token preservation for Nordic + EU-core languages; strip WEP/all-caps prose-label leak from priority-finding meta description @copilot-swe-agent[bot] (#2101)
- [news] EU Parliament breaking update for 2026-05-21 @pethers (#2098)
- [news] propositions — 2026-05-21 (run propositions-run268-1779344794) @pethers (#2093)
- [news] motions — 2026-05-21 (run motions-run264-1779348036) (analysis-only) @pethers (#2094)
- [news] committee-reports — 2026-05-21 (run committee-reports-run264-1779341641) @pethers (#2092)
- refactor: split oversized MCP modules — ep/client.ts 462→396, connection.ts 599→400, imf/client.ts 578→383 LOC @copilot-swe-agent[bot] (#2086)
🌐 Multi-language Support
- [news] translate: 26 executive brief translations for 2026-05-21 (breaking + motions) @github-actions[bot] (#2100)
- [news] Add 26 executive-brief translations (2 briefs × 13 languages) @github-actions[bot] (#2099)
- [news] feat: add 26 executive brief translations (2026-05-12 breaking + 2026-05-13 motions) @github-actions[bot] (#2091)
🎨 UI/UX Improvements
- fix(translate): explicit IMF fixed-token preservation for Nordic + EU-core languages; strip WEP/all-caps prose-label leak from priority-finding meta description @copilot-swe-agent[bot] (#2101)
- [news] propositions — 2026-05-21 (run propositions-run268-1779344794) @pethers (#2093)
- [news] motions — 2026-05-21 (run motions-run264-1779348036) (analysis-only) @pethers (#2094)
- [news] committee-reports — 2026-05-21 (run committee-reports-run264-1779341641) @pethers (#2092)
🏗️ Infrastructure & Performance
- fix(translate): explicit IMF fixed-token preservation for Nordic + EU-core languages; strip WEP/all-caps prose-label leak from priority-finding meta description @copilot-swe-agent[bot] (#2101)
- [news] EU Parliament breaking update for 2026-05-21 @pethers (#2098)
- [news] propositions — 2026-05-21 (run propositions-run268-1779344794) @pethers (#2093)
- [news] motions — 2026-05-21 (run motions-run264-1779348036) (analysis-only) @pethers (#2094)
- [news] committee-reports — 2026-05-21 (run committee-reports-run264-1779341641) @pethers (#2092)
- Follow-up D: ESLint max-lines enforcement, source-file-size drift-guard, ARCHITECTURE.md topology refresh @copilot-swe-agent[bot] (#2089)
- refactor: split oversized MCP modules — ep/client.ts 462→396, connection.ts 599→400, imf/client.ts 578→383 LOC @copilot-swe-agent[bot] (#2086)
- [WIP] Refactor i18n constants to reduce file size for articles @copilot-swe-agent[bot] (#2087)
- Split
artifact-highlight.tsinto translated-sibling / artifact-walker / editorial-highlight modules @copilot-swe-agent[bot] (#2088)
🔄 Code Quality & Refactoring
- fix(translate): explicit IMF fixed-token preservation for Nordic + EU-core languages; strip WEP/all-caps prose-label leak from priority-finding meta description @copilot-swe-agent[bot] (#2101)
- Follow-up D: ESLint max-lines enforcement, source-file-size drift-guard, ARCHITECTURE.md topology refresh @copilot-swe-agent[bot] (#2089)
- refactor: split oversized MCP modules — ep/client.ts 462→396, connection.ts 599→400, imf/client.ts 578→383 LOC @copilot-swe-agent[bot] (#2086)
- Split
artifact-highlight.tsinto translated-sibling / artifact-walker / editorial-highlight modules @copilot-swe-agent[bot] (#2088)
📝 Documentation
- fix(translate): explicit IMF fixed-token preservation for Nordic + EU-core languages; strip WEP/all-caps prose-label leak from priority-finding meta description @copilot-swe-agent[bot] (#2101)
- [news] EU Parliament breaking update for 2026-05-21 @pethers (#2098)
- [news] Translate executive briefs (26 files) for 2026-05-21 @pethers (#2097)
- [news] propositions — 2026-05-21 (run propositions-run268-1779344794) @pethers (#2093)
- [news] motions — 2026-05-21 (run motions-run264-1779348036) (analysis-only) @pethers (#2094)
- [news] committee-reports — 2026-05-21 (run committee-reports-run264-1779341641) @pethers (#2092)
- Follow-up D: ESLint max-lines enforcement, source-file-size drift-guard, ARCHITECTURE.md topology refresh @copilot-swe-agent[bot] (#2089)
📦 Dependencies
- fix(translate): explicit IMF fixed-token preservation for Nordic + EU-core languages; strip WEP/all-caps prose-label leak from priority-finding meta description @copilot-swe-agent[bot] (#2101)
- Follow-up D: ESLint max-lines enforcement, source-file-size drift-guard, ARCHITECTURE.md topology refresh @copilot-swe-agent[bot] (#2089)
- [WIP] Refactor i18n constants to reduce file size for articles @copilot-swe-agent[bot] (#2087)
🧪 Test Coverage Improvements
- fix(translate): explicit IMF fixed-token preservation for Nordic + EU-core languages; strip WEP/all-caps prose-label leak from priority-finding meta description @copilot-swe-agent[bot] (#2101)
- Follow-up D: ESLint max-lines enforcement, source-file-size drift-guard, ARCHITECTURE.md topology refresh @copilot-swe-agent[bot] (#2089)
- refactor: split oversized MCP modules — ep/client.ts 462→396, connection.ts 599→400, imf/client.ts 578→383 LOC @copilot-swe-agent[bot] (#2086)
- [WIP] Refactor i18n constants to reduce file size for articles @copilot-swe-agent[bot] (#2087)
- Split
artifact-highlight.tsinto translated-sibling / artifact-walker / editorial-highlight modules @copilot-swe-agent[bot] (#2088)
⚙️ Component Updates
- fix(translate): explicit IMF fixed-token preservation for Nordic + EU-core languages; strip WEP/all-caps prose-label leak from priority-finding meta description @copilot-swe-agent[bot] (#2101)
- Follow-up D: ESLint max-lines enforcement, source-file-size drift-guard, ARCHITECTURE.md topology refresh @copilot-swe-agent[bot] (#2089)
- refactor: split oversized MCP modules — ep/client.ts 462→396, connection.ts 599→400, imf/client.ts 578→383 LOC @copilot-swe-agent[bot] (#2086)
- [WIP] Refactor i18n constants to reduce file size for articles @copilot-swe-agent[bot] (#2087)
- Split
artifact-highlight.tsinto translated-sibling / artifact-walker / editorial-highlight modules @copilot-swe-agent[bot] (#2088)
📊 Release Metrics & Evidence
All test reports, coverage metrics, and API documentation are generated during build and available in the Documentation Hub.
🏛️ Architecture & Documentation
| Document | Description |
|---|---|
| Architecture | C4 architecture models and system overview |
| Security Architecture | Security design and controls |
| Threat Model | STRIDE threat analysis |
| Data Model | Data structures and relationships |
| Flowchart | Process flows with security controls |
| State Diagram | State transitions and lifecycles |
| Mindmap | Conceptual relationships |
| SWOT Analysis | Strategic analysis |
| CRA Assessment | Cyber Resilience Act assessment |
| API Documentation | TypeDoc-generated API reference |
🔐 Security & Supply Chain Protection
This release includes:
- ✅ SLSA Build Provenance Attestations — Cryptographically signed build provenance
- ✅ Software Bill of Materials (SBOM) — Complete dependency inventory in SPDX format
- ✅ npm Provenance — Verified package publishing with attestation
- ✅ CodeQL Security Scanning — Automated vulnerability detection
- ✅ Dependency Scanning — Continuous vulnerability monitoring with Dependabot
Verify attestations:
gh attestation verify euparliamentmonitor-0.9.20.zip -R Hack23/euparliamentmonitor
npm audit signaturesBrowse attestations: View all attestations
📋 ISMS Compliance & Policies
Compliance Frameworks
EU Parliament Monitor follows Hack23 AB's comprehensive ISMS with defense-in-depth architecture and documented security controls.
📦 Release Artifacts
| Artifact | Description | Verification |
|---|---|---|
euparliamentmonitor-0.9.20.zip |
Full application package | SHA-256 checksum, SLSA attestation |
euparliamentmonitor-0.9.20.spdx.json |
SBOM (SPDX format) | SBOM attestation |
*.intoto.jsonl |
SLSA attestations | gh attestation verify |
| npm package | euparliamentmonitor |
npm audit signatures |
All artifacts are signed and attested using GitHub's SLSA Level 3 build provenance.
🚀 Deployment
- Primary: https://euparliamentmonitor.com
- Documentation: https://euparliamentmonitor.com/docs/
- API Docs: https://euparliamentmonitor.com/docs/api/
- npm: https://www.npmjs.com/package/euparliamentmonitor
🏗️ Built With
- Node.js: 25.x
- TypeScript: 6.0.x
- Chart.js: 4.5.x
- D3.js: 7.9.x
- Vitest: 4.x
- Playwright: 1.x
- European Parliament MCP Server: 1.x
👥 Contributors
@Copilot, @github-actions[bot], @pethers, copilot-swe-agent[bot] and github-actions[bot]
Full Changelog: v0.9.19...0.9.20
📦 Release Artifacts
euparliamentmonitor-v0.9.20.zip- Full application packageeuparliamentmonitor-v0.9.20.spdx.json- SBOM (Software Bill of Materials)*.intoto.jsonl- SLSA Build Provenance Attestations
📦 npm Package
npm install euparliamentmonitor@0.9.20Published with npm provenance for supply chain security.
📚 Documentation
🔐 Security
All artifacts include SLSA Build Provenance attestations and SBOM for supply chain security.
Verify attestations using the GitHub CLI:
gh attestation verify euparliamentmonitor-v0.9.20.zip -R Hack23/euparliamentmonitor