We're currently running v2.10.4 in prod and -next.
Next steps:
- Upgrade -next to 3.1, . (Through a step on 2.11.12)
- Prepare changes to fix automation, reports, scripts, etc
- Backup prod data (CSV dumps, etc)
- Upgrade prod to 3.2 (with a step on 2.11)
Breaking changes:
- All objects now use numeric IDs in their UI view URLs instead of slugs. You may need to update external references to NetBox objects. (Note that this does not affect the REST API.)
- The UI now uses numeric IDs when filtering object lists. You may need to update external links to filtered object lists. (Note that the slug- and name-based filters will continue to work, however the filter selection fields within the UI will not be automatically populated.)
- The RackGroup model has been renamed to Location (see #4971). Its REST API endpoint has changed from /api/dcim/rack-groups/ to /api/dcim/locations/.
- The foreign key field group on dcim.Rack has been renamed to location.
- The foreign key field site on ipam.VLANGroup has been replaced with the scope generic foreign key (see #5284).
- Custom script ObjectVars no longer support the queryset parameter: Use model instead (see #5995).
- The default CSV export format for all objects now includes all available data from the object list. Additionally, the CSV headers now use human-friendly titles rather than raw field names. If backward compatibility with the old format is desired, export templates can be written to reproduce it.
- The display_field keyword argument has been removed from custom script ObjectVar and MultiObjectVar fields. * These widgets will use the display value provided by the REST API.
- The deprecated display_name field has been removed from all REST API serializers. (API clients should reference the display field instead.)
- The redundant REST API endpoints for console, power, and interface connections have been removed. The same data can be retrieved by querying the respective model endpoints with the ?connected=True filter applied.
- The tenant and tenant_id filters for the Cable model now filter on the tenant assigned directly to each cable, rather than on the parent object of either termination.
- The cable_peer and cable_peer_type attributes of cable termination models have been renamed to link_peer and link_peer_type, respectively, to accommodate wireless links between interfaces.
- Automatic redirection of legacy slug-based URL paths has been removed. URL-based slugs were changed to use numeric IDs in v2.11.0.
- The asn field has been removed from the site model. Please replicate any site ASN assignments to the ASN model introduced in NetBox v3.1 prior to upgrading.
- The asn query filter for sites now matches against the AS number of assigned ASN objects.
- The contact_name, contact_phone, and contact_email fields have been removed from the site model. Please replicate any data remaining in these fields to the contact model introduced in NetBox v3.1 prior to upgrading.
- The created field of all change-logged models now conveys a full datetime object, rather than only a date. (Previous date-only values will receive a timestamp of 00:00.) While this change is largely unconcerning, strictly-typed API consumers may need to be updated.
- A pre_run() method has been added to the base Report class. Although unlikely to affect most installations, you may need to alter any reports which already use this name for a method.
- Webhook URLs now support Jinja2 templating. Although this is unlikely to introduce any issues, it's possible that an unusual URL might trigger a Jinja2 rendering error, in which case the URL would need to be properly escaped.
New features that could be relevant to us:
- Journaling Support (#151) - T310583
- Parent Interface Assignments (#1519) - T296832
- Pre- and Post-Change Snapshots in Webhooks (#3451)
- New Site Group Model (#5892)
- Improved Change Logging (#5913) - T310589
- Provider Network Modeling (#5986) - T310591
- Updated User Interface (#5893)
- GraphQL API (#2007) - T310577
- IP Ranges (#834)
- Custom Model Validation (#5963) - T310590
- New Views for Models Previously Under the Admin UI (#6466)
- New Housekeeping Command (#6590)
- Custom Queue Support for Plugins (#6651)
- Modules & Module Types (#7844) - T305126
- Custom Object Fields (#7006) - T305126
- Custom Status Choices (#8054) - T310594
- Inventory Item Templates (#8118)
Enhancements that could be relevant to us:
- #5914 - Add edit/delete buttons for IP addresses on interface view
- #5942 - Add button to add a new IP address on interface view
- #5953 - Support Markdown rendering for custom script descriptions
- #6040 - Add UI search fields for asset tag for devices and racks
- #6157 - Support Markdown rendering for report logs
- #4833 - Allow assigning config contexts by device type
- #5344 - Add support for custom fields in tables
- #5401 - Extend custom field support to device component models
- #5451 - Add support for multiple-selection custom fields
- #6149 - Support image attachments for locations
- #6087 - Improved prefix hierarchy rendering
- #6527 - Support Markdown for report descriptions
- #6666 - Show management-only status under interface detail view
- #6560 - Enable CSV import via uploaded file
- #6929 - Introduce LOGIN_PERSISTENCE configuration parameter to persist user sessions
- #2434 - Add option to assign IP address upon creating a new interface
- #5775 - Enable synchronization of groups for remote authentication backend
- #6917 - Make IP assigned checkmark in IP table link to interface
- #7323 - Add serial filter field for racks & devices
- #7551 - Add UI field to filter interfaces by kind
- #7561 - Add a utilization column to the IP ranges table
- #7767 - Add visual aids to interfaces table for type, enabled status
- #7853 - Add speed and duplex fields to device interface model