October 19th, 2025

New

Improved

Fixed

Release v1.41.2 – Multi-Tenant Data Isolation, Smart Duplicate Detection, and Security Enhancements

v1.41.2

πŸš€ New

  • Database-Level Duplicate Detection for Bulk Student Import

    • Added intelligent duplicate detection to prevent re-importing the same students from identical CSV files.

    • Detects existing students by name and mobile number (case-insensitive).

    • Automatically handles duplicates:

      • Creates new enrollments only for new students.

      • Skips existing or already-enrolled students gracefully.

    • Introduced visual status badges in the staging UI:

      • 🟩 Valid | 🟨 Duplicate | 🟧 Existing | πŸŸ₯ Already Enrolled

    • Improved transactional integrity and academic metadata handling to ensure new data consistency.

  • Organization-Level Data Isolation (Multi-Tenant Security)

    • Added organizationExternalId filters to all key database queries for tenant-level data isolation.

    • Enforced organization-specific access across invoices, students, courses, batches, and dashboards.

    • Strengthened WorkOS-based multi-tenant boundaries, ensuring users can only access data within their organization.


🧠 Improved

  • Phone Number Normalization

    • Standardized phone number formatting across imports using country code normalization (+ prefix).

    • Added getCountryNameFromDialCode utility and separated phoneNumber / countryCode fields.

    • Ensures consistent storage and display of phone numbers and country names for both students and parents.

  • Unified Country Data Source

    • Centralized all country data in a single shared constant (countries.ts under 0eg-shared).

    • Removed duplicate definitions and updated all references across student and onboarding modules.

  • Query Validation & Error Handling

    • Added robust validation to guard against invalid or non-numeric query parameters in loaders.

    • Prevented Prisma-related errors caused by malformed URLs or parameters.


🧩 Fixed

  • Session Security

    • Resolved logout issue where user data persisted across sessions.

    • Added secure cookie clearing and cache prevention for proper session termination.

  • Duplicate Detection

    • Fixed import logic to correctly handle null or empty lastName values during duplicate checks.

  • Header Handling

    • Fixed a header merging issue that caused loss of Set-Cookie and toast notification headers in responses.

  • Import Stability

    • Resolved academic metadata creation conflicts during bulk student imports.


βœ… Overall Impact
This release delivers major upgrades in data security, import reliability, and session safety.
It enhances multi-tenant isolation, prevents accidental duplicate imports, and ensures consistent, normalized data across all records β€” resulting in a more secure and stable experience for organizations using EtheraGuru.