Releases: morfredus/morfSync
Release list
morfSync - v0.7.4
morfSync 0.7.4
- Re-vendored morfDeploy 0.20.5 (opt-in arm64 cross-packaging and the sysroot
.shlibsDepends 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
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
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
- Declare a
nlohmann-jsonbuild dependency inservice.json; morfDeploy 0.9.0 resolves it before the build (Debiannlohmann-json3-dev, or announces the need on a toolchain without a package manager). No code change.
morfSync - v0.6.2
Fixed
- systemd unit description: replaced the em dash with a plain hyphen, per the parc's
punctuation rule.
v0.6.0
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
Changed
- Data moved under
/var/lib/morfsystem/morfsync(seedocs/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 declaresStateDirectory=morfsystem/morfsync, exposed via$STATE_DIRECTORY. The configdataDirkey still takes precedence.
Migration
sudo systemctl stop morfsync
sudo mv /opt/morfsync/data/* /var/lib/morfsystem/morfsync/ 2>/dev/null || true
sudo systemctl start morfsyncv0.2.8 - Renommage en morfSync
HomeServerHub devient morfSync (famille morf : morfBeacon, morfUpdate…).
Renommage complet
- Produit / binaire / cible CMake :
morfSync(le binaire s'appellemorfSync). - Service systemd :
morfsync(minuscules) ; config dans/etc/morfsync—install-service.shmigre 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
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 --buildenchaîne désormaisgit 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 ungrep).
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)
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).