EU Parliament Monitor v0.9.27
What's Changed
- [aw] Upgrade available @github-actions[bot] (#2246)
🌍 EU Parliament Integration
- Fix non-Latin SEO duplicate titles and split oversized resolver module @copilot-swe-agent[bot] (#2252)
- Add reader-friendly HTML transform for intelligence notation, acronyms, and EP document refs @copilot-swe-agent[bot] (#2243)
- 📰 [news/breaking] Breaking — 2026-05-28 @pethers (#2249)
- [news] 📰 [news/breaking] EU Parliament AI Trade & Afghanistan Rights — 2026-05-28 (run breaking-run275-1779977880)
⚠️ (analysis-only) @pethers (#2238) - [news] 🗓️ [news/month-in-review] EU Parliament May 2026: Defence Sovereignty, Digital Governance, and Budget Ambition Define a Pivotal
[Content truncated due to length] @pethers (#2235)
🌐 Multi-language Support
- [news] Translate executive briefs — 2026-05-28 (2/2 briefs) @github-actions[bot] (#2247)
🎨 UI/UX Improvements
- Fix non-Latin SEO duplicate titles and split oversized resolver module @copilot-swe-agent[bot] (#2252)
- Add reader-friendly HTML transform for intelligence notation, acronyms, and EP document refs @copilot-swe-agent[bot] (#2243)
- Add 3-layer progressive disclosure for articles with per-layer reading times and anchor-safe deep linking @copilot-swe-agent[bot] (#2242)
- 📰 [news/breaking] Breaking — 2026-05-28 @pethers (#2249)
- [news] 🗓️ [news/month-in-review] EU Parliament May 2026: Defence Sovereignty, Digital Governance, and Budget Ambition Define a Pivotal
[Content truncated due to length] @pethers (#2235)
🏗️ Infrastructure & Performance
- Fix Prepare Release CI failure by resolving SonarJS lint violations in metadata resolvers @copilot-swe-agent[bot] (#2253)
- Fix non-Latin SEO duplicate titles and split oversized resolver module @copilot-swe-agent[bot] (#2252)
- Update agentic workflows to Claude Opus 4.8 (translations stay on Sonnet 4.6) @copilot-swe-agent[bot] (#2251)
- Harden article SEO metadata: block pipeline jargon leaks, sanitize mentions, and tighten manifest gates @copilot-swe-agent[bot] (#2244)
- Add reader-friendly HTML transform for intelligence notation, acronyms, and EP document refs @copilot-swe-agent[bot] (#2243)
- build(deps)(deps): bump the github-actions group with 2 updates @dependabot[bot] (#2250)
- Add 3-layer progressive disclosure for articles with per-layer reading times and anchor-safe deep linking @copilot-swe-agent[bot] (#2242)
- 📰 [news/breaking] Breaking — 2026-05-28 @pethers (#2249)
- [news] 📰 [news/breaking] EU Parliament AI Trade & Afghanistan Rights — 2026-05-28 (run breaking-run275-1779977880)
⚠️ (analysis-only) @pethers (#2238) - [news] 🗓️ [news/month-in-review] EU Parliament May 2026: Defence Sovereignty, Digital Governance, and Budget Ambition Define a Pivotal
[Content truncated due to length] @pethers (#2235)
🔄 Code Quality & Refactoring
- Update agentic workflows to Claude Opus 4.8 (translations stay on Sonnet 4.6) @copilot-swe-agent[bot] (#2251)
- Harden article SEO metadata: block pipeline jargon leaks, sanitize mentions, and tighten manifest gates @copilot-swe-agent[bot] (#2244)
- Add reader-friendly HTML transform for intelligence notation, acronyms, and EP document refs @copilot-swe-agent[bot] (#2243)
- Add 3-layer progressive disclosure for articles with per-layer reading times and anchor-safe deep linking @copilot-swe-agent[bot] (#2242)
📝 Documentation
- Update agentic workflows to Claude Opus 4.8 (translations stay on Sonnet 4.6) @copilot-swe-agent[bot] (#2251)
- Harden article SEO metadata: block pipeline jargon leaks, sanitize mentions, and tighten manifest gates @copilot-swe-agent[bot] (#2244)
- Add reader-friendly HTML transform for intelligence notation, acronyms, and EP document refs @copilot-swe-agent[bot] (#2243)
- Add 3-layer progressive disclosure for articles with per-layer reading times and anchor-safe deep linking @copilot-swe-agent[bot] (#2242)
- 📰 [news/breaking] Breaking — 2026-05-28 @pethers (#2249)
- 📰 [news/translate-briefs] Translate executive briefs (26 files) for 2026-05-28 @pethers (#2245)
- [news] 📰 [news/breaking] EU Parliament AI Trade & Afghanistan Rights — 2026-05-28 (run breaking-run275-1779977880)
⚠️ (analysis-only) @pethers (#2238) - 📰 [news/translate-briefs] Translate executive briefs (26 files) for 2026-05-28 @pethers (#2237)
- [news] 🗓️ [news/month-in-review] EU Parliament May 2026: Defence Sovereignty, Digital Governance, and Budget Ambition Define a Pivotal
[Content truncated due to length] @pethers (#2235)
📦 Dependencies
- Update agentic workflows to Claude Opus 4.8 (translations stay on Sonnet 4.6) @copilot-swe-agent[bot] (#2251)
- build(deps)(deps): bump the github-actions group with 2 updates @dependabot[bot] (#2250)
🧪 Test Coverage Improvements
- Fix Prepare Release CI failure by resolving SonarJS lint violations in metadata resolvers @copilot-swe-agent[bot] (#2253)
- Fix non-Latin SEO duplicate titles and split oversized resolver module @copilot-swe-agent[bot] (#2252)
- Update agentic workflows to Claude Opus 4.8 (translations stay on Sonnet 4.6) @copilot-swe-agent[bot] (#2251)
- Harden article SEO metadata: block pipeline jargon leaks, sanitize mentions, and tighten manifest gates @copilot-swe-agent[bot] (#2244)
- Add reader-friendly HTML transform for intelligence notation, acronyms, and EP document refs @copilot-swe-agent[bot] (#2243)
- Add 3-layer progressive disclosure for articles with per-layer reading times and anchor-safe deep linking @copilot-swe-agent[bot] (#2242)
⚙️ Component Updates
- Fix Prepare Release CI failure by resolving SonarJS lint violations in metadata resolvers @copilot-swe-agent[bot] (#2253)
- Fix non-Latin SEO duplicate titles and split oversized resolver module @copilot-swe-agent[bot] (#2252)
- Update agentic workflows to Claude Opus 4.8 (translations stay on Sonnet 4.6) @copilot-swe-agent[bot] (#2251)
- Harden article SEO metadata: block pipeline jargon leaks, sanitize mentions, and tighten manifest gates @copilot-swe-agent[bot] (#2244)
- Add reader-friendly HTML transform for intelligence notation, acronyms, and EP document refs @copilot-swe-agent[bot] (#2243)
- build(deps)(deps): bump the github-actions group with 2 updates @dependabot[bot] (#2250)
- Add 3-layer progressive disclosure for articles with per-layer reading times and anchor-safe deep linking @copilot-swe-agent[bot] (#2242)
📊 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.27.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.27.zip |
Full application package | SHA-256 checksum, SLSA attestation |
euparliamentmonitor-0.9.27.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, @dependabot[bot], @github-actions[bot], @pethers, copilot-swe-agent[bot], dependabot[bot] and github-actions[bot]
Full Changelog: v0.9.26...0.9.27
📦 Release Artifacts
euparliamentmonitor-v0.9.27.zip- Full application packageeuparliamentmonitor-v0.9.27.spdx.json- SBOM (Software Bill of Materials)*.intoto.jsonl- SLSA Build Provenance Attestations
📦 npm Package
npm install euparliamentmonitor@0.9.27Published 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.27.zip -R Hack23/euparliamentmonitor