This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+4 more
Summary
AI summaryContacts now preserve vCard name components for consistent sorting and duplicate detection.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Contacts store vCard name components and compose display name as "First [Middle] Last". Contacts store vCard name components and compose display name as "First [Middle] Last". Source: llm_adapter@2026-07-20 Confidence: medium |
— |
| Feature | Medium |
Contact dialog requires at least one of first or last name fields. Contact dialog requires at least one of first or last name fields. Source: llm_adapter@2026-07-20 Confidence: medium |
— |
| Feature | Medium |
vCard export writes real `N` components; import reads them preserving name structure. vCard export writes real `N` components; import reads them preserving name structure. Source: llm_adapter@2026-07-20 Confidence: medium |
— |
| Bugfix | Medium |
Editing a contact with an unmanaged category no longer silently changes its category. Editing a contact with an unmanaged category no longer silently changes its category. Source: llm_adapter@2026-07-20 Confidence: medium |
— |
| Bugfix | Medium |
Family and shared‑expense guest contacts drop stale name components when member display name changes. Family and shared‑expense guest contacts drop stale name components when member display name changes. Source: llm_adapter@2026-07-20 Confidence: medium |
— |
| Bugfix | Medium |
Duplicate check during vCard import now recognises contacts regardless of name order or comma form. Duplicate check during vCard import now recognises contacts regardless of name order or comma form. Source: llm_adapter@2026-07-20 Confidence: medium |
— |
| Bugfix | Medium |
Existing CardDAV contacts have display name normalised once on next sync; locally adopted contacts retain original household‑given names. Existing CardDAV contacts have display name normalised once on next sync; locally adopted contacts retain original household‑given names. Source: llm_adapter@2026-07-20 Confidence: medium |
— |
Full changelog
Added
- Contacts keep the structured name components of a vCard (given, family, additional, prefix, suffix) instead of only the combined
FNstring. CardDAV sources format that string however they like —Given Familyon one server,Family, Givenon the next, sometimes with a title mixed in — which made the list read and sort differently depending on where a contact came from. The display name is now composed asFirst [Middle] Lastfrom the components, and the list sorts by last name.FNremains the fallback for cards whoseNcarries no name parts, such as organisation entries. - The contact dialog has separate fields for first and last name, grouped under one required marker: at least one of them must be filled. A contact that has no components yet is pre-filled by splitting its display name at the last word, and that guess is only saved once a name field is actually edited — so changing a phone number never invents a surname for a company contact.
- The vCard export writes real
Ncomponents where they exist, and the import reads them, so a contact exported from Yuvomi and read back elsewhere keeps its name structure.
Changed
- Existing CardDAV contacts are picked up on the next sync: contacts created purely from a vCard also get their display name normalised once, while contacts that were adopted from a local entry keep the name the household gave them.
- The duplicate check during vCard import compares both name orders and the comma form, so re-importing a contact that is already synced under
Family, Givenis recognised instead of silently offered as new.
Fixed
- Editing a contact whose category is not in the managed list no longer moves it to a different category. The dropdown had no matching entry, silently displayed the first category and wrote it on save; the contact's actual category is now offered as its own option and left untouched unless it is changed deliberately.
- Family and shared-expense guest contacts drop stale name components when the member's display name changes, so the list no longer sorts them under a surname that is no longer part of their name.
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
Earlier breaking changes
- v0.71.3 Changes WebDAV backup default path from "/oikos/backups/" to "/yuvomi/backups/".
- v0.66.0 Repository URL changed to `https://github.com/ulsklyc/yuvomi`.
- v0.66.0 Docker image moved to `ghcr.io/ulsklyc/yuvomi`.
- v0.66.0 Project renamed from Oikos to Yuvomi.
- v0.62.0 Changes event dialog to unified sync target picker across Google and CalDAV calendars.
Beta — feedback welcome: [email protected]