Release Notes: v1.0.222 — Database Index on org_members.user_id
Release Highlight: Database Index on org_members.user_id
Version: 1.0.222
Date: 2025-07-14
Category: Database / Performance
Overview
Version 1.0.222 introduces a targeted database performance improvement: a new index on the org_members.user_id column. This change is entirely internal — there are no API, UI, or configuration changes in this release.
Background
As the platform grows, certain database queries that scan the org_members table by userId were running without the benefit of an index. Two specific query patterns were identified as needing attention:
1. GDPR Erasure Queries
Under UK GDPR and the Data Protection Act 2018, users have the right to erasure (the "right to be forgotten"). When a deletion request is processed, the platform executes a SELECT … WHERE userId = ? query against org_members to locate all records tied to that user. Without an index, this required a scan across the entire table — a cost that grows with the number of organisation memberships stored.
The new index means these lookups are resolved directly and efficiently, regardless of table size.
2. Organisation List Query (org.list)
The org.list operation retrieves the organisations associated with a given user. It filters org_members by userId on every call. Previously, this scan was unindexed. The new index brings this query in line with best practices and ensures consistent performance as the user base scales.
What This Means for You
| Area | Before | After |
|---|---|---|
| GDPR erasure query speed | Full/partial table scan | Index seek on user_id |
org.list query speed | Unindexed scan | Index seek on user_id |
| API surface | Unchanged | Unchanged |
| Configuration required | — | None |
No Action Required
This is a fully transparent, backward-compatible change. No migration steps, configuration updates, or integration changes are needed by landlords, accountants, or third-party integrators.