Repository navigation
Releases: OpenEdCore-Technologies/OpenEdCore
Releases · OpenEdCore-Technologies/OpenEdCore
Release list
OpenEdCore v2.0.1 — Architectural Rebrand & Enterprise Security Hardening
This release marks the official rebranding of the backend platform from StudentAppBackend to OpenEdCore (openedschool.com), establishing clean domain alignment across the repository, container registry, and infrastructure pipelines. In addition to the rebrand, v2.1.0 consolidates major authentication security enhancements, automated CI/CD gating, and multi-cloud deployment automation.
🚀 Key Highlights & Changes
1. Platform & Architectural Rebranding to OpenEdCore
- Swift Package & Target Names: Renamed SPM package, executable target, and test suite to
OpenEdCoreandOpenEdCoreTests. - Clean Source Hierarchy: Relocated source trees to
Sources/OpenEdCoreand test suites toTests/OpenEdCoreTests. - Container Registry Alignment: Published images transitioned to
ghcr.io/rajeshm20/openedcore. - Docker & Compose: Updated
Dockerfile,docker-compose.yml,docker-compose.package.yml, anddocker-compose.caddy.ymlto targetopenedcore:latest. - Documentation Modernization: Comprehensive revisions across
README.mdandCONTRIBUTING.md.
2. Authentication & Enterprise Security Hardening (#54, #55, #56)
- Refresh Token Rotation (RTR): Implemented cryptographic single-use token rotation with automatic replay/reuse detection and token family revocation.
- Hardened Password Reset Flow: OTP codes and session tokens are now securely hashed via SHA-256 HMAC before database persistence.
- Transactional Password Reset: Password updates and concurrent reset requests are coordinated transactionally, automatically revoking all active student sessions.
- Security Headers & HSTS: Enforced strict transport security (HSTS 30-day default with preload readiness) and security middleware headers.
3. CI/CD & Cloud Deployment Automation
- Isolated SPM Caching: Transitioned GitHub Actions caching to
openedcore-spm-*, caching package checkouts without storing stale precompiled header (PCH) objects. - Render Continuous Deployment: Automated deployment pipeline targeting Render with pinned GHCR image digests and rollback tracking.
- Render Resilience: Added automated service base-image detection and retry logic in
scripts/deploy-render.py. - Container Hardening: Multi-stage Linux builds using
swift:6.0-nobleandubuntu:noblewithjemallocmemory allocation and non-root execution.
4. Verification & Test Suite
- 146 Integration & Unit Tests: Full test suite passing across in-memory SQLite and PostgreSQL 16 databases.
📦 Docker Image
docker pull ghcr.io/rajeshm20/openedcore:v2.1.0
docker pull ghcr.io/rajeshm20/openedcore:latestv2.0.0 - PostgreSQL 16 Migration & Cutover
Major Release: PostgreSQL 16 Cutover & Infrastructure Modernization
This major release completes the transition of StudentAppBackend from MySQL to PostgreSQL 16.
Highlights & Key Improvements
- Database Driver Swap: Replaced
FluentMySQLDriverwithFluentPostgresDriver(pinnedpostgres-nio< 1.33.0 for Linux toolchain compatibility). - Fail-Loudly Environment Validation: Removed insecure fallbacks and enforced strict presence of
DATABASE_HOST,DATABASE_PORT,DATABASE_USERNAME,DATABASE_PASSWORD, andDATABASE_NAME. - PostgreSQL-Compliant Schemas: Updated migrations to support PostgreSQL unique constraint syntax, column case quoting (
contactNumber), and canonicalized user registration flows. - Hardened CI/CD: Tests now run against a dedicated PostgreSQL 16 Alpine container with service healthchecks and masked credentials.
- Migration & Rollback Toolkit: Shipped runbooks and ETL verification scripts in
scripts/migration/. - Legacy MySQL Snapshot: Tagged pre-migration MySQL state as
v1.0.0-mysql.
Full PR Details: #51
v1.0.1
What's Changed
- windows 11 - wsls documentation updated by @rajeshm20 in #1
- Merge pull request #1 from rajeshm20/wsl_studentappbackend by @rajeshm20 in #2
- feat: Implemented comprehensive input validation hardening for Student domain by @rajeshm20 in #3
- feat: Add forgot password flow with OTP-based email verification by @rajeshm20 in #12
New Contributors
- @rajeshm20 made their first contribution in #1
Full Changelog: v1.0.0...v1.0.1