vpnhide/scripts
okhsunrog 40b15dd063 feat(scripts): migrate changelog to per-PR fragments under changelog.d/
The JSON `unreleased` section was a conflict magnet — every PR touching
it collided with every other PR touching it. Fragments sidestep that:
each entry is its own TOML file, two PRs get two files, merges don't
touch the same bytes.

- changelog_lib.py: add FRAGMENTS_DIR, load_fragments(),
  fragments_as_sections(), rotate_fragments_into_history();
  render_full_md() now takes fragments explicitly.
- changelog.py: write a TOML fragment to changelog.d/<ts>-<slug>.toml
  instead of appending to JSON. Auto-derive slug from EN text; accept
  --slug override.
- release.py: load fragments, rotate into history[0], delete them.
- lsposed/app/src/main/assets/changelog.json: drop `unreleased` key;
  only `history` remains (the 8 unreleased entries migrated to
  changelog.d/*.toml). CHANGELOG.md regenerates byte-identical.
- UpdateChecker.kt: fix long-standing loadChangelog bug — was calling
  parseChangelogEntry on the root object, which has no `version` field,
  so the parse always threw and the function silently returned null.
  Simplify ChangelogData to {history} and parse history[]; drop the
  unused `current` field that DashboardScreen just concatenated back in.
- .gitattributes: mark changelog.d/*.toml as merge=union, belt-and-
  suspenders fallback for same-filename collisions (rare — filenames
  carry a timestamp).
- docs/changelog.md, docs/releasing.md, CONTRIBUTING.md,
  changelog.d/README.md: describe the new flow.
2026-04-19 20:05:39 +03:00
..
build-version.sh build: stamp git-describe build version into every artifact 2026-04-17 14:42:40 +03:00
changelog.py feat(scripts): migrate changelog to per-PR fragments under changelog.d/ 2026-04-19 20:05:39 +03:00
changelog_lib.py feat(scripts): migrate changelog to per-PR fragments under changelog.d/ 2026-04-19 20:05:39 +03:00
clean-device.sh Fix zygisk first-launch race: dashboard waited on stale selfNeedsRestart 2026-04-14 15:24:20 +03:00
release.py feat(scripts): migrate changelog to per-PR fragments under changelog.d/ 2026-04-19 20:05:39 +03:00
update-json.sh Wire portshide into release + update-json pipeline 2026-04-15 16:45:58 +03:00