Skip to content

Releases: OpenEdCore-Technologies/OpenEdCore

OpenEdCore v2.0.1 — Architectural Rebrand & Enterprise Security Hardening

Choose a tag to compare

@rajeshm20 rajeshm20 released this 26 Sep 16:11

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 OpenEdCore and OpenEdCoreTests.
  • Clean Source Hierarchy: Relocated source trees to Sources/OpenEdCore and test suites to Tests/OpenEdCoreTests.
  • Container Registry Alignment: Published images transitioned to ghcr.io/rajeshm20/openedcore.
  • Docker & Compose: Updated Dockerfile, docker-compose.yml, docker-compose.package.yml, and docker-compose.caddy.yml to target openedcore:latest.
  • Documentation Modernization: Comprehensive revisions across README.md and CONTRIBUTING.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-noble and ubuntu:noble with jemalloc memory 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:latest

v2.0.0 - PostgreSQL 16 Migration & Cutover

Choose a tag to compare

@rajeshm20 rajeshm20 released this 13 Sep 15:27
7733fb0

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 FluentMySQLDriver with FluentPostgresDriver (pinned postgres-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, and DATABASE_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

v1.0.1 Pre-release
Pre-release

Choose a tag to compare

@rajeshm20 rajeshm20 released this 24 Jul 16:44
e05fc3e

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

Full Changelog: v1.0.0...v1.0.1