Skip to content

Releases: networktocode/pyntc

v2.4.1 - 2026-05-01

01 May 19:50
9ca4c9d

Choose a tag to compare

v2.4.1 (2026-05-01)

Fixed

  • #380 - Fixed nxos install_os waiting for the device to reboot even if a reboot was not requested.

Contributors

Full Changelog: v2.4.0...v2.4.1

v2.4.0 - 2026-04-30

30 Apr 16:28
5afcdb2

Choose a tag to compare

Release Overview

  • Add ability to check for sufficient free space before copying files to devices, with support for EOS, IOS, ASA, and JunOS platforms.
  • Added reboot flag to Device.install_os for supported platforms.

v2.4.0 (2026-04-30)

Added

  • #370 - Added a pre-transfer free-space check to EOS file_copy and remote_file_copy that raises NotEnoughFreeSpaceError when the target filesystem lacks room for the image.
  • #370 - Added file_size_unit (bytes, megabytes, or gigabytes; default bytes) and a computed file_size_bytes to FileCopyModel so remote_file_copy can verify free space against a caller-supplied size; when file_size is omitted the pre-transfer check is skipped.
  • #371 - Added free space validation for file copy operations on IOS devices.
  • #372 - Added a pre-transfer free-space check to Cisco ASA file_copy and remote_file_copy that raises NotEnoughFreeSpaceError when the target filesystem lacks room for the image.
  • #373 - Added a pre-transfer free-space check to Juniper JunOS file_copy and remote_file_copy that raises NotEnoughFreeSpaceError when the target filesystem lacks room for the image.
  • #375 - Added free space validation for file copy operations on NXOS devices.
  • #376 - Added reboot flag to Device.install_os for supported platforms.
  • #376 - Vendored pynxos library and added reboot flag to Device.set_boot_options.

Changed

  • #356 - Bump dependencies

Contributors

New Contributors

Full Changelog: v2.3.0...v2.4.0

v2.3.0 - 2026-04-14

15 Apr 11:12
9934b2f

Choose a tag to compare

Release Overview

  • Added the ability to for remote file copy on Cisco NXOS, Cisco ASA, and Arista EOS operating systems.

v2.3.0 (2026-04-14)

Added

  • #365 - Added the remote file copy feature to Arista EOS devices.
  • #365 - Added unittests for remote file copy on Arista EOS devices.
  • #366 - Added remote_file_copy, check_file_exists, get_remote_checksum, and verify_file support for ASADevice (FTP, TFTP, SCP, HTTP, HTTPS).
  • #367 - Added remote file copy feature to Cisco NXOS devices.
  • #367 - Added unittests for remote file copy for Cisco NXOS devices.

Changed

  • #368 - Improved EOS remote file copy to validate scheme and query strings before connecting, use clean_url to prevent credential leakage, and simplify credential routing.
  • #368 - Changed copy command builders to include the source file path in the URL and use flash: as the destination, matching EOS CLI conventions.
  • #368 - Fixed _uptime_to_string to use integer division, preventing ValueError on format specifiers.
  • #368 - Fixed check_file_exists and get_remote_checksum to open the SSH connection before use, preventing AttributeError when called standalone.
  • #368 - Fixed password-prompt handling in remote_file_copy to wait for the transfer to complete before proceeding to verification.
  • #368 - Simplified checksum parsing in get_remote_checksum to use string splitting instead of regex.
  • #368 - Changed verify_file to return early when file does not exist and use case-insensitive checksum comparison.
  • #368 - Removed include_username parameter from remote_file_copy in favor of automatic credential routing based on scheme and username presence.

Removed

  • #364 - Removed log.init from iosxewlc device.
  • #364 - Removed warning filter for logging.

Fixed

  • #366 - Fixed ASADevice._get_file_system to use re.search instead of re.match so the filesystem label is correctly parsed regardless of leading whitespace in dir output.
  • #366 - Fixed ASADevice._send_command to anchor the % error pattern to the start of a line (^% ) to prevent false-positive CommandError raises during file copy operations.
  • #366 - Fixed ASADevice.active_redundancy_states to include "disabled" so standalone (non-failover) units are correctly treated as active.

Housekeeping

  • #368 - Converted EOS remote file copy tests from hypothesis/pytest standalone functions to unittest TestCase with self.assertRaises and subTest for consistency with the rest of the codebase.
  • #368 - Removed duplicate test class TestRemoteFileCopyCommandExecution and consolidated into TestRemoteFileCopy.
  • #368 - Added integration tests for EOS device connectivity and remote file copy across FTP, TFTP, SCP, HTTP, HTTPS, and SFTP protocols.

New Contributors

Full Changelog: v2.2.1...v2.3.0

v2.2.1 - 2026-04-08

08 Apr 17:59
6aaeaaf

Choose a tag to compare

v2.2.1 (2026-04-08)

Added

  • #360 - Added support for Python 3.14.

Fixed

  • #354 - Fixed Github release publishing failing.

Contributors

Full Changelog: v2.2.0...v2.2.1

v2.2.0 - 2026-03-07

07 Mar 17:01
31f3509

Choose a tag to compare

What's Changed

v2.2 Release Notes

  • Added OS upgrade support for Junos devices.

v2.2.0 (2026-03-09)

Added

  • #350 - Added OS upgrade support for Junos devices.

New Contributors

Full Changelog: v2.1.0...v2.2.0

v2.1.0 - 2026-03-03

03 Mar 20:27
2fb374a

Choose a tag to compare

What's Changed

v2.1.0 (2026-03-03)

Added

  • #345 - Added the ability to download files from within a Cisco IOS device.

Housekeeping

  • #335 - Replaced black, bandit, flake8 and pydocstyle with ruff.
  • #335 - Updated tasks.py with newest task list.
  • #335 - Updated to using pyinvoke for development environment definition.
  • Fixed docs build and code-reference issues.
  • Rebaked from the cookie main.

New Contributors

Full Changelog: v2.0.2...v2.1.0

v2.0.2

08 Jan 16:10
aaea4fc

Choose a tag to compare

What's Changed

Full Changelog: v2.0.1...v2.0.2

v2.0.1

14 Sep 01:53
510aa8c

Choose a tag to compare

[2.0.1] 09-2024

Added

  • 311 Extend cisco_ios set_boot_options method.

Fixed

  • 312 Fix Arista EOS file copy issues.

New Contributors

Full Changelog: v2.0.0...v2.0.1

Release 2.0.0

03 Jan 13:12
3014dfa

Choose a tag to compare

What's Changed

Full Changelog: v1.0.2...v2.0.0

v1.0.2

01 Dec 16:35
451c3eb

Choose a tag to compare

What's Changed

Full Changelog: v1.0.1...v1.0.2