Repository navigation
Releases: moncycle-app/MCA-backend-and-API
Release list
version 15
moncycle.app v15
⚠️ Back up your database before upgrading from v14. The migration cannot be undone: it renames tables, drops columns, and merges or deletes accounts whose addresses differ only by case. If it fails half way, the only way back is to restore the backup.mariadb-dump --single-transaction DATABASE_NAME > moncycle_v14_backup.sqlTry the migration on a copy first, then read docs/upgrading.md.
New
- Settings page replacing the account page.
- Local-first web client: offline writes, one-call sync (
timeline_sync?since=). - Typed keywords (sensation, observation) with a management panel: rename, retype, merge, move to comment, delete.
- Day form: last-change timestamp, keywords coloured by stamp, comment without medical data.
- Method selector: cervical mucus self-observation or FertilityCare, optional temperature. "Billings" removed.
- Cycle e-mail: optional, PDF + CSV + NFP attached, up to 5 extra addresses.
- Exports (PDF, CSV, NFP, raw data) and NFP import updated for keywords.
- Sign-up: password and e-mail verification link, nickname instead of name, adults only, mandatory terms box.
- No password sent by e-mail; reset and address change by link.
- Sessions and access tokens: list, name, scope (read-only / read-write), expiry, revoke.
- Password change can log out other devices; account deletion asks for the 2FA code.
- Argon2id for all password hashes (bcrypt upgraded at sign-in).
- Preferred language on the account (EN, FR, ES, DE, IT, PL, PT).
- New terms of service and privacy policy; acceptance stored in
terms_accepted_at. - Docs: new README,
docs/,AGENT.md, OpenAPI with examples.
Breaking
- API moved to
/api/v2/; old addresses return 404. - Every write is a
POST(noPUT/PATCH);DELETEhas no body; JSON only. - Unknown fields and parameters are refused with
400 validation_failed. stat.phpmetric names are in English.- v14
sensationtext becomes keywords of type "à définir"; they are written into the day comment in NFP, CSV and PDF exports until typed. - Tables and columns renamed to English;
email1/email2becomelogin_email/notification_emails. - Hand-written
config.phpneeds the new settings fromconfig.exemple.php.
Operations
- Database upgraded automatically at start (
script/auto_upgrade.php);APP_VERSIONmust matchschema_version. MAINTENANCE_MODE,DEMO_ENABLED,CAPTCHA_SECRET(32+ chars),TRUSTED_PROXIES,WEB_APP_ORIGINS,COOKIE_SAMESITE,NEWS_URL,TERMS_OF_SERVICE_URL,REQUEST_BODY_MAX_BYTES,LOGIN_*settings.cron.php:--dry-run, partial actions; unverified accounts erased afterACCOUNT_UNVERIFIED_DELETE_DAYS.- App log with no personal content (docs/logs.md).
script/terms_notice.phpmails users about the new terms.- Image: prod by default, PHP built-in server removed.
Security
- CSP
script-src 'self', CSRF origin check, signed captcha, per-IP and per-account throttling. - Session tokens hashed in the database.
Migration
- Login addresses lowercased. Accounts differing only by case are merged, or the weaker one is deleted if both hold a day on the same date. Lines marked
REVIEWin the output need a check. - Existing accounts are marked as verified.
License
AGPL-3.0-or-later, Tech 4 Fertility.
version 14
- Feature: edition de plusieurs observations en même temps
- UI: affichage des cycles en une seul bar
- UI: harmonisation des couleurs entre vue mini et maxi
- UI: refonte du menu de saisie des gommettes
- UI: réorganisation du menu de saisie des notes FC
- UI: titre des cycles clickable pour afficher les boutons exports et règles
- Bug: correction d'un bug permettant des doublons en bdd #46
- corrections d'autres bug ...
Mise à jour de la BDD nécessaire : https://github.com/jean-io/moncycle.app/blob/master/db/migration/v13_to_v14.sql
version 13
Corrections de bug.
Pas de MAJ de la base de donnée nécessaire.
version 12
- beaucoup de correction de bug
- beaucoup de tunning visuel et dans les workflow
- ajout de règles pour identifier le nombre de jours en vue mini
- meilleur affichage des grossesse en HTML et PDF
Pas de mise à jour de DB nécessaire.
version 11
- corrections de bugs et ajustements visuels
- plus d'éléments mit dans le "local storage" pour un chargement plus rapide
- note FertilityCare dans la vue mini
Pas de mise à jour de la DB nécessaire.
version 10
- refonte des exports PDF pour Billings
- création d'un format PDF pour FC
- infinit-scrolling
- ajout d'un compteur personnalisable pour Billings
- ajout de bouton de navigation dans le menu observation
- correction de bug
Mise à jour de la BDD nécessaire : https://github.com/jean-io/moncycle.app/blob/fad1f0fe47cd068cf90d19d1ac73c418922e795a/db/migration/v9_vers_v10.sql
version 9
version 8
Manual update of BDD is required, here is the correct way to do it: https://github.com/jean-io/moncycle.app/blob/master/db/migration/v7_vers_v8.sql