mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-11 21:10:29 +01:00
Closed
opened 2025-12-29 22:26:00 +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#13208
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/7069
Author: @jeremystretch
Created: 8/30/2021
Status: ✅ Merged
Merged: 8/30/2021
Merged by: @jeremystretch
Base:
master← Head:develop📝 Commits (10+)
0503825#6372: Improve sidebar footer links layout0fe1a42Add available IPs REST API endpoint for IP ranges3cfb0baMerge pull request #6760 from netbox-community/834-ip-ranges717724cUpdate release notes31e41f8Closes #6767: Add support for Python 3.9ae6b2beCall out dependency on v2.11+ for upgrades8592e0aRemove cache invalidation from upgrade script7058d6cCloses #6328: Local docs build (#6769)47ef8b9Upgrade script now looks for Python path as env var011f351Replace changelog template code with table in home view📊 Changes
1681 files changed (+32760 additions, -198114 deletions)
View changed files
📝
.github/ISSUE_TEMPLATE/bug_report.yaml(+1 -2)📝
.github/ISSUE_TEMPLATE/feature_request.yaml(+1 -1)📝
.github/workflows/ci.yml(+18 -2)📝
.gitignore(+7 -0)📝
README.md(+7 -3)📝
base_requirements.txt(+20 -4)➕
contrib/netbox-housekeeping.sh(+9 -0)📝
contrib/netbox-rq.service(+1 -1)➖
docs/additional-features/caching.md(+0 -28)📝
docs/additional-features/napalm.md(+1 -1)📝
docs/additional-features/webhooks.md(+1 -1)➕
docs/administration/housekeeping.md(+10 -0)📝
docs/administration/netbox-shell.md(+2 -2)📝
docs/configuration/optional-settings.md(+30 -22)📝
docs/core-functionality/ipam.md(+1 -0)➖
docs/core-functionality/secrets.md(+0 -8)📝
docs/customization/custom-fields.md(+1 -1)📝
docs/customization/custom-links.md(+3 -3)📝
docs/customization/custom-scripts.md(+0 -6)➕
docs/customization/custom-validation.md(+86 -0)...and 80 more files
📄 Description
WARNING: Upgrading an existing NetBox deployment to version 3.0 must be done from version 2.11.0 or later. If attempting to upgrade a deployment of NetBox v2.10 or earlier, first upgrade to a NetBox v2.11 release, and then upgrade from v2.11 to v3.0. This will avoid any problems with the database migration optimizations implemented in version 3.0. (This is not necessary for new installations.)
Breaking Changes
invalidatemanagement command (which clears cached database queries) is no longer needed and has been removed (see #6639).caching_config) has been removed from the plugins API (see #6639).cacheops_*metrics have been removed from the Prometheus exporter (see #6639).display_fieldkeyword argument has been removed from custom script ObjectVar and MultiObjectVar fields. These widgets will use thedisplayvalue provided by the REST API.display_namefield has been removed from all REST API serializers. (API clients should reference thedisplayfield instead.)?connected=Truefilter applied.New Features
Updated User Interface (#5893)
The NetBox user interface has been completely overhauled with a fresh new look! Beyond the cosmetic improvements, this initiative has allowed us to modernize the entire front end, upgrading from Bootstrap 3 to Bootstrap 5, and eliminating dependencies on outdated libraries such as jQuery and jQuery-UI. The new user interface also features a dark mode option.
A huge thank you to NetBox maintainer Matt Love for his tremendous work on this!
GraphQL API (#2007)
A new GraphQL API has been added to complement NetBox's REST API. GraphQL allows the client to specify which fields of the available data to return in each request. NetBox's implementation, which employs Graphene, also includes a user-friendly query interface known as GraphiQL.
Here's an example GraphQL request:
And the response:
All GraphQL requests are made at the
/graphqlURL (which also serves the GraphiQL UI). The API is currently read-only, however users who wish to disable it until needed can do so by setting theGRAPHQL_ENABLEDconfiguration parameter to False. For more detail on NetBox's GraphQL implementation, see the GraphQL API documentation.IP Ranges (#834)
NetBox now supports modeling arbitrary IP ranges, which are defined by specifying a starting and ending IP address (e.g. to denote DHCP pools). Similar to prefixes, each IP range may optionally be assigned to a VRF and/or tenant, and can be assigned a functional role. An IP range must be assigned a status of active, reserved, or deprecated. The REST API implementation for this model also includes an "available IPs" endpoint which functions similarly to the endpoint for prefixes.
More information about IP ranges is available in the documentation.
Custom Model Validation (#5963)
This release introduces the
CUSTOM_VALIDATORSconfiguration parameter, which allows administrators to map NetBox models to custom validator classes to enforce custom validation logic. For example, the following configuration requires every site to have a name of at least ten characters and a description:CustomValidator can also be subclassed to enforce more complex logic by overriding its
validate()method. See the custom validation documentation for more details.SVG Cable Traces (#6000)
Cable trace diagrams are now rendered as atomic SVG images, similar to rack elevations. These images are embedded in the UI and can be easily downloaded for use outside NetBox. SVG images can also be generated directly through the REST API, by specifying SVG as the render format for the
traceendpoint on a cable termination:The width of the rendered image in pixels may optionally be specified by appending the
&width=<width>parameter to the request. The default width is 400px.New Views for Models Previously Under the Admin UI (#6466)
New UI views have been introduced to manage the following models:
These models were previously managed under the admin section of the UI. Moving them to dedicated views ensures a more consistent and convenient user experience.
REST API Token Provisioning (#5264)
The new REST API endpoint
/api/users/tokens/has been added, which includes a child endpoint for provisioning new REST API tokens using a username and password. This allows a user to gain REST API access without needing to first create a token via the web UI.If the supplied credentials are valid, NetBox will create and return a new token for the user.
New Housekeeping Command (#6590)
A new management command has been added:
manage.py housekeeping. This command is intended to be run nightly via a system cron job. It performs the following tasks:A convenience script for calling this command via an automated scheduler has been included at
/contrib/netbox-housekeeping.sh. Please see the housekeeping documentation for further details.Custom Queue Support for Plugins (#6651)
NetBox uses Redis and Django-RQ for background task queuing. Whereas previous releases employed only a single default queue, NetBox now provides a high-, medium- (default), and low-priority queue for use by plugins. (These will also likely be used internally as new functionality is added in future releases.)
Plugins can also now create their own custom queues by defining a
queueslist within their PluginConfig class:Note that NetBox's
rqworkerprocess will not service custom queues by default, since it has no way to infer the priority of each queue. Plugin authors should be diligent in including instructions for proper worker configuration in their plugin's documentation.Enhancements
colorfield to front and rear portsBug Fixes (from v3.2-beta2)
Other Changes
display_fieldargument on ObjectVarConfiguration Changes
CACHE_TIMEOUTconfiguration parameter has been removed.RELEASE_CHECK_TIMEOUTconfiguration parameter has been removed.REST API Changes
/api/secrets/generate-rsa-key-pair//api/secrets/get-session-key//api/secrets/secrets//api/secrets/secret-roles//api/dcim/console-connections//api/dcim/power-connections//api/dcim/interface-connections//api/ipam/ip-ranges/endpoint/api/users/tokens/endpointprovision/child endpoint can be used to provision new REST API tokens by supplying a valid username and passwordlengthis now a decimal valuedisplay_nameattribute (usedisplayinstead)display_nameattribute (usedisplayinstead)colorfieldcolorfielddisplay_nameattribute (usedisplayinstead)colorfieldcolorfieldlatitudeandlongitudeare now decimal fields rather than stringsdisplay_nameattribute (usedisplayinstead)mark_utilizedboolean fielddisplay_nameattribute (usedisplayinstead)display_nameattribute (usedisplayinstead)vcpusis now a decimal field rather than a string🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.