EU Parliament Monitor v0.9.28
·
237 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] (#2267)
- [aw] Upgrade available @github-actions[bot] (#2256)
🌍 EU Parliament Integration
- Localise generated article disclosure chrome across 14 languages @copilot-swe-agent[bot] (#2265)
- perf(news-translate): bound per-turn context to lift MAX_BRIEFS to 2 @copilot-swe-agent[bot] (#2264)
- 📰 [news/translate-briefs] Translate executive briefs (14 files) for 2026-05-29 @pethers (#2263)
- Simplify compile-agentic-workflows.yml and recompile canonical locks @copilot-swe-agent[bot] (#2262)
- [news] 📅 [news/week-ahead] No EP plenary 1–5 June — a committee & political-group prep week before Strasbourg — 2026-05-29 (run week-a
[Content truncated due to length] @pethers (#2260) - 📰 [news/translate-briefs] Translate executive briefs (14 files) for 2026-05-29 @pethers (#2259)
- [news] 💡 [news/propositions] EP Advances AI-Trade Doctrine and Ratifies Seven International Agreements — 2026-05-29 (run propositions-
[Content truncated due to length] @pethers (#2258) - [news] 🏛️ [news/committee-reports] EP Committees Hold Trade-Defence and External-Relations Lines Through Inter-Session Week — 2026-05-
[Content truncated due to length] @pethers (#2257) - [news] 📰 [news/breaking] AI Trade Strategy & Afghanistan Resolution headline Strasbourg plenary output — 2026-05-29 (run breaking-run2
[Content truncated due to length] @pethers (#2254)
🎨 UI/UX Improvements
- Localise generated article disclosure chrome across 14 languages @copilot-swe-agent[bot] (#2265)
- perf(news-translate): bound per-turn context to lift MAX_BRIEFS to 2 @copilot-swe-agent[bot] (#2264)
- 📰 [news/translate-briefs] Translate executive briefs (14 files) for 2026-05-29 @pethers (#2263)
- Simplify compile-agentic-workflows.yml and recompile canonical locks @copilot-swe-agent[bot] (#2262)
- [news] 📅 [news/week-ahead] No EP plenary 1–5 June — a committee & political-group prep week before Strasbourg — 2026-05-29 (run week-a
[Content truncated due to length] @pethers (#2260) - 📰 [news/translate-briefs] Translate executive briefs (14 files) for 2026-05-29 @pethers (#2259)
- [news] 💡 [news/propositions] EP Advances AI-Trade Doctrine and Ratifies Seven International Agreements — 2026-05-29 (run propositions-
[Content truncated due to length] @pethers (#2258) - [news] 🏛️ [news/committee-reports] EP Committees Hold Trade-Defence and External-Relations Lines Through Inter-Session Week — 2026-05-
[Content truncated due to length] @pethers (#2257) - [news] 📰 [news/breaking] AI Trade Strategy & Afghanistan Resolution headline Strasbourg plenary output — 2026-05-29 (run breaking-run2
[Content truncated due to length] @pethers (#2254)
🏗️ Infrastructure & Performance
- Localise generated article disclosure chrome across 14 languages @copilot-swe-agent[bot] (#2265)
- perf(news-translate): bound per-turn context to lift MAX_BRIEFS to 2 @copilot-swe-agent[bot] (#2264)
- Simplify compile-agentic-workflows.yml and recompile canonical locks @copilot-swe-agent[bot] (#2262)
- [news] 📅 [news/week-ahead] No EP plenary 1–5 June — a committee & political-group prep week before Strasbourg — 2026-05-29 (run week-a
[Content truncated due to length] @pethers (#2260) - [news] 💡 [news/propositions] EP Advances AI-Trade Doctrine and Ratifies Seven International Agreements — 2026-05-29 (run propositions-
[Content truncated due to length] @pethers (#2258) - [news] 🏛️ [news/committee-reports] EP Committees Hold Trade-Defence and External-Relations Lines Through Inter-Session Week — 2026-05-
[Content truncated due to length] @pethers (#2257) - [news] 📰 [news/breaking] AI Trade Strategy & Afghanistan Resolution headline Strasbourg plenary output — 2026-05-29 (run breaking-run2
[Content truncated due to length] @pethers (#2254)
🔄 Code Quality & Refactoring
- Localise generated article disclosure chrome across 14 languages @copilot-swe-agent[bot] (#2265)
- perf(news-translate): bound per-turn context to lift MAX_BRIEFS to 2 @copilot-swe-agent[bot] (#2264)
- Simplify compile-agentic-workflows.yml and recompile canonical locks @copilot-swe-agent[bot] (#2262)
📝 Documentation
- perf(news-translate): bound per-turn context to lift MAX_BRIEFS to 2 @copilot-swe-agent[bot] (#2264)
- 📰 [news/translate-briefs] Translate executive briefs (14 files) for 2026-05-29 @pethers (#2263)
- Simplify compile-agentic-workflows.yml and recompile canonical locks @copilot-swe-agent[bot] (#2262)
- [news] 📅 [news/week-ahead] No EP plenary 1–5 June — a committee & political-group prep week before Strasbourg — 2026-05-29 (run week-a
[Content truncated due to length] @pethers (#2260) - 📰 [news/translate-briefs] Translate executive briefs (14 files) for 2026-05-29 @pethers (#2259)
- [news] 💡 [news/propositions] EP Advances AI-Trade Doctrine and Ratifies Seven International Agreements — 2026-05-29 (run propositions-
[Content truncated due to length] @pethers (#2258) - [news] 🏛️ [news/committee-reports] EP Committees Hold Trade-Defence and External-Relations Lines Through Inter-Session Week — 2026-05-
[Content truncated due to length] @pethers (#2257) - [news] 📰 [news/breaking] AI Trade Strategy & Afghanistan Resolution headline Strasbourg plenary output — 2026-05-29 (run breaking-run2
[Content truncated due to length] @pethers (#2254)
📦 Dependencies
- perf(news-translate): bound per-turn context to lift MAX_BRIEFS to 2 @copilot-swe-agent[bot] (#2264)
- Simplify compile-agentic-workflows.yml and recompile canonical locks @copilot-swe-agent[bot] (#2262)
🧪 Test Coverage Improvements
- Localise generated article disclosure chrome across 14 languages @copilot-swe-agent[bot] (#2265)
- perf(news-translate): bound per-turn context to lift MAX_BRIEFS to 2 @copilot-swe-agent[bot] (#2264)
- Simplify compile-agentic-workflows.yml and recompile canonical locks @copilot-swe-agent[bot] (#2262)
⚙️ Component Updates
- Localise generated article disclosure chrome across 14 languages @copilot-swe-agent[bot] (#2265)
- perf(news-translate): bound per-turn context to lift MAX_BRIEFS to 2 @copilot-swe-agent[bot] (#2264)
- Simplify compile-agentic-workflows.yml and recompile canonical locks @copilot-swe-agent[bot] (#2262)
📊 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.28.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.28.zip |
Full application package | SHA-256 checksum, SLSA attestation |
euparliamentmonitor-0.9.28.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.27...0.9.28
📦 Release Artifacts
euparliamentmonitor-v0.9.28.zip- Full application packageeuparliamentmonitor-v0.9.28.spdx.json- SBOM (Software Bill of Materials)*.intoto.jsonl- SLSA Build Provenance Attestations
📦 npm Package
npm install euparliamentmonitor@0.9.28Published 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.28.zip -R Hack23/euparliamentmonitor