Release Notes
Welcome to the release notes for the pan-os-upgrade
tool. This document provides a detailed record of changes, enhancements, and fixes in each version of the tool.
Version 1.3.10
Release Date: <20240319>
What's New in version 1.3.10
- Added support for the
panorama
command to perform HA upgrades
Version 1.3.9
Release Date: <20240319>
What's New in version 1.3.9
- Added support for beta releases with
-b
in their PAN-OS version names
Version 1.3.8
Release Date: <20240318>
What's New in version 1.3.8
- Added support for the
firewall
command to perform HA upgrades
Version 1.3.7
Release Date: <20240318>
What's New in version 1.3.7
- Added support for active/active firewall pairs.
- Corrected an issue where parsing HA suspended state wasn't converting ElementTree object before conditional matching
- Corrected an issue where suspending of peer HA was not being triggered in certain scenarios
Version 1.3.6
Release Date: <20240317>
What's New in version 1.3.6
- Added compatibility check for devices that are in HA to ensure that two minor or major releases aren't being skipped, which will result in a
suspended
state on the firewall that's upgraded first, and then resulting in a broken HA after the second firewall completes its upgrade.
Version 1.3.5
Release Date: <20240315>
What's New in version 1.3.5
- Added ability for Panorama appliances to check for a valid license before beginning upgrade process.
Version 1.3.4
Release Date: <20240303>
What's New in version 1.3.4
- Resolved an issue where snapshots would not be taken after an upgrade if settings.yaml file was present in the current working directory.
Version 1.3.3
Release Date: <20240228>
What's New in version 1.3.3
- Resolved an issue where a firewall would still reboot even if the install failed three consecutive PAN-OS installs.
Version 1.3.2
Release Date: <20240225>
What's New in version 1.3.2
- Documentation updates.
Version 1.3.1
Release Date: <20240225>
What's New in version 1.3.1
- Remediated a bug where snapshots weren't taken after an upgrade if
settings.yaml
wasn't in the current working directory.
Version 1.3.0
Release Date: <20240220>
What's New in version 1.3.0
- Refactor script by breaking functions into smaller, more manageable module function files.
- Revamp all pytest tests
Version 1.2.6
Release Date: <20240217>
What's New in version 1.2.6
- Move HA status collection within the
get_firewall_details
function for batch upgrades. - Update interactive inventory menu to include HA role of the firewall and if it has
preempt
enabled.
Version 1.2.5
Release Date: <20240215>
What's New in version 1.2.5
- Update repo with SUPPORT.md with details of support.
- Update console banner message to include disclaimer of support.
Version 1.2.4
Release Date: <20240215>
What's New in version 1.2.4
- Remove HA sync strict check before upgrade process to account for scenarios where a passive firewall is upgrades within a thread of the first phase before the active is targeted within the same phase.
Version 1.2.3
Release Date: <20240214>
What's New in version 1.2.3
- Introduce
create_firewall_mapping
Function to Fix Firewall Object Mapping.
Version 1.2.2
Release Date: <20240214>
What's New in version 1.2.2
- Changed the HA config sync check of Panorama appliances to be less strict as a temporary workaround for performing HA upgrades.
Version 1.2.1
Release Date: <20240214>
What's New in version 1.2.1
- Added multi-threaded execution of "show system info" command to grab firewall details
Version 1.2.0
Release Date: <20240213>
What's New in version 1.2.0
- Revamped ability to select multiple firewalls when using Panorama as a communication proxy
- Removed support for
-f
and--filter
flags, instead relying on interactive selection menu - Added new subcommand
inventory
, which will create aninventory.yaml
file based on selected firewalls
Version 1.1.6
Release Date: <20240211>
What's New in version 1.1.6
- Added over 100 tests
- Changed default behavior of ARP snapshots to False
Version 1.1.5
Release Date: <20240209>
What's New in version 1.1.5
- Support for skipping all readiness checks and snapshots with
settings
subcommand
Version 1.1.4
Release Date: <20240209>
What's New in version 1.1.4
- Documentation bug fixes
- Support for
-c
in hotfix name
Version 1.1.3
Release Date: <20240208>
What's New in version 1.1.3
- Documentation bug fixes
Version 1.1.2
Release Date: <20240208>
What's New in version 1.1.2
- Fixed a bug that prevented HA Panorama appliances from being targeted for upgrades
Version 1.1.1
Release Date: <20240204>
What's New in version 1.1.1
- Fixed a bug that prevented access to the
logo.png
file used by the PDF generation process
Version 1.1.0
Release Date: <20240204>
What's New in version 1.1.0
- Pre/Post upgrade diff report created in PDF format
- Changed structure of AssuranceOptions
enabled_by_default
key added to allow for declaring which tests will execute by default- Introduced "skipped" emoji to bring awareness to which tests and checks are skipped
- Using custom fork for
panos-upgrade-assurance
to account for integer values forttl
in ARP snapshots - Added a new troubleshooting item to address how to handle when ARP snapshots fail due to a bug in the dependency
- Formatting and docstrings revisited
Version 1.0.0
Release Date: <20240131>
What's New in version 1.0.0
- Shipping first release! 🚀
Version 0.4.3
Release Date: <20240129>
What's New in version 0.4.3
- Created workflow that will download the base image if making a major/minor upgrade
- Included new download settings to be overridden with
pan-os-upgrade
settings - Provide helpful message when a target version is not selected, providing suggestions of similar versions that are available.
Version 0.4.2
Release Date: <20240127>
What's New in version 0.4.2
- Created mechanism to override the default settings of
pan-os-upgrade
- Added support for new CLI argument,
pan-os-upgrade settings
- Created a banner message to help with usability
Version 0.4.1
Release Date: <20240127>
What's New in version 0.4.1
- Resolved an issue where missing fields in session snapshots for older PAN-OS versions caused errors in Pydantic models
- Updated the requirements.txt file to reflect the latest compatible versions of dependencies
- Refined the reboot logic to make it more straightforward, improving code readability and maintainability
Version 0.4.0
Release Date: <20240126>
What's New in version 0.4.0
- Support for three unique workflows:
firewall
: targets and upgrades an individual firewallpanorama
: targets and upgrades an individual Panorama appliancebatch
: targets a Panorama appliance and upgrades firewalls in batch- The script will support up to ten simultaneous upgrades
- Requires a filter string to be passed to identify target firewalls
Version 0.3.0
Release Date: <20240125>
What's New in version 0.3.0
- Multi-threading added for concurrent upgrades (max limit of threads is 10).
- Gracefully handle HA upgrades for HA active/passive peers.
- Added hostname to log entries to differentiate threaded upgrades.
Version 0.2.5
Release Date: <20240123>
What's New in version 0.2.5
- Supports the ability to connect to Panorama as a proxy for firewall connections
- Added new
--filter
CLI option for Panorama connections - Resolved issue where standalone firewalls were not properly signaling their completion
- Added additional validation step to ensure the upgraded firewall matches the target version after reboot
Version 0.2.4
Release Date: <20240122>
What's New in version 0.2.4
- Resolved a bug where console logging was duplicated
- Simplified the non-debug console log output
- Removed
requirements.txt
from Docker container image
Version 0.2.3
Release Date: <20240121>
What's New in version 0.2.3
- Improved error handling for network layer transport.
- Included new dependency DNS Python for hostname lookup
Version 0.2.2
Release Date: <20240121>
What's New in version 0.2.2
- Optimized for Docker execution.
- Refreshed documentation to showcase both paths of execution (Python virtual environments and Docker)
Version 0.2.1
Release Date: <20240121>
What's New in version 0.2.1
- Adjusting the execution of our script to instead reference the Typer app
app()
instead ofmain()
. - Updated the
pan-os-upgrade
alias within the pyproject.toml file to directly callapp()
instead ofmain()
Version 0.2.0
Release Date: <20240121>
What's New in version 0.2.0
- Allow for simply running
pan-os-upgrade
without arguments, providing an interactive prompt for missing variables - Replaced
argparse
withtyper
for command-line argument parsing, offering a more intuitive and user-friendly CLI experience. - Removed the option for API key authentication to streamline the authentication process.
- Removed the
.env
file lookup feature. Configuration is now exclusively handled through command-line arguments. - Updated the
hostname
variable toip_address
for clarity and consistency. - Changed
target_version
parameter name to simplyversion
to make it more concise.
Breaking Changes
- Scripts and automation tools using the previous
argparse
syntax or.env
file for configuration will need to be updated to use the newtyper
CLI arguments.
Version 0.1.1
Release Date: <20240119>
What's New in version 0.1.1
- First official release of the
pan-os-upgrade
tool on PyPi. - Made available for wide usage and distribution.
Notes
- Includes all the features and functionalities as they were in the initial development build.
Version 0.1.0 in version 0.1.0
Release Date: <20240118>
Introduction
- Initial development build of the
pan-os-upgrade
tool. - Laid down the foundation for the tool's functionalities and features.
For more detailed information on each release, visit the GitHub repository or check the commit history.