[PR #2307] [MERGED] Release v2.4.0 #12358

Closed
opened 2025-12-29 22:21:04 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbox-community/netbox/pull/2307
Author: @jeremystretch
Created: 8/6/2018
Status: Merged
Merged: 8/6/2018
Merged by: @jeremystretch

Base: masterHead: develop


📝 Commits (10+)

  • 0969c45 Closes #1842: Implement support for Django 2.0
  • 0bb632c Allow Django 1.11
  • 9725f19 Code formatting cleanup
  • 72c518b Updated tests for recently added model fields
  • db3cbaf Introduced WritableNestedSerializer
  • 7241783 Started merging writable serializers (WIP)
  • 821fb1e Finished merging writable serializers
  • c72d70d Removed nested serializers for ManyToMany relationships temporarily
  • 9de1a8c Introduced SerializedPKRelatedField to represent serialized ManyToManyFields
  • aeaa47e Avoid a bug in DRF v3.8.2

📊 Changes

266 files changed (+11632 additions, -4029 deletions)

View changed files

📝 .github/ISSUE_TEMPLATE/bug_report.md (+2 -1)
📝 .github/ISSUE_TEMPLATE/documentation_change.md (+2 -1)
📝 .github/ISSUE_TEMPLATE/feature_request.md (+2 -1)
📝 .github/ISSUE_TEMPLATE/housekeeping.md (+3 -2)
📝 README.md (+1 -1)
base_requirements.txt (+25 -0)
docs/additional-features/change-logging.md (+9 -0)
docs/additional-features/context-data.md (+3 -0)
docs/additional-features/custom-fields.md (+26 -0)
docs/additional-features/export-templates.md (+52 -0)
docs/additional-features/graphs.md (+25 -0)
📝 docs/additional-features/netbox-shell.md (+0 -0)
📝 docs/additional-features/reports.md (+0 -0)
docs/additional-features/tags.md (+24 -0)
docs/additional-features/topology-maps.md (+17 -0)
docs/additional-features/webhooks.md (+57 -0)
docs/administration/replicating-netbox.md (+55 -0)
docs/configuration/index.md (+16 -0)
📝 docs/configuration/optional-settings.md (+63 -1)
📝 docs/configuration/required-settings.md (+1 -1)

...and 80 more files

📄 Description

New Features

Webhooks (#81)

Webhooks enable NetBox to send a representation of an object every time one is created, updated, or deleted. Webhooks are sent from NetBox to external services via HTTP, and can be limited by object type. Services which receive a webhook can act on the data provided by NetBox to automate other tasks.

Special thanks to John Anderson for doing the heavy lifting for this feature!

Tagging (#132)

Tags are free-form labels which can be assigned to a variety of objects in NetBox. Tags can be used to categorize and filter objects in addition to built-in and custom fields. Objects to which tags apply now include a tags field in the API.

Contextual Configuration Data (#1349)

Sometimes it is desirable to associate arbitrary data with a group of devices to aid in their configuration. (For example, you might want to associate a set of syslog servers for all devices at a particular site.) Context data enables the association of arbitrary data (expressed in JSON format) to devices and virtual machines grouped by region, site, role, platform, and/or tenancy. Context data is arranged hierarchically, so that data with a higher weight can be entered to override more general lower-weight data. Multiple instances of data are automatically merged by NetBox to present a single dictionary for each object.

Change Logging (#1898)

When an object is created, updated, or deleted, NetBox now automatically records a serialized representation of that object (similar to how it appears in the REST API) as well the event time and user account associated with the change.

Enhancements

  • #238 - Allow racks with the same name within a site (but in different groups)
  • #971 - Add a view to show all VLAN IDs available within a group
  • #1673 - Added object/list views for services
  • #1687 - Enabled custom fields for services
  • #1739 - Enabled custom fields for secrets
  • #1794 - Improved POST/PATCH representation of nested objects
  • #2029 - Added optional NAPALM arguments to Platform model
  • #2034 - Include the ID when showing nested interface connections (API change)
  • #2118 - Added latitude and longitude fields to Site for GPS coordinates
  • #2131 - Added created and last_updated fields to DeviceType
  • #2157 - Fixed natural ordering of objects when sorted by name
  • #2225 - Add "view elevations" button for site rack groups

Bug Fixes

  • #2272 - Allow subdevice_role to be null on DeviceTypeSerializer"
  • #2286 - Fixed "mark connected" button for PDU outlet connections

API Changes

  • Introduced the /extras/config-contexts/, /extras/object-changes/, and /extras/tags/ API endpoints
  • API writes now return a nested representation of related objects (rather than only a numeric ID)
  • The dcim.DeviceType serializer now includes created and last_updated fields
  • The dcim.Site serializer now includes latitude and longitude fields
  • The ipam.Service and secrets.Secret serializers now include custom fields
  • The dcim.Platform serializer now includes a free-form (JSON) napalm_args field

Changes Since v2.4-beta1

Enhancements

  • #2229 - Allow mapping of ConfigContexts to tenant groups
  • #2259 - Add changelog tab to interface view
  • #2264 - Added "map it" link for site GPS coordinates

Bug Fixes

  • #2137 - Fixed JSON serialization of dates
  • #2258 - Include changed object type on home page changelog
  • #2265 - Include parent regions when filtering applicable ConfigContexts
  • #2288 - Fix exception when assigning objects to a ConfigContext via the API
  • #2296 - Fix AttributeError when creating a new object with tags assigned
  • #2300 - Fix assignment of an interface to an IP address via API PATCH
  • #2301 - Fix model validation on assignment of ManyToMany fields via API PATCH
  • #2305 - Make VLAN fields optional when creating a VM interface via the API

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/netbox-community/netbox/pull/2307 **Author:** [@jeremystretch](https://github.com/jeremystretch) **Created:** 8/6/2018 **Status:** ✅ Merged **Merged:** 8/6/2018 **Merged by:** [@jeremystretch](https://github.com/jeremystretch) **Base:** `master` ← **Head:** `develop` --- ### 📝 Commits (10+) - [`0969c45`](https://github.com/netbox-community/netbox/commit/0969c458b377b07396af6d3a8d6c6eb6ee9f79f9) Closes #1842: Implement support for Django 2.0 - [`0bb632c`](https://github.com/netbox-community/netbox/commit/0bb632c6429ac95ac9c075a93974f6ae86c9bed5) Allow Django 1.11 - [`9725f19`](https://github.com/netbox-community/netbox/commit/9725f19bae03e4fee07a014c9b342e6cea5eebcc) Code formatting cleanup - [`72c518b`](https://github.com/netbox-community/netbox/commit/72c518bcb7f9b353359b6560c26722464be930cc) Updated tests for recently added model fields - [`db3cbaf`](https://github.com/netbox-community/netbox/commit/db3cbaf83bc5938ee7b513091e5664e96378d957) Introduced WritableNestedSerializer - [`7241783`](https://github.com/netbox-community/netbox/commit/7241783249eb3b751d73de836d6266209ceaf462) Started merging writable serializers (WIP) - [`821fb1e`](https://github.com/netbox-community/netbox/commit/821fb1e01e040e646f1980ff0abfa8c3160e0ae9) Finished merging writable serializers - [`c72d70d`](https://github.com/netbox-community/netbox/commit/c72d70d114419d33941407fee97c9a0606da17d6) Removed nested serializers for ManyToMany relationships temporarily - [`9de1a8c`](https://github.com/netbox-community/netbox/commit/9de1a8c36311738b4463355766ddb4cf12e0e31a) Introduced SerializedPKRelatedField to represent serialized ManyToManyFields - [`aeaa47e`](https://github.com/netbox-community/netbox/commit/aeaa47e91df5d287d02bea2a33e9ee4d74b5b56b) Avoid a bug in DRF v3.8.2 ### 📊 Changes **266 files changed** (+11632 additions, -4029 deletions) <details> <summary>View changed files</summary> 📝 `.github/ISSUE_TEMPLATE/bug_report.md` (+2 -1) 📝 `.github/ISSUE_TEMPLATE/documentation_change.md` (+2 -1) 📝 `.github/ISSUE_TEMPLATE/feature_request.md` (+2 -1) 📝 `.github/ISSUE_TEMPLATE/housekeeping.md` (+3 -2) 📝 `README.md` (+1 -1) ➕ `base_requirements.txt` (+25 -0) ➕ `docs/additional-features/change-logging.md` (+9 -0) ➕ `docs/additional-features/context-data.md` (+3 -0) ➕ `docs/additional-features/custom-fields.md` (+26 -0) ➕ `docs/additional-features/export-templates.md` (+52 -0) ➕ `docs/additional-features/graphs.md` (+25 -0) 📝 `docs/additional-features/netbox-shell.md` (+0 -0) 📝 `docs/additional-features/reports.md` (+0 -0) ➕ `docs/additional-features/tags.md` (+24 -0) ➕ `docs/additional-features/topology-maps.md` (+17 -0) ➕ `docs/additional-features/webhooks.md` (+57 -0) ➕ `docs/administration/replicating-netbox.md` (+55 -0) ➕ `docs/configuration/index.md` (+16 -0) 📝 `docs/configuration/optional-settings.md` (+63 -1) 📝 `docs/configuration/required-settings.md` (+1 -1) _...and 80 more files_ </details> ### 📄 Description ## New Features ### Webhooks ([#81](https://github.com/digitalocean/netbox/issues/81)) Webhooks enable NetBox to send a representation of an object every time one is created, updated, or deleted. Webhooks are sent from NetBox to external services via HTTP, and can be limited by object type. Services which receive a webhook can act on the data provided by NetBox to automate other tasks. Special thanks to [John Anderson](https://github.com/lampwins) for doing the heavy lifting for this feature! ### Tagging ([#132](https://github.com/digitalocean/netbox/issues/132)) Tags are free-form labels which can be assigned to a variety of objects in NetBox. Tags can be used to categorize and filter objects in addition to built-in and custom fields. Objects to which tags apply now include a `tags` field in the API. ### Contextual Configuration Data ([#1349](https://github.com/digitalocean/netbox/issues/1349)) Sometimes it is desirable to associate arbitrary data with a group of devices to aid in their configuration. (For example, you might want to associate a set of syslog servers for all devices at a particular site.) Context data enables the association of arbitrary data (expressed in JSON format) to devices and virtual machines grouped by region, site, role, platform, and/or tenancy. Context data is arranged hierarchically, so that data with a higher weight can be entered to override more general lower-weight data. Multiple instances of data are automatically merged by NetBox to present a single dictionary for each object. ### Change Logging ([#1898](https://github.com/digitalocean/netbox/issues/1898)) When an object is created, updated, or deleted, NetBox now automatically records a serialized representation of that object (similar to how it appears in the REST API) as well the event time and user account associated with the change. ## Enhancements * [#238](https://github.com/digitalocean/netbox/issues/238) - Allow racks with the same name within a site (but in different groups) * [#971](https://github.com/digitalocean/netbox/issues/971) - Add a view to show all VLAN IDs available within a group * [#1673](https://github.com/digitalocean/netbox/issues/1673) - Added object/list views for services * [#1687](https://github.com/digitalocean/netbox/issues/1687) - Enabled custom fields for services * [#1739](https://github.com/digitalocean/netbox/issues/1739) - Enabled custom fields for secrets * [#1794](https://github.com/digitalocean/netbox/issues/1794) - Improved POST/PATCH representation of nested objects * [#2029](https://github.com/digitalocean/netbox/issues/2029) - Added optional NAPALM arguments to Platform model * [#2034](https://github.com/digitalocean/netbox/issues/2034) - Include the ID when showing nested interface connections (API change) * [#2118](https://github.com/digitalocean/netbox/issues/2118) - Added `latitude` and `longitude` fields to Site for GPS coordinates * [#2131](https://github.com/digitalocean/netbox/issues/2131) - Added `created` and `last_updated` fields to DeviceType * [#2157](https://github.com/digitalocean/netbox/issues/2157) - Fixed natural ordering of objects when sorted by name * [#2225](https://github.com/digitalocean/netbox/issues/2225) - Add "view elevations" button for site rack groups ## Bug Fixes * [#2272](https://github.com/digitalocean/netbox/issues/2272) - Allow subdevice_role to be null on DeviceTypeSerializer" * [#2286](https://github.com/digitalocean/netbox/issues/2286) - Fixed "mark connected" button for PDU outlet connections ## API Changes * Introduced the `/extras/config-contexts/`, `/extras/object-changes/`, and `/extras/tags/` API endpoints * API writes now return a nested representation of related objects (rather than only a numeric ID) * The dcim.DeviceType serializer now includes `created` and `last_updated` fields * The dcim.Site serializer now includes `latitude` and `longitude` fields * The ipam.Service and secrets.Secret serializers now include custom fields * The dcim.Platform serializer now includes a free-form (JSON) `napalm_args` field ## Changes Since v2.4-beta1 ### Enhancements * [#2229](https://github.com/digitalocean/netbox/issues/2229) - Allow mapping of ConfigContexts to tenant groups * [#2259](https://github.com/digitalocean/netbox/issues/2259) - Add changelog tab to interface view * [#2264](https://github.com/digitalocean/netbox/issues/2264) - Added "map it" link for site GPS coordinates ### Bug Fixes * [#2137](https://github.com/digitalocean/netbox/issues/2137) - Fixed JSON serialization of dates * [#2258](https://github.com/digitalocean/netbox/issues/2258) - Include changed object type on home page changelog * [#2265](https://github.com/digitalocean/netbox/issues/2265) - Include parent regions when filtering applicable ConfigContexts * [#2288](https://github.com/digitalocean/netbox/issues/2288) - Fix exception when assigning objects to a ConfigContext via the API * [#2296](https://github.com/digitalocean/netbox/issues/2296) - Fix AttributeError when creating a new object with tags assigned * [#2300](https://github.com/digitalocean/netbox/issues/2300) - Fix assignment of an interface to an IP address via API PATCH * [#2301](https://github.com/digitalocean/netbox/issues/2301) - Fix model validation on assignment of ManyToMany fields via API PATCH * [#2305](https://github.com/digitalocean/netbox/issues/2305) - Make VLAN fields optional when creating a VM interface via the API --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2025-12-29 22:21:04 +01:00
adam closed this issue 2025-12-29 22:21:04 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#12358