# Changelog

This file contains changelogs.

View all Releases (opens new window)

# Unreleased (opens new window)

# v0.21.0 (2023-09-26) (opens new window)

# Removed

  • Removed Rule @mr-linter/has_all_labels
  • Removed unnecessary polyfills

# Changed

  • Catch exception on non-exists notification messenger

💾 Assets (opens new window)


# v0.20.2 (2023-09-13) (opens new window)

# Added

  • Added evaluator isNumber
  • Added evaluator containsNumber

💾 Assets (opens new window)


# v0.20.1 (2023-09-12) (opens new window)

# Fixed

  • Fixed rule "@mr-linter/has_any_labels" on empty labels

💾 Assets (opens new window)


# v0.20.0 (2023-09-12) (opens new window)

# Added

  • Added Rule @mr-linter/description_template for check description on defined template

# Removed

  • Removed rule @mr-linter/has_any_labels_of

💾 Assets (opens new window)


# v0.19.1 (2023-09-12) (opens new window)

# Added

  • Added an Evaluator notIntersect to check that the array does not intersect with the user array.

💾 Assets (opens new window)


# v0.19.0 (2023-09-11) (opens new window)

# Added

  • Added Rule @mr-linter/changelog_has_new_release on contains new release

# Removed

  • Removed Rule @mr-linter/update_changelog

💾 Assets (opens new window)


# v0.18.1 (2023-09-04) (opens new window)

# Added

  • Resolve rule params with default value

💾 Assets (opens new window)


# v0.18.0 (2023-09-03) (opens new window)

# Added

  • Added parameter projectCodes for rules @mr-linter/branch_starts_with_task_number, @mr-linter/jira/has_issue_link, @mr-linter/title_starts_with_task_number, @mr-linter/youtrack/has_issue_link for allow many specified project codes and any project code if parameter 'projectCodes' is empty

# Breaking changes

  • Rule @mr-linter/branch_starts_with_task_number: removed parameter projectName
  • Rule @mr-linter/jira/has_issue_link: removed parameter projectCode
  • Rule @mr-linter/title_starts_with_task_number: removed parameter projectName
  • Rule @mr-linter/youtrack/has_issue_link: removed parameter projectCode

# Internal

  • Removed ClassSummary

💾 Assets (opens new window)


# v0.17.1 (2023-09-02) (opens new window)

# Added

  • Added param task to title_conventional rule for checking if title contains task number

💾 Assets (opens new window)


# v0.17.0 (2023-08-30) (opens new window)

# Optimized

  • Updated PHP to 8.2
  • Deleted unless dependency "jetbrains/phpstorm-attributes"

💾 Assets (opens new window)


# v0.16.4 (2023-08-29) (opens new window)

# Added

  • Throw exception when github actions token is empty
  • Throw exception when gitlab token is empty

# Optimized

  • Reduced docker image size

# Docs

  • Updated rules doc page

# Internal

  • Bump guzzlehttp/psr7 from 2.4.3 to 2.4.5

💾 Assets (opens new window)


# v0.16.3 (2023-08-29) (opens new window)

# Added

  • Added rule title_conventional

💾 Assets (opens new window)


# v0.16.2 (2023-08-29) (opens new window)

# Optimized

  • Throw http exceptions and catch their in CI requests

💾 Assets (opens new window)


# v0.16.1 (2023-08-13) (opens new window)

# Added

  • Support GitLab CI job token

# Fixed

  • Fixed phar on "TwigTest not found"

💾 Assets (opens new window)


# v0.16.0 (2023-08-06) (opens new window)

# Added

  • Added comments with lint result for merge requests

💾 Assets (opens new window)


# v0.15.3 (2023-07-29) (opens new window)

# Added

  • Added "no ssh keys" rule to prevent ssh keys from being included in the merge request.
  • Added "disable file extensions" rule to disable adding files of certain extensions.

💾 Assets (opens new window)


# v0.15.2 (2023-07-29) (opens new window)

# Optimization

  • Add diff fragments for fast search in changes

💾 Assets (opens new window)


# v0.15.1 (2023-07-27) (opens new window)

# Added

  • Added Rule "diff limit"
  • Added examples for params of rules

💾 Assets (opens new window)


# v0.15.0 (2023-05-30) (opens new window)

# Added

  • Added rule "Update changelog"

# Internal

  • Resolving object config for rule
  • Refactored type resolvers

💾 Assets (opens new window)


# v0.14.1 (2023-05-27) (opens new window)

# Added

  • Add Evaluator "Not starts any"
  • Turn on forgotten rule "@mr-linter/forbid_changes"

💾 Assets (opens new window)


# v0.14.0 (2023-05-27) (opens new window)

# Added

  • Suppress error on non-critical rules via rule option critical: false
  • Added option stop_on_failure for stop linter on first failure
  • Added option stop_on_warning for stop linter on first warning

💾 Assets (opens new window)


# v0.13.1 (2023-05-26) (opens new window)

# Added

  • [Logger] Print date and time in logs
  • Added array of notes in event rule_was_failed

# Internal

  • [Docs] Added event descriptions into config JSON Schema

💾 Assets (opens new window)


# v0.13.0 (2023-05-25) (opens new window)

# Added

  • Added option for disable notification sound by time period
  • Added environment variable MR_LINTER_TIMEZONE for set timezone

# Changed

  • Moved shared contracts from common folder to self folders

💾 Assets (opens new window)


# v0.12.1 (2023-05-22) (opens new window)

# Added

  • Add evaluator "not has any"

💾 Assets (opens new window)


# v0.12.0 (2023-05-21) (opens new window)

# Added

  • Add logs for HTTP Client
  • Validate BitBucket PR data

# Internal

  • Update PHPStan level to 9

💾 Assets (opens new window)


# v0.11.1 (2023-03-17) (opens new window)

# Added

  • Added Rule "Branch starts with task number"
  • Added Rule "Forbid changes"
  • Added logs for events

# Internal

  • Up test coverage

💾 Assets (opens new window)


# v0.11.0 (2023-03-14) (opens new window)

# Added

  • Support Bitbucket Pipelines

# Changed

  • Configuration structure for CI credentials

💾 Assets (opens new window)


# v0.10.1 (2023-03-01) (opens new window)

# Added

  • Documentation for conditions
  • Rule @mr-linter/title_starts_with_task_number for checking task number in request title

💾 Assets (opens new window)


# v0.10.0 (2023-02-27) (opens new window)

# Added

  • Notifications for telegram on events: lint_finished, lint_started

💾 Assets (opens new window)


# v0.9.0 (2023-02-21) (opens new window)

# Added

  • Added markdown condition operator: containsHeading
  • Added condition operator: linesMax
  • Added condition operator: containsLine

# Internal

  • Refactored condition evaluator resolving
  • 🚀 Up test coverage to 40.21%
  • Added dependency psr/clock

💾 Assets (opens new window)


# v0.8.1 (2023-02-15) (opens new window)

# Fixed

  • Fixed NativeJsonDecoder

# Internal

  • Added some tests

💾 Assets (opens new window)


# v0.8.0 (2023-02-15) (opens new window)

# Changed

  • MR-Linter is now not library, but project
  • Project structure

# Added

  • Added IsSnakeCaseEvaluator
  • Added IsKebabCaseEvaluator
  • Added IsCamelCaseEvaluator
  • Added IsStudlyCaseEvaluator
  • Added IsLowerCaseEvaluator
  • Added IsUpperCaseEvaluator
  • Added $all evaluator
  • Added $any evaluator
  • Added IsEmptyEvaluator

# Removed

  • PHP Config Loader

💾 Assets (opens new window)


# v0.7.11 (2023-02-09) (opens new window)

# Added

  • Added Custom rule for user conditions

💾 Assets (opens new window)


# v0.7.10 (2023-02-09) (opens new window)

# Added

  • Added dependency check

# Fixed

  • Fixed direct dependencies

💾 Assets (opens new window)


# v0.7.9 (2023-02-08) (opens new window)

# Added

  • Added condition match for chechking string on match regex.

💾 Assets (opens new window)


# v0.7.8 (2023-02-08) (opens new window)

# Internal

  • Added coverage reporting
  • Added some tests

💾 Assets (opens new window)


# v0.7.7 (2023-02-08) (opens new window)

# Added

  • Added notStarts Condition Operator
  • Added notEnds Condition Operator

💾 Assets (opens new window)


# v0.7.6 (2023-02-08) (opens new window)

# Added

  • Added interface HasDebugInfo for better object printing.

💾 Assets (opens new window)


# v0.7.5 (2023-02-03) (opens new window)

# Changed

  • Moved exception on building guzzle client to ClientFactory
  • Static class URI

# Fixed

  • Command dump: print concrete rule class

💾 Assets (opens new window)


# v0.7.4 (2022-01-27) (opens new window)

# Added

  • Added command mr-linter install: Copy config into yaml, json files

💾 Assets (opens new window)


# v0.7.3 (2022-01-16) (opens new window)

# Changed

  • Configuration loading refactoring

💾 Assets (opens new window)


# v0.7.2 (2022-01-13) (opens new window)

# Added

  • Support many configurations for Rule
  • Condition Operator 'countEqualsAny'

💾 Assets (opens new window)


# v0.7.1 (2022-01-13) (opens new window)

# Internal

  • Deptrac
  • Contracts for YAML/JSON decoding.

💾 Assets (opens new window)


# v0.7.0 (2022-01-13) (opens new window)

# Added

  • Metrics
  • Debug mode, command mr-linter lint --debug
  • Logging for HTTP Requests

💾 Assets (opens new window)


# v0.6.0 (2022-01-11) (opens new window)

# Added

  • Added Rule HasChanges
  • Added ApplicationFactory
  • Added InfoCommand mr-linter info
  • Added conditions countEquals, countNotEquals

💾 Assets (opens new window)


# v0.5.1 (2022-01-08) (opens new window)

# Fixed

  • [Bug] Credentials are required to be filled

💾 Assets (opens new window)


# v0.5.0 (2022-01-08) (opens new window)

# Added

  • Added YAML Config Loader

💾 Assets (opens new window)


# v0.4.0 (2022-01-07) (opens new window)

# Added

  • Added rule conditions

💾 Assets (opens new window)


# v0.3.0 (2021-12-11) (opens new window)

# Added

  • Loading Config from JSON
  • Docker image

💾 Assets (opens new window)


# v0.2.0 (2021-12-06) (opens new window)

# Added

  • Added method getName to Rule

💾 Assets (opens new window)


# v0.1.5 (2021-03-29) (opens new window)

# Fixed

  • Fix finding composer autoload path in binary

💾 Assets (opens new window)


# v0.1.4 (2021-12-27) (opens new window)

# Added

  • Added rule for check count changed files on a limit
  • Added property changedFilesCount to merge request objects

💾 Assets (opens new window)


# v0.1.3 (2021-12-08) (opens new window)

# Changed

  • Update exception hierarchy. Parent: MergeRequestLinterException

# Added

  • Added ServerUnexpectedResponseException

💾 Assets (opens new window)


# v0.1.2 (2021-12-04) (opens new window)

# Added

  • [Feature] Added rule "Has link to YouTrack issue"
  • [Feature] Added rule "OnTargetBranchRule"
  • Added property "sourceBranch" to MergeRequest object
  • Added property "targetBranch" to MergeRequest object

💾 Assets (opens new window)


# v0.1.1 (2021-12-04) (opens new window)

# Added

  • [Feature] Added rule "Has link to Jira task"

💾 Assets (opens new window)


# v0.1.0 (2021-12-04) (opens new window)

# Added

  • 🔥 Init library

💾 Assets (opens new window)