Skip to content

Releases: morfredus/morfSync

morfSync - v0.7.4

Choose a tag to compare

@morfredus morfredus released this 03 Sep 21:54

morfSync 0.7.4

  • Re-vendored morfDeploy 0.20.5 (opt-in arm64 cross-packaging and the sysroot .shlibs Depends resolution). The VERSION is bumped so the source tag matches the rebuilt artifact after this vendored-tooling update; without it the release provenance check rejects a package built past the previous tag.

morfSync - v0.7.3

Choose a tag to compare

@morfredus morfredus released this 22 Aug 15:02

morfSync 0.7.3

  • Enregistrement des compilations au niveau CMake (record_compile) : la durée de compile est signalée à morfAnalytics quel que soit le déclencheur (cmake --build direct, morf upgrade, déploiement morfDeploy).

morfSync - v0.7.1

Choose a tag to compare

@morfredus morfredus released this 20 Aug 09:49

morfSync 0.7.1

  • Le paquet Windows est créé aussi lorsque l'exécutable MinGW ne requiert pas Qt : la collecte des DLL de toolchain reste appliquée.

morfSync - v0.6.3

Choose a tag to compare

@morfredus morfredus released this 19 Aug 14:52
  • Declare a nlohmann-json build dependency in service.json; morfDeploy 0.9.0 resolves it before the build (Debian nlohmann-json3-dev, or announces the need on a toolchain without a package manager). No code change.

morfSync - v0.6.2

Choose a tag to compare

@morfredus morfredus released this 16 Aug 16:38

Fixed

  • systemd unit description: replaced the em dash with a plain hyphen, per the parc's
    punctuation rule.

v0.6.0

Choose a tag to compare

@morfredus morfredus released this 28 Jul 22:41

morfSync 0.6.0 - magasin de blobs adresse par contenu (/api/blob/:hash)
Ajoute un magasin de blobs pour transporter le binaire des pieces jointes
entre postes sans alourdir le journal de changements (qui ne garde que la
reference de hash). Trois endpoints sous /api/blob/:hash : HEAD (presence),
GET (telecharger), PUT (televerser, idempotent). Le hash est le SHA-256 du
contenu ; le hub le traite comme une cle opaque (aucune dependance crypto
ajoutee), l'integrite etant verifiee par le client au telechargement. Blobs
ranges sous {dataDir}/blobs/, ecriture atomique, plafond 64 Mio.

Voir docs/sync-contract.md 4.5 et src/sync/blob_store.h.

Full Changelog: v0.5.0...v0.6.0

v0.5.0

Choose a tag to compare

@morfredus morfredus released this 28 Jul 11:41

Changed

  • Data moved under /var/lib/morfsystem/morfsync (see docs/FILESYSTEM.md). The per-domain sync journals are persistent state, distinct from the program (/opt) and admin config (/etc): they no longer live under /opt/morfsync/data. The unit declares StateDirectory=morfsystem/morfsync, exposed via $STATE_DIRECTORY. The config dataDir key still takes precedence.

Migration

sudo systemctl stop morfsync
sudo mv /opt/morfsync/data/* /var/lib/morfsystem/morfsync/ 2>/dev/null || true
sudo systemctl start morfsync

v0.2.8 - Renommage en morfSync

Choose a tag to compare

@morfredus morfredus released this 15 Jul 23:31

HomeServerHub devient morfSync (famille morf : morfBeacon, morfUpdate…).

Renommage complet

  • Produit / binaire / cible CMake : morfSync (le binaire s'appelle morfSync).
  • Service systemd : morfsync (minuscules) ; config dans /etc/morfsyncinstall-service.sh migre automatiquement depuis /etc/homeserverhub.
  • Dossier de données : ~/.local/share/morfredus/morfSync (Linux) / %LOCALAPPDATA%\morfredus\morfSync (Windows).
  • Tâche + dossier Windows : morfsync / C:\ProgramData\morfsync.
  • Dépôt GitHub : renommé morfSync_travail.

Aucun changement fonctionnel : mêmes endpoints, même comportement. La détection d'époque (0.2.5) fait que les clients se re-synchronisent seuls malgré le changement de dossier de données.

Migration

Désinstaller l'ancien service homeserverhub, puis lancer install-service.sh (la config est récupérée automatiquement). Voir la doc docs/INSTALLATION.md.

v0.2.6 - Mise à jour fiable du service

Choose a tag to compare

@morfredus morfredus released this 15 Jul 18:44

Mise à jour du service fiable, enfin.

Corrigé

Après un simple git pull, CMake ne recompilait pas toujours : l'ancien binaire (version périmée) restait dans build/ et était recopié tel quel. La mise à jour du service ne remplaçait alors rien.

  • update-service.sh --build enchaîne désormais git pull → reconstruction propre (rm -rf build) → remplacement du binaire → redémarrage. Un seul appel suffit.
  • Nouveau flag --version / -v : afficher la version sans démarrer le serveur (vérification fiable — dans le binaire, le nom et le numéro sont stockés séparément, donc introuvables par un grep).

Mettre à jour (Linux)

sudo ./scripts/linux/update-service.sh --build
curl http://localhost:8080/api/health     # doit afficher "version":"0.2.6"

La procédure manuelle complète (avec l'étape rm -rf build, indispensable) est documentée dans docs/INSTALLATION.md → « Mettre à jour le binaire ».

v0.2.5 - Identité de journal (détection de reset)

Choose a tag to compare

@morfredus morfredus released this 15 Jul 18:19

Robustesse : le hub signale son « époque » de journal.

✨ Nouveauté

Chaque journal de domaine porte désormais un journalId stable, exposé dans la réponse de GET /{domaine}/changes et dans GET /api/status.

S'il change — parce que le dossier de données du hub a été déplacé ou réinitialisé, et que le journal repart donc de zéro — les clients le détectent et réinitialisent leur curseur au lieu de rater silencieusement les changements.

Corrige le cas concret : une suppression faite sur un poste n'était pas propagée aux autres après un déménagement des données du hub.

À utiliser avec ComponentHub ≥ 1.7.1 (côté client).