Skip to content

v1.2.3 - RabbitMQ Node, Security Hardening, and i18n English/French Support

Choose a tag to compare

@Derssa Derssa released this 29 Jul 03:12
· 17 commits to main since this release

🚀 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.json to 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 computeSemanticRules and enforcementPlanner.
  • 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