Skip to content

Release javascript-modules-engine 1.3.1 #674

Description

@Fgerthoffert

✅ Summary

  1. Minimum Jahia version
  2. Testing matrix
  3. Prepare checklist
  4. Tests checklist
  5. Publication checklist

Minimum Jahia version

We aim at reducing the possible deployment matrices by regularly bumping up the minimum Jahia version when releasing new versions of our modules. When creating a Release ticket for a module, consult with your PM to identify the new minimum Jahia version this module must be associated with. The default guideline is for a new module release to be compatible with the 2 previous releases.

Current Jahia Version: 8.2.1.0

Desired Jahia Version: 8.2.1.0 (no change, kept on purpose)

📜 Testing matrix

Notes for release testing:

Minor release: new image API (<JImage> / getImageProps), cache dependencies collected automatically by buildNodeUrl, absolute URL option, children in client-only islands, plus fixes:

#789 #783 #810 #786 #811 #807 #788 #792 #680 #681 #715 #813 #790 #668 #793

Without a DAM or an image resizer, JImage serves the original file for every candidate: check srcset/sizes/alt, not the resizing. The build now uses Vite 8 / Rolldown (#668), and Vite 6 to 8 stay supported.

Version matrix

We aim at clearly documenting the possible deployment scenarios in a matrix and specify which ones are expected to be tested or not. In the testing matrix, always use the latest patch version of a particular release

The following combinations should be validated:

  • minimum Jahia version (according to the pom.xml)
  • Jahia 8.2.1.x

ℹ️ If you are releasing for the main branch of a module, make sure to complete the checklist below when working on the ticket.

✏️ Prepare checklist

  • All other tickets within that milestone are are closed
  • Testing matrix and Minimum Jahia version are detailed
  • Jahia-parent (minimum Jahia version) was updated if requested in the ticket
  • Release creation has been triggered from the Github Release UI (detailed documentation) — 1.3.0 was released to staging (run) then abandoned, version burned. 1.3.1: release run

🚦 Tests checklist

General

  • Manual tests detailing testing steps for validating the release of this module are present on Testrail
  • Automated tests using the release artifacts were executed against the oldest and newest release of Jahia

Module migration

  • Upgrade from the previous released version of the module was tested
  • The upgrade did not require clearing the browser cache (i.e. missing labels)

While Testing

  • No warnings or errors are present in the browser console when testing the module
  • No warnings or errors are present in Jahia logs when testing the module (incl. migration)
  • Select a random set of fixes from the release and verify them on the minimum jahia-version

After Testing

  • Tested combinations (Jahia versions, modules versions) are listed in this released ticket
  • Tested scenarios not detailed in Testrail are listed in this release ticket
  • The version was updated in the Selenium integration tests

🚀 Publication checklist

Activity

  1. self-assigned this
    on Jun 9, 2026
  2. Fgerthoffert commented on Oct 14, 2026

    @Fgerthoffert
    MemberAuthor

    ✅ 1.3.1 released to staging: tag 1_3_1 from main, release run fully green (Maven + npm + SBOM)

    📦 Nexus staging: jahia_staging_releases-3114, https://devtools.jahia.com/nexus/content/repositories/jahia_staging_releases-3114/org/jahia/modules/javascript-modules-engine/1.3.1/ (Nexus login required)

    📦 npm: @jahia/create-module, @jahia/javascript-modules-library, @jahia/vite-plugin published at 1.3.1 (latest=1.3.1). The 1.3.0 packages stay on npm and are identical in content

    📝 Release description curated on the draft release (link on the Publication checklist). Content identical to the abandoned 1.3.0: the 14 changelog fragments since 1_2_0

    ✅ Chachalog: the release branch is patched — #733 now says v1.3.1 (CHANGELOG heading + .chachalog/.version). Re-verify it still says 1.3.1 right before merging it: any main push regenerates it back to 1.3.0

    🔀 Jahia/jahia-pack-private#1213 re-pinned to 1.3.1, ready for review — merge at publication

    ℹ️ History: 1.3.0 was released to staging (run) then abandoned after an issue was found; artifacts reached Nexus, no rollback. Its draft release is deleted, the git tag stays. main is now on 1.4.0-SNAPSHOT (normal post-release state)

    ⏭️ Next: stage 4 — QA tests the staged 1.3.1 artifacts per the Tests checklist (matrix: Jahia 8.2.1.x)

  3. changed the title [-]Release javascript-modules-engine 1.3.0[/-] [+]Release javascript-modules-engine 1.3.1[/+] on Oct 16, 2026
  4. self-assigned this
    on Oct 16, 2026
  5. x0h01 commented on Oct 16, 2026

    @x0h01
    Contributor

    Jahia versions used

    Jahia jsm before → after
    8.2.1.0 0.3.0 (bundled) → 1.2.0 → 1.3.1
    8.2.2.9 1.2.0 (bundled) → 1.3.1
    8.2.3.7 1.2.0 (bundled) → 1.3.1
    8.2.4.0-SNAPSHOT build 351593c 1.3.0-SNAPSHOT (bundled) → 1.3.1

    ✅️ Basic install/upgrade/import/e2e checks

    Check 8.2.1.0 8.2.2.9 8.2.3.7 8.2.4.0-SNAPSHOT
    upgrade, old version removed, 0 WARN/ERROR ✔ ✔ ✔ ✔
    Luxe import and browsing after the upgrade ✔ ✔ ✔ ✔
    Luxe cypress e2e ✔ ✔ ✔ ✔
    jsm cypress e2e ✔ ✔ ✔ ✔

    ✅️ Change-list validations (manual)

    Check Result
    npm init @jahia/module@1.3.1 b5-module -- --template hello-world --yes (#715) PASS: no prompt (stdin closed), project created
    build and deploy with Vite 7.3.7 (template default), 8.3.4 and 6.4.4 (#668) PASS: each builds, deploys and is ACTIVE
    JCRStoreProvider in the TS types (#790) PASS: currentNode.getProvider().getKey()/getMountPoint()/isAvailable() type-check, and an unknown method fails with TS2339
    jahia-deploy exit codes (#813) PASS: success 0, same-version redeploy 0; unreachable host, wrong password and corrupt package each 1 (the unreachable case prints a stack trace)
    Cross-site absolute URL with real server names (#811) Passed. All 4 URLs return 200, and on each, all 4 values hold one origin.
    DAM / image resizer - <JImage> serves resized renditions per srcset candidate, and absolute on a DAM URL (#786) PASSED
    Client-only island, no console hydration error (#807) no hydration errors in console

    ✅️ Change-list validations (covered by tests)

    Change Covered by
    <JImage> / getImageProps (#789) imageTest, 34 tests: srcset/sizes, density descriptors, alt fallback, SVG, DAM getUrl channel, origin prefix. Luxe 30-image-rendering, 31-srcset-live-integrity
    buildNodeUrl cache dependencies (#783, #810) cacheDependencyAutocollectTest: flushes the views that built the URL, leaves the opted-out ones, explicit context, included and virtual views
    absolute option (#786, #811) urlHelperTest (content_link_absolute, …)
    <Island clientOnly> children (#807) reactClientSideTest: hydration, and children hidden while loading
    Edit-frame links (#788) urlHelperTest "should stay inside the edit frame"
    addCacheDependency by uuid (#792) cacheDependencyUuidTest
    readOnly="children" absolute areas (#680) absoluteAreaTest
    GraphQL subrequests (#681) gqlTest "rendered inside a GraphQL POST request"
    Embedded dependency bumps (#664) Luxe (built on 1.2.0) passes on 1.3.1, i18n language switcher included. The island props payloads on Luxe pages have the same structure under devalue 6

    ✅️ Testrail cases // jahia 8.2.1.0, 8.2.3.7

    ✅️ Manual UIX exploratory session

    • PASSED

    Follow up items (not blockers for the release):

    📝 Ready for publication.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions