Skip to content

pynautobot Release Notes

This document describes all new features and changes in the release. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

v3.0.0

Release Overview

This is the initial v3 release for pynautobot to support Nautobot v3.0.0. This release should not include any breaking changes and is mostly backwards compatible with Nautobot v2. The major version bump is primarily ceremonial to help delineate between the currently supported version of this library and the v2 LTM that will only support security patches and bug fixes.

Added

  • #318 - Added support for data-validation API endpoints.
  • #353 - Added compatibility for the vpn app.
  • #353 - Added compatibility for the load-balancers app.

Changed

  • #316 - Changed the minimum supported Python version to 3.10.

Removed

  • #202 - Removed the Nautobot version 2 validation check from the API instantiation.

v2.7.2

Changed

  • #356 - Added back compatibility with urllib3 1.x versions.

v2.7.1

Added

  • #348 - Added sending the default filter params to create and update endpoints so that the returned objects include any applicable requested fields.

v2.7.0

Added

  • #70 - Added the ability to include additional fields by default in all retrieve operations (e.g., all(), filter(), get()) by setting the include_default parameter when instantiating the Api object.
  • #343 - Added exclude_m2m parameter to api constructor to allow for automatic exclusion/inclusion of many-to-many relationships for get/filter/all requests.

Documentation

  • #340 - Added example to documentation showing how to gather config context data.

v2.6.6

Changed

  • #336 - Changed multiple model fields to properly parse as JSON instead of a separate Record object.

Fixed

  • #335 - Fixed local_config_context_data field parsing for all applicable models.

Dependencies

  • #334 - Updated packaging dependency to allow for version 23.2 or later.

Documentation

  • Added documentation for testing locally and overriding values in the development docker-compose.yml file.

v2.6.5

Fixed

  • #322 - Fixed the serialization of model fields that are lists of choices to return just the values.

v2.6.4

Added

  • #304 - Added job_name kwarg when calling Job.run().

Fixed

  • #322 - Fixed parsing choices for fields that are a list of choices.

Documentation

  • #304 - Updated documention on Jobs with new examples and v2 syntax.
  • #313 - Added example to documentation showing how to assign an IP address to an interface.

v2.6.3

Fixed

  • #302 - Fixed poetry failing to install pynautobot in the development docker image.
  • #307 - Fixed documentation for the update() method on Endpoint and added type enforcement.
  • #309 - Fixed JobsEndpoint.run_and_wait() to properly compare the job status as a string to determine if the job is complete.

Documentation

  • Updated the copyright documentation footer.

Housekeeping

  • #301 - Replaced black, bandit, flake8 and pydocstyle with ruff.
  • #303 - Added Python 3.13 to the CI test matrix.
  • Consolidated all release notes into a single page for easier searchability and a more streamlined release process.

v2.6.2

Fixed

  • #295 - Fixed parameters not being parsed correctly for secrets.

Housekeeping

  • #276 - Fixed and enabled pylint.
  • #292 - Fixed mkdocs auto build for CI.
  • #294 - Use direct import from stdlib instead of requests re-export.

v2.6.1

Fixed

  • #287 - Fixed napalm_args not being parsed correctly for platforms.

Documentation

  • #285 - Added compatibility matrix for support with Nautobot.

Housekeeping

  • #283 - Fixed the release workflow.

v2.6.0

Added

  • #32 - Added a run_and_wait method to run a Job and wait for it to complete.
  • #263 - Added support for the Wireless app and endpoints.

Housekeeping

  • #273 - Added the towncrier library to dev dependencies to help generate release notes.
  • #275 - Added support for the invoke.yml configuration file.
  • #275 - Updated invoke tests to clean up after itself to be able to run idempotently.
  • #275 - Changed the CI matrix to only test the latest stable version of Nautobot for normal PRs.
  • #275 - Disabled CI from running on branch push.
  • #275 - Added a CI workflow to be able to run tests on a branch manually.
  • #275 - Changed the tests to clone the nautobot devicetype-library instead of netbox.
  • #275 - Changed the clone directory of the devicetype-library to use a temporary directory when running in docker.
  • #278 - Removed the check for changelog fragments during the Manual Tests workflow.

v2.5.0

Changed

  • #265 - Dropped support for Python 3.8

Fixed

  • #266 - Fixed Endpoint.choices() to work for Nautobot 2.4

v2.4.2

Fixed

  • #257 - Fixed issue with pagination looping under certain conditions
  • #259 - Fixed the filter field that was missing from dynamic group objects

v2.4.1

Fixed

  • #253 - Fixed missing json data returned on cloud endpoints

v2.4.0

Added

  • #248 - Added support for new cloud models found in Nautobot 2.3+

v2.3.0

Added

  • #213 - Added the ability to retrieve App endpoints via dir
  • #214 - Added support for seeing and modifying notes on all models
  • #217 - Added the ability to provide custom limit and offset parameters
  • #233 - Added the ability to run saved GraphQL queries

Documentation Updates

  • #218 - Fixed documentation examples for working with prefixes

Changed

  • #224 - Changed the Termination.__str__ method to return the display field
  • #240 - Changed the .all() method to accept the same kwargs as .filter(), essentially making them redundant of each other
  • #243 - Updated urllib3 dependency to v2

Housekeeping

  • #220 - Added Python 3.12 to test matrix

v2.2.1

Changed

  • #195 - Fixes Record.__str__ method to use display instead of display_name
  • #191 - Replaced pkg_resources with importlib.metadata.

Housekeeping

  • #190 - Updated mkdocs.yml to bring it in line with latest template.
  • #193 - Updated docs CSS files.

v2.2.0

Added

  • #182 - Added Dynamic Group Members Detail Endpoint

Documentation Updates

  • #184 - Migrated to mkdocs for docs, converted string header to comments

v2.1.1

Fixed

  • #173 - Fixes for authentication change in Nautobot.

v2.1.0

Added

  • #163 - Adds Endpoint.delete method for bulk deleting of records
  • #165 - Adds Endpoint.update method for bulk updating of records

Fixed

  • #162 - Corrects signature of RODetailEndpoint.create to provide a proper error that it is not implemented when using api_version

v2.0.2

Fixed

  • #148 - Fixes missing packages dependency

v2.0.1

Fixed

  • #140 - Fixed SSL
  • #141 - Fixed methods and endpoints naming overlap

v2.0.0

Added

  • New release for Nautobot 2.0

  • #130 - Add version constraint on __init__ to divide 1.X and 2.X.

  • #134 - Updates in .choices due to changed OPTIONS schema
  • #135 - Docs Update

v1.5.2

Fixed

  • #174 - Fixes for authentication change in Nautobot.

v1.5.0

Added

  • #125 - Adds Update Method based on ID to keep within the pynautobot experience to update a device @jamesharr

v1.4.0

Added

  • #56 - Adds ability to execute a job via pynautobot

Housekeeping

  • Updates gitpython to 3.1.30

v1.3.0

Added

  • #85 - Added retries option to API

v1.2.2

Fixed

  • #84 - Fixes URLs for plugins with nested endpoints (i.e. /api/plugins/app_name/endpoint/nested_endpoint)

v1.2.1

Added

  • #76 - Feature: Removing the restriction on id for filter

    It is now allowed to filter per id. (switch = devices.get(id="..."))

  • #81 - Development: Added two invoke tasks:

  • debug to get the logs for Nautobot to the screen
  • stop to execute docker-compose down for started containers

v1.2.0

Updated

  • #71 - Drops support for Python3.6 and updates package dependencies.

Fixed

  • #75 - Fixes child prefixes for the available-prefixes/ips endpoint.
  • #72 - Updates to account for JSON Custom Field type introduced by Nautobot Custom Fields.

v1.1.2

Fixed

  • #57 - Revert wide spread changes introduced in (#41) to resolve __str__ method for nat_inside and nat_outside objects. Updated primary Record.__str__ to use display and fallback to previous method.

v1.1.1

Fixed

  • #43 - Incorrect attribute (display_name) set for VirtualChassis in __str__ method of record. Changed to display.

v1.1.0

Added

v1.0.4

Fixed

v1.0.3

Added

Fixed

v1.0.2

Fixed

  • #7 - Add string interpretation to extras.custom_field_choices endpoint

v1.0.0

Release Overview

This is the first official release of the pynautobot library. This project is forked from the pynetbox library.