GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — pre-commit-hooks/CHANGELOG.md at main · ctrlwebinc/pre-commit-hooks

Expand file tree

/

CHANGELOG.md

Copy path
More file actions
More file actions

Latest commit

 

History

History
History
77 lines (55 loc) · 4.34 KB
/

CHANGELOG.md

Copy path

File metadata and controls

77 lines (55 loc) · 4.34 KB
Raw
Copy raw file
Download raw file
Outline
Edit and raw actions

Changelog

All notable changes to this project are documented here. Versions follow Semantic Versioning. Starting with 1.2.1, release tags have no v prefix.

2.0.0 - 2026-11-04

Breaking changes

  • block-insecure-code also blocks shell execution functions by default: exec, shell_exec, system, passthru, popen, proc_open, pcntl_exec and create_function in PHP, and new Function(...) in JavaScript/TypeScript. Use --exclude-functions to allow some.
  • block-insecure-code only matches global function calls. Method and static calls ($pdo->exec(), obj.eval()) and function definitions are no longer matched, except window.eval(), globalThis.eval() and self.eval().

Added

  • forbid-env-files, forbid-dump-files, forbid-log-files and forbid-cache-files: code-free hooks (language: fail) customized with pre-commit's standard files and exclude options. Without customization, they forbid exactly the same files as the block-*-files hooks.
  • README: migration guide, and recommended companion hooks (gitleaks for secrets, check-added-large-files, detect-private-key).

Deprecated

  • block-env-files, block-dump-files, block-log-files and block-cache-files will be removed in 3.0.0. Their name shows their replacement on every run, and their failure output includes a deprecation note.

Changed

  • The Python package is renamed ctrlweb_pre_commit_hooks (distribution ctrlweb-pre-commit-hooks), so it no longer shares its name with the official pre-commit/pre-commit-hooks. Hook ids and arguments are unchanged.

1.2.2 - 2026-11-04

Changed

  • block-debug-statements and block-insecure-code now ignore comments and strings properly instead of cutting each line at the first // or #:
    • Calls after a URL or a # color on the same line are now found ($url = "https://…"; var_dump($x);).
    • Calls inside docblocks, /* */ comments, strings, heredocs and template literals are no longer flagged (echo "use var_dump()";).
    • PHP 8 attributes (#[...]) are not treated as comments.
    • Inline HTML outside <?php ?> and Blade templates are still checked ({{ dd($x) }}, @dd($x)).
    • In diff mode, a line added inside an existing /* */ comment is not flagged.
  • block-debug-statements and block-insecure-code can run in parallel on large file sets (require_serial removed).
  • All hooks declare minimum_pre_commit_version: 3.2.0, required by stages: [pre-commit].
  • Python 3.9 or later is required.

Added

  • MIT license.
  • CI on Ubuntu and Windows, linting with ruff.

1.2.1 - 2026-11-04

Fixed

  • block-env-files and block-log-files now match file names in any directory (e.g. config/.env, logs/error_log), not only at the repository root.
  • --extra-* and --exclude-* values are case-insensitive, and a file matching any --exclude-* value is never blocked (--exclude-prefixes previously had no effect).
  • dd no longer matches add( (e.g. $collection->add(...)), and eval no longer matches literal_eval( or $eval(. Pattern names are matched literally.
  • block-insecure-code no longer crashes on binary files, and both content hooks no longer crash on files that aren't valid UTF-8 or when printing non-ASCII lines on Windows.
  • diff mode works with color.ui=always, reports correct line numbers after a "No newline at end of file" marker, and uses --from-ref/--to-ref in CI.

Changed

  • block-env-files allows .env.example, .env.sample, .env.dist, .env.template and env.d.ts by default.
  • block-dump-files also blocks .sqlite3 files.
  • block-debug-statements also checks .mjs, .cjs and .tsx files.
  • block-insecure-code only checks PHP and JavaScript/TypeScript files, as documented.

1.2.0 - 2025-05-06

Added

  • block-insecure-code hook, blocking eval() calls.

1.1.2 - 2025-05-05

Added

  • --check-mode=diff for block-debug-statements, to check only the modified lines.

1.1.1 - 2025-05-05

Fixed

  • --exclude-patterns of block-debug-statements had no effect.

1.1.0 - 2025-05-05

Added

  • block-debug-statements hook, blocking var_dump(), print_r(), dd() and console.log() in PHP and JavaScript files.

1.0.0 - 2025-03-10

Added

  • block-env-files, block-dump-files, block-log-files and block-cache-files hooks, with --extra-* and --exclude-* arguments.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.