Skip to content

Releases: netbox-community/netbox

v3.4.6 - 2023-03-13

13 Mar 15:56
6b6ea36
Compare
Choose a tag to compare

Enhancements

  • #10058 - Enable searching for devices/VMs by primary IP address
  • #11011 - Add ability to toggle visibility of virtual interfaces under device view
  • #11294 - Enable live preview of Markdown content
  • #11807 - Restore default page size when navigating between views
  • #11817 - Add connected_endpoints field to GraphQL API for cabled objects
  • #11851 - Include IP version in GraphQL API representations of aggregates, prefixes, and IP addresses
  • #11862 - Add Cisco StackWise 1T interface type
  • #11871 - Add IEEE 802.3az PoE type for interfaces
  • #11929 - Strip whitespace from CSV headers prior to validation

Bug Fixes

  • #11470 - Avoid raising exception when filtering IPs by an invalid address
  • #11565 - Apply custom field defaults to IP address created during FHRP group creation
  • #11631 - Fix filtering changelog & journal entries by multiple content type IDs
  • #11758 - Support non-URL-safe characters in plugin menu titles
  • #11796 - When importing devices, restrict rack by location only if the location field is specified
  • #11819 - Fix filtering of cable terminations by object type
  • #11850 - Fix loading of CSV files containing a byte order mark
  • #11903 - Fix escaping of return URL values for action buttons in tables
  • #11927 - Correct loading of plugin resources with custom paths

v3.4.5 - 2023-02-21

21 Feb 14:02
6638fd8
Compare
Choose a tag to compare

Enhancements

  • #11110 - Add start_address and end_address filters for IP ranges
  • #11592 - Introduce FILE_UPLOAD_MAX_MEMORY_SIZE configuration parameter
  • #11685 - Match on containing prefixes and aggregates when querying for IP addresses using global search
  • #11787 - Upgrade script will automatically rebuild missing search cache

Bug Fixes

  • #11032 - Fix false custom validation errors during component creation
  • #11226 - Ensure scripts and reports within submodules are automatically reloaded
  • #11459 - Enable evaluating null values in custom validation rules
  • #11473 - GraphQL requests specifying an invalid filter should return an empty queryset
  • #11582 - Ensure form validation errors are displayed when adding virtual chassis members
  • #11601 - Fix partial matching of start/end addresses for IP range search
  • #11683 - Fix CSV header attribute detection when auto-detecting import format
  • #11711 - Fix CSV import for multiple-object custom fields
  • #11723 - Circuit terminations should link to their associated circuits (rather than site or provider network)
  • #11775 - Skip checking for old search cache records when creating a new object
  • #11786 - List only applicable object types in form widget when filtering custom fields

v3.4.4 - 2023-02-02

02 Feb 20:40
65417db
Compare
Choose a tag to compare

Enhancements

  • #10762 - Permit selection custom fields to have only one choice
  • #11152 - Introduce AbortScript exception to elegantly abort scripts
  • #11554 - Add module types count to manufacturers list
  • #11585 - Add IP address filters for services
  • #11598 - Add buttons to easily switch between rack list and elevations views

Bug Fixes

  • #11267 - Avoid catching ImportErrors when loading plugin resources
  • #11487 - Remove "set null" option from non-writable custom fields during bulk edit
  • #11491 - Show edit/delete buttons in user tokens table
  • #11528 - Permit import of devices using uploaded file
  • #11555 - Avoid inadvertent interpretation of search query as regular expression under global search (previously #11516)
  • #11562 - Correct ordering of virtual chassis interfaces with duplicate names
  • #11574 - Fix exception when attempting to schedule reports/scripts
  • #11620 - Correct available filter choices for interface PoE type
  • #11635 - Pre-populate assigned VRF when following "first available IP" link from prefix view
  • #11650 - Display error message when attempting to create device component with duplicate name

v3.4.3 - 2023-01-20

20 Jan 19:20
504800a
Compare
Choose a tag to compare

Enhancements

  • #9996 - Introduce CA_CERT_PATH parameter to define SSL CA path for Redis servers
  • #10486 - Add a cable edit button for connected components in component lists
  • #11118 - Add L2VPN filters for VLANs and interfaces
  • #11150 - Add primary IPv4/v6 address filters for devices
  • #11227 - Add 800GE interface types
  • #11228 - List both devices & VMs under device role view
  • #11245 - Enable export templates for journal entries
  • #11371 - Introduce additional 100M Ethernet interface types

Bug Fixes

  • #10201 - Fix AssertionError exception when removing some terminations from an existing cable
  • #11210 - Fix ValueError exception when attempting to bulk import cables attached to occupied terminations
  • #11340 - Avoid flagging cable termination changes erroneously
  • #11379 - Fix TypeError exception when bulk editing custom date fields
  • #11384 - Correct current time display on script & report forms
  • #11402 - Avoid LookupError exception when running scripts with commit disabled
  • #11403 - Fix exception when scheduling a job in the past
  • #11416 - Avoid AttributeError exception when deleting a cabled circuit termination
  • #11433 - Avoid AttributeError exception when generating API schema for views with custom schema
  • #11438 - Fix deletion of scheduled job using non-default queues
  • #11444 - Adding/removing a device from a device bay should record a pre-change snapshot on the device bay
  • #11467 - Correct count on interfaces tab when viewing a VC master device
  • #11483 - Apply configured formatting to custom date fields
  • #11488 - Add missing description fields to several REST API serializers
  • #11497 - Enforce run_script permission when executing scripts via REST API
  • #11516 - Prevent text highlight utility from interpreting match as regex
  • #11522 - Correct tag links under contact & tenant list views
  • #11537 - Remove obsolete "Connection" column from power feeds table
  • #11544 - Catch ValidationError exception when filtering by invalid MAC address

v3.4.2 - 2023-01-03

03 Jan 21:29
04137e8
Compare
Choose a tag to compare

Enhancements

  • #9285 - Enable specifying assigned component during bulk import of inventory items
  • #10700 - Match device name when using modules quick search
  • #11121 - Add VM resource totals to cluster view
  • #11156 - Enable selecting assigned component when editing inventory item in UI
  • #11223 - reindex management command should accept app label without model name
  • #11244 - Add controls for saved filters to rack elevations list
  • #11248 - Fix database migration when plugin with search indexer is enabled
  • #11259 - Add support for Redis username configuration

Bug Fixes

  • #11280 - Fix errant newlines when exporting interfaces with multiple IP addresses assigned
  • #11290 - Correct reporting of scheduled job duration
  • #11232 - Enable partial & regular expression matching for non-string types in global search
  • #11342 - Correct cable trace URL under "connection" tab for device components
  • #11345 - Fix form validation for bulk import of modules

v3.4.1 - 2022-12-16

16 Dec 22:16
27c71b8
Compare
Choose a tag to compare

Enhancements

  • #9971 - Enable ordering of nested group models by name
  • #11214 - Introduce the DEFAULT_LANGUAGE configuration parameter

Bug Fixes

  • #11175 - Fix cloning of fields containing special characters
  • #11178 - Pressing enter in quick search box should not trigger bulk operations
  • #11184 - Correct visualization of cable path which splits across multiple circuit terminations
  • #11185 - Fix TemplateSyntaxError when viewing custom script results
  • #11189 - Fix localization of dates & numbers
  • #11205 - Correct cloning behavior for recursively-nested models
  • #11206 - Avoid clearing assigned groups if REMOTE_AUTH_DEFAULT_GROUPS is invalid

v3.4.0 - 2022-12-14

14 Dec 19:20
def3ccf
Compare
Choose a tag to compare

WARNING: NetBox v3.4 requires PostgreSQL 11 or later.

Breaking Changes

  • Device and virtual machine names are no longer case-sensitive. Attempting to create e.g. "device1" and "DEVICE1" within the same site will raise a validation error.
  • The asn, noc_contact, admin_contact, and portal_url fields have been removed from the provider model. Please replicate any data remaining in these fields to the ASN and contact models introduced in NetBox v3.1 prior to upgrading.
  • The content_type fields on the CustomLink and ExportTemplate models have been renamed to content_types and now support the assignment of multiple content types per object.
  • Within the Python API, the cf property on an object with custom fields now returns deserialized values. For example, a custom field referencing an object will return the object instance rather than its numeric ID. To access the raw serialized values, reference the object's custom_field_data attribute instead.
  • The NetBoxModelCSVForm class has been renamed to NetBoxModelImportForm. Backward compatability with the previous name has been retained for this release, but will be dropped in NetBox v3.5.

New Features

New Global Search (#10560)

NetBox's global search functionality has been completely overhauled and replaced by a new cache-based lookup. This new implementation provides a much faster, more intelligent search capability. Results are returned in order of precedence regardless of object type, and matching field values are highlighted in the results. Additionally, custom field values are now included in global search results (where enabled). Plugins can also register their own models with the new global search engine.

Virtual Device Contexts (#7854)

A new model representing virtual device contexts (VDCs) has been added. VDCs are logical partitions of resources within a device that can be managed independently. A VDC is created within a device and may have device interfaces assigned to it. An interface can be allocated to any number of VDCs on its device.

Saved Filters (#9623)

Object lists can be filtered by a variety of different fields and characteristics. Applied filters can now be saved for reuse. For example, the query string

?status=active&region_id=12&tenant=acme

can be saved and applied to future queries as

?filter=my-custom-filter

Saved filters can be kept private, or shared among NetBox users. They can be applied to both UI and REST API searches.

JSON/YAML Bulk Imports (#4347)

NetBox's bulk import feature, which was previously limited to CSV-formatted data for most types of objects, has been extended to accept data formatted in JSON or YAML as well. This enables users to directly import objects from a variety of sources without needing to first convert data to CSV. NetBox will attempt to automatically determine the format of import data if not specified by the user.

Update Existing Objects via Bulk Import (#7961)

NetBox's CSV-based bulk import functionality has been extended to support also modifying existing objects. When an id column is present in the import form, it will be used to infer the object to be modified, rather than a new object being created. All fields (columns) are optional when modifying existing objects.

Scheduled Reports & Scripts (#8366)

Reports and custom scripts can now be scheduled for execution at a desired future time. Background scheduling is handled entirely by the existing RQ workers; there is no need to configure additional tasks to support scheduled jobs. When creating a scheduled job, the user may optionally specify an interval at which the job will run repeatedly (e.g. every 24 hours).

API for Staged Changes (#10851)

This release introduces a new programmatic API that enables plugins and custom scripts to prepare changes in NetBox without actually committing them to the active database. To stage changes, create and activate a branch using the checkout() context manager. Any changes made within this context will be captured, recorded, and rolled back for future use. Once ready, a branch can be applied to the active database by calling merge().

NOTE: This feature is still under active development and considered experimental in nature. Its use in production is strongly discouraged at this time.

Enhancements

  • #815 - Enable specifying terminations when bulk importing circuits
  • #6003 - Enable the inclusion of custom field values in global search
  • #7376 - Enable the assignment of tags during CSV import
  • #8245 - Enable GraphQL filtering of related objects
  • #8274 - Enable associating a custom link with multiple object types
  • #8485 - Enable journaling for all organizational models
  • #8853 - Introduce the ALLOW_TOKEN_RETRIEVAL config parameter to restrict the display of API tokens
  • #9249 - Device and virtual machine names are no longer case-sensitive
  • #9478 - Add link_peers field to GraphQL types for cabled objects
  • #9654 - Add weight field to racks, device types, and module types
  • #9817 - Add assigned_object field to GraphQL type for IP addresses and L2VPN terminations
  • #9832 - Add mounting_depth field to rack model
  • #9892 - Add optional name field for FHRP groups
  • #10348 - Add decimal custom field type
  • #10371 - Add status field for modules
  • #10545 - Standardize the use of description and comments fields on all primary models
  • #10556 - Include a display field in all GraphQL object types
  • #10595 - Add GraphQL relationships for additional generic foreign key fields
  • #10675 - Add max_weight field to track maximum load capacity for racks
  • #10698 - Omit app label from content type in table columns
  • #10710 - Add status field to WirelessLAN
  • #10761 - Enable associating an export template with multiple object types
  • #10945 - Enable recurring execution of scheduled reports & scripts
  • #11022 - Introduce QUEUE_MAPPINGS configuration parameter to allow customization of background task prioritization

Bug Fixes (from v3.4-beta1)

  • #10946 - Fix AttributeError exception when viewing a device with a primary IP and no platform assigned
  • #10948 - Linkify primary IPs for VDCs
  • #10950 - Fix validation of VDC primary IPs
  • #10957 - Add missing VDCs column to interface tables
  • #10973 - Fix device links in VDC table
  • #10980 - Fix view tabs for plugin objects
  • #10982 - Catch NoReverseMatch exception when rendering tabs with no registered URL
  • #10984 - Fix navigation menu expansion for plugin menus comprising multiple words
  • #11000 - Improve validation of YAML-formatted import data
  • #11046 - Fix exception when caching very large field values for search
  • #11154 - Index VM interface MAC address and MTU for global search
  • #11171 - Fix querying of related objects under GraphQL API

Plugins API

  • #4751 - Enable embedding custom content on core list views via list_buttons() method
  • #8927 - Enable inclusion of plugin models in global search via SearchIndex
  • #9071 - Enable plugins to register top-level navigation menus using PluginMenu
  • #9072 - Enable registration of tabbed plugin views for ...
Read more

v3.3.10 - 2022-12-13

13 Dec 20:45
fb27803
Compare
Choose a tag to compare

Enhancements

  • #9361 - Add replication controls for module bulk import
  • #10255 - Introduce LOGOUT_REDIRECT_URL config parameter to control redirection of user after logout
  • #10447 - Enable reassigning an inventory item from one device to another
  • #10516 - Add vertical frame & cabinet rack types
  • #10748 - Add provider selection field for provider networks to circuit termination edit view
  • #11089 - Permit whitespace in MAC addresses
  • #11119 - Enable filtering L2VPNs by slug

Bug Fixes

  • #11041 - Correct power utilization percentage precision
  • #11077 - Honor configured date format when displaying date custom field values in tables
  • #11087 - Fix background color of bottom banner content
  • #11101 - Correct circuits count under site view
  • #11109 - Fix nullification of custom object & multi-object fields via REST API
  • #11128 - Disable ordering changelog table by object to avoid exception
  • #11142 - Correct available choices for status under IP range filter form
  • #11168 - Honor RQ_DEFAULT_TIMEOUT config parameter when using Redis Sentinel
  • #11173 - Enable missing tags columns for contact, L2VPN lists

v3.3.9 - 2022-11-30

30 Nov 21:14
85c6067
Compare
Choose a tag to compare

Enhancements

  • #10653 - Ensure logging of failed login attempts

Bug Fixes

  • #6389 - Call snapshot() on object when processing deletions
  • #9223 - Fix serialization of array field values in change log
  • #9878 - Fix spurious error message when rendering REST API docs
  • #10236 - Fix TypeError exception when viewing PDU configured for three-phase power
  • #10241 - Support referencing custom field related objects by attribute in addition to PK
  • #10579 - Mark cable traces terminating to a provider network as complete
  • #10721 - Disable ordering by custom object field columns
  • #10929 - Raise validation error when attempting to create a duplicate cable termination
  • #10936 - Permit demotion of device/VM primary IP via IP address edit form
  • #10938 - render_field template tag should respect label kwarg
  • #10969 - Update cable paths ending at associated rear port when creating new front ports
  • #10996 - Hide checkboxes on child object lists when no bulk operations are available
  • #10997 - Fix exception when editing NAT IP for VM with no cluster
  • #11014 - Use natural ordering when sorting rack elevations by name
  • #11028 - Enable bulk clearing of color attribute of pass-through ports
  • #11047 - Cloning a rack reservation should replicate rack & user

v3.3.8 - 2022-11-16

16 Nov 16:33
bfda5d9
Compare
Choose a tag to compare

Enhancements

  • #10356 - Add backplane Ethernet interface types
  • #10902 - Add location selector to power feed form
  • #10904 - Use front/rear port colors in cable trace SVG
  • #10914 - Include "add module type" button on manufacturer view
  • #10915 - Add count of L2VPNs to tenant view
  • #10919 - Include device location under cable view
  • #10920 - Include request cookies when queuing a custom script

Bug Fixes

  • #9439 - Ensure thread safety of change logging functions
  • #10709 - Correct UI display for azuread-v2-tenant-oauth2 SSO backend
  • #10829 - Fix bulk edit/delete buttons ad top of object lists
  • #10837 - Correct cookie paths when BASE_PATH is set
  • #10874 - Remove erroneous link for contact assignment count
  • #10881 - Fix dark mode coloring for data on device status page
  • #10891 - Populate tag selection list for service filter form
  • #10897 - Fix form widget styling on FHRP group form
  • #10910 - Fix cable creation links on power port view