Skip to content

Releases

v7.0.0

Choose a tag to compare

@v-chiranjib-swain v-chiranjib-swain released this 21 Jul 02:40
Immutable release. Only release title and notes can be modified.
bf12e9b

What's Changed

Enhancements:

  • Migrate to ESM and update dependencies by @chiranjib-swain in #949

Full Changelog: v6...v7.0.0

v6.2.0

Choose a tag to compare

@v-chiranjib-swain v-chiranjib-swain released this 09 Jul 02:45
b8dd2d9

What's Changed

Bug Fix

  • Improve PR number validation and warning messages in input handling by @chiranjib-swain in #939

Dependency Updates

  • Bump js-yaml to 4.2.0, apply npm audit fix, and add undici override by @dependabot in #943
  • Bump @typescript-eslint/eslint-plugin from 8.59.1 to 8.61.1 by @dependabot in #942

Full Changelog: v6.1.0...v6.2.0

v6.1.0

Choose a tag to compare

@v-chiranjib-swain v-chiranjib-swain released this 06 May 02:46
f27b608

Enhancements

  • Add changed-files-labels-limit and max-files-changed configuration options to cap the number of labels added by @bluca in #923

Bug Fixes

  • Improve Labeler Action documentation and permission error handling by @chiranjib-swain in #897
  • Preserve manually added labels during workflow runs and refine label synchronization logic by @chiranjib-swain in #917

Dependency Updates

  • Upgrade brace-expansion from 1.1.11 to 1.1.12 and document breaking changes in v6 by @dependabot in #877
  • Upgrade minimatch from 10.0.1 to 10.2.3 by @dependabot in #926
  • Upgrade dependencies (@actions/core, @actions/github, js-yaml, minimatch, @typescript-eslint) by @Copilot in #934

New Contributors

  • @chiranjib-swain made their first contribution in #897
  • @bluca made their first contribution in #923
  • @Copilot made their first contribution in #934

Full Changelog: v6...v6.1.0

v6.0.1

Choose a tag to compare

@v-HarithaVattikuti v-HarithaVattikuti released this 04 Sep 17:56
634933e

What's Changed

  • Upgrade publish-action from 0.2.2 to 0.4.0 by @aparnajyothi-y in #901

New Contributors

  • @aparnajyothi-y made their first contribution in #901

Full Changelog: v6.0.0...v6.0.1

v6.0.0

Choose a tag to compare

@v-HarithaVattikuti v-HarithaVattikuti released this 04 Sep 03:46
f1a63e8

What's Changed

  • Add workflow file for publishing releases to immutable action package by @Jcambass in #802

Breaking Changes

  • Upgrade Node.js version to 24 in action and dependencies @salmanmkc in #891
    Make sure your runner is on version v2.327.1 or later to ensure compatibility with this release. Release Notes

Dependency Upgrades

Documentation changes

  • Add note regarding pull_request_target to README.md by @silverwind in #669
  • Update readme with additional examples and important note about pull_request_target event by @IvanZosimov in #721
  • Document update - permission section by @harithavattikuti in #840
  • Improvement in documentation for pull_request_target event usage in README by @suyashgaonkar in #871
  • Fix broken links in documentation by @suyashgaonkar in #822

New Contributors

Full Changelog: v5...v6.0.0

v5.0.0

Choose a tag to compare

@MaksimZhukov MaksimZhukov released this 04 Dec 14:14
8558fd7

What's Changed

This release contains the following breaking changes:

  1. The ability to apply labels based on the names of base and/or head branches was added (#186 and #54). The match object for changed files was expanded with new combinations in order to make it more intuitive and flexible (#423 and #101). As a result, the configuration file structure was significantly redesigned and is not compatible with the structure of the previous version. Please read the action documentation to find out how to adapt your configuration files for use with the new action version.

  2. The bug related to the sync-labels input was fixed (#112). Now the input value is read correctly.

  3. By default, dot input is set to true. Now, paths starting with a dot (e.g. .github) are matched by default.

  4. Version 5 of this action updated the runtime to Node.js 20. All scripts are now run with Node.js 20 instead of Node.js 16 and are affected by any breaking changes between Node.js 16 and 20.

For more information, please read the action documentation.

New Contributors

Full Changelog: v4...v5.0.0

v5.0.0-beta.1

Pre-release

Choose a tag to compare

@MaksimZhukov MaksimZhukov released this 20 Sep 11:55
f4eefdc

What's Changed

In scope of this beta release, the structure of the configuration file (.github/labeler.yml) was changed from

LabelName:
- any:
  - changed-files: ['list', 'of', 'globs']
  - base-branch: ['list', 'of', 'regexps']
  - head-branch: ['list', 'of', 'regexps']
- all:
  - changed-files: ['list', 'of', 'globs']
  - base-branch: ['list', 'of', 'regexps']
  - head-branch: ['list', 'of', 'regexps']

to

LabelName:
- any:
  - changed-files: 
    - AnyGlobToAnyFile: ['list', 'of', 'globs']
    - AnyGlobToAllFiles: ['list', 'of', 'globs']
    - AllGlobsToAnyFile: ['list', 'of', 'globs']
    - AllGlobsToAllFiles: ['list', 'of', 'globs']
  - base-branch: ['list', 'of', 'regexps']
  - head-branch: ['list', 'of', 'regexps']
- all:
  - changed-files:
    - AnyGlobToAnyFile: ['list', 'of', 'globs']
    - AnyGlobToAllFiles: ['list', 'of', 'globs']
    - AllGlobsToAnyFile: ['list', 'of', 'globs']
    - AllGlobsToAllFiles: ['list', 'of', 'globs']
  - base-branch: ['list', 'of', 'regexps']
  - head-branch: ['list', 'of', 'regexps']

This is a beta version and we would appreciate it if you could provide us with your feedback. If you have any questions, ideas or concerns, please share them in the corresponding issue.

Details

In the implementation of the alpha version there were two options for changed-files:

  1. any (ANY glob must match against ANY changed file) and
  2. all (ALL globs must match against ALL changed files).

In scope of this PR, we expanded this functionality and provided the following combinations:

  1. AnyGlobToAnyFile - ANY glob must match against ANY changed file
  2. AllGlobsToAnyFile - ALL globs must match against ANY changed file
  3. AnyGlobToAllFiles - ANY glob must match against ALL changed files
  4. AllGlobsToAllFiles - ALL globs must match against ALL changed files

How do the any and all top-level keys work?

Top-level keys (any and all) bind options (changed-files, base-branch, head-branch) in the following ways:

  1. all: all of the provided options (changed-files, base-branch, etc.), glob combinations (AnyGlobToAnyFile, AllGlobsToAnyFile, etc.) and regexps must match for the label to be applied.
  2. any: any of the provided options (changed-files, base-branch, etc.), glob combinations (AnyGlobToAnyFile, AllGlobsToAnyFile, etc.) and regexps must match for the label to be applied.

If an option is specified without a top-level key, it will default to any.

Usage example:

# Add the `frontend` label to any change to any *.js files as long as the `main.js` hasn't been changed and the PR is open against the `main` branch
frontend:
- all:
  - changed-files: 
    - AnyGlobToAnyFile: ['src/**/*.js']
    - AllGlobsToAllFiles: ['!src/main.js']
  - base-branch: 'main'

Full Changelog: v5.0.0-alpha.1...v5.0.0-beta.1

v4.3.0

Choose a tag to compare

@MaksimZhukov MaksimZhukov released this 10 Jul 11:53
ac9175f

What's Changed

In scope of this release, the ability to specify pull request number(s) was added by @credfeto in #349.

Support for reading from the configuration file presented on the runner was added by @lrstanley in #394. It allows you to use a configuration file generated during workflow run or uploaded from a separate repository.

Please refer to the action documentation for more information.

This release also includes the following changes:

New Contributors

Full Changelog: v4...v4.3.0

v4.2.0

Choose a tag to compare

@Samriel Samriel released this 29 Jun 12:09
0967ca8

What's Changed

In the scope of this release, the following outputs were added by @danielsht86 in #60:

  • new-labels - a comma-separated string that contains all newly added labels.
  • all-labels - a comma-separated string that contains all labels currently assigned to the PR.

For detailed information, please refer to our updated documentation.

The issue of encountering an HttpError: Server Error when adding more than 50 labels has been successfully resolved by @markmssd in #497. However, it's important to note that the GitHub API imposes a limit of 100 labels. To ensure smooth operation, a warning message that will alert you if the number of labels exceeds this limit was implemented. From this point forward, if more than 100 labels are specified, only the first 100 will be assigned.

The error handling for the Resource not accessible by integration error was added by @jsoref in #405. Now, if the workflow is misconfigured, the labeler provides a clear warning and guidance for correction.

This release also includes the following changes:

New Contributors

Full Changelog: v4...v4.2.0

v4.1.0

Choose a tag to compare

@MaksimZhukov MaksimZhukov released this 05 Jun 10:30
9fcb2c2

What's Changed

In scope of this release, the dot input was added by @kachkaev in #316. It allows patterns to match paths starting with a period. This input is set to false by default.

Usage

name: "Pull Request Labeler"
on:
- pull_request_target

jobs:
  triage:
    permissions:
      contents: read
      pull-requests: write
    runs-on: ubuntu-latest
    steps:
    - uses: actions/labeler@v4
      with:
        dot: true

This release also includes the following changes:

New Contributors

Full Changelog: v4...v4.1.0