Skip to content

Releases: netbox-community/netbox

v3.4.10 - 2023-04-27

27 Apr 16:03
72767fb
Compare
Choose a tag to compare

Bug Fixes

  • #11607 - Fix custom object field assignments made via REST API for for cables
  • #12252 - Fix ordering of search results when sorting by object name
  • #12355 - Fix escaping of certain characters in URL when rendering custom links

v3.4.9 - 2023-04-26

26 Apr 18:55
f867cb3
Compare
Choose a tag to compare

Enhancements

  • #10987 - Show peer racks as a dropdown list under rack view
  • #11386 - Introduce CSRF_COOKIE_SECURE, SECURE_SSL_REDIRECT, and SESSION_COOKIE_SECURE configuration parameters
  • #11623 - Hide PSK strings under wireless LAN & link views
  • #12205 - Sanitize rendered custom links to mitigate malicious links
  • #12226 - Enable setting user name & email values via remote authenticate headers
  • #12337 - Enable anonymized reporting of census data

Bug Fixes

  • #11383 - Fix ordering of global search results by object type
  • #11902 - Fix import of inventory items for devices with duplicated names
  • #12238 - Improve error message for API token IP prefix validation failures
  • #12255 - Restore the ability to move inventory items among devices
  • #12270 - Fix pre-population of list values when creating a saved filter
  • #12296 - Fix "mark connected" form field for bulk editing front & rear ports

v3.5-beta2 - 2023-04-18

18 Apr 13:36
Compare
Choose a tag to compare
Pre-release

Bug Fixes (From Beta1)

  • #12103 - Limit the types of objects available for object count & list widgets
  • #12105 - Prevent data sources from becoming stuck in "syncing" status when an exception is raised
  • #12106 - Fix exception when saving dashboard widget with minimum width/height
  • #12108 - Limit the draggable area of widgets to their headers
  • #12109 - Fix migration error when replicating more than 100 job results
  • #12112 - Do not link data source URL for local paths
  • #12115 - Fix rendering config templates from a data file
  • #12144 - Ensure consistent treatment of context data when rendering config templates via UI & API
  • #12145 - Employ HTMXSelect widget to fix inclusion of <select> field values during form regeneration
  • #12146 - Do not display object selector for disabled fields
  • #12151 - Remove incorrect OpenAPI string mapping for choice fields
  • #12167 - Catch and report on exceptions raised when rendering a config template

v3.4.8 - 2023-04-12

12 Apr 19:30
3c91331
Compare
Choose a tag to compare

Enhancements

  • #10414 - Enable general purpose image attachments for device types
  • #10600 - Allow custom object fields to reference a user or group
  • #11015 - Remove unit from commit rate column header in circuits table
  • #11431 - Disallow changing custom field type after creation
  • #11453 - Display a warning banner when DEBUG is enabled
  • #12007 - Enable filtering of VM Interfaces by assigned VLAN
  • #12095 - Specify UTF-8 encoding for default export template MIME type
  • #12207 - Introduce the grant_token permission for controlling the creation of API tokens on behalf of other users

Bug Fixes

  • #10221 - Validate generic foreign key relations assigned via REST API requests
  • #11432 - Prevent existing components & component templates from being reassigned to different devices/device types via the REST API
  • #11454 - Raise validation error if generic foreign key assignment does not specify both object type and ID
  • #11746 - Fix cleanup of object data when deleting a custom field
  • #12011 - Fix KeyError exception when attempting to add module bays in bulk
  • #12040 - Display relevant UI tab upon bulk import validation failure
  • #12074 - Fix the automatic assignment of racks to devices via the REST API
  • #12084 - Fix exception when attempting to create a saved filter for applied filters
  • #12087 - Fix bulk editing of many-to-many relationships
  • #12117 - Hide clone button for objects with no clonable attributes
  • #12118 - Fix instantiation of nested inventory item templates when creating a device
  • #12184 - Fix filtered bulk deletion for various models
  • #12190 - Fix form layout for plugin textarea fields
  • #12227 - Fix tenant assignment on bulk import of L2VPNs

v3.5-beta1 - 2023-03-30

30 Mar 19:58
Compare
Choose a tag to compare
Pre-release

Breaking Changes

  • The JobResult model has been moved from the extras app to core and renamed to Job. Accordingly, its REST API endpoint has been moved from /api/extras/job-results/ to /api/core/jobs/.
  • The obj_type field on the Job model (previously JobResult) has been renamed to object_type for consistency with other models.
  • The JOBRESULT_RETENTION configuration parameter has been renamed to JOB_RETENTION.
  • The REST API schema is now generated using the OpenAPI 3.0 spec
  • The URLs for the REST API schema documentation have changed:
    • /api/docs/ is now /api/schema/swagger-ui/
    • /api/redoc/ is now /api/schema/redoc/

New Features

Customizable Dashboard (#9416)

The static home view has been replaced with a fully customizable dashboard. Users can construct and rearrange their own personal dashboard to convey the information most pertinent to them. Supported widgets include object statistics, configurable object lists, RSS feeds, and notes, and we expect to continue adding new widgets over time.

Remote Data Sources (#11558)

NetBox now has the ability to synchronize arbitrary data from external sources through the new DataSource and DataFile models. Synchronized files are stored in the PostgreSQL database, and may be referenced and consumed by other NetBox models, such as export templates and config contexts. Currently, replication from local filesystem paths, git repositories, and Amazon S3 buckets is supported, and we expect to introduce additional backends in the near future.

Configuration Template Rendering (#11559)

This release introduces the ability to render device configurations from Jinja2 templates natively within NetBox, via both the UI and REST API. The new ConfigTemplate model stores template code (which may be defined locally or sourced from remote data files). The rendering engine passes data gleaned from both config contexts and request parameters to generate complete configurations suitable for direct application to network devices.

NAPALM Plugin (#10520)

The NAPALM integration feature found in previous NetBox releases has been moved from the core application to a dedicated plugin. This allows greater control over the feature's configuration and will unlock additional potential as a separate project.

ASN Ranges (#8550)

A new ASN range model has been introduced to facilitate the provisioning of new autonomous system numbers from within a prescribed range. For example, an administrator might define an ASN range of 65000-65099 to be used for internal site identification. This includes a REST API endpoint suitable for automatic provisioning, very similar to the allocation of available prefixes and IP addresses.

Provider Accounts (#9047)

A new model has been introduced to represent individual accounts within a common circuit provider. This replaces the account field on the provider model, enabling users to track multiple accounts per provider. New provider account instances will be created automatically during upgrade for all providers which currently have an account assigned. The assignment of individual circuits to a provider account remains optional.

Job-Triggered Webhooks (#8958)

Two new webhook trigger events have been introduced: job_start and job_end. These enable users to configure webhook to trigger when a background job starts or ends, respectively. This new functionality can be used, for example, to inform a remote system when a custom script has been executed.

Enhancements

  • #7947 - Enable marking IP ranges as fully utilized
  • #8184 - Employ HTMX to dynamically render tables listing related objects
  • #8272 - Support bridge relationships among device type interfaces
  • #8749 - Support replicating custom field values when cloning an object
  • #9073 - Enable syncing config context data from remote sources
  • #9653 - Enable setting a default platform for device types
  • #10054 - Introduce advanced object selector for UI forms
  • #10242 - Redirect to filtered objects list after bulk import
  • #10374 - Require unique tenant names & slugs per group
  • #10729 - Add date & time custom field type
  • #11254 - Introduce the X-Request-ID HTTP header to annotate the unique ID of each request for change logging
  • #11291 - Optimized GraphQL API request handling
  • #11440 - Add an enabled field for device type interfaces
  • #11494 - Enable filtering objects by create/update request IDs
  • #11517 - Standardize the inclusion of related objects across the entire UI
  • #11584 - Add a list view for contact assignments
  • #11625 - Add HTMX support to ObjectEditView
  • #11693 - Enable syncing export template content from remote sources
  • #11780 - Enable loading import data from remote sources
  • #11790 - Create database indexes for all generic foreign keys
  • #11968 - Add navigation menu buttons to create device & VM components
  • #12068 - Enable generic foreign key relationships from jobs to NetBox objects
  • #12085 - Add a file source view for reports

Other Changes

  • #10604 - Remove unused extra_tabs block from object.html generic template
  • #10923 - Remove unused NetBoxModelCSVForm class (replaced by NetBoxModelImportForm)
  • #11489 - Consoldated several middleware classes
  • #11611 - Refactor API viewset classes and introduce NetBoxReadOnlyModelViewSet
  • #11694 - Remove obsolete SmallTextarea form widget
  • #11737 - ChangeLoggedModel now inherits WebhooksMixin
  • #11765 - Retire the StaticSelect and StaticSelectMultiple form widgets
  • #11955 - Remove the unused CSVDataField and CSVFileField classes
  • #12067 - Move & rename extras.JobResult to core.Job

v3.4.7 - 2023-03-28

28 Mar 18:08
Compare
Choose a tag to compare

Enhancements

  • #11645 - Automatically set the scheduled time when executing reports/scripts at a recurring interval
  • #11833 - Add fieldset support for custom script forms
  • #11973 - Use SSID for representing wireless links, if set
  • #11977 - Support designating multiple backends via REMOTE_AUTH_BACKEND config parameter
  • #11990 - Improve error reporting for duplicate CSV column headings
  • #11991 - Enable VDC assignment during bulk import/edit of interfaces

Bug Fixes

  • #11914 - Include parameters when exporting saved filters
  • #11933 - Fix cloning of saved filters
  • #11984 - Remove erroneous 802.3az PoE type
  • #11979 - Correct URL for tags in route targets list
  • #12008 - Enable cloning of export templates
  • #12029 - Restore missing description field on virtual chassis form
  • #12038 - Correct display of zero values for virtual chassis member priority
  • #12048 - Enable cloning of tags
  • #12058 - Enable cloning of config contexts

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