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
diskcachedependency. - Remove
importlib-metadata-argparse-versiondependency.
v0.9.6
Released on 2024-10-15 - GitHub - PyPI
Enhancements
- Allow authenticate against GitHub API with
GITHUB_TOKENenvironment variable. - Optimized fetching of GitHub resources.
Bug fixes
- Fixed pre-commit hook checking in
pre-commitplugin.
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-actionsreporter.
v0.9.2
Released on 2023-10-16 - GitHub - PyPI
Bug fixes
- Don't require
revrepo keys for "meta" repos inpreCommitHookExistsaction of pre-commit plugin.
v0.9.1
Released on 2023-10-15 - GitHub - PyPI
New features
- Added pre-commit plugin with a
preCommitHookExistsaction 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
filesarrays of rules - Tree API has been changed. Third party plugins must be updated accordingly
Bug fixes
- Fixed some inconsistencies using
--rootdirand--configCLI 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_extensionsat runtime
New features
- Added
project-config show reporterscommand to show all available reporters - Added JMESPath functions for some file system operations:
isfile,isdir,exists,mkdir,rmdirandglob - Added new actions for
inclusionplugin:exludeLinesandincludeContent
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
crossJMESPathsMatchverb.
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
filesexistence check has been being executed before theifFilesExistconditional, 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_withandends_withnow are matching inproject-configthe specification of Python'sstr.startswithandstr.endswithallowing to pass an array of strings as second parameters and the argumentsstartandend, seejmespathplugin.
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 fixsubcommand 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 = trueto only show hints rather than messages in errors.
v0.6.0
Released on 2022-07-11 - GitHub - PyPI
New features:
- Added
rootdir_namecustom function to jmespath plugin. - Allow to override serializer used for other files in
crossJMESPathsMatchverb. - Added new subcommand
project-config initto 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
jmespathplugin.
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_matchallhas 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
crossJMESPathsMatchverb forjmespathplugin. - New
ifFilesExistconditional. - New custom functions for
jmespathplugin:shlex_splitandshlex_join. - Custom function
opnow can handle sets operations. - New text serializer as fallback for all text files.
Enhancements:
- Better errors catching fetching and serializing files.
- Values validation in
inclusionplugin actions.
v0.3.1
Released on 2022-06-30 - GitHub - PyPI
Bug fixes:
- Fix error fetching styles when
rootdirnot specified.
v0.3.0
Released on 2022-06-30 - GitHub - PyPI
New features:
- Accept recursive globs in
filesproperties of rules. - New verb
excludeContentto assert that content does not exist in files. - Allow to specify hints in rules.
- Add
show pluginscommand. - 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_CONFIGwhile CLI is running. - Added
--no-cacheoption 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
.editorconfigfiles - 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 cachesubcommand 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