MySQL backend + CDR + contacts email + matcher fix
- vm_store: MySQL (PyMySQL) default backend, SQLite fallback - CDR: cdr_adaptive_odbc + res_odbc + MariaDB ODBC driver + Master.csv backfill - contacts: full E.164 matching, WORK-email preference, junk-name guard - backfill scripts: vm_migrate_sqlite_to_mysql.py, vm_backfill_contacts.py, vm_backfill_cdr.py - live: 131 messages migrated, 7591 CDR rows backfilled
This commit is contained in:
18
CHANGELOG.md
18
CHANGELOG.md
@ -1,5 +1,23 @@
|
||||
# Changelog
|
||||
|
||||
## 1.1.0 — 2026-08-13
|
||||
|
||||
- **Storage migrated to MySQL**: `vm_store` now defaults to MySQL (PyMySQL)
|
||||
when `/opt/vm-transcribe/db_secret` is present, with a root-owned
|
||||
least-priv `asterisk` user. SQLite remains as a fallback when
|
||||
`VM_STORE=sqlite` is set or no secret file exists.
|
||||
- **Asterisk CDR → MySQL**: CDRs now write to MySQL via `cdr_adaptive_odbc`
|
||||
+ `res_odbc` + the MariaDB ODBC driver. Backfill script `vm_backfill_cdr.py`
|
||||
imports `Master.csv` history into MySQL (7,591 rows).
|
||||
- **Contacts email support**: `vm_contacts` now returns `(name, email)`,
|
||||
preferring `TYPE=WORK` addresses from vCard. `messages.contact_email` column
|
||||
backfilled.
|
||||
- **Full E.164 matching**: contacts matcher uses the full digit string (up to
|
||||
15 digits) instead of last-9; added a guard so emoji/placeholder contacts
|
||||
cannot shadow real names.
|
||||
- **Migrations**: `vm_migrate_sqlite_to_mysql.py` and `vm_backfill_cdr.py`
|
||||
added under `src/` for first-run and CDR backfill.
|
||||
|
||||
## 1.0.0 — 2026-08-13
|
||||
|
||||
Initial build on mail.txt3.net (Debian 12, Asterisk 20, Apache 2.4, Postfix).
|
||||
|
||||
Reference in New Issue
Block a user