Changelog
v0.9.7
Released on 2024-10-16 - GitHub - PyPI
Enhancements
- Now standalone binaries are distributed for Linux x64, Windows x64, MacOS x64 y MacOS ARM64.
- Remove
diskcache
dependency. - Remove
importlib-metadata-argparse-version
dependency.
v0.9.6
Released on 2024-10-15 - GitHub - PyPI
Enhancements
- Allow authenticate against GitHub API with
GITHUB_TOKEN
environment variable. - Optimized fetching of GitHub resources.
Bug fixes
- Fixed pre-commit hook checking in
pre-commit
plugin.
v0.9.5
Released on 2024-03-06 - GitHub - PyPI
Bug fixes
- Fix error running CLI when using
importlib-metadata-argparse-version==2.0.0
v0.9.4
Released on 2024-02-16 - GitHub - PyPI
Changes
- Get always default Github branches using the API.
v0.9.3
Released on 2023-10-28 - GitHub - PyPI
New features
- Added
github-actions
reporter.
v0.9.2
Released on 2023-10-16 - GitHub - PyPI
Bug fixes
- Don't require
rev
repo keys for "meta" repos inpreCommitHookExists
action of pre-commit plugin.
v0.9.1
Released on 2023-10-15 - GitHub - PyPI
New features
- Added pre-commit plugin with a
preCommitHookExists
action to check pre-commit hooks configurations.
Bug fixes
- Fixed keys unsorted when deserializing YAML content.
v0.9.0
Released on 2023-10-14 - GitHub - PyPI
⚠️ Breaking changes
- Removed support for Python 3.7
Enhancements
- Added support for Python 3.12
v0.8.0
Released on 2022-12-22 - GitHub - PyPI
⚠️ Breaking changes
- Globs are not allowed inside
files
arrays of rules - Tree API has been changed. Third party plugins must be updated accordingly
Bug fixes
- Fixed some inconsistencies using
--rootdir
and--config
CLI options
Enhancements
- This version comes with a big refactor of some crucial parts of the program, which has allowed a x5 speedup improvement
- Don't depend on
typing_extensions
at runtime
New features
- Added
project-config show reporters
command to show all available reporters - Added JMESPath functions for some file system operations:
isfile
,isdir
,exists
,mkdir
,rmdir
andglob
- Added new actions for
inclusion
plugin:exludeLines
andincludeContent
v0.7.9
Released on 2022-12-06 - GitHub - PyPI
- Added support for JSON5 files on Python3.11.
v0.7.8
Released on 2022-11-30 - GitHub - PyPI
Enhancements:
- Optimize
crossJMESPathsMatch
verb.
v0.7.7
Released on 2022-10-01 - GitHub - PyPI
New features:
- Added
project-config show file
. Pass a path to a file or an URL as argument and it will print a JSON-serialized version of the content, for exampleproject-config show file pyproject.toml
.
Bug fixes:
- Fixed errors derived from the fact that
files
existence check has been being executed before theifFilesExist
conditional, which raises false positives if some of the files are the same and don't exist.
v0.7.6
Released on 2022-09-29 - GitHub - PyPI
Enhancements:
- The standard JMESPath functions
starts_with
andends_with
now are matching inproject-config
the specification of Python'sstr.startswith
andstr.endswith
allowing to pass an array of strings as second parameters and the argumentsstart
andend
, seejmespath
plugin.
Bug fixes:
- Fixes some encoding issues in Windows.
- Fixes edge case exceptions when executing Python files to from JMESPath rules.
v0.7.5
Released on 2022-07-28 - GitHub - PyPI
New features:
- Allow to install the project-config CLI from NPM with
npm install python-project-config
. - Add new custom JMESPath function
regex_escape()
.
v0.7.4
Released on 2022-07-21 - GitHub - PyPI
Enhancements:
- Allow to pass multiple optional operators and values as positional arguments to custom JMESPath function
op()
.
v0.7.3
Released on 2022-07-18 - GitHub - PyPI
Bug fixes:
- Handle uncatched exception in some subexpression fix queries.
v0.7.2
Released on 2022-07-18 - GitHub - PyPI
Bug fixes:
- Fixed error autofixing subexpression with indexes.
New features:
v0.7.1
Released on 2022-07-15 - GitHub - PyPI
Bug fixes:
- Auto fixing of constants in subexpressions.
- Show that file existence and absent errors are fixable.
New features:
- New custom JMESPath function
gh_tags()
to get the latest tags of a github repository.
v0.7.0
Released on 2022-07-15 - GitHub - PyPI
New features:
- Added
project-config fix
subcommand to apply manual and automatic fixes to errors. See best practices guide. - Added new custom JMESPath function
os()
to get the platform in which the current execution is running. - Added new option
--only-hints
/only_hints = true
to only show hints rather than messages in errors.
v0.6.0
Released on 2022-07-11 - GitHub - PyPI
New features:
- Added
rootdir_name
custom function to jmespath plugin. - Allow to override serializer used for other files in
crossJMESPathsMatch
verb. - Added new subcommand
project-config init
to initialize a minimal configuration. - Added MegaLinter plugin descriptor for project-config. See Installation.
v0.5.0
Released on 2022-07-08 - GitHub - PyPI
New features:
- A lot of custom functions have been added to
jmespath
plugin.
Enhancements:
- Concurrent fetching for faster caching of remote style files when they have not been cached yet.
v0.4.0
Released on 2022-07-04 - GitHub - PyPI
Deprecations:
- The custom JMESPath function
regex_matchall
has been deprecated and will be removed in v1.0.0. Rewriteregex_matchall('^foo$', ['foo', 'bar'])
asop(length(['foo', 'bar'][?regex_match('^foo$', @)]), '==', length(['foo', 'bar']))
.
New features:
- New
crossJMESPathsMatch
verb forjmespath
plugin. - New
ifFilesExist
conditional. - New custom functions for
jmespath
plugin:shlex_split
andshlex_join
. - Custom function
op
now can handle sets operations. - New text serializer as fallback for all text files.
Enhancements:
- Better errors catching fetching and serializing files.
- Values validation in
inclusion
plugin actions.
v0.3.1
Released on 2022-06-30 - GitHub - PyPI
Bug fixes:
- Fix error fetching styles when
rootdir
not specified.
v0.3.0
Released on 2022-06-30 - GitHub - PyPI
New features:
- Accept recursive globs in
files
properties of rules. - New verb
excludeContent
to assert that content does not exist in files. - Allow to specify hints in rules.
- Add
show plugins
command. - Allow to specify custom colors in CLI reporters.
- Allow to configure CLI execution from configuration file.
Bug fixes:
- Fix error processing multiple conditionals in the same rule.
- Fix encoding error on Windows.
Enhancements:
- Allow to pass options in flexible order to CLI.
- Set environment variable
PROJECT_CONFIG
while CLI is running. - Added
--no-cache
option to CLI. - Retry connections in requests.
v0.2.0
Released on 2022-06-23 - GitHub - PyPI
Bug fixes:
- Fixed default reporter not outputting actions when executing
project-config show style
- Fixed some errors serializing
.editorconfig
files - Fixed absolute file paths resolving in Windows
Improvements:
- Improved error message showing not found local extended relative styles filenames.
- A lot of improvements in documentation
New features:
- Added
show cache
subcommand to output the cache directory location. - Allowed to add third party reporters through plugins entrypoints
- Included pytest plugin in distribution for easy testing of third party plugins
v0.1.0
Released on 2022-06-22 - GitHub - PyPI
First beta release