This release adds 3 notable features for engineering teams evaluating rollout.
Published 4mo
Productivity & Wikis
✓ No known CVEs patched
✓ No known CVEs patched in this version
Summary
AI summaryUpdates 0.26.0, Bug Fixes, and Release Summary across a mixed release.
Full changelog
Release Summary
- Added duplicate contact detection with a global scanner page
- Added contact merge with side-by-side comparison view
- Fixed duplicate relationships being created during merges
- Fixed date validation and race conditions in the merge flow
- Improved CardDAV sync cleanup when deleting merged contacts
0.26.0 (2026-02-28)
Features
- add DuplicatesList component for displaying duplicate candidates (a949e4f)
- add Find Duplicates button to people list toolbar (6661810)
- add Find Duplicates button to person detail page (673de88)
- add global duplicate detection API endpoint (c125b08)
- add global duplicates scanner page (eb2bb9b)
- add Levenshtein-based duplicate detection utility (bd01fc1)
- add merge contacts API endpoint with transactional data transfer (eab5673)
- add merge contacts page with side-by-side comparison (3d7ca86)
- add merge person validation schema (b27ba19)
- add merge/duplicates translations for all five languages (a8136fb)
- add per-person duplicate detection API endpoint (d9bee34)
- add PersonCompare component for side-by-side contact comparison (0ed8437)
- merge duplicate contacts with CardDAV sync (343f1a6)
Bug Fixes
- add lastContact to merge field overrides (17feda1)
- add missing merge field translations for DE, JA, NO locales (13c10fd)
- add missing merge page translations for DE, JA, NO locales (d875c1c)
- clean up stale pending imports and sort import list locale-aware (c2a175d)
- deduplicate all multi-value fields during contact merge (4bc8aa5)
- improve contact merge with CardDAV delete, scalar auto-transfer, and relationship summary (b9de2db)
- prevent duplicate relationships, improve merge accuracy and cleanup (a14889a)
- resolve TypeScript errors in merge test mock call assertions (c2c0c3e)
- use correct key for relationshipToUserId in merge field overrides (c53afb7)
- use deleteVCardDirect for race-condition cleanup, harden UI edge cases (fda3243)
- use getPhotoUrl for photo display in PersonCompare component (9612944)
- use null instead of undefined for missing vCard fields so Prisma clears them on sync (0840365)
- validate date overrides in merge schema to reject invalid strings (c4290fe)
This PR was generated with Release Please. See documentation.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Beta — feedback welcome: [email protected]