v0.12.0 — Exchange + Nextcloud Contacts
Exchange + Nextcloud Contacts
Added
- Exchange contacts module — full CRUD + search via EWS
nexlink contacts list,get,create,update,delete,search- Server-side search with Q() filter
- Safe delete via
move_to_trash()
- Nextcloud contacts module — CardDAV contacts with auto-discovered principal
nexlink contacts --source nextcloud list|get|create|update|delete|search|addressbooks- vCard ↔ dict conversion
- Automatic DAV principal discovery (handles GUID-based principals)
- Cached principal resolution
- Integration tests — 11 Exchange live + 12 Nextcloud live tests
- Total test suite: 106 tests (104 pass, 1 preexisting env-dependent fail)
Bug fixes
_get_contacts_folderwas returning MailFolder instead of contacts folder- exchangelib 5.x compatibility:
ContactPhoneNumbersremoved,PhysicalAddressmoved - Nextcloud DAV principal mismatch — now auto-discovers instead of using login username
Full diff: v0.11.0...v0.12.0