mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-11 21:10:29 +01:00
Closed
opened 2025-12-29 23:24:27 +01:00 by adam
·
0 comments
No Branch/Tag Specified
main
update-changelog-comments-docs
feature-removal-issue-type
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#14435
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/14636
Author: @jeremystretch
Created: 12/29/2023
Status: ✅ Merged
Merged: 12/29/2023
Merged by: @jeremystretch
Base:
master← Head:develop📝 Commits (10+)
3f40ee5Closes #14036: Move extras.plugins to netbox.plugins (#14086)450790aCloses #13550: Refactor view action mappings (#14062)ae447bd12216 Add color to circuit-type and add to SVG rendering (#14098)7274e7513230 Allow Devices to be excluded from Rack utilization (#14099)30ce9edCloses #13381: Enable plugins to register custom data backends (#14095)c4e765cCloses #14141: translation cleanup (#14143)edc4a35Initial work on #10244: Protection rules (#14097)7323668Closes #13334: Record error message on failed jobs (#14106)77208bfFix migrationsc2d1988Closes #14035: Order global search results of equivalent weight by value (#14140)📊 Changes
400 files changed (+81924 additions, -3878 deletions)
View changed files
📝
.github/ISSUE_TEMPLATE/bug_report.yaml(+1 -1)📝
.github/ISSUE_TEMPLATE/feature_request.yaml(+1 -1)📝
base_requirements.txt(+3 -9)📝
docs/administration/error-reporting.md(+3 -15)📝
docs/configuration/data-validation.md(+21 -0)📝
docs/configuration/error-reporting.md(+3 -0)📝
docs/configuration/miscellaneous.md(+16 -2)📝
docs/configuration/required-parameters.md(+3 -6)📝
docs/customization/custom-fields.md(+12 -4)📝
docs/customization/custom-validation.md(+2 -0)📝
docs/development/application-registry.md(+9 -1)📝
docs/development/extending-models.md(+26 -13)📝
docs/development/models.md(+23 -15)📝
docs/development/search.md(+1 -0)📝
docs/development/signals.md(+24 -0)📝
docs/features/api-integration.md(+2 -2)➕
docs/features/event-rules.md(+31 -0)➕
docs/features/vpn-tunnels.md(+49 -0)📝
docs/index.md(+1 -1)📝
docs/installation/3-netbox.md(+11 -0)...and 80 more files
📄 Description
Breaking Changes
content_types,type_create,type_update,type_delete,type_job_start,type_job_end,enabled, andconditions. Webhooks are now tied to events via event rules. New event rules will be created for any existing webhooks automatically upon upgrade.ui_visibilityfield on the custom field model has been replaced with two new fields:ui_visibleandui_editable. These new fields will have their values mapped from the original field automatically upon upgrade.FeatureQueryclass used internally for querying content types by model feature has been removed. It has been replaced by the newwith_feature()manager method on NetBox's proxy model for ContentType (core.models.ContentType).extrastocore. Configuration history will be retained throughout the upgrade process.ipamapp to the newvpnapp. All object data will be retained, however please note that the relevant API endpoints have likewise moved to/api/vpn/.CustomFieldsMixin,SavedFiltersMixin, andTagsMixinclasses have moved from theextras.forms.mixinsmodule tonetbox.forms.mixins.New Features
VPN Tunnels (#9816)
Several new models have been introduced to enable VPN tunnel management. Users can now define tunnels with two or more terminations to represent peer-to-peer or hub-and-spoke topologies. Each termination is made to a virtual interface on a device or virtual machine. Additionally, users can define IKE and IPSec proposals and policies, which can be applied to tunnels to document encryption and authentication strategies.
Event Rules (#14132)
This release introduces event rules, which can be used to send webhooks or execute custom scripts automatically in response to events that occur in NetBox. For example, it's now possible to run a custom script whenever a new site is created with a particular status or tag.
Event rules replace and extend functionality that was previously built into the webhook model. New event rules will be created for any existing webhooks automatically upon upgrade.
Virtual Machine Disks (#8356)
A new VirtualDisk model has been introduced to enable tracking the assignment of discrete virtual disks to virtual machines. The
sizefield has been retained on the VirtualMachine model, and will be populated automatically with the aggregate size of all assigned virtual disks. (Users who opt to eschew the new model may continue using the VirtualMachinesizeattribute independently as in previous releases.)Object Protection Rules (#10244)
A new
PROTECTION_RULESconfiguration parameter has been introduced. Similar to how custom validation rules can be used to enforce certain values for object attributes, protection rules guard against the deletion of objects which do not meet specified criteria. This enables an administrator to prevent, for example, the deletion of a site which has a status of "active."Improved Custom Field Visibility Controls (#13299)
The
ui_visiblefield on the custom field model has been superseded by two new fields,ui_visibleandui_editable, which control how and whether a custom field is displayed when view and editing an object, respectively. Separating these two functions into discrete fields allows more control over how each custom field is presented to users. The values of these fields will be appropriately set automatically during the upgrade process from the value of the original field.Improved Global Search Results (#14134)
Global search results now include additional context about each object, such as a description, status, and/or related objects. The set of attributes to be displayed is specific to each object type, and is defined by setting
display_attrsunder the object's SearchIndex class.Table Column Registration for Plugins (#14173)
Plugins can now register their own custom columns for inclusion on core NetBox tables. For example, a plugin can register a new column on SiteTable using the new
register_table_column()utility function, and it will become available for users to select for display.Data Backend Registration for Plugins (#13381)
Plugins can now register their own data backends for use with synchronized data sources. This enables plugins to introduce new backends in addition to the git, S3, and local path backends provided natively.
Enhancements
colorfield for circuit typeserrorfield to the Job model to record any errors associated with its execution/render-configREST API endpoint for virtual machinesCHANGELOG_SKIP_EMPTY_CHANGESconfig parameterdescriptionfield for webhooksjob_startandjob_endsignals to allow automated plugin actionsinterface_idandconsoleport_id)Translations
Bug Fixes
Other Changes
ActionsMixin(backward compatibility has been retained)sentry-sdkPython library is now required only if Sentry reporting is enabledextrasapp intonetbox(backward compatibility has been retained)FeatureQuerywith newwith_feature()method on proxy ContentType manageripamapp to the newvpnappextrasapp tocoreextrasapp tonetboxextras.webhooks_worker.process_webhook()toextras.webhooks.send_webhook()(backward compatibility has been retained)clearcachemanagement commandENFORCE_GLOBAL_UNIQUEnow defaults to true)🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.