mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-13 22:03:32 +01:00
Closed
opened 2025-12-29 22:27:20 +01:00 by adam
·
0 comments
No Branch/Tag Specified
main
21050-device-oob-ip-may-become-orphaned
21102-fix-graphiql-explorer
20911-dropdown
20239-plugin-menu-classes-mutable-state
21097-graphql-id-lookups
feature
fix_module_substitution
20923-dcim-templates
20044-elevation-stuck-lightmode
feature-ip-prefix-link
v4.5-beta1-release
20068-import-moduletype-attrs
20766-fix-german-translation-code-literals
20378-del-script
7604-filter-modifiers-v3
circuit-swap
12318-case-insensitive-uniqueness
20637-improve-device-q-filter
20660-script-load
19724-graphql
20614-update-ruff
14884-script
02496-max-page
19720-macaddress-interface-generic-relation
19408-circuit-terminations-export-templates
20203-openapi-check
fix-19669-api-image-download
7604-filter-modifiers
19275-fixes-interface-bulk-edit
fix-17794-get_field_value_return_list
11507-show-aggregate-and-rir-on-api
9583-add_column_specific_search_field_to_tables
v4.5.0
v4.4.10
v4.4.9
v4.5.0-beta1
v4.4.8
v4.4.7
v4.4.6
v4.4.5
v4.4.4
v4.4.3
v4.4.2
v4.4.1
v4.4.0
v4.3.7
v4.4.0-beta1
v4.3.6
v4.3.5
v4.3.4
v4.3.3
v4.3.2
v4.3.1
v4.3.0
v4.2.9
v4.3.0-beta2
v4.2.8
v4.3.0-beta1
v4.2.7
v4.2.6
v4.2.5
v4.2.4
v4.2.3
v4.2.2
v4.2.1
v4.2.0
v4.1.11
v4.1.10
v4.1.9
v4.1.8
v4.2-beta1
v4.1.7
v4.1.6
v4.1.5
v4.1.4
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.11
v4.0.10
v4.0.9
v4.1-beta1
v4.0.8
v4.0.7
v4.0.6
v4.0.5
v4.0.3
v4.0.2
v4.0.1
v4.0.0
v3.7.8
v3.7.7
v4.0-beta2
v3.7.6
v3.7.5
v4.0-beta1
v3.7.4
v3.7.3
v3.7.2
v3.7.1
v3.7.0
v3.6.9
v3.6.8
v3.6.7
v3.7-beta1
v3.6.6
v3.6.5
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.5.9
v3.6-beta2
v3.5.8
v3.6-beta1
v3.5.7
v3.5.6
v3.5.5
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.4.10
v3.4.9
v3.5-beta2
v3.4.8
v3.5-beta1
v3.4.7
v3.4.6
v3.4.5
v3.4.4
v3.4.3
v3.4.2
v3.4.1
v3.4.0
v3.3.10
v3.3.9
v3.4-beta1
v3.3.8
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.2.9
v3.2.8
v3.3-beta2
v3.2.7
v3.3-beta1
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.1.11
v3.1.10
v3.2-beta2
v3.1.9
v3.2-beta1
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.0.12
v3.0.11
v3.0.10
v3.1-beta1
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.11.12
v3.0-beta2
v2.11.11
v2.11.10
v3.0-beta1
v2.11.9
v2.11.8
v2.11.7
v2.11.6
v2.11.5
v2.11.4
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.10
v2.10.9
v2.11-beta1
v2.10.8
v2.10.7
v2.10.6
v2.10.5
v2.10.4
v2.10.3
v2.10.2
v2.10.1
v2.10.0
v2.9.11
v2.10-beta2
v2.9.10
v2.10-beta1
v2.9.9
v2.9.8
v2.9.7
v2.9.6
v2.9.5
v2.9.4
v2.9.3
v2.9.2
v2.9.1
v2.9.0
v2.9-beta2
v2.8.9
v2.9-beta1
v2.8.8
v2.8.7
v2.8.6
v2.8.5
v2.8.4
v2.8.3
v2.8.2
v2.8.1
v2.8.0
v2.7.12
v2.7.11
v2.7.10
v2.7.9
v2.7.8
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.12
v2.6.11
v2.6.10
v2.6.9
v2.7-beta1
Solcon-2020-01-06
v2.6.8
v2.6.7
v2.6.6
v2.6.5
v2.6.4
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.13
v2.5.12
v2.6-beta1
v2.5.11
v2.5.10
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.9
v2.5-beta2
v2.4.8
v2.5-beta1
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.7
v2.4-beta1
v2.3.6
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.10
v2.3-beta2
v2.2.9
v2.3-beta1
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.6
v2.2-beta2
v2.1.5
v2.2-beta1
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.10
v2.1-beta1
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v2.0-beta3
v1.9.6
v1.9.5
v2.0-beta2
v1.9.4-r1
v1.9.3
v2.0-beta1
v1.9.2
v1.9.1
v1.9.0-r1
v1.8.4
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.7.3
v1.7.2-r1
v1.7.1
v1.7.0
v1.6.3
v1.6.2-r1
v1.6.1-r1
1.6.1
v1.6.0
v1.5.2
v1.5.1
v1.5.0
v1.4.2
v1.4.1
v1.4.0
v1.3.2
v1.3.1
v1.3.0
v1.2.2
v1.2.1
v1.2.0
v1.1.0
v1.0.7-r1
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3-r1
v1.0.3
1.0.0
Labels
Clear labels
beta
breaking change
complexity: high
complexity: low
complexity: medium
needs milestone
netbox
pending closure
plugin candidate
pull-request
severity: high
severity: low
severity: medium
status: accepted
status: backlog
status: blocked
status: duplicate
status: needs owner
status: needs triage
status: revisions needed
status: under review
topic: GraphQL
topic: Internationalization
topic: OpenAPI
topic: UI/UX
topic: cabling
topic: event rules
topic: htmx navigation
topic: industrialization
topic: migrations
topic: plugins
topic: scripts
topic: templating
topic: testing
type: bug
type: deprecation
type: documentation
type: feature
type: housekeeping
type: translation
Mirrored from GitHub Pull Request
No Label
pull-request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/netbox#13425
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/netbox-community/netbox/pull/9041
Author: @jeremystretch
Created: 4/5/2022
Status: ✅ Merged
Merged: 4/5/2022
Merged by: @jeremystretch
Base:
master← Head:develop📝 Commits (10+)
ae3c871Merge pull request #8186 from netbox-community/8118-inventoryitem-template9f53497Clean up & expand button color choices8e69961Fix CustomLinkButtonClassChoices references in tests0978777Merge v3.1.4fa1e28eInitial work on Assign ASN's to device(s) for use in a BGP/VXLAN/EVPN network. (#7006)954d811Reindex migrations88ac0f5Work on #6221 - Make templatetags safe for consumption when using plugins and update ButtonColumn to use viewname helper.271b7adExtend to support the assignment of multiple objects per field85c0637Fix bulk editing for custom object fields7aa1fabFix tests📊 Changes
498 files changed (+20501 additions, -11383 deletions)
View changed files
📝
.github/ISSUE_TEMPLATE/bug_report.yaml(+1 -1)📝
.github/ISSUE_TEMPLATE/feature_request.yaml(+1 -1)📝
.github/workflows/ci.yml(+4 -3)➕
.readthedocs.yaml(+10 -0)📝
base_requirements.txt(+11 -2)📝
docs/configuration/dynamic-settings.md(+16 -0)📝
docs/configuration/index.md(+6 -1)📝
docs/configuration/optional-settings.md(+92 -0)📝
docs/core-functionality/device-types.md(+1 -0)📝
docs/core-functionality/devices.md(+1 -0)➕
docs/core-functionality/modules.md(+4 -0)📝
docs/core-functionality/services.md(+1 -0)📝
docs/customization/reports.md(+1 -1)📝
docs/development/adding-models.md(+1 -1)📝
docs/development/getting-started.md(+38 -19)📝
docs/development/release-checklist.md(+1 -1)📝
docs/development/user-preferences.md(+8 -5)📝
docs/index.md(+1 -1)📝
docs/installation/3-netbox.md(+7 -12)📝
docs/installation/index.md(+1 -1)...and 80 more files
📄 Description
Breaking Changes
asnfield has been removed from the site model. Please replicate any site ASN assignments to the ASN model introduced in NetBox v3.1 prior to upgrading.asnquery filter for sites now matches against the AS number of assigned ASN objects.contact_name,contact_phone, andcontact_emailfields have been removed from the site model. Please replicate any data remaining in these fields to the contact model introduced in NetBox v3.1 prior to upgrading.createdfield of all change-logged models now conveys a full datetime object, rather than only a date. (Previous date-only values will receive a timestamp of 00:00.) While this change is largely unconcerning, strictly-typed API consumers may need to be updated.pre_run()method has been added to the base Report class. Although unlikely to affect most installations, you may need to alter any reports which already use this name for a method.New Features
Plugins Framework Extensions (#8333)
NetBox's plugins framework has been extended considerably in this release. Additions include:
ObjectViewObjectEditViewObjectDeleteViewObjectListViewBulkImportViewBulkEditViewBulkDeleteViewNetBoxModelbase class, which enables various NetBox features, including:NetBoxModelFormNetBoxModelCSVFormNetBoxModelBulkEditFormNetBoxModelFilterSetFormNetBoxModelFilterSetbase class for plugin filter setsNetBoxTablebase class for rendering object tables withdjango-tables2, as well as various custom column classesNetBoxModelViewSetand several base serializer classes now provide enhanced REST API functionalityNo breaking changes to previously supported components have been introduced in this release. However, plugin authors are encouraged to audit their existing code for misuse of unsupported components, as much of NetBox's internal code base has been reorganized.
Modules & Module Types (#7844)
Several new models have been added to represent field-replaceable device modules, such as line cards installed within a chassis-based switch or router. Similar to devices, each module is instantiated from a user-defined module type, and can have components (interfaces, console ports, etc.) associated with it. These components become available to the parent device once the module has been installed within a module bay. This provides a convenient mechanism to effect the addition and deletion of device components as modules are installed and removed.
Automatic renaming of module components is also supported. When a new module is created, any occurrence of the string
{module}in a component name will be replaced with the position of the module bay into which the module is being installed.As with device types, the NetBox community offers a selection of curated real-world module type definitions in our device type library. These YAML files can be imported directly to NetBox for your convenience.
Custom Object Fields (#7006)
Two new types of custom field have been introduced: object and multi-object. These can be used to associate an object in NetBox with some other arbitrary object(s) regardless of its type. For example, you might create a custom field named
primary_siteon the tenant model so that each tenant can have particular site designated as its primary. The multi-object custom field type allows for the assignment of multiple objects of the same type.Custom field object assignment is fully supported in the REST API, and functions similarly to built-in foreign key relations. Nested representations are provided automatically for each custom field object.
Custom Status Choices (#8054)
Custom choices can be now added to most object status fields in NetBox. This is done by defining the
FIELD_CHOICESconfiguration parameter to map field identifiers to an iterable of custom choices an (optionally) colors. These choices are populated automatically when NetBox initializes. For example, the following configuration will add three custom choices for the site status field, each with a designated color:This will replace all default choices for this field with those listed. If instead the intent is to extend the set of default choices, this can be done by appending a plus sign (
+) to the end of the field identifier. For example, the following will add a single extra choice while retaining the defaults provided by NetBox:Improved User Preferences (#7759)
A robust new mechanism for managing user preferences is included in this release. The user preferences form has been improved for better usability, and administrators can now define default preferences for all users with the
DEFAULT_USER_PREFERENCESconfiguration parameter. For example, this can be used to define the columns which appear by default in a table:Users can adjust their own preferences under their user profile. A complete list of supported preferences is available in NetBox's developer documentation.
Inventory Item Roles (#3087)
A new model has been introduced to represent functional roles for inventory items, similar to device roles. The assignment of roles to inventory items is optional.
Inventory Item Templates (#8118)
Inventory items can now be templatized on a device type similar to other components (such as interfaces or console ports). This enables users to better pre-model fixed hardware components such as power supplies or hard disks.
Inventory item templates can be arranged hierarchically within a device type, and may be assigned to other templated components. These relationships will be mirrored when instantiating inventory items on a newly-created device (see #7846). For example, if defining an optic assigned to an interface template on a device type, the instantiated device will mimic this relationship between the optic and interface.
Service Templates (#1591)
A new service template model has been introduced to assist in standardizing the definition and association of applications with devices and virtual machines. As an alternative to manually defining a name, protocol, and port(s) each time a service is created, a user now has the option of selecting a pre-defined template from which these values will be populated.
Automatic Provisioning of Next Available VLANs (#2658)
A new REST API endpoint has been added at
/api/ipam/vlan-groups/<id>/available-vlans/. A GET request to this endpoint will return a list of available VLANs within the group. A POST request can be made specifying the name(s) of one or more VLANs to create within the group, and their VLAN IDs will be assigned automatically from the available pool.Where it is desired to limit the range of available VLANs within a group, users can define a minimum and/or maximum VLAN ID per group (see #8168).
Enhancements
AUTH_PASSWORD_VALIDATORSsetting to enforce password validation for local accountsservice_idfield for provider networksspeedandduplexfields to device interface modelmin_vidandmax_vidfields to VLAN groupdata_typeindicator to REST API serializer for custom fieldscreatedfield on all change-logged models from date to datetimepre_run()method for reportslinkfield for contactsNETBOX_CONFIGURATIONenvironment variableBug Fixes (From Beta2)
object_typefield on CustomField REST API serializerOther Changes
CSRF_TRUSTED_ORIGINSis now a discrete configuration parameter (rather than being populated fromALLOWED_HOSTS)objtoobject(backward-compatible)🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.