Pinviz

Latest version: v0.17.5

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

Scan your dependencies

Page 1 of 7

0.17.5

Fixed

- Homebrew formula now pushed directly to tap main instead of opening a PR
- Brew publish workflow now triggers on `release: published` event instead of `workflow_run`, eliminating ambiguous `head_branch` resolution
- Brew publish workflow no longer fires on non-tag publish runs

0.17.4

Fixed

- Homebrew formula update now uses inline shell instead of a separate Python script, removing it from ruff's scope
- CHANGELOG push no longer fails when commits land on main between tag push and publish completion

0.17.3

Changed
- Homebrew workflow now triggers via `workflow_run` after PyPI publish completes, ensuring correct ordering and independent re-runnability

0.17.2

Changed
- Homebrew formula update moved to dedicated `brew-publish.yml` workflow; can be re-run independently from the PyPI publish step

0.17.1

Changed
- Homebrew tap migrated to dedicated `nordstad/homebrew-pinviz` repository; users can now tap with `brew tap nordstad/pinviz` (no custom URL required)
- Formula auto-update on release now opens a PR on the tap repo instead of committing directly to main

0.17.0

Added
- Shared `BoardSelectionStrategy` protocol and `AliasBoardSelectionStrategy` — centralises board alias resolution across config and MCP flows (https://github.com/nordstad/PinViz/pull/190)
- `DiagramBuilder` — step-by-step builder shared by config and MCP assembly paths (https://github.com/nordstad/PinViz/pull/190)
- `McpDeviceAdapter` — typed adapter from MCP device records to core `Device` model objects (https://github.com/nordstad/PinViz/pull/190)
- Protocol-specific `PinAssignmentStrategy` classes (`I2CPinAssignmentStrategy`, `SPIPinAssignmentStrategy`, `DefaultPinAssignmentStrategy`) (https://github.com/nordstad/PinViz/pull/190)
- Golden SVG snapshot tests for representative rendered diagrams (https://github.com/nordstad/PinViz/pull/190)
- `FIXED_ROLE_PINS` and `PWM_PINS` class constants on `PinAssigner` (https://github.com/nordstad/PinViz/pull/190)

Changed
- `ConfigLoader` now reads validated Pydantic schema fields instead of raw dict keys (https://github.com/nordstad/PinViz/pull/190)
- `ConnectionBuilder` delegates device adaptation to `McpDeviceAdapter` and board resolution to `AliasBoardSelectionStrategy` (https://github.com/nordstad/PinViz/pull/190)
- `show_legend` schema default changed from `true` to `false` (https://github.com/nordstad/PinViz/pull/190)
- ci: update GitHub Actions to Node.js 24-compatible versions (checkout v6, setup-uv v7, upload-artifact v7, download-artifact v8, github-script v8, upload-pages-artifact v4)

Fixed
- PWM pin list corrected — physical pin 32 was missing, pin 12 was duplicated (https://github.com/nordstad/PinViz/pull/190)
- `McpDeviceAdapter._apply_metadata_overrides` no longer mutates `Device` directly; uses `dataclasses.replace` consistently (https://github.com/nordstad/PinViz/pull/190)

Page 1 of 7

© 2026 Safety CLI Cybersecurity Inc. All Rights Reserved.