diff --git a/base_requirements.txt b/base_requirements.txt index 841dc0a2436..c89a1ebee1d 100644 --- a/base_requirements.txt +++ b/base_requirements.txt @@ -10,7 +10,7 @@ django-cors-headers # https://github.com/jazzband/django-debug-toolbar/blob/main/docs/changes.rst # Pinned for DNS looukp bug; see https://github.com/netbox-community/netbox/issues/16454 # and https://github.com/jazzband/django-debug-toolbar/issues/1927 -django-debug-toolbar==4.3.0 +django-debug-toolbar # Library for writing reusable URL query filters # https://github.com/carltongibson/django-filter/blob/main/CHANGES.rst diff --git a/docs/release-notes/version-4.1.md b/docs/release-notes/version-4.1.md index dd846269da0..8f15c87cc20 100644 --- a/docs/release-notes/version-4.1.md +++ b/docs/release-notes/version-4.1.md @@ -1,6 +1,9 @@ # NetBox v4.1 -## v4.1.0 (FUTURE) +## v4.1-beta1 (2024-08-05) + +!!! danger "Not for Production Use" + This is a beta release of NetBox intended for testing and evaluation. **Do not use this software in production.** Also be aware that no upgrade path is provided to future releases. ### Breaking Changes @@ -8,6 +11,7 @@ * The unit size for `VirtualMachine.disk` and `VirtualDisk.size` been changed from 1 gigabyte to 1 megabyte. Existing values have been updated accordingly. * The `min_vid` and `max_vid` fields on the VLAN group model have been replaced with `vid_ranges`, an array of starting and ending integer pairs. * The five individual event type fields on the EventRule model have been replaced by a single `event_types` array field, indicating each assigned event type by name. +* The UI views & API endpoints associate with change records have been moved from `/extras` to `/core`. * The `validate()` method on CustomValidator subclasses now **must** accept the request argument (deprecated in v4.0 by #14279). ### New Features @@ -18,15 +22,19 @@ Circuits can now be assigned to groups for administrative purposes. Each circuit #### VLAN Group ID Ranges ([#9627](https://github.com/netbox-community/netbox/issues/9627)) -The VLAN group model has been enhanced to support multiple VLAN ID (VID) ranges, whereas previously it could track only a single beginning and ending VID. VID ranges are stored as an array of beginning and ending (inclusive) integers. +The VLAN group model has been enhanced to support multiple VLAN ID (VID) ranges, whereas previously it could track only a single beginning and ending VID. VID ranges are stored as an array of beginning and ending (inclusive) integer pairs. + +#### Nested Device Modules ([#10500](https://github.com/netbox-community/netbox/issues/10500)) + +Module bays can now be nested to effect a hierarchical arrangement of modules within a device. A module installed within a device's module bay may itself have module bays into which child modules may be installed. #### Rack Types ([#12826](https://github.com/netbox-community/netbox/issues/12826)) -A new rack type model has been introduced, which functions similar to the device type model. Users can now define a common make and model of rack, the attributes of which are automatically populated when creating a new rack of that type. +A new rack type model has been introduced, which functions similarly to the device type model. Users can now define a common make and model of rack, the attributes of which are automatically populated when creating a new rack of that type. Backward compatibility for racks with individually defined characteristics is fully retained. #### Plugins Catalog Integration ([#14731](https://github.com/netbox-community/netbox/issues/14731)) -The NetBox UI now integrates directly with the canonical plugins catalog hosted by NetBox Labs. In addition to locally installed plugins, users can explore available plugins and check for newer releases. +The NetBox UI now integrates directly with the canonical [plugins catalog](https://netboxlabs.com/netbox-plugins/) hosted by NetBox Labs. In addition to locally installed plugins, users can explore available plugins and check for newer releases. #### User Notifications ([#15621](https://github.com/netbox-community/netbox/issues/15621)) @@ -35,18 +43,24 @@ NetBox now includes a user notification system. Users can subscribe to individua ### Enhancements * [#7537](https://github.com/netbox-community/netbox/issues/7537) - Add a serial number field for virtual machines +* [#8198](https://github.com/netbox-community/netbox/issues/8198) - Enable uniqueness enforcement for custom field values * [#8984](https://github.com/netbox-community/netbox/issues/8984) - Enable filtering of custom script output by log level * [#11969](https://github.com/netbox-community/netbox/issues/11969) - Support for tracking airflow on racks and module types +* [#14656](https://github.com/netbox-community/netbox/issues/14656) - Dynamically render custom field edit form depending on the selected field type +* [#15106](https://github.com/netbox-community/netbox/issues/15106) - Add distance tracking for wireless links * [#15156](https://github.com/netbox-community/netbox/issues/15156) - Add `display_url` field to all REST API serializers -* [#16359](https://github.com/netbox-community/netbox/issues/16359) - Enable plugins to embed content in the top navigation bar * [#16580](https://github.com/netbox-community/netbox/issues/16580) - Enable individual views to enforce `LOGIN_REQUIRED` selectively (remove `AUTH_EXEMPT_PATHS`) -* [#16776](https://github.com/netbox-community/netbox/issues/16776) - Added an `alerts()` method to `PluginTemplateExtension` for embedding important information about specific objects * [#16782](https://github.com/netbox-community/netbox/issues/16782) - Enable filtering of selection choices for object type custom fields -* [#16866](https://github.com/netbox-community/netbox/issues/16866) - Introduced a mechanism for plugins to register custom event types (for use with user notifications) +* [#16907](https://github.com/netbox-community/netbox/issues/16907) - Updated user interface styling +* [#17051](https://github.com/netbox-community/netbox/issues/17051) - Introduced `ISOLATED_DEPLOYMENT` config parameter ### Plugins +* [#15692](https://github.com/netbox-community/netbox/issues/15692) - Introduce improved plugin support for background jobs +* [#16359](https://github.com/netbox-community/netbox/issues/16359) - Enable plugins to embed content in the top navigation bar * [#16726](https://github.com/netbox-community/netbox/issues/16726) - Extend `PluginTemplateExtension` to enable registering multiple models +* [#16776](https://github.com/netbox-community/netbox/issues/16776) - Added an `alerts()` method to `PluginTemplateExtension` for embedding important information about specific objects +* [#16886](https://github.com/netbox-community/netbox/issues/16886) - Introduced a mechanism for plugins to register custom event types (for use with user notifications) ### Other Changes @@ -56,6 +70,7 @@ NetBox now includes a user notification system. Users can subscribe to individua * [#15908](https://github.com/netbox-community/netbox/issues/15908) - Indicate product edition in release data * [#16388](https://github.com/netbox-community/netbox/issues/16388) - Move all change logging resources from `extras` to `core` * [#16884](https://github.com/netbox-community/netbox/issues/16884) - Remove the ID column from the default table configuration for changelog records +* [#16988](https://github.com/netbox-community/netbox/issues/16988) - Relocated rack items in navigation menu ### REST API Changes @@ -66,6 +81,10 @@ NetBox now includes a user notification system. Users can subscribe to individua * `/api/dcim/rack-types/` * circuits.Circuit * Added the `assignments` field, which lists all group assignments +* dcim.ModuleBay + * Added the optional `module` foreign key field +* dcim.ModuleBayTemplate + * Added the optional `module_type` foreign key field * dcim.ModuleType * Added the optional `airflow` choice field * dcim.Rack diff --git a/netbox/release.yaml b/netbox/release.yaml index eb059a4f30b..17e9d3de502 100644 --- a/netbox/release.yaml +++ b/netbox/release.yaml @@ -1,3 +1,4 @@ version: "4.1.0" -edition: Community -designation: dev +edition: "Community" +published: "2024-08-05" +designation: "beta1" diff --git a/requirements.txt b/requirements.txt index dad3deb5326..91b58937808 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ Django==5.0.7 django-cors-headers==4.4.0 -django-debug-toolbar==4.3.0 -django-filter==24.2 +django-debug-toolbar==4.4.6 +django-filter==24.3 django-htmx==1.18.0 django-graphiql-debug-toolbar==0.2.0 django-mptt==0.16.0 @@ -10,7 +10,7 @@ django-prometheus==2.3.1 django-redis==5.4.0 django-rich==1.9.0 django-rq==2.10.2 -django-taggit==5.0.1 +django-taggit==6.0.0 django-tables2==2.7.0 django-timezone-field==7.0 djangorestframework==3.15.2 @@ -20,7 +20,7 @@ feedparser==6.0.11 gunicorn==22.0.0 Jinja2==3.1.4 Markdown==3.6 -mkdocs-material==9.5.30 +mkdocs-material==9.5.31 mkdocstrings[python-legacy]==0.25.2 netaddr==1.3.0 nh3==0.2.18 @@ -30,7 +30,7 @@ PyYAML==6.0.1 requests==2.32.3 social-auth-app-django==5.4.2 social-auth-core==4.5.4 -strawberry-graphql==0.237.2 +strawberry-graphql==0.237.3 strawberry-graphql-django==0.47.1 svgwrite==1.4.3 tablib==3.6.1