Skip to content

Prepare 7.0.0: changelog, ChangeRelease, oEmbed fix, store text - #322

Merged
rthaut merged 3 commits into
masterfrom
chore/prepare-7.0.0
Oct 4, 2026
Merged

rthaut merged 3 commits into
masterfrom
chore/prepare-7.0.0

Conversation

@rthaut

@rthaut rthaut commented Sep 30, 2026

Copy link
Copy Markdown
Owner

Prepares 7.0.0. Don't merge until the owner review below is done. Once this merges, the Release PR (#241) picks it up.

Closes #300
Closes #295

Changes

  • CHANGELOG.md in Keep a Changelog format, with the same header as text-utils.
    • Unreleased has the 7.0.0 notes: MV3 for Chrome and Edge, Firefox stays on MV2, the WXT build, React Router 6, the Firefox data-collection declaration, the oEmbed fix, and the lodash-es and react-router-dom security updates.
    • 5.0.0 through 6.2.2 are copied from docs/pages/releases/*.md, with the headings mapped: New Features → Added, Bug Fixes → Fixed, Changes/Other Changes → Changed, Removed Functionality → Removed. "Release Notes" prose sits directly under the version heading. The 6.1.0 <video> embed is now a link.
    • 5.1.1 and 5.1.2 have no docs pages, so their entries come from the GitHub release bodies.
    • Versions before 5.0.0 and the 6.0.0 alpha/beta prereleases are left out; they stay on GitHub Releases.
  • .github/workflows/changerelease.yml, copied from text-utils. dropseed/changerelease is pinned to the v1.6.0 commit SHA, the same way the visual recap workflow pins its actions.
  • oEmbed URL encoding (Encode the deviation URL in the oEmbed request #295): GetOEmbedURL() in app/scripts/background/oembed.js builds the request with URL and searchParams.set. npm test now runs test:unit (node --test, no new dependencies). The test fails against the old string interpolation (checked by swapping it back in).
  • Update page: after an update, the extension now opens the GitHub release for the new version, not rthaut.github.io/deviantART-Filter/releases/v<version>/. That docs page won't exist for 7.0.0, so the old code would have opened a 404 for everyone updating from 6.2.2 (major updates show the page by default).
  • Docs Releases page: points to CHANGELOG.md and GitHub Releases for 7.0.0 and later. The old pages stay. The 6.2.1 and 6.2.2 dates are fixed from 2023 to 2024.
  • store/descriptions.md: draft Chrome/Edge and AMO listing text. It's plain prose with no keyword or feature lists, and it drops the stale "install from Mozilla Add-ons" and tag/category wording.

Owner review

  1. Changelog wording, especially Unreleased and the Security entries. The react-router-dom advisory (GHSA-jjmj-jmhj-qwj2) only affected 6.30.2–6.30.5. 6.2.2 shipped react-router-dom 5.3.4, so no released build was exposed. The entry says the fix is included; it doesn't claim a released version was vulnerable.
  2. What ChangeRelease does when this merges. The workflow runs on the CHANGELOG.md push and syncs the latest 5 versions (its default limit):
    • It creates the missing v6.2.2 GitHub release (the v6.2.2 tag exists now, Tag v6.2.2 #299).
    • It rewrites the bodies of the existing v6.2.1 (currently empty), v6.2.0, v6.1.1, and v6.1.0 releases to match the changelog. The content is the same; the headings change.
    • It never creates tags. A version without a tag makes the job fail rather than creating one.
  3. Release order for 7.0.0. nextrelease creates the v7.0.0 tag and a GitHub release with an empty body when Release version 7.0.0 #241 merges. A tag pushed with GITHUB_TOKEN doesn't start other workflows, so ChangeRelease won't fill that body on its own. This matches what happened with text-utils v1.1.0 (empty release body). The suggested order:
    1. Merge this PR. Release version 7.0.0 #241 updates.
    2. Merge Release version 7.0.0 #241. That creates the tag and the empty release.
    3. Push a small CHANGELOG.md commit to master that renames ## [Unreleased] to ## [7.0.0] - <date>, adds a new empty ## [Unreleased], and updates the link references. ChangeRelease then fills in the v7.0.0 release body. You can also run the workflow manually from the Actions tab.
  4. Update-page change (see above). It opens a background tab to https://github.com/rthaut/deviantART-Filter/releases/tag/v7.0.0. The release has to exist when users update, which it will once Release version 7.0.0 #241 merges.
  5. Store text in store/descriptions.md. It's used by Submit 7.0.0 to the Chrome, Edge, and Firefox stores #303.

Verification

  • npm test passes locally (Node 24): lint (the 2 existing no-case-declarations directive warnings), 2 unit tests, all three builds, manifest smoke test, zips, and web-ext lint (0 errors, same 6 warnings as master).
  • The changelog parses with ChangeRelease's version regex: 13 versions, Unreleased skipped, and each version's body extracts cleanly.

Related 7.0.0 issues: #301 (scripted test pass), #302 (manual check), #303 (store submissions).

Build the oEmbed request URL with URL and searchParams instead of string
interpolation, so deviation URLs containing &, #, or + reach the API
intact. Add a node:test unit test and run it from npm test.

Fixes #295
Backfill every release from 5.0.0 through 6.2.2 from the docs site release
pages (5.1.1 and 5.1.2 from their GitHub releases), and list the 7.0.0
changes under Unreleased. ChangeRelease syncs GitHub releases from the
changelog. The docs Releases page now points to the changelog and GitHub
Releases, and the page opened after an update is the GitHub release.
@rthaut rthaut added this to the 7.0.0 milestone Sep 30, 2026
@rthaut
rthaut merged commit 94555d8 into master Oct 4, 2026
3 checks passed
@rthaut
rthaut deleted the chore/prepare-7.0.0 branch October 4, 2026 21:50
@github-actions github-actions Bot mentioned this pull request Oct 4, 2026
3 tasks
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.

Prepare the 7.0.0 release: changelog, ChangeRelease, store text Encode the deviation URL in the oEmbed request

1 participant