NewAI Enhanced
3.32
Breaking Changes
git_branch_0v_to_dash_vrule renamed (wasgit_branch_0flag) — update any custom configs referencing the old name
New Rules
git_branch_0v_to_dash_v— detects git branch naming issuesrails_migrations_pending— checks for pending Rails migrationsgit_commit_add— catches commits with no added filesgit_main_master— enforces main/master branch conventionswrong_hyphen_before_subcommand— validates hyphen usage in subcommands
Rule Improvements
git_push_without_commits— fixed false positivesgit_hook_bypass— corrected prioritydocker_login— now combines commands withshell.and_composer_not_command— updated matching logicmissing_space_before_subcommand— ignores single-char commandsgit_support— now works with output-independent rules@for_appdecorator — now matches commands with path prefixes
Bug Fixes
- Removed
pkg_resourcesdependency - Fixed
yield_fixturedeprecation warning - Git alias expansion now replaces only exact words (not partial matches)
- Script decoding errors now use replacement marker instead of failing
- Python 2 script encoding fixed
- Removed stderr redirection character (
^) from matching - Settings now initialized before printing aliases
- Leading whitespace properly stripped from scripts
_get_raw_commandrefactored for better encapsulation
Dev Experience
- Added devcontainer for Python development
- Updated installation docs (uninstall instructions, pip
--userflag, outdated homebrew links) - Documentation fixes (grammar, macOS naming, typos)
- GIF assets optimized
- Addition of new rules
- #942: Add new git_branch_0v_to_dash_v rule
- #1210: Add rule 'rails_migrations_pending'
- #1131: Add rule for Git commit with no added files
- #1184: Add new rule for main / master Git branches
- #977: Add
wrong_hyphen_before_subcommandrule
- Improvements to existing rules
- #1039: Remove all leading $ not just one
- #1123: Update composer_not_command rule (#1135)
- #942: Improve git_branch_0flag rule - with a new name
- #1131: Improve git_commit_add rule
- #1184: Improve + fix
git_main_masterrule - #894: Combine commands with shell.and_ in docker_login rule
- #618: Fix git_push_without_commits rule
- #933: Correctly redefine the function with a cache
- #579: Ignore commands of len 1 in missing_space_before_subcommand
- #1227: Make
git_supportsupport output-independent rules
- Improvements to documentation and development experience
- Fix git_hook_bypass priority (#1207)
- #1164: Optimize GIFs with ImgBot
- #N/A: Fix grammar and spelling errors (#1193)
- #455: [README] Add uninstall instructions (#1171)
- #1150: Update the name of macOS on README
- #1109: Fix a typo on a comment
- #1184: Add devcontainer for easy Python development
- #1184: Configure devcontainer shell with recommended way
- #868: Fix outdated link to homebrew for Linux (#1226)
- #1233: Use
--userwith pip, notsudo pip
- Bug fixes
- Avoid using pkg_resources
- #N/A: Fix yield_fixture deprecation (#1211)
- #1133: Match commands with path prefixes in @for_app decorations
- #1215: Remove redirection to stderr with the ^ character
- #1215: Initiate settings before printing the alias
- #N/A: Replace only exact words when expanding a Git alias
- #994: Replace decoding errors with the replacement marker
- #1188: Remove only leading whitespace chars from script
- #697: Encode expanded script on Python 2
- #1250: Encapsulate force_command in _get_raw_command