fix(syncedinstance): Prevent same-instance syncs and sanitize post update payloads; update tests and docs

This commit is contained in:
2025-10-11 06:16:44 +00:00
parent 00dd0c69a5
commit 2bb86552e2
9 changed files with 582 additions and 49 deletions

View File

@@ -1,5 +1,13 @@
# Changelog
## 2025-10-11 - 2.2.1 - fix(syncedinstance)
Prevent same-instance syncs and sanitize post update payloads; update tests and docs
- SyncedInstance now validates and normalizes source and target base URLs (trailing slashes and case) and throws a clear error when attempting to sync an instance to itself to prevent circular syncs.
- Post.update signature changed to accept Partial<IPost>. Update logic now builds a sanitized payload and removes read-only/computed fields (uuid, comment_id, url, excerpt, reading_time, created_at, primary_author, primary_tag, etc.) before calling the Admin API to avoid conflicts.
- Added/updated integration tests (dates, syncedinstance validation) and adjusted tag tests to be resilient; README expanded with examples, usage notes, and multi-instance sync safety details.
- Improved tag sync/update to preserve slug when updating tags on targets.
## 2025-10-10 - 2.2.0 - feat(apiclient)
Add native Admin & Content API clients, JWT generator, and tag visibility features; remove external @tryghost deps and update docs