Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ jobs:
runs-on: "ubuntu-latest"
if: "startsWith(github.ref, 'refs/tags/v')"
needs: "build"
environment: "pypi"
# IMPORTANT: this permission is mandatory for trusted publishing.
permissions:
id-token: "write"
Expand Down
11 changes: 0 additions & 11 deletions docs/admin/release_notes/version_3.2.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,6 @@ This document describes all new features and changes in the release. The format
- Fixed Arista EOS reboot detection when waiting for a device to reload.

<!-- towncrier release notes start -->
## [v3.2.3a0 (2026-08-12)](https://github.com/networktocode/pyntc/releases/tag/velease-3.2.3a0)

### Added

- [#413](https://github.com/networktocode/pyntc/issues/413) - Added Juniper SRX Chassis Cluster upgrade support when ICU.
- [#418](https://github.com/networktocode/pyntc/issues/418) - Added the `arista_eos_ssh` device type, an SSH-only Arista EOS driver for environments where eAPI is not enabled; it exposes the same API as `arista_eos_eapi` and obtains structured data via the CLI's `| json` pipe.

### Housekeeping

- Work on trusted publisher for networktocode org.

## [v3.2.2 (2026-08-04)](https://github.com/networktocode/pyntc/releases/tag/v3.2.2)

### Fixed
Expand Down
30 changes: 30 additions & 0 deletions docs/admin/release_notes/version_3.3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# v3.3 Release Notes

This document describes all new features and changes in the release. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Release Overview

This release adds Juniper SRX Chassis Cluster upgrade support via ICU and introduces a new `arista_eos_ssh` device type, an SSH-only Arista EOS driver that mirrors the `arista_eos_eapi` API for environments without eAPI. It also fixes a security issue where source server passwords were logged during FTP/HTTP/HTTPS file copies to Cisco IOS devices.

<!-- towncrier release notes start -->
## [v3.3.0 (2026-10-01)](https://github.com/networktocode/pyntc/releases/tag/v3.3.0)

### Added

- [#413](https://github.com/networktocode/pyntc/issues/413) - Added Juniper SRX Chassis Cluster upgrade support when ICU.
- [#418](https://github.com/networktocode/pyntc/issues/418) - Added the `arista_eos_ssh` device type, an SSH-only Arista EOS driver for environments where eAPI is not enabled; it exposes the same API as `arista_eos_eapi` and obtains structured data via the CLI's `| json` pipe.

### Security

- [#429](https://github.com/networktocode/pyntc/issues/429) - Stopped the source server password appearing in the logs during an FTP, HTTP or HTTPS file copy to Cisco IOS devices.

### Changed

- [#426](https://github.com/networktocode/pyntc/issues/426) - Kept the byte counts on `NotEnoughFreeSpaceError` as attributes (`required`, `available`, `file_system`, `shortfall`) so callers no longer have to parse the message, and its message now reports those counts with thousands separators along with the remaining shortfall.
- [#429](https://github.com/networktocode/pyntc/issues/429) - Raised the minimum supported netmiko version to 4.4.

### Fixed

- [#429](https://github.com/networktocode/pyntc/issues/429) - Fixed remote file copy failures on Cisco IOS, NX-OS, ASA and IOS-XR reporting a generic message instead of the error the device returned.
- [#429](https://github.com/networktocode/pyntc/issues/429) - Fixed FTP, HTTP and HTTPS file transfers to Cisco IOS devices failing to authenticate.
- [#429](https://github.com/networktocode/pyntc/issues/429) - Fixed remote file copy hanging on Cisco IOS and NX-OS when a device returned output the driver did not recognize.
13 changes: 12 additions & 1 deletion docs/user/lib_getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,17 @@ Before using this feature you may need to configure a client on the device. For
>>>
```

!!! warning
Some devices read the FTP, HTTP and HTTPS credentials from the `copy` command instead of prompting for them. On those devices the credentials are placed in the command sent to the device whether they come from the URL, such as `ftp://username:password@10.1.1.10/path/to/file.bin`, or from the `username` and `token` fields. The command can appear in the device's command history and in AAA command accounting. To keep the credentials off the session, configure them on the device and pass a URL without them, such as `ftp://10.1.1.10/path/to/file.bin`:

```python
>>> csr1.config('ip ftp username ntc')
>>> csr1.config('ip ftp password ntc123')
>>>
```

This impacts Cisco IOS, Cisco NX-OS, Arista EOS and Juniper Junos.

### Save Configs

- `save` method
Expand Down Expand Up @@ -367,7 +378,7 @@ export PYNTC_LOG_LEVEL=debug
New in 0.15 there is support for [Install Mode](https://content.cisco.com/chapter.sjs?uri=/searchable/chapter/c/en/us/td/docs/switches/lan/Denali_16-1/ConfigExamples_Technotes/Config_Examples/Misc/qos/m_install_vs_bundle.html.xml) upgrades. To execute this there is an option (defaults to False) to run install mode. **file_copy must be executed before install_os**

```python
device.install_os('cat9k_iosxe.16.12.04.SPA.bin', install_mode=True)
device.install_os("cat9k_iosxe.16.12.04.SPA.bin", install_mode=True)
```

Workflow Example
Expand Down
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ nav:
- Uninstall: "admin/uninstall.md"
- Release Notes:
- "admin/release_notes/index.md"
- v3.3: "admin/release_notes/version_3.3.md"
- v3.2: "admin/release_notes/version_3.2.md"
- v3.1: "admin/release_notes/version_3.1.md"
- v3.0: "admin/release_notes/version_3.0.md"
Expand Down
Loading
Loading