Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

prek-0.4.11-1.1 RPM for x86_64

From OpenSuSE Tumbleweed for x86_64

Name: prek Distribution: openSUSE Tumbleweed
Version: 0.4.11 Vendor: openSUSE
Release: 1.1 Build date: Mon Jul 27 06:58:34 2026
Group: Unspecified Build host: reproducible
Size: 20717926 Source RPM: prek-0.4.11-1.1.src.rpm
Packager: https://bugs.opensuse.org
Url: https://github.com/j178/prek
Summary: Reimagined version of pre-commit, built in Rust
prek is a reimagined version of pre-commit, built in Rust. It is designed to be
a faster, dependency-free and drop-in alternative for it, while also providing
some additional long-requested features.

Features

- A single binary with no dependencies, does not require Python or any other
runtime.
- Faster than pre-commit and uses only half the disk space.
- Fully compatible with the original pre-commit configurations and hooks.
- Built-in support for monorepos (i.e. workspace mode).
- Integration with uv for managing Python virtual environments and
dependencies.
- Improved toolchain installations for Python, Node.js, Go, Rust and Ruby,
shared between hooks.
- Built-in Rust-native implementation of some common hooks.

Provides

Requires

License

MIT

Changelog

* Mon Jul 27 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.4.11:
    * Highlights
    - This release adds two new builtin hooks, deny-pattern and
      require-pattern, as native alternatives for pygrep use cases.
      deny-pattern fails when a configured pattern is found, while
      require-pattern ensures every selected file contains a match.
      By matching natively without spawning a Python subprocess,
      they run over 4x faster than pygrep in benchmarks. Note that
      they use Rust regex syntax, which does not support
      look-around features such as negative lookbehind.
    - prek run now supports --glob <PATTERN> to run hooks on
      tracked files matching a glob. It can be repeated or combined
      with --files and --directory.
    - Hook priorities now support reusable aliases:
      [priorities]
      checks = 10
      [[repos]]
      repo = "builtin"
      hooks = [
      { id = "check-json", priority = "checks" },
      { id = "check-yaml", priority = "checks" },
      ]
      This makes parallel scheduling easier to read and maintain.
    * Enhancements
    - Add deny-pattern and require-pattern builtin hooks (#2359)
    - Support --glob patterns in prek run (#2381)
    - Support reusable aliases for hook priorities (#2331)
    - Implement requirements-txt-fixer as a builtin hook (#2390)
    - Improve user-facing warnings and errors (#2380)
    - Install Node hooks through git url (#2394)
    * Performance
    - Reduce blocking-pool overhead in file hooks (#2384)
    - Speed up mixed-line-ending scans with memchr2 (#2391)
    * Bug fixes
    - Honor filenames in builtin hook entry and args (#2389)
    - Match identify tags across filename parts (#2399)
    - Preserve hook output order with a shared pipe (#2385)
    - Preserve system download policy when applying metadata (#2395)
* Thu Jul 16 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.4.10:
    * Enhancements
    - Add PHP language support (#2314)
    - Add freeze option to update settings (#2323)
    - Add tag filters to update configuration (#2354)
    - Identify 'mts' and 'cts' as TypeScript files (#2209)
    - Publish Alpine Docker images (#2352)
    - Support builtin and meta in try-repo (#2350)
    * Bug fixes
    - Fix Python discovery order (#2348)
    - Fix Windows progress rendering (#2328)
    - Preserve configured repo values for updates (#2324)
    - Scope synthetic GIT_WORK_TREE to git commands (#2356)
    * Documentation
    - Expand common workflows guide (#2351)
    * Dependencies
    - Update Rust crate indicatif to v0.18.6 (#2330)
    - Update Rust crate fs-err to v3.3.1 (#2329)
    - Update Rust crate bstr to v1.12.3 (#2335)
    - Update Rust crate serde-saphyr to 0.0.29 (#2341)
    - Update Rust crate rustc-hash to v2.1.3 (#2340)
    - Update Rust crate clap_complete to v4.6.7 (#2336)
    - Update Rust crate anyhow to v1.0.103 (#2333)
    - Update Rust crate liblzma to v0.4.7 (#2339)
    - Update Rust crate ignore to v0.4.27 (#2338)
    - Update dependency uv to v0.11.26
    - Update Rust crate console to v0.16.4
    - Update Rust crate aws-lc-rs to v1.17.1 (#2334)
* Mon Jul 13 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.4.9:
    * Enhancements
    - Preserve additional dependency order (#2311)
    - Remove parallel Ruby gem installation (#2307)
    - Warn for missing update repositories (#2316)
    * Bug fixes
    - Fix mixed workspace selectors (#2306)
    - Fix try-repo local path resolution (#2310)
    - Use resolved gem executable (#2308)
    - Validate complete XML documents in check-xml (#2312)
* Mon Jul 06 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.4.8 (.7 was not released):
    * Enhancements
    - Add default_env configuration (#2288)
    - Rename auto-update to update (#2286)
    * Bug fixes
    - Fix progress collapse ordering (#2291)
    - Fix progress insertion after collapsed rows (#2292)
* Wed Jul 01 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.4.6:
    * Enhancements
    - Verify managed toolchain downloads before installation
      (#2229)
    - Add PREK_DOCKER_NO_INIT to opt-out Docker --init (#2242)
    - Improve subprocess error messages (#2257)
    - Split run concurrency knobs: PREK_CONCURRENT_HOOKS and
      PREK_CONCURRENT_BATCHES (#2276)
    * Performance
    - Avoid allocating markdown extensions per file (#2245)
    - Avoid unchanged config tracking writes (#2247)
    - Delay trailing whitespace output buffer (#2244)
    - Prefilter VCS permalink lines (#2253)
    - Skip unnecessary submodule updates during hook repo clone
      (#2255)
    * Documentation
    - Document language_version inferring for Python and Go (#2241)
    * Other changes
    - Refactor env var handling (#2277)
    - Use serde-saphyr for YAML string quoting (#2228)
* Mon Jun 15 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.4.5:
    * Highlights
      0.4.5 completes prek's pre-commit language coverage. With R,
      Conda, Perl, and coursier now supported, prek supports every
      language available in pre-commit, plus prek-only modern
      languages such as Bun and Deno.
      This is full feature parity with pre-commit. The last major
      compatibility gap is closed, and prek is now on the path to
      1.0.
    * Enhancements
    - Add Perl language support (#2201)
    - Add R language support (#2206)
    - Add Conda language support (#2203)
    - Add coursier language support (#2194)
    - Add group filters to list (#2152)
    - Remove legacy repo path support (#2150)
    - Skip cloning fully filtered remote repos (#2151)
    * Performance
    - Avoid building JSON trees in syntax hooks (#2156)
    - Scan mixed line endings without line vector (#2160)
    - Skip file scan for always-run no-filename hooks (#2155)
    - Use fixed buffer for EOF scan (#2163)
    - Use fixed buffer for private key scan (#2164)
    * Bug fixes
    - Fix pretty-format-json CRLF handling (#2210)
    - Handle missing blobs in diff snapshots (#2211)
    - Ignore coursier channel from working repo (#2202)
    * Dependencies
    - Update Rust crate assert_fs to v1.1.4 (#2183)
    - Update Rust crate async_zip to 0.0.18 (#2217)
    - Update Rust crate http to v1.4.1 (#2184)
    - Update Rust crate ignore to v0.4.26 (#2218)
    - Update Rust crate mea to v0.6.4 (#2185)
    - Update Rust crate memchr to v2.8.1 (#2186)
    - Update Rust crate reqwest to v0.13.4 (#2187)
    - Update Rust crate serde-saphyr to 0.0.27 (#2188)
    - Update Rust crate toml_edit to v0.25.12 (#2189)
    - Update Rust crate which to v8.0.3 (#2219)
    - Update dependency uv to v0.11.17 (#2182)
    - Update dependency uv to v0.11.19 (#2214)
* Thu Jun 04 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.4.4:
    * Highlights
      0.4.4 makes prek run easier to watch and easier to slice.
      Hook stream output now shows a small live preview under the
      running hook in the progress UI. Long-running hooks no longer
      look stuck while they are producing logs, and failed hooks are
      easier to diagnose because recent output is already visible
      before the final result.
      The new group selector lets a single config support different
      workflows. Tag hooks with groups, then select or exclude those
      groups at run time:
      repos:
    - repo: local
      hooks:
    - id: format
      name: Format Python
      language: system
      entry: ruff format
      groups: [format, ci]
    - id: lint
      name: Lint Python
      language: system
      entry: ruff check
      groups: [lint, ci]
      prek run --all-files --group ci
      prek run --all-files --no-group format
      This is useful when local development, CI, slow validation, or
      project-specific checks need different hook sets without
      splitting the config.
    * Enhancements
    - Add hook group filters to prek run (#2141)
    - Delay hook output preview rendering (#2140)
    - Stream hook output in progress UI (#2136)
    * Bug fixes
    - Fix intent-to-add stash restore (#2143)
    * Documentation
    - Document hook stage file input (#2147)
* Fri May 29 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.4.3:
    * Bug fixes
    - Ignore stat-only hook rewrites (#2131)
  - Update to version 0.4.2:
    * Highlights
    - 0.4.2 is mainly about making prek run faster in large repos.
      prek now does less git diff work. After hooks run, prek uses
      diff checks to detect files changed by hooks. If a hook
      modifies files, prek marks that hook as failed. That is
      important, but full diff snapshots can be slow in big repos,
      especially when they happen after every hook group.
      We skip the expensive diff path in two common cases: built-in
      hooks that prek knows are read-only, and clean worktrees
      where a cheap dirty check is enough unless a hook actually
      changes files. In the right large-repo workload, skipping
      that work can make runs up to 10x faster.
      Workspace mode is faster too. Hooks have historically been
      too serial.  Priority-based concurrency helped, but it
      required users to choose good priority values. Now sibling
      projects at the same workspace depth run in parallel
      automatically. Their files do not overlap, so this is safe
      and needs no extra config. For multi-project workspaces, this
      can dramatically reduce total hook time.
    * Enhancements
    - Run same-depth projects concurrently (#2110)
    - Make rustup install profile configurable (#2111)
    - Simplify hook progress folding (#2125)
    * Performance
    - Optimize diff checks for clean worktrees (#2109)
    - Skip diff checks for read-only hooks (#2108)
* Wed May 20 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.4.1:
    * Enhancements
    - Fix pre-push range after rebase (#2089)
    - Prefer extensions over loose filename tags (#2092)
    - Skip installs for hooks that will not run (#2103)
    * Performance
    - Optimize meta hook file scans (#2106)
    - Reduce run filtering allocations (#2090)
* Fri May 15 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.4.0:
    * Breaking changes
      These are narrow cleanup breaks in behavior that was either
      temporary or never worked correctly. Most users should not need
      to change anything.
    - Generated hook scripts no longer preserve -q, -v, or
    - -no-progress passed to prek install. This only affects users
      who expected those global flags to be baked into installed
      hooks. (#1966)
    - language_version no longer accepts direct executable paths.
      Use language_version: system for a system toolchain, or use a
      supported version request instead. This path form did not
      work reliably before, so existing working configs should be
      unaffected. (#1831)
    * Enhancements
    - Expand tilde in --config, --cd, --log-file and --git-dir
      (#2063)
    - Prevent auto-update cooldown downgrades (#2055)
    - Use managed npm cache for node hooks (#2075)
    * Bug fixes
    - Fix npm config env overrides for node hooks (#2074)
    * Documentation
    - Add cookbook page for enabling Git 2.54 config-based global
      hooks (#2061)
* Wed May 06 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.3.13:
    * Bug fixes
    - Respect hook filters for message files (#2049)
    * Documentation
    - Add Godot Engine to users in README (#2047)
  - Update to version 0.3.12:
    * Highlights
    - auto_update.cooldown_days is now available in both the
      user-level global config (~/.config/prek/prek.toml on Linux
      and macOS, or $XDG_CONFIG_HOME/prek/prek.toml when set;
      %APPDATA%\prek\prek.toml on Windows) and project config.
      Set a user default for prek auto-update, then override it per
      project when a repository needs a different update cadence.
      [auto_update]
      cooldown_days = 7
    * Enhancements
    - Add global auto-update cooldown config (#2041)
    - Add project auto-update cooldown config (#2044)
    - Support language: dart (#1146)
    * Bug fixes
    - Pass commit message file to workspace hooks (#2043)
    - Preserve non-UTF8 filenames from git (#2023)
    - ruby: put resolved Ruby's bin dir on $PATH for gem
      invocations (#2021)
    * Documentation
    - Update docs with the new logo and icon (#2025)
    - Point schema docs to SchemaStore (#2039)
* Thu Apr 30 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.3.11:
    * Highlights
    - Hook entries now have an explicit shell option for shell
      snippets. Set shell: sh, bash, pwsh, powershell, or cmd when
      an entry should be evaluated by that shell; leaving it unset
      keeps prek's direct argv execution.
    - prek auto-update can now filter tag candidates before
      choosing an update.  Both options take glob patterns: use
    - -include-tag to only consider matching tag names, and
    - -exclude-tag to skip matching tags such as moving tags or
      prereleases.
    * Enhancements
    - Add auto-update --exclude-repo <repo> to skip repos (#1983)
    - Add auto-update --exit-code to exit with non-zero on updates
      (#2002)
    - Add auto-update --include-tag <pattern>/--exclude-tag
      <pattern> to filter tags (#1984)
    - Adds an explicit shell hook option for entries that should
      run as shell source (#2004)
    - Make --hook-dir optional for hook-impl (#1989)
    - Skip shim warning when --script-version is missing (#1990)
    * Bug fixes
    - Install Ruby executable in gem bin (#2017)
    - Use dedicated Android npm package (#1982)
    - Use stable repo keys without breaking cached clones (#1995)
    * Documentation
    - Explain prek name (#1980)
    - Clarify pass_filenames concurrency docs (#1999)
    - Reorganize documentation references (#2005)
    - Clarify hook author manifest env docs (#1991)
    - docs: add Sentry to users list (#1981)
    * Dependencies
    - Update Rust crate rayon to v1.12.0 (#2015)
    - Update Rust crate webpki-root-certs to v1.0.7 (#2014)
    - Update Rust crate libc to v0.2.185 (#2013)
    - Update Rust crate tokio to v1.52.1 (#2016)
    - Update Rust crate clap_complete to v4.6.2 (#2012)
    - Update Rust crate clap to v4.6.1 (#2011)
    - Update Rust crate assert_cmd to v2.2.1 (#2010)
    - Update pre-commit hook crate-ci/typos to v1.45.1 (#2009)
    - Update dependency uv to v0.11.7 (#2007)
    - Bump rustls-webpki from 0.103.10 to 0.103.13 (#1987)
    - Bump setup-mold to 9c9c13bf4c3f1adef0cc596abc155580bcb04444
      (#1986)
* Tue Apr 21 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.3.10:
    * Enhancements
    - Disallow rev for non-remote repos in schema (#1964)
    - Hide up-to-date output in non-verbose mode (#1942)
    - Improve merge conflict marker detection (#1937)
    - Keep finished hooks visible (#1967)
    - Preserve frozen comment spacing in auto-update (#1945)
    - Reimplement @j178/prek npm package (#1973)
    * Bug fixes
    - Prefer stable Rust toolchains (#1974)
    * Documentation
    - Add SKILL.md for prek (#1950)
    - Document gh skill install j178/prek prek to install prek
      skill for agents (#1951)
    - Improve compatibility and migration docs (#1940)
    * Other changes
    - Sync latest identify tags (#1947)
* Sat Apr 18 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.3.9:
    * Highlight
    - prek auto-update is now stricter about pinned revisions and
      more useful in CI.
      It now keeps rev and # frozen: comments in sync, can detect
      impostor commits when validating pinned SHAs, and lets you
      use prek auto-update --check to fail on both available
      updates and frozen-ref mismatches without rewriting the
      config.
      Examples:
      $ prek auto-update
      [#] updates revs and repairs stale `# frozen:` comments
      $ prek auto-update --freeze
      [#] writes frozen SHAs with matching `# frozen: <tag>` comments
      $ prek auto-update --check
      [#] exits non-zero when updates are available, a `# frozen:` comment is stale,
      [#] or a pinned SHA does not belong to the fetched upstream refs
    * Enhancements
    - Check and sync frozen comments during auto-update (#1896)
    - Handle impostor commits in auto-update (#1919)
    - Add experimental language: dotnet support (#1871)
    - Honor repo and worktree core.hooksPath (#1892)
    - Add prek run --no-fail-fast to override config file (#1859)
    - Add forbid-new-submodules as builtin hook (#1853)
    - Clean stale patch files in cache gc (#1877)
    - Display auto-update results by config entry (#1922)
    - Restrict patch directory permissions (#1876)
    - Show tag names in auto-update --freeze output (#1916)
    - Use a bitset for hook stages (#1860)
    * Bug fixes
    - Canonicalize CWD and GIT_ROOT paths (#1878)
    - Ensure quotes are added for non-string revisions in
      auto-update (#1936)
    * Documentation
    - Update docs for case of hooks modifying files with a non-zero
      exit code (#1879)
* Mon Mar 23 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.3.8 (.7 was not released):
    * Enhancements
    - Add experimental language: deno support (#1516)
    - Add pretty-format-json as builtin hook (#915)
    - Add check-vcs-permalinks as builtin hook (#1842)
    - Add check-illegal-windows-names as builtin hook (#1841)
    - Add check-shebang-scripts-are-executable builtin hook (#1847)
    - Add destroyed-symlinks builtin hook (#1851)
    - Add file-contents-sorter as builtin hook (#1846)
    - Add --all flag to prek uninstall (#1817)
    - Improve file pattern parse errors (#1829)
    - Validate uv binary after download (#1825)
    * Bug fixes
    - Fix workspace-relative added file paths (#1852)
    - Relax alias-anchor ratio check for check-yaml (#1839)
* Mon Mar 16 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.3.6:
    * Enhancements
    - Allow selectors for hook ids containing colons (#1782)
    - Rename prek install-hooks to prek prepare-hooks and prek
      install --install-hooks to prek install --prepare-hooks
      (#1766)
    - Retry auth-failed repo clones with terminal prompts enabled
      (#1761)
    * Performance
    - Optimize detect_private_key by chunked reading and using
      aho-corasick (#1791)
    - Optimize fix_byte_order_marker by shifting file contents in
      place (#1790)
    * Bug fixes
    - Align stage defaulting behavior with pre-commit (#1788)
    - Make sure child output is drained in the PTY subprocess
      (#1768)
    - fix(golang): use GOTOOLCHAIN=local when probing system go
      (#1797)
    * Documentation
    - Disambiguate “hook” terminology by renaming "Git hooks" to
      "Git shims" (#1776)
    - Document compatibility with pre-commit (#1767)
    - Update configuration.md with TOML 1.1 notes (#1764)
    * Other changes
    - Sync latest identify tags (#1798)
* Mon Mar 09 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.3.5:
    * Enhancements
    - Add automatic Ruby download support using rv binaries (#1668)
    - Adjust open file limit on process startup (#1705)
    - Allow parallel gem retry (#1732)
    - Enable system-proxy feature on reqwest (#1738)
    - Expose --git-dir to force hook installation target (#1723)
    - Pass --quiet, --verbose, and --no-progress through prek
      install into generated hook scripts (#1753)
    - Respect core.sharedRepository for hook permissions (#1755)
    - Support legacy mode hook script (#1706)
    - rust: support cli: git dependency 4th segment package
      disambiguation (#1747)
    * Bug fixes
    - Fix Python __main__.py entry (#1741)
    - python: strip UV_SYSTEM_PYTHON from uv venv and pip install
      commands (#1756)
    * Other changes
    - Sync latest identify tags (#1733)
* Mon Mar 02 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.3.4:
    * Enhancements
    - Allow pass_filenames to accept a positive integer (#1698)
    - Install and compile gems in parallel (#1674)
    - Sync identify file-type mappings with pre-commit identify
      (#1660)
    - Use --locked for Rust cargo install commands (#1661)
    - Add PREK_MAX_CONCURRENCY environment variable for configuring
      maximum concurrency (#1697)
    - Add PREK_LOG_TRUNCATE_LIMIT environment variable for
      configuring log truncation (#1679)
    - Add support for python -m prek (#1686)
    * Bug fixes
    - Skip invalid Rust toolchains instead of failing (#1699)
    * Performance
    - Bitset-based TagSet refactor: precompute tag masks and speed
      up hook type filtering (#1665)
    * Documentation
    - Document winget install j178.Prek (#1670)
* Mon Feb 16 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.3.3:
    * Enhancements
    - Read Python version specifier from hook repo pyproject.toml
      (#1596)
    - Add #:schema directives to generated prek.toml (#1597)
    - Add prek util list-builtins command (#1600)
    - Expand install source detection to mise, uv tool, pipx, and
      asdf (#1605, #1607)
    - Add progress bar to cache clean and show removal summary
      (#1616)
    - Make yaml-to-toml CONFIG argument optional (#1593)
    - prek uninstall removes legacy scripts too (#1622)
    * Bug fixes
    - Fix underflow when formatting summary output (#1626)
    - Match files/exclude filter against relative path of nested
      project (#1624)
    - Select musllinux wheel tag for uv on musl-based distros
      (#1628)
    * Documentation
    - Clarify prek list description (#1604)
* Fri Feb 06 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.3.2:
    * Highlights
    - prek.toml is here!
      You can now use prek.toml as an alternative to
      .pre-commit-config.yaml for configuring prek. prek.toml
      mirrors the structure of .pre-commit-config.yaml, but TOML is
      less error-prone. Your existing .pre-commit-config.yaml will
      continue to work, but for new users and new projects,
      prek.toml may make more sense. If you want to switch, run
      prek util yaml-to-toml to convert YAML configs to prek.toml.
      See configuration docs for details.
      For example, this config:
      repos:
    - repo: https://github.com/pre-commit/pre-commit-hooks
      rev: v6.0.0
      hooks:
    - id: check-yaml
      Can be written as prek.toml like this:
      [[repos]]
      repo = "https://github.com/pre-commit/pre-commit-hooks"
      rev = "v6.0.0"
      hooks = [ { id = "check-yaml" } ]
    - serde-yaml has been replaced with serde-saphyr
      We replaced the long-deprecated serde-yaml crate with
      serde-saphyr for YAML parsing. It is written in safe Rust and
      has better error messages, performance, and security. This
      lets us provide precise location information for
      configuration parsing errors, which should make it easier to
      fix config issues.
      For example, this invalid config:
      repos:
    - repo: https://github.com/crate-ci/typos
      hooks:
    - id: typos
      Before:
      $ prek run
      error: Failed to parse `.pre-commit-config.yaml`
      caused by: Invalid remote repo: missing field `rev`
      Now:
      $ prek run
      error: Failed to parse `.pre-commit-config.yaml`
      caused by: error: line 2 column 5: missing field `rev` at line 2, column 5
    - -> <input>:2:5
      |
      1 | repos:
      2 |   - repo: https://github.com/crate-ci/typos
      |     ^ missing field `rev` at line 2, column 5
      3 |     hooks:
      4 |       - id: typos
      |
    - prek util subcommands
      We added a new prek util top-level command for miscellaneous
      utilities that don't fit into other categories. The first two
      utilities are:
    - prek util identify: shows the identification tags of files
      that prek uses for file filtering, which can be useful for
      debugging and writing types/types_or/exclude_types filters.
    - prek util yaml-to-toml: converts .pre-commit-config.yaml to
      prek.toml.
      We also moved prek init-template-dir under prek util for better
      organization. The old prek init-template-dir command is still
      available (hidden) as an alias for backward compatibility.
    * Enhancements
    - Add prek util identify subcommand (#1554)
    - Add prek util yaml-to-toml to convert .pre-commit-config.yaml
      to prek.toml (#1584)
    - Detect install source for actionable upgrade hints (#1540)
    - Detect prek installed by the standalone installer (#1545)
    - Implement serialize_yaml_scalar using serde-saphyr (#1534)
    - Improve max cli arguments length calculation (#1518)
    - Move identify and init-template-dir under the prek util
      top-level command (#1574)
    - Replace serde-yaml with serde-saphyr (again) (#1520)
    - Show precise location for config parsing error (#1530)
    - Support Julia language (#1519)
    - Support prek.toml (#1271)
    - Added PREK_QUIET environment variable support (#1513)
    - Remove upper bound constraint of uv version (#1588)
    * Bug fixes
    - Do not make the child a session leader (#1586)
    - Fix FilePattern schema to accept plain strings (#1564)
    - Use semver fallback sort when tag timestamps are equal
      (#1579)
    * Documentation
    - Add OpenClaw to the list of users (#1517)
    - Add cachix/devenv, apache/lucene, copper-project/copper-rs as
      projects using prek (#1531, #1514, #1569)
    - Add document about authoring remote hooks (#1571)
    - Add llms.txt generation for LLM-friendly documentation
      (#1553)
    - Document using --refresh to pick up .prekignore changes
      (#1575)
    - Fix PowerShell completion instruction syntax (#1568)
    - Update quick start to use prek.toml (#1576)
    * Other changes
    - Include prek.toml in run hint for config filename (#1578)
* Sun Feb 01 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.3.1:
    * Enhancements
    - Add language: swift support (#1463)
    - Add language: haskell support (#1484)
    - Extract go version constraint from go.mod (#1457)
    - Warn when config file exists but fails to parse (#1487)
    - Add GitHub artifact attestations to release and build-docker
      workflow (#1494, #1497)
    - Allow GIT_CONFIG_PARAMETERS for private repository
      authentication (#1472)
    - Show progress bar when running builtin hooks (#1504)
    * Bug fixes
    - Cap ARG_MAX at 1<<19 for safety (#1506)
    - Don't check Python executable path in health check (#1496)
    * Documentation
    - Include CocoIndex as a project using prek (#1477)
    - Add commands for artifact verification using GitHub
      Attestations (#1500)
* Thu Jan 22 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.3.0:
    * Highlights
    - prek cache gc (also available via prek gc for pre-commit
      compatibility) is finally here! You can now run prek cache gc
      to clean up unused repos, hook envs and tool versions from
      prek cache.
    - language: bun is now supported, making it possible to write
      and run hooks with Bun.
    * Enhancements
    - Implement prek cache gc (#1410)
    - Bootstrap tracking configs from workspace cache (#1417)
    - Show total size prek cache gc removed (#1418)
    - Show accurate repo and hook details in prek cache gc -v
      (#1420)
    - prek cache gc remove specific unused tool versions (#1422)
    - Fix unused tool versions not removed in prek cache gc
      (#1436)
    - Add language: bun support (#1411)
    - Use git ls-remote --tags to list bun versions (#1439)
    - Accept --stage as an alias for --hook-stage in prek run
      (#1398)
    - Expand ~ tilde in PREK_HOME (#1431)
    - Support refs to trees (#1449)
    * Bug fixes
    - Avoid file lock warning for in-process contention (#1406)
    - Resolve relative repo paths from config file directory
      (#1443)
    - fix: use split() instead of resolve(None) for builtin hook
      argument parsing (#1415)
    * Documentation
    - Add simple-icons and ast-grep to the users of prek (#1403)
    - Improve JSON schema for repo field (#1432)
    - Improve JSON schema for builtin and meta hooks (#1427)
    - Add pronunciation entry to FAQ (#1442)
    - Add commitizen to the list of projects using prek (#1413)
    - Move docs to zensical (#1421)
    * Other Changes
    - Refactor config layout (#1407)
* Mon Jan 19 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.2.30:
    * Enhancements
    - Build binaries using minimal-size profile (#1376)
    - Check for duplicate keys in check-json5 builtin hook (#1387)
    - Preserve quoting style in auto-update (#1379)
    - Show warning if file lock acquiring blocks for long time
      (#1353)
    - Singleflight Python health checks with cached interpreter
      info (#1381)
    * Bug fixes
    - Do not resolve entry for docker_image (#1386)
    - Fix command lookup on Windows (#1383)
    * Documentation
    - Document language support details (#1380)
    - Document that check-json5 now rejects duplicate keys (#1391)
* Fri Jan 16 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.2.29:
    * Highlights
      files / exclude now support globs (including glob lists),
      making config filters much easier to read and maintain than
      heavily-escaped regex.
      Before (regex):
      files: "^(src/.*\\.rs$|crates/[^/]+/src/.*\\.rs$)"
      After (glob list):
      files:
      glob:
    - src/**/*.rs
    - crates/**/src/**/*.rs
    * Enhancements
    - Add check-json5 as builtin hooks (#1367)
    - Add glob list support for file patterns (files and exclude)
      (#1197)
    * Bug fixes
    - Fix missing commit hash from version info (#1352)
    - Remove git env vars from uv pip install subprocess (#1355)
    - Set TERM=dumb under PTY to prevent capability-probe hangs
      (#1363)
    * Documentation
    - Add home-assistant/core to the users of prek (#1350)
    - Document builtin hooks (#1370)
    - Explain project configuration scope (#1373)
* Wed Jan 14 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.2.28:
    * Enhancements
    - Avoid running git diff for skipped hooks (#1335)
    - More accurate command line length limit calculation (#1348)
    - Raise platform command line length upper limit (#1347)
    - Use /bin/sh in generated git hook scripts (#1333)
    * Bug fixes
    - Avoid rewriting if config is up-to-date (#1346)
    * Documentation
    - Add ty to the users of prek (#1342)
    - Add ruff to the users of prek (#1334)
    - Complete configuration document (#1338)
    - Document UV environment variable inheritance in prek (#1339)
* Tue Jan 13 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.2.27 (.26 was not released):
    * Highlights
    * python/cpython is now using prek. That’s the highlight of this
      release!
    * Enhancements
    - Add hook-level env option to set environment variables for
      hooks (#1279) (#1285)
    - Support apple's container for docker language (#1306)
    - Skip cookiecutter template directories like
      {{cookiecutter.project_slug}} during project discovery
      (#1316)
    - Use global CONCURRENCY for repo clone (#1292)
    - untar: disallow external symlinks (#1314)
    * Bug fixes
    - Exit with success if no hooks match the hook stage (#1317)
    - Fix Go template string to detect rootless podman (#1302)
    - Panic on overly long filenames instead of silently dropping
      files (#1287)
    * Other changes
    - Add python/cpython to users (#1308)
    - Add MoonshotAI/kimi-cli to users (#1286)
    - Drop powerpc64 wheels (#1319)
  - Update to version 0.2.25:
    * Performance
    - Use git cat-file -e in check if a rev exists (#1277)
    * Bug fixes
    - Fix priority not applied for remote hooks (#1281)
    - Report config file parsing error in auto-update (#1274)
    - Unset GIT_DIR for auto-update (#1269)
  - Update to version 0.2.24:
    * Enhancements
    - Build and publish docker image to ghcr.io/j178/prek (#1253)
    - Support git urls for rust dependencies (#1256)
    * Bug fixes
    - Ensure running uv pip install inside the remote repo path
      (#1262)
    - Fix check-added-large-files for traced files (#1260)
    - Respect GIT_DIR set by git (#1258)
    * Documentation
    - Add docker integration docs (#1254)
    - Clarify priority scope across repos (#1251)
    - Improve documentation for configurations (#1247)
    - Render changelog in document site (#1248)
* Sat Dec 20 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.2.23:
    * Highlights
    - This release introduces priority-based parallel hook
      execution: prek can run multiple hooks in parallel when they
      share the same priority, which can be a huge speed-up for
      many configs. See configuration docs for priority.
    * Enhancements
    - Allow uv reading user-level or system-level configuration
      files (#1227)
    - Implement check-case-conflict as builtin hook (#888)
    - Implement priority based parallel execution (#1232)
    * Bug fixes
    - Fix check-executable-have-shebangs "command line too long"
      error on Windows (#1236)
    * Documentation
    - Add FastAPI to the list of projects using prek (#1241)
    - Document hook_types flag and default_install_hook_types
      behavior (#1225)
    - Improve documentation for priority (#1245)
    - Mention prek can be installed viataiki-e/install-action@prek
      (#1234)
* Sat Dec 13 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.2.22:
    * Highlights
      In this release, prek adds support for the --cooldown-days
      option in the prek auto-update command.
      This option allows users to skip releases that are newer than a
      specified number of days.
      It is useful to mitigate open source supply chain risks by
      avoiding very recent releases that may not have been widely
      adopted or vetted yet.
    * Enhancements
    - Support--cooldown-days in prek auto-update (#1172)
    - Prefer tag creation timestamp in --cooldown-days (#1221)
    - Use cargo install for packages in workspace (#1207)
    * Bug fixes
    - Set CARGO_HOME for cargo metadata (#1209)
* Fri Dec 12 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.2.21:
    * Bug fixes
    - Fallback to use remote repo package root instead of erroring
      (#1203)
    - Prepend toolchain bin directory to PATH when calling cargo
      (#1204)
    - Use cargo from installed toolchain (#1202)
* Fri Dec 12 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.2.20:
    * Highlights in this release:
    - Rust hooks are now fully supported with automatic toolchain
      management, including package discovery in virtual
      workspaces. Big thanks to @lmmx for driving this.
    - Added a prek cache size subcommand so you can quickly see how
      much cache space prek is using. Thanks @MatthewMckee4!
    - Nested workspaces are easier to reason about: set orphan:
      true on a project to isolate it from parents so its files are
      processed only once.
    * Enhancements
    - Support Rust language (#989) Refactor Rust toolchain
      management (#1198) Add support for finding packages in
      virtual workspaces (#1180)
    - Add prek cache size command (#1183)
    - Support orphan projects (#1129)
    - Fallback to manual stage for hooks specified directly in
      command line (#1185)
    - Make go module cache read-writeable (thus deletable) (#1164)
    - Provide more information when validating configs and
      manifests (#1182)
    - Improve error message for invalid number of arguments to
      hook-impl (#1196)
    * Bug fixes
    - Disable git terminal prompts (#1193)
    - Prevent post-checkout deadlock when cloning repos (#1192)
    - Prevent color output when redirecting stdout to a file
      (#1159)
    * Documentation
    - Add MacPorts to installation methods (#1157)
    - Add a FAQ page explaining prek install --install--hooks
      (#1162)
    * Other changes
    - Add prek: enabled repo badge (#1171)
    - Add favicon for docs website (#1187)
* Thu Nov 27 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.2.19:
    * Performance
    - Simplify fix_byte_order_marker hook (#1136)
    - Simplify trailing-whitespace hook to improve performance
      (#1135)
    * Bug fixes
    - Close stdin for hook subcommands (#1155)
    - Fix parsing Python interpreter info containing non-UTF8 chars
      (#1141)
* Fri Nov 21 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.2.18:
    * Highlights
      In this release, prek adds a new special repo type repo:
      builtin that lets you use built‑in hooks.
      It basically gives you another way to use the existing built‑in
      fast path for pre‑commit‑hooks, but without needing to point to
      an external repo.
      Since prek doesn’t have to clone anything or set up a virtual
      environment, repo: builtin hooks work even in air‑gapped
      environments.
      For more details, see: https://prek.j178.dev/builtin/
    * Enhancements
    - Add support repo: builtin (#1118)
    - Enable virtual terminal processing on Windows (#1123)
    * Bug fixes
    - Do not recurse into submodules during workspace discovery
      (#1121)
    - Do not dim the hook output (#1126)
    - Further reduce max cli length for cmd.exe on Windows (#1131)
    - Revert "Disallow hook-level minimum_prek_version (#1101)"
      (#1120)
    * Other changes
    - docs: refer airflow as Apache Airflow (#1116)
* Wed Nov 19 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.2.17:
    * Bug fixes
    - Revert back to use serde_yaml again (#1112)
* Tue Nov 18 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.2.16:
    * Bug fixes
    - Disallow hook-level minimum_prek_version (#1101)
    - Do not require a project in prek init-template-dir (#1109)
    - Make sure uv pip install uses the Python from virtualenv
      (#1108)
    - Restore using serde_yaml in check-yaml hook (#1106)
* Mon Nov 17 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.2.15:
    * Enhancements
    - Clean up hook environments when install fails (#1085)
    - Prepare for publishing prek to crates.io (#1088)
    - Replace serde-yaml with serde_saphyr (#1087)
    - Warn unexpected keys in repo and hook level (#1096)
    * Bug fixes
    - Fix prek init-template-dir fails in non-git repo (#1093)
* Mon Nov 17 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.2.14:
    * Enhancements
    - Support PREK_CONTAINER_RUNTIME=podman to override container
      runtime (#1033)
    - Support rootless container runtime (#1018)
    - Support language: unsupported and language:
      unsupported_script introduced in pre-commit v4.4 (#1073)
    - Tweak to regex used for mountinfo (#1037)
    * Bug fixes
    - Fix --files argument - files referencing other projects
      aren’t being filtered (#1064)
    - Unset objectFormat in git init (#1048)
    * Documentation
    - Add scoop to installation (#1067)
    - Document workspace file visibility constraints (#1071)
    - Add iceberg-python, msgspec and humanize to "who is using
      prek" (#1039, #1042, #1063)
    * Other changes
    - Add a hint to install when running inside a sub-project
      (#1045)
    - Add a hint to use --refresh when no configuration found
      (#1046)
    - Run uv pip install from the current directory (#1069)
* Sat Nov 08 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.2.13:
    * Enhancements
    - Add Ruby support (no download support yet) (#993)
    - Implement check-executables-have-shebangs as builtin-hook
      (#924)
    - Improve container id detection (#1031)
    * Performance
    - Optimize hot paths: reduce allocations (#997)
    - Refactor identify using smallvec (#982)
    * Bug fixes
    - Fix YAML with nested merge keys (#1020)
    - Treat every file as executable on Windows to keep
      compatibility with pre-commit (#980)
    * Documentation
    - Document that .gitignore is respected by default during
      workspace discovery (#983)
    - Update project stability status (#1005)
    - Add FastMCP to "who is using prek" (#1034)
    - Add attrs to "who is using prek" (#981)
* Sat Nov 08 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.2.12:
    * Enhancements
    - Add a warning for unimplemented hooks (#976)
    - Allow using system trusted store by PREK_NATIVE_TLS (#959)
    * Bug fixes
    - Do not check for script subprocess status (#964)
    - Fix compatibility with older luarocks (#967)
    - Fix local relative path in try-repo (#975)
    * Documentation
    - Update language support status (#970)
* Sat Nov 08 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.2.11:
    * Enhancements
    - Support language: lua hooks (#954)
    - Support language_version: system (#949)
    - Implement no-commit-to-branch as builtin hook (#930)
    - Improve styling for stashing error message (#953)
    - Support nix-shell style shebang (#929)
    * Documentation
    - Add a page about "Quick start" (#934)
    - Add kreuzberg to "who is using prek" (#936)
    - Clarify minimum mise version required to use mise use prek
      (#931)
* Mon Oct 20 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - new package prek: prek is a reimagined version of pre-commit,
    built in Rust. It is designed to be a faster, dependency-free and
    drop-in alternative for it, while also providing some additional
    long-requested features

Files

/usr/bin/prek
/usr/share/doc/packages/prek
/usr/share/doc/packages/prek/README.md
/usr/share/licenses/prek
/usr/share/licenses/prek/LICENSE


Generated by rpm2html 1.8.1

Fabrice Bellet, Sun Aug 2 01:54:38 2026