Skip to content

Releases: un-ts/changesets-gitlab

v0.17.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 14:37
0016025

Minor Changes

  • #272 c39c30d Thanks @i1stG! - Added the changesets-gitlab/changelog changelog generator for Changesets. It links each entry to the corresponding GitLab merge request, commit and author, linkifies [#123](https://github.com/un-ts/changesets-gitlab/issues/123) issue and !123 merge request references, and supports the repo, disableThanks and template options like @changesets/changelog-github.

    {
      "changelog": ["changesets-gitlab/changelog", { "repo": "group/project" }]
    }

v0.16.2

Choose a tag to compare

@github-actions github-actions released this 05 Oct 09:50
18c61fb

Patch Changes

  • #269 5cfee82 Thanks @i1stG! - Fixed Forward the GITLAB_TOKEN authentication to the Changesets CLI and to custom version/publish scripts. The CLI runs git fetch itself (for example to deepen a shallow clone) and no longer fails with could not read Username for 'https://…' when the CI remote URL is not authenticated (#268).

New Contributors

Full Changelog: v0.16.1...v0.16.2

v0.16.1

Choose a tag to compare

@github-actions github-actions released this 20 Sep 18:54
264e0fa

Patch Changes

  • #265 4497447 Thanks @utix! - Add tslib to dependencies. The compiled output imports tslib at runtime (via the importHelpers tsconfig option), but it was missing from package.json, causing ERR_MODULE_NOT_FOUND: Cannot find package 'tslib' when running via npx.

New Contributors

  • @utix made their first contribution in #265

Full Changelog: v0.16.0...v0.16.1

v0.16.0

Choose a tag to compare

@github-actions github-actions released this 19 Sep 14:24
fd039fe

Minor Changes

  • #259 bfe0398 Thanks @JounQin! - Sync with changesets/action v2 (structure, behaviour and fixes).

    Breaking

    • Inputs renamed to match upstream: publish → publish-script, version → version-script, commit → commit-message, title → pr-title, target_branch → pr-base-branch. Set them through the underscore-normalized INPUT_* variable; the old names now error with the variable to use (inputs whose variable is unchanged keep working)
    • publishedPackages output renamed to published-packages
    • The split flow is now CLI commands (select-mode, version, pack, publish) instead of GitHub sub-actions, plus pr-status/pr-comment. runPublish/runVersion take a gitlab: GitLab instance and runVersion returns RunVersionResult
    • changeset version is no longer run with its exit code ignored, so the version command fails when there is nothing to version, like upstream's /version sub-action

    Added

    • pr-draft, create-gitlab-releases, push-git-tags and push-with-git-cli inputs; with push-with-git-cli: false the release commit and tags are created through the GitLab API (via commitChangesSinceBase, the @changesets/ghcommit counterpart)
    • has-changesets and pr-number outputs; every output uses upstream's core.setOutput (native $GITHUB_OUTPUT, otherwise ~/.changesets-gitlab.outputs)

    Changed

    • Use the exact tags reported by CHANGESETS_OUTPUT, support the built-in changeset publish (--from-pack-dir) and run custom scripts and callbacks through @actions/exec
    • getChangelogEntry follows upstream (1d54b9e): parse with a regex and return the raw changelog slice instead of re-serializing it through remark, dropping the remark/unified dependencies. It also recognizes ~~~ fences, keeping the edge case the previous remark implementation handled
    • The split version/publish commands read script like the upstream sub-actions (falling back to version-script/publish-script)
    • pr-draft mirrors upstream: create/always open a new merge request as draft, and only always converts an existing one (GitLab marks drafts with a Draft: title prefix)
    • npm authentication is left to npm (Trusted Publishing/OIDC, otherwise NODE_AUTH_TOKEN); removed the .npmrc/NPM_TOKEN handling
    • Git CLI authentication uses command-scoped http.extraHeader instead of writing the token into .git/config; DEBUG_GITLAB_CREDENTIAL now only unsilences the auth remote lookup
    • All logging goes through @actions/core instead of console.*

    Fixed

    • Warn when a custom publish script does not produce CHANGESETS_OUTPUT, and fail on malformed output
    • The empty-release-MR guard compares package versions, so it also works when the version command commits the changes
    • Tag push failures warn (the tag may already exist), publish failures fail the job, and the gitlab[bot] identity is only a fallback
    • Use fully-qualified refspecs for git fetch/git push so a branch or tag name cannot be interpreted as a git command option
    • Point the merge request status comment links at the current Changesets FAQ (https://changesets.dev/faq)
    • Apply the input-migration guards to the split version/publish commands too, and forward remove-source-branch from version
    • Detect an already-checked-out branch by exit code, create the comment API lazily so a changeset-release* branch without GITLAB_TOKEN stays a no-op, and resolve publish-plan-path against cwd
    • Keep paths with spaces or non-ASCII characters intact when committing through the GitLab API (-z parsing)
  • #262 1f81ba5 Thanks @JounQin! - Breaking Drop CommonJS support, matching the ESM-only changesets/action: the package no longer ships a require-able entry (lib/index.cjs / index.d.cts), and only import is supported.

Patch Changes

  • #261 27143ed Thanks @JounQin! - Fixed runVersion resets the changeset-release/* branch to the pipeline trigger commit (CI_COMMIT_SHA) instead of the latest origin/${branch} tip, matching changesets/action. A delayed pipeline can no longer version changesets it never saw (#236). This makes the CI_COMMIT_SHA, CI_COMMIT_REF_NAME and CI_PROJECT_ID environment variables required: GitLab CI injects them automatically, but other CI environments must set them explicitly.

  • #264 4cb2261 Thanks @JounQin! - Fixed Resolve the Changesets CLI from the package manager's global directory (npm/yarn/pnpm) as a fallback when it is not installed in the repository. A globally installed changesets-gitlab no longer fails with Have you forgotten to install @changesets/cli (#125).

v0.15.1

Choose a tag to compare

@github-actions github-actions released this 19 Sep 04:49
2c20ec7

Patch Changes

  • #257 5346423 Thanks @JounQin! - fix: default to the root package when pnpm-workspace.yaml has no packages field, and include private packages opted into versioning in the comment template

v0.15.0

Choose a tag to compare

@github-actions github-actions released this 17 Sep 04:04
0db157c

Minor Changes

  • #252 9e4fcec Thanks @philibea! - Drop support for Changesets v2 and Node < 22. Bump all @changesets/* dependencies to v3 and @manypkg/get-packages to v3.

    Breaking changes:

    • Node engine requirement bumped from >=18.0.0 to ^22.12 || ^24 || >=26 to match Changesets v3
    • @changesets/* dependencies bumped to v3 versions, which are ESM-only
    • @manypkg/get-packages bumped to v3, changing the Packages and Package types (tool is now an object with type property, root renamed to rootPackage, Package now requires relativeDir)

    Bug fixes for Changesets v3 compatibility:

    • Handle the new changeset version exit code 1 when no unreleased changesets exist
    • Detect published packages via the CHANGESETS_OUTPUT env var (NDJSON format) from Changesets v3
    • Prevent creating empty release MRs when the version command produces no file changes — fall through to publish instead
    • Use ignoreReturnCode: true on version and publish commands since v3 may exit non-zero in valid scenarios
    • Releases for a single-package (root) repository now consistently use a v<version> tag, matching Changesets v3 output
  • #220 15840f3 Thanks @JounQin! - Refresh dependencies, including several major upgrades:

    • @actions/core v2 → v3 and @actions/exec v1 → v3
    • @gitbeaker/rest v42 → v43 — request error messages now include only the description context
    • commander v13 → v15 — now ESM-only and requires Node.js ≥ 22.12 (require(esm)); the deprecated commander/esm.mjs export was removed
    • dotenv v16 → v17
    • global-agent v3 → v4
    • p-limit v6 → v7

    Minimum supported Node.js raised from ^22.11 to ^22.12 to satisfy commander v15's require(esm) support.

    This refresh also resolves security advisories in the runtime qs dependency (via @gitbeaker/rest, qs 6.15.3 → 6.16.0) and in the development-only vitest/@vitest/mocker and minimatch dependencies.

    Dev tooling majors were upgraded as well (eslint v10, typescript v6 / native preview, vitest v5, size-limit v14, @pkgr/rollup v7, npm-run-all2 v9, nano-staged v1).

New Contributors

Full Changelog: v0.14.0...v0.15.0

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 09 Aug 17:25
99a83a0

Minor Changes

New Contributors

Full Changelog: v0.13.7...v0.14.0

v0.13.7

Choose a tag to compare

@github-actions github-actions released this 09 Aug 15:25
c108eb7

Patch Changes

v0.13.6

Choose a tag to compare

@github-actions github-actions released this 09 Aug 11:06
bb5c246

Patch Changes

New Contributors

Full Changelog: v0.13.5...v0.13.6

v0.13.5

Choose a tag to compare

@github-actions github-actions released this 29 Jul 19:01
02e6ab7

Patch Changes

New Contributors

Full Changelog: v0.13.4...v0.13.5