[PR #2660] [MERGED] Release v2.5.0 #12419

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

📋 Pull Request Information

Original PR: https://github.com/netbox-community/netbox/pull/2660
Author: @jeremystretch
Created: 12/10/2018
Status: Merged
Merged: 12/10/2018
Merged by: @jeremystretch

Base: masterHead: develop


📝 Commits (10+)

  • ac546a9 Closes #2000: Remove support for Python 2
  • 980d62d Removed Python 2 string compatibility
  • 5f66710 Closes #2292: Remove the deprecated UserAction model
  • 6dd62dc Refactored log_change() methods for device components
  • 7ec4155 Closes #2359: Implement custom makemigrations command to ignore extraneous field attributes
  • 7145f86 #2359: Extended exempt attributes to 'migrate' command
  • c4be440 Closes #2367: Remove deprecated RPCClient functionality
  • 29380b1 Merge branch 'develop' into develop-2.5
  • 19b737a Added v2.5 notes (so far) to changelog
  • 2ac60bd Merge branch 'develop' into develop-2.5 (v2.4.4 release)

📊 Changes

401 files changed (+8577 additions, -6425 deletions)

View changed files

📝 .travis.yml (+0 -1)
📝 CHANGELOG.md (+79 -0)
📝 README.md (+0 -2)
📝 base_requirements.txt (+58 -11)
📝 docs/administration/netbox-shell.md (+1 -1)
📝 docs/configuration/optional-settings.md (+16 -0)
📝 docs/core-functionality/circuits.md (+1 -1)
📝 docs/core-functionality/devices.md (+42 -18)
📝 docs/installation/1-postgresql.md (+2 -2)
📝 docs/installation/2-netbox.md (+4 -4)
📝 docs/installation/3-http-daemon.md (+1 -1)
📝 docs/installation/4-ldap.md (+1 -1)
📝 docs/installation/index.md (+1 -1)
📝 docs/installation/upgrading.md (+0 -7)
netbox/circuits/api/nested_serializers.py (+52 -0)
📝 netbox/circuits/api/serializers.py (+11 -43)
📝 netbox/circuits/api/urls.py (+1 -3)
📝 netbox/circuits/api/views.py (+7 -7)
📝 netbox/circuits/apps.py (+0 -2)
📝 netbox/circuits/constants.py (+0 -2)

...and 80 more files

📄 Description

Notes

Python 3 Required

As promised, Python 2 support has been completed removed. Python 3.5 or higher is now required to run NetBox. Please see our Python 3 migration guide for assistance with upgrading.

Removed Deprecated User Activity Log

The UserAction model, which was deprecated by the new change logging feature in NetBox v2.4, has been removed. If you need to archive legacy user activity, do so prior to upgrading to NetBox v2.5, as the database migration will remove all data associated with this model.

View Permissions in Django 2.1

Django 2.1 introduces view permissions for object types (not to be confused with object-level permissions). Implementation of #323 is planned for NetBox v2.6. Users are encourage to begin assigning view permissions as desired in preparation for their eventual enforcement.

upgrade.sh No Longer Invokes sudo

The upgrade.sh script has been tweaked so that it no longer invokes sudo internally. This was done to ensure compatibility when running NetBox inside a Python virtual environment. If you need elevated permissions when upgrading NetBox, call the upgrade script with sudo upgrade.sh.

New Features

Patch Panels and Cables (#20)

NetBox now supports modeling physical cables for console, power, and interface connections. The new pass-through port component type has also been introduced to model patch panels and similar devices.

Enhancements

  • #450 - Added outer_width and outer_depth fields to rack model
  • #867 - Added description field to circuit terminations
  • #1444 - Added an asset_tag field for racks
  • #1931 - Added a count of assigned IP addresses to the interface API serializer
  • #2000 - Dropped support for Python 2
  • #2053 - Introduced the LOGIN_TIMEOUT configuration setting
  • #2057 - Added description columns to interface connections list
  • #2104 - Added a status field for racks
  • #2165 - Improved natural ordering of Interfaces
  • #2292 - Removed the deprecated UserAction model
  • #2367 - Removed deprecated RPCClient functionality
  • #2426 - Introduced SESSION_FILE_PATH configuration setting for authentication without write access to database
  • #2594 - upgrade.sh no longer invokes sudo

Changes From v2.5-beta2

  • #2474 - Add cabled and connection_status filters for device components
  • #2616 - Convert Rack outer_unit and Cable length_unit to integer-based choice fields
  • #2622 - Enable filtering cables by multiple types/colors
  • #2624 - Delete associated content type and permissions when removing InterfaceConnection model
  • #2626 - Remove extraneous permissions generated from proxy models
  • #2632 - Change representation of null values from 0 to null
  • #2639 - Fix preservation of length/dimensions unit for racks and cables
  • #2648 - Include the connection_status field in nested represenations of connectable device components
  • #2649 - Add connected_endpoint_type to connectable device component API representations

API Changes

  • The /extras/recent-activity/ endpoint (replaced by change logging in v2.4) has been removed
  • The rpc_client field has been removed from dcim.Platform (see #2367)
  • Introduced a new API endpoint for cables at /dcim/cables/
  • New endpoints for front and rear pass-through ports (and their templates) in parallel with existing device components
  • The fields interface_connection on Interface and interface on CircuitTermination have been replaced with connected_endpoint and connection_status
  • A new cable field has been added to console, power, and interface components and to circuit terminations
  • New fields for dcim.Rack: status, asset_tag, outer_width, outer_depth, outer_unit
  • The following boolean filters on dcim.Device and dcim.DeviceType have been renamed:
    • is_console_server: console_server_ports
    • is_pdu: power_outlets
    • is_network_device: interfaces
  • The following new boolean filters have been introduced for dcim.Device and dcim.DeviceType:
    • console_ports
    • power_ports
    • pass_through_ports
  • The field interface_ordering has been removed from the DeviceType serializer
  • Added a description field to the CircuitTermination serializer
  • Added ipaddress_count to InterfaceSerializer to show the count of assigned IP addresses for each interface
  • The available-prefixes and available-ips IPAM endpoints now return an HTTP 204 response instead of HTTP 400 when no new objects can be created
  • Filtering on null values now uses the string null instead of zero

🔄 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/2660 **Author:** [@jeremystretch](https://github.com/jeremystretch) **Created:** 12/10/2018 **Status:** ✅ Merged **Merged:** 12/10/2018 **Merged by:** [@jeremystretch](https://github.com/jeremystretch) **Base:** `master` ← **Head:** `develop` --- ### 📝 Commits (10+) - [`ac546a9`](https://github.com/netbox-community/netbox/commit/ac546a97110362367b0b9a78c98aacc3f587f5ea) Closes #2000: Remove support for Python 2 - [`980d62d`](https://github.com/netbox-community/netbox/commit/980d62d579ecd369911d705f59a39b56689cd962) Removed Python 2 string compatibility - [`5f66710`](https://github.com/netbox-community/netbox/commit/5f66710fcda919ae232e39da5a6ca21d62283f83) Closes #2292: Remove the deprecated UserAction model - [`6dd62dc`](https://github.com/netbox-community/netbox/commit/6dd62dc891bf8173b8a8aba598410436db6f2685) Refactored log_change() methods for device components - [`7ec4155`](https://github.com/netbox-community/netbox/commit/7ec415584575acb5968c1e3e038c67bbc8eec029) Closes #2359: Implement custom makemigrations command to ignore extraneous field attributes - [`7145f86`](https://github.com/netbox-community/netbox/commit/7145f86a6ed298e59f9bc2236db2737e9d1a2042) #2359: Extended exempt attributes to 'migrate' command - [`c4be440`](https://github.com/netbox-community/netbox/commit/c4be440cd1b6bf7829fa68981507070e482e50de) Closes #2367: Remove deprecated RPCClient functionality - [`29380b1`](https://github.com/netbox-community/netbox/commit/29380b1120bc18a9d4a58a020dccfa51d5556c23) Merge branch 'develop' into develop-2.5 - [`19b737a`](https://github.com/netbox-community/netbox/commit/19b737a534e38a2c1344dc5be0f0c1d56f384ba1) Added v2.5 notes (so far) to changelog - [`2ac60bd`](https://github.com/netbox-community/netbox/commit/2ac60bdf48bf539f12268a9019348729770f54a5) Merge branch 'develop' into develop-2.5 (v2.4.4 release) ### 📊 Changes **401 files changed** (+8577 additions, -6425 deletions) <details> <summary>View changed files</summary> 📝 `.travis.yml` (+0 -1) 📝 `CHANGELOG.md` (+79 -0) 📝 `README.md` (+0 -2) 📝 `base_requirements.txt` (+58 -11) 📝 `docs/administration/netbox-shell.md` (+1 -1) 📝 `docs/configuration/optional-settings.md` (+16 -0) 📝 `docs/core-functionality/circuits.md` (+1 -1) 📝 `docs/core-functionality/devices.md` (+42 -18) 📝 `docs/installation/1-postgresql.md` (+2 -2) 📝 `docs/installation/2-netbox.md` (+4 -4) 📝 `docs/installation/3-http-daemon.md` (+1 -1) 📝 `docs/installation/4-ldap.md` (+1 -1) 📝 `docs/installation/index.md` (+1 -1) 📝 `docs/installation/upgrading.md` (+0 -7) ➕ `netbox/circuits/api/nested_serializers.py` (+52 -0) 📝 `netbox/circuits/api/serializers.py` (+11 -43) 📝 `netbox/circuits/api/urls.py` (+1 -3) 📝 `netbox/circuits/api/views.py` (+7 -7) 📝 `netbox/circuits/apps.py` (+0 -2) 📝 `netbox/circuits/constants.py` (+0 -2) _...and 80 more files_ </details> ### 📄 Description ## Notes ### Python 3 Required As promised, Python 2 support has been completed removed. Python 3.5 or higher is now required to run NetBox. Please see [our Python 3 migration guide](https://netbox.readthedocs.io/en/stable/installation/migrating-to-python3/) for assistance with upgrading. ### Removed Deprecated User Activity Log The UserAction model, which was deprecated by the new change logging feature in NetBox v2.4, has been removed. If you need to archive legacy user activity, do so prior to upgrading to NetBox v2.5, as the database migration will remove all data associated with this model. ### View Permissions in Django 2.1 Django 2.1 introduces view permissions for object types (not to be confused with object-level permissions). Implementation of [#323](https://github.com/digitalocean/netbox/issues/323) is planned for NetBox v2.6. Users are encourage to begin assigning view permissions as desired in preparation for their eventual enforcement. ### upgrade.sh No Longer Invokes sudo The `upgrade.sh` script has been tweaked so that it no longer invokes `sudo` internally. This was done to ensure compatibility when running NetBox inside a Python virtual environment. If you need elevated permissions when upgrading NetBox, call the upgrade script with `sudo upgrade.sh`. ## New Features ### Patch Panels and Cables ([#20](https://github.com/digitalocean/netbox/issues/20)) NetBox now supports modeling physical cables for console, power, and interface connections. The new pass-through port component type has also been introduced to model patch panels and similar devices. ## Enhancements * [#450](https://github.com/digitalocean/netbox/issues/450) - Added `outer_width` and `outer_depth` fields to rack model * [#867](https://github.com/digitalocean/netbox/issues/867) - Added `description` field to circuit terminations * [#1444](https://github.com/digitalocean/netbox/issues/1444) - Added an `asset_tag` field for racks * [#1931](https://github.com/digitalocean/netbox/issues/1931) - Added a count of assigned IP addresses to the interface API serializer * [#2000](https://github.com/digitalocean/netbox/issues/2000) - Dropped support for Python 2 * [#2053](https://github.com/digitalocean/netbox/issues/2053) - Introduced the `LOGIN_TIMEOUT` configuration setting * [#2057](https://github.com/digitalocean/netbox/issues/2057) - Added description columns to interface connections list * [#2104](https://github.com/digitalocean/netbox/issues/2104) - Added a `status` field for racks * [#2165](https://github.com/digitalocean/netbox/issues/2165) - Improved natural ordering of Interfaces * [#2292](https://github.com/digitalocean/netbox/issues/2292) - Removed the deprecated UserAction model * [#2367](https://github.com/digitalocean/netbox/issues/2367) - Removed deprecated RPCClient functionality * [#2426](https://github.com/digitalocean/netbox/issues/2426) - Introduced `SESSION_FILE_PATH` configuration setting for authentication without write access to database * [#2594](https://github.com/digitalocean/netbox/issues/2594) - `upgrade.sh` no longer invokes sudo ## Changes From v2.5-beta2 * [#2474](https://github.com/digitalocean/netbox/issues/2474) - Add `cabled` and `connection_status` filters for device components * [#2616](https://github.com/digitalocean/netbox/issues/2616) - Convert Rack `outer_unit` and Cable `length_unit` to integer-based choice fields * [#2622](https://github.com/digitalocean/netbox/issues/2622) - Enable filtering cables by multiple types/colors * [#2624](https://github.com/digitalocean/netbox/issues/2624) - Delete associated content type and permissions when removing InterfaceConnection model * [#2626](https://github.com/digitalocean/netbox/issues/2626) - Remove extraneous permissions generated from proxy models * [#2632](https://github.com/digitalocean/netbox/issues/2632) - Change representation of null values from `0` to `null` * [#2639](https://github.com/digitalocean/netbox/issues/2639) - Fix preservation of length/dimensions unit for racks and cables * [#2648](https://github.com/digitalocean/netbox/issues/2648) - Include the `connection_status` field in nested represenations of connectable device components * [#2649](https://github.com/digitalocean/netbox/issues/2649) - Add `connected_endpoint_type` to connectable device component API representations ## API Changes * The `/extras/recent-activity/` endpoint (replaced by change logging in v2.4) has been removed * The `rpc_client` field has been removed from dcim.Platform (see #2367) * Introduced a new API endpoint for cables at `/dcim/cables/` * New endpoints for front and rear pass-through ports (and their templates) in parallel with existing device components * The fields `interface_connection` on Interface and `interface` on CircuitTermination have been replaced with `connected_endpoint` and `connection_status` * A new `cable` field has been added to console, power, and interface components and to circuit terminations * New fields for dcim.Rack: `status`, `asset_tag`, `outer_width`, `outer_depth`, `outer_unit` * The following boolean filters on dcim.Device and dcim.DeviceType have been renamed: * `is_console_server`: `console_server_ports` * `is_pdu`: `power_outlets` * `is_network_device`: `interfaces` * The following new boolean filters have been introduced for dcim.Device and dcim.DeviceType: * `console_ports` * `power_ports` * `pass_through_ports` * The field `interface_ordering` has been removed from the DeviceType serializer * Added a `description` field to the CircuitTermination serializer * Added `ipaddress_count` to InterfaceSerializer to show the count of assigned IP addresses for each interface * The `available-prefixes` and `available-ips` IPAM endpoints now return an HTTP 204 response instead of HTTP 400 when no new objects can be created * Filtering on null values now uses the string `null` instead of zero --- <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:23 +01:00
adam closed this issue 2025-12-29 22:21:23 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#12419