.. highlight:: bash .. index:: Release notes Release Notes ============= .. _release_notes_3_5_2: 3.5.2 Release Notes ------------------- DPBuddy 3.5.2 is our annual maintenance update of the tool, released in March 2023. All dependencies (third-party libraries used by DPBuddy) have been refreshed. This includes removing and updating libraries with security vulnerabilities. DPBuddy has been tested with all the recent releases of Java, up to Java 19. Java 8 is the lowest-supported Java release. We have thoroughly tested DPBuddy 3.5.2 against the most recent DataPower firmware versions, including `10.5 `_. .. _release_notes_3_5_1: 3.5.1 Release Notes ------------------- DPBuddy 3.5.1 is our annual maintenance update of the tool. We've refreshed the underlying third-party libraries used by DPBuddy and addressed security vulnerabilities caused by some of these libraries. We've implemented various code changes to ensure that DPBuddy can be used with all the recent Java releases. All modern Java versions are now fully supported; Java 8 is the lowest supported Java release. We have thoroughly tested DPBuddy 3.5.1 against all the latest DataPower firmware versions, including the most recent releases (CD and LTS) of `10.0.0 `_ and 2018.4. .. _release_notes_3_5: 3.5 Release Notes ----------------- The focus of this release is on managing deployment and reporting of X.509 certificates and keys. New capabilities: * Extremely flexible deployment of certificates and keys from files, endpoints and keystores using the new :ref:`deployCrypto` command. * Comprehensive reporting and compliance verification of certificates and keys using the new :ref:`listCrypto` command. * You can now see the usage of any object (object reference chain) using :ref:`listObjects` command. * :ref:`passwordAliasTask` command now supports "expiration" parameter that will be displayed in the crypto report so you can easily see when a password needs to be changed. * New :ref:`listDomains` command that prints all domains and their statuses. * New :ref:`disable-enable` commands to quickly disable or enable objects. * Support for all modern versions of Java, tested with Java 15. Changes to existing commands/tasks: * Deleted and disabled objects are excluded from quiesce/un-quiesce checks. * :ref:`copy` now supports "file" option to deploy a single file * Improved error handling in the :ref:`copy` * :ref:`listObjects` command can display the usage of any DataPower object (what objects reference a given object). * :ref:`listObjects` command also displays the details of the status, e.g., the reason why an object is down. * :ref:`listObjects` command now excludes internal objects, such as generated policies and log labels. * :ref:`listObjects` command now supports ``-down`` option to only show objects that are not running. * :ref:`listObjects` command now supports ``-enabled`` and ``-disabled`` options to show only enabled or disabled objects. * :ref:`listObjects` command now supports ``-fail`` option that forces the command to fail if any of the objects are in the "down" state. * :ref:`updateConfig` command now supports ``-updateConfPath`` and ``-matchObjects`` options. ``-updateConfPath`` allows to specify configuration changes in dpbuddy.conf. DPBuddy 3.5 has been thoroughly tested with the latest firmware versions, including the most recent releases of 10.0 and 2018.4.1. .. _release_notes_3_4: 3.4 Release Notes ----------------- New capabilities: * Full support for DataPower :ref:`firmware upgrades `. * Configuration reporting: :ref:`configReport` and :ref:`listObjects` commands, can be run against multiple gateways and domains and produce detailed configuration report, including differences in configuration. * Support for DataPower operational analytics via `integration withElasticsearch/Kibana/Logstash `_. * :ref:`Log target management/creation commands `, support for file, syslog and http targets, ability to quickly change log levels. * Support for :ref:`DataPower configuration transformations ` directly from the :ref:`CLI import command `. You can specify what elements to update in-line (``updates`` option) or create more complex :ref:`reusable transform policies ` and then reference them from ``import`` using its ``transformDef`` option. * :ref:`updateConfig` task for in-place configuration updates that can be applied to multiple domains and gateways. * ``assertStatus``, ``updateConfig``, ``import``, ``copy``, ``deleteMutlipleFiles``, ``delConfig``, ``save`` commands now support ``domainPatterns`` (``domains``) option, so they can be executed against :ref:`multiple domains `. * :ref:`DPBuddy docker image ` with pre-installed Java, Apache Ant, Gradle and DPBuddy. New commands/tasks: * :ref:`exportConf` command exports dpbuddy.conf configuration as environment variables to simplify integration with shell scripts. * :ref:`testTcp` command * :ref:`saveAll` command saves all domains. Changes to existing commands/tasks: * :ref:`checkpoint` now supports automatic removal of old checkpoints. * More flexible :ref:`download` command. It now supports ``preserveTimestamp``, ``downloadIfChanged``, ``appendHost`` options/attributes. * :ref:`Export ` now supports ``includeDebug``, ``refObjects``, ``refFiles`` at the command/task level. These settings are applied to all objects being exported by the command. * ``connect`` alias for :ref:`testConnection` command. * :ref:`passwordAliasTask` now automatically updates existing password alias objects. Previously, it could only create the new ones. * Many bug fixes. Changes to the status reporting/state verification commands: * Deleted or disabled objects are excluded from the :ref:`assertState` checkOld. * :ref:`serviceStatus` (listServices) now includes device name and domain in the report, supports querying multiple domains. Changes to querying objects using :ref:`regexp matching ` * Support for ``objects`` and ``exclude`` parameters/attributes in assertState, quiesce, export, updateConfig, delConfig as an alternative to ``classPattern``/``namePattern``. You can provide a comma-delimited list of regexp patterns in the format "class:name, class:name" to ``objects``/``exclude``. Class and name could be optional, e.g., "class, class" or ":name". ``objects`` determines objects to apply a command to, ``exclude`` determines what objects to exclude. * ``-class`` and ``-name`` can be used as an alias for ``-classPattern`` and ``-namePattern``. * Class matching is no longer case sensitive. * Object name matching is not case sensitive in all commands that support ``objects`` option/attribute. * Global ignore list can now take regular expressions. Changes to quiesce commands: * Support for quiescing :ref:`multiple domains `. * Disabled objects are automatically excluded from queisce/unqueisce. * Quiesce support directly from :ref:`restartDP` command. DPBuddy configuration changes: * dpbuddy.conf can now reside in ``$DPBUDDY_HOME/conf``, no need to define ``$DPBUDDY_CONFIG`` in this case. * ``-confFile`` alias for ``-configFile`` in all commands. * Ability to override DPBuddy :ref:`log location ` using ``$DPBUDDY_LOG_HOME``. DPBuddy 3.4 has been thoroughly tested with the latest firmware versions, including the most recent fixpacks for 7.7, 7.6 and 7.5.