Repository navigation
v1.2.3 - RabbitMQ Node, Security Hardening, and i18n English/French Support
🚀 Features & Node Additions
- RabbitMQ Message Broker: Introduces the RabbitMQ node type, fully integrated with backend security policy enforcement and interactive configuration.
- i18n Translation Coverage: Full English (EN) and French (FR) translation support added across all UI cards, toasts, modals, and configurations.
- Workers & Redis Queue Roadmap: Added a new guided learning roadmap focused on scaling background workers with a Redis job queue.
- CSS Design System: Unified the frontend color palette using shared CSS design tokens for a cleaner and more consistent visual theme.
🛡️ Security Hardening
- Loopback Binding & CORS: The backend API now binds to loopback (
127.0.0.1) by default, restricting CORS requests strictly to local origins. - Project Ownership Verification: Enforces strict project ownership checks across all container endpoints and terminal sessions to prevent unauthorized actions.
- Resource Validation: Bounds Auto Scaling Group (ASG) scaling capacity and adds validations for custom image references.
🐛 Bug Fixes & Stability
- Atomic Storage: Serialized writes to
projects.jsonto make storage operations atomic and eliminate file corruption risks. - ASG Replica Rules: Preserves replica subnet mappings and dynamic firewall rules across concurrent configuration saves.
- Inter-Subnet Routing: Restores inter-subnet traffic routing on host machines that filter routed bridge traffic.
- Boilerplate Cleanup: Cleaned up unused design assets and dead boilerplate files.
🧪 Testing & Docs
- Core Engine Tests: Added unit tests for
computeSemanticRulesandenforcementPlanner. - README Updates: Aligned documentation and setup instructions with the current state of the product.
What's Changed
- feat(security): bind API to loopback by default and restrict CORS to local origins by @OthmaneZ05 in #72
- fix(projects): make the projects.json store atomic and serialized by @OthmaneZ05 in #73
- fix(security): enforce project ownership on all container operations and terminal sessions by @OthmaneZ05 in #74
- fix(docker): show a clear message for a shell into a stopped container by @OthmaneZ05 in #75
- fix(security): bound asg capacity and validate custom image references by @OthmaneZ05 in #76
- fix(learning): retire example-first-architecture from the roadmap catalog by @OthmaneZ05 in #77
- fix(asg): keep replica subnet mappings and firewall rules across concurrent config saves by @OthmaneZ05 in #78
- feat(i18n): add full EN/FR translation coverage for toasts, nodes, and shared UI by @OthmaneZ05 in #79
- feat: add RabbitMQ message broker node type with security policy enfo… by @NureniJamiu in #49
- feat: unify color palette on CSS design tokens by @OthmaneZ05 in #80
- fix(network): make inter-subnet traffic work on hosts filtering routed bridge traffic by @OthmaneZ05 in #81
- chore(frontend): remove dead boilerplate and unused design assets by @OthmaneZ05 in #83
- test: cover computeSemanticRules and enforcementPlanner by @OthmaneZ05 in #84
- feat(learning): add the workers and redis job queue roadmap by @OthmaneZ05 in #82
- docs: align the README with the current product by @OthmaneZ05 in #85
Full Changelog: v1.2.2...v1.2.3