Skip to content

Releases: moncycle-app/MCA-backend-and-API

version 15

Choose a tag to compare

@jean-io jean-io released this 23 Oct 08:48

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.sql

Try 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 (no PUT/PATCH); DELETE has no body; JSON only.
  • Unknown fields and parameters are refused with 400 validation_failed.
  • stat.php metric names are in English.
  • v14 sensation text 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 / email2 become login_email / notification_emails.
  • Hand-written config.php needs the new settings from config.exemple.php.

Operations

  • Database upgraded automatically at start (script/auto_upgrade.php); APP_VERSION must match schema_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 after ACCOUNT_UNVERIFIED_DELETE_DAYS.
  • App log with no personal content (docs/logs.md).
  • script/terms_notice.php mails 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 REVIEW in the output need a check.
  • Existing accounts are marked as verified.

License

AGPL-3.0-or-later, Tech 4 Fertility.

version 14

Choose a tag to compare

@jean-io jean-io released this 15 Jul 06:16
2c14d71
  • 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

Choose a tag to compare

@jean-io jean-io released this 08 Apr 21:40

Corrections de bug.

Pas de MAJ de la base de donnée nécessaire.

version 12

Choose a tag to compare

@jean-io jean-io released this 15 Mar 22:45
  • 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

Choose a tag to compare

@jean-io jean-io released this 05 Mar 22:29
  • 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

Choose a tag to compare

@jean-io jean-io released this 20 Feb 22:33
  • 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

Choose a tag to compare

@jean-io jean-io released this 27 Jan 00:40
  • tunning API
  • création d'un swagger
  • suivi température réorganisé
  • corrections de bugs

Pas de mise à jour de DB nécessaire.

version 8

Choose a tag to compare

@jean-io jean-io released this 21 Jan 22:58

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

version 7

Choose a tag to compare

@jean-io jean-io released this 29 Jul 14:09
v7

Note FC: B en checkbox et ajout de VH, FIX #17, FIX #13