Skip to content

chore(release): prepare v1.3.1 - #13

Merged
iitzSeriZdev merged 1 commit into
mainfrom
release/v1.3.1
Sep 27, 2026
Merged

iitzSeriZdev merged 1 commit into
mainfrom
release/v1.3.1

Conversation

@iitzSeriZdev

Copy link
Copy Markdown
Owner

What this is

Release preparation for v1.3.1, a small hotfix that packages everything fixed
after v1.3.0 was published. No runtime file changes: installer/, src/,
template/, tools/, package.json and the 17 template artifacts are
byte-identical to main.

Version

VERSION 1.3.0 → 1.3.1. It is the only authoritative version source —
tools/make-release.sh derives the tarball name, the top-level directory, the
manifest and the bootstrap's expectations from it, so
row-template-1.3.1.tar.gz follows with no other change. Neither
package.json nor docs/package.json carries a version field, and no workflow,
spec or citation file embeds one.

Historical references to v1.3.0 are untouched — installer/'s
"before 1.3.0" / "since 1.3.0" comments, tools/, the design audits, the docs
site's "Supported since 1.3.0" rows, and the CHANGELOG's v1.3.0 section and
link references all describe when something was introduced, not what the
current release is.

Changelog

A ## [1.3.1] - Unreleased section. The previous ## [Unreleased] block
becomes it, since everything in it was fixed after v1.3.0, and three entries are
added for the harness work that had no changelog entry yet:

  • the panel life-cycle tests are offline and no longer download a published
    release;
  • sqlite: false means sqlite3 is unavailable, not merely unimplemented;
  • the release validation is reproducible and fully green on Linux.

Nothing claims country-name detection, city-name detection, or live PasarGuard
validation — the flag entry states explicitly that country names and city
names
still draw the monogram.

READMEs

All five (README.md, README.fa.md, README.ar.md, README.ru.md,
README.zh-CN.md) change in the same three ways, keeping the version numbers
identical across translations as the README header requires:

  • the design count and the limitations heading name 1.3.1 — the two places
    that describe the release being prepared;
  • the PasarGuard page-title limitation is dropped, because this release
    fixes it; only Clash templates remain unproduced;
  • a flag limitation is stated explicitly now that alpha-2 codes work:
    flags come from a code or an emoji, never from a name.

"Supported since 1.3.0" stays historical, as does the rollback illustration that
names 1.1.0 and 1.3.0. The bug-report template's version placeholder moves to
1.3.1.

Validation

Linux, ubuntu-latest, run
36345902958
at 7707755, dispatched on this branch (workflow_dispatch) so the PR could be
opened only after it passed:

command result
npm test 785 tests, 785 pass, 0 fail, 0 skipped
npm run verify all checks passed
npm run lint:sh shellcheck: 12 scripts clean
npm run build:panels 51 shells, G1 green — the Go path is lossless

Release artifact

Built twice, independently — once from the working tree and once from a clean
clone of this branch — and byte-identical:

row-template-1.3.1.tar.gz   5,508,679 bytes
sha256  2e102e253661e46a2f06872ffbe14d6e978d541f98933253e7d9e85352d7d78c
  • cmp on the two archives is clean; SHA256SUMS is identical; only the
    manifest's created timestamp differs, by design.
  • The archive expands to row-template-1.3.1/ with inner VERSION = 1.3.1.
  • 17 templates and all 3 panel families (3xui, pasarguard,
    rebecca) — 17 shells each, 51 total.
  • Inner SHA256SUMS verifies 147/147 payload files, and all 68
    template.html.sha256 / shell.html.sha256 sidecars verify from the payload
    root, exactly as the installer reads them.
  • Archive structure is identical to v1.3.0 — find-level diff of the two
    release trees shows no file added, removed or renamed (148 entries each).
  • Both working trees are clean after the build.

tests/release.test.mjs already asserts byte-determinism as part of npm test,
so this is corroborated rather than newly established.

Not done, deliberately

Nothing is tagged. No GitHub Release is created or published. The v1.3.0 tag
and its published release are untouched — refs/tags/v1.3.0 is still
e103f746a188ed5f2b71fa4775ea6b59224cdefe.

Packages everything fixed after v1.3.0 was published as one small upgrade. No
runtime file changes: the installer, the adapters, the page sources and the
template artifacts are byte-identical to main.

- **`VERSION` 1.3.0 -> 1.3.1.** It is the only authoritative version source.
  `tools/make-release.sh` derives the tarball name, the top-level directory and
  the manifest from it, so `row-template-1.3.1.tar.gz` follows with no other
  change. Neither `package.json` nor `docs/package.json` carries a version
  field, and no workflow, spec or citation file embeds one.
- **`CHANGELOG.md`: a `## [1.3.1] - Unreleased` section.** The `## [Unreleased]`
  block becomes it, since everything in it was fixed after v1.3.0, and three
  entries are added for the harness work that had no changelog entry yet: the
  panel life-cycle tests are offline and no longer download a published
  release, `sqlite: false` means sqlite3 is unavailable rather than merely
  unimplemented, and the release validation is reproducible and green on Linux.
  A `[1.3.1]` compare link is added. Every v1.3.0 and earlier section is
  untouched.
- **The five READMEs.** The two places that name the release being prepared —
  the design count and the limitations heading — move to 1.3.1, and the
  PasarGuard page-title limitation is dropped because 1.3.1 fixes it (only
  Clash templates remain unproduced). A flag limitation is now stated
  explicitly, as the alpha-2 work makes it worth saying: flags come from a code
  or an emoji, never from a name, so country names and city names keep the
  monogram. "Supported since 1.3.0" stays historical, as does the rollback
  illustration that names 1.1.0 and 1.3.0. All five keep the same version
  numbers, which the README header requires.
- **The bug-report template's version placeholder** moves to 1.3.1; it is the
  version a reporter pastes.

Historical references to 1.3.0 are deliberately left alone: `installer/`'s
"before 1.3.0" and "since 1.3.0" comments, `tools/`, the design audits, and the
docs site's "Supported since 1.3.0" rows all describe when something was
introduced, not what the current release is.
@iitzSeriZdev
iitzSeriZdev merged commit 6086437 into main Sep 27, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant