Skip to content

Releases

Universal Dev Security 1.0.1

Choose a tag to compare

@jet1x jet1x released this 14 Nov 12:20

A small maintenance release focused on first-time users.

Added

  • Getting started guide — from installation to a protected project in about ten minutes, with real example output.
  • README links now work on the PyPI project page.

Changed

  • uds hooks install now embeds the Python interpreter that installed UDS (with uds on PATH as fallback). Previously, hooks that relied only on PATH blocked every commit made without the virtual environment activated — for example from an editor's Git panel. Git hooks are never committed, so the machine-specific path is safe. Use --path-only for the previous behavior.

Already using Git hooks from 1.0.0? Re-run uds hooks install --apply to update them.

Install or upgrade

python -m pip install --upgrade universal-dev-security

PyPI and this release carry identical files.

Checksums (SHA-256)

fb2d706c5b4317974e9e0a66808b013621efcf0b6dfe36f52b58a6adfedcd68a  universal_dev_security-1.0.1-py3-none-any.whl
da8233d48420f9f08b6398bcbdd06d620d4b4acf345b5b5629215ec119280596  universal_dev_security-1.0.1.tar.gz

Full details: CHANGELOG.md

Universal Dev Security 1.0.0

Choose a tag to compare

@jet1x jet1x released this 14 Nov 10:10

First stable release of Universal Dev Security.

UDS runs Gitleaks, Semgrep, OSV-Scanner and Trivy on any project, normalizes their results, enforces a central security policy for Git and AI coding agents, and produces JSON, SARIF and an offline dark HTML dashboard.

Highlights

  • Central policy engine (allow / ask / deny); global rules cannot be weakened by project configuration or AI tools
  • Four scanner adapters with explicit states: clean, findings, not_installed, not_applicable, skipped, error
  • Severity only from scanners or the CVSS scale — never invented; no fake security score
  • Fail-closed Git pre-commit / pre-push secret hooks
  • Claude Code PreToolUse hook, verified in live Claude Code sessions: denies --no-verify and secret writes; requires approval for push, recursive deletes and .env reads
  • Dashboard with history, scan comparison, filters and exports; secrets marked "in Git" vs "local only"
  • Reversible fixes verified by your test suite; recovery checkpoints and rollback
  • CI green on Windows, Linux and macOS × Python 3.11–3.14, including real-scanner integration

Changes since 1.0.0rc1

  • Framework caches (.next/cache, .next/dev, .turbo, …) excluded from secret scanning — on a real Next.js project, noise dropped from 708 to 29 findings
  • Secrets distinguished as committed (urgent) or local-only; findings ordered by priority
  • Scan comparisons warn when the scan scope changed instead of reporting excluded findings as resolved
  • Scanners that did not run show — instead of 0

Install (Python 3.11+)

Download the wheel and SHA256SUMS into the same folder, then:

# Windows
.\scripts\install.ps1 -Wheel .\universal_dev_security-1.0.0-py3-none-any.whl
# Linux / macOS
sh scripts/install.sh --wheel ./universal_dev_security-1.0.0-py3-none-any.whl

Or directly: python -m pip install "universal-dev-security @ git+https://github.com/jet1x/Universal-Dev-Security.git@v1.0.0"

Then run uds doctor for scanner installation instructions.

Checksums (SHA-256)

d257478f346351fa19d9f23e70ac692c8fdbf5b9778501aed3574b06ae3bbcdf  universal_dev_security-1.0.0-py3-none-any.whl
184feae6bff3fe609fb2ff2c94c9bd39819f113694dee7b95f3e0f15b2f55f55  universal_dev_security-1.0.0.tar.gz

Known limitations

  • Claude Code runs project hooks only in trusted workspaces.
  • Local hooks are defense in depth; keep CI scanning and GitHub push protection enabled.

Full details: CHANGELOG.md · DEVELOPMENT_STATUS.md

Universal Dev Security 1.0.0rc1

Pre-release

Choose a tag to compare

@jet1x jet1x released this 14 Nov 00:53

Release candidate — not yet the final 1.0.0. Please test and report issues.

UDS runs Gitleaks, Semgrep, OSV-Scanner and Trivy on any project, normalizes their results, enforces a central security policy for Git and AI coding agents (Claude Code hooks, uds guard), and produces JSON, SARIF and an offline dark HTML dashboard.

Highlights

  • Central policy engine (allow / ask / deny); global rules cannot be weakened by project configuration or AI tools
  • Four scanner adapters with explicit states: clean, findings, not_installed, not_applicable, skipped, error
  • Severity only from scanners or the CVSS scale — never invented; no fake security score
  • Fail-closed Git pre-commit / pre-push secret hooks; Claude Code PreToolUse integration
  • Dashboard with history, scan comparison, filters and exports; hash-based CSP
  • Reversible fixes verified by your test suite; recovery checkpoints
  • CI green on Windows, Linux and macOS × Python 3.11–3.14, including real-scanner integration

Install (Python 3.11+)

Download the wheel and SHA256SUMS into the same folder, then:

# Windows
.\scripts\install.ps1 -Wheel .\universal_dev_security-1.0.0rc1-py3-none-any.whl
# Linux / macOS
sh scripts/install.sh --wheel ./universal_dev_security-1.0.0rc1-py3-none-any.whl

Or directly: python -m pip install "universal-dev-security @ git+https://github.com/jet1x/Universal-Dev-Security.git@v1.0.0rc1"

Then run uds doctor for scanner installation instructions.

Checksums (SHA-256)

674b412e51308729f8b0b148781411fc046086818765c363eb1159fb23574893  universal_dev_security-1.0.0rc1-py3-none-any.whl
5c3c97da02e8f16297c747638fc67122066cec9f545cbfc5eb8d22d50f504ace  universal_dev_security-1.0.0rc1.tar.gz

Known limitations

  • The Claude Code hook has not yet been exercised in a live Claude Code session.
  • Upgrading from 0.4.x: uds scan output and exit codes changed; see docs/installation.md.

Full details: CHANGELOG.md · DEVELOPMENT_STATUS.md