github ulsklyc/oikos v0.45.0
v0.45.0 - CardDAV Contacts Integration

latest releases: v0.47.1, v0.47.0, v0.46.0...
4 hours ago

CardDAV Contacts Integration

This release adds comprehensive CardDAV support for contacts with multi-account management and multi-value fields.

New Features

CardDAV Multi-Account Sync

  • Connect multiple CardDAV servers (Nextcloud, iCloud, Radicale, Baikal) simultaneously
  • 8 new API endpoints for account management under /api/v1/contacts/cardav/
  • Per-addressbook enable/disable via checkboxes
  • Test connections before saving
  • Manual sync trigger per account
  • Automatic addressbook discovery and refresh

Multi-Value Contact Fields

  • Multiple phone numbers, email addresses, and physical addresses per contact
  • Each entry has a label (mobile, work, home, etc.), value, and optional "primary" flag
  • Atomic transaction support with replacement semantics on update
  • Backward compatible with existing single-field contacts
  • Full validation with length limits and format checks

Technical Details

  • New service: server/services/cardav-sync.js
  • New router: server/routes/cardav.js
  • Extended router: server/routes/contacts.js (multi-value support)
  • Database tables: carddav_accounts, carddav_addressbook_selection, contact_phones, contact_emails, contact_addresses
  • 109 tests across 20 test suites (all passing)
  • Full OpenAPI documentation

Related

  • Pull Request: #122
  • Migration: Automatic via server/db.js (Migration 30)

Full Changelog: https://github.com/ulsklyc/oikos/blob/main/CHANGELOG.md#0450---2026-05-04

Don't miss a new oikos release

NewReleases is sending notifications on new releases.