Libvcs

Latest version: v0.35.0

Safety actively analyzes 723144 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 14

0.35.0

Breaking changes

`run()` now uses `text=True` (485)

This means that unicode, not bytes, will be used for running `subprocess`
commands in libvcs. If there are any compatibility issues with this, please file
a ticket.

Development

chore: Implement PEP 563 deferred annotation resolution (483)

- Add `from __future__ import annotations` to defer annotation resolution and reduce unnecessary runtime computations during type checking.
- Enable Ruff checks for PEP-compliant annotations:
- [non-pep585-annotation (UP006)](https://docs.astral.sh/ruff/rules/non-pep585-annotation/)
- [non-pep604-annotation (UP007)](https://docs.astral.sh/ruff/rules/non-pep604-annotation/)

For more details on PEP 563, see: https://peps.python.org/pep-0563/

0.34.0

_Maintenance only, no bug fixes, or new features_

Development

Project and package management: poetry to uv (479)

[uv] is the new package and project manager for the project, replacing Poetry.

[uv]: https://github.com/astral-sh/uv

Build system: poetry to hatchling (479)

[Build system] moved from [poetry] to [hatchling].

[Build system]: https://packaging.python.org/en/latest/tutorials/packaging-projects/#choosing-a-build-backend
[poetry]: https://github.com/python-poetry/poetry
[hatchling]: https://hatch.pypa.io/latest/

0.33.0

New features

Python 3.13 support (477)

Added Python 3.13 to package trove classifiers and CI tests.

pytest plugin: Authorship fixtures (476)

- New, customizable session-scoped fixtures for default committer on Mercurial and Git:
- Name: {func}`libvcs.pytest_plugin.vcs_name`
- Email: {func}`libvcs.pytest_plugin.vcs_email`
- User (e.g. _`user <emailtld>`_): {func}`libvcs.pytest_plugin.vcs_user`
- For git only: {func}`libvcs.pytest_plugin.git_commit_envvars`

pytest plugins: Default repos use authorship fixtures (476)

New repos will automatically apply these session-scoped fixtures.

0.32.3

Bug fixes

- Pytest fixtures `hg_remote_repo_single_commit_post_init()` and `git_remote_repo_single_commit_post_init()` now support passing `env` for VCS configuration.

Both functions accept `hgconfig` and `gitconfig` fixtures, now applied in the `hg_repo` and `git_repo` fixtures.

0.32.2

Bug fixes

- Pytest fixtures: `git_repo` and `hg_repo`: Set configuration for both fixtures.

0.32.1

Revert accidental commit

Update to commands for `Git` from 465 were pushed to trunk before being prepared (even for experimental use).

Page 1 of 14

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.