v2.0.0-beta.2 - 2023-07-07
Pre-release
Pre-release
bryanculver
released this
08 Jul 11:52
·
1774 commits
to develop
since this release
This is a retag with a fixed workflow file. Changes between previous tag and this: diff
Added
- #3287 - Added
nautobot-server audit_dynamic_groups
management command for evaluating breaking filter changes to existing DynamicGroup instances. - #3526 - Added detail view UI layout config.
- #3635 - Added
interfaces
andvm_interfaces
fields to REST API representation ofIPAddress
. - #3845 - Added data migration to ensure all existing service instances fit those uniqueness constraints.
- #3845 - Added CreateView for Service Model.
- #3846 - Added migration helper method to check if a model contains duplicate records based on its natural key fields.
- #3846 - Added migration to check whether all existing Virtual Chassis instances have unique names and to fail if they do not.
- #3885 - Added a
unique_together
constraint forObjectChange
records. - #3900 - Added 'invoke migration-test' and corresponding CI step.
- #3935 - Added constraints to the
parent
field onPrefix
based on the prefix'stype
and the parent'stype
. - #3939 - Added a post-migration helper tool for de-duplicating
IPAddresses
. - #3940 - Added Jobs migration docs.
- #4003 - Synced in code changes from
develop
branch up through version 1.5.22. - #4004 - Added
--save
option tonautobot-server validate_models
command. - #4004 - Added
successful_post
callback function toObjectEditView
. - #4004 - Added
parent
filter forPrefix
objects. - #4004 - Added warning messages when creating or editing a
Prefix
orIPAddress
that does not follow prefixtype
guidance.
Changed
- #2662 - Changed many FilterSet filters to filter on (name or ID) instead of (slug or ID) since the relevant model
slug
fields have been removed. - #2662 - Changed FilterSet filters referring to
DeviceType
objects to filter on (model or ID) instead of (slug or ID). - #2662 - Changed
NaturalKeyOrPKMultipleChoiceFilter
defaultto_field_name
fromslug
toname
. - #2662 - Replaced
NameSlugSearchFilterSet
withNameSearchFilterSet
. - #2662 - Changed default
ModelViewTestCase._get_url()
behavior to preferpk
-based URLs overslug
-based URLs. - #2662 - Changed
ObjectEditView.get_object()
andObjectDeleteView.get_object()
to preferpk
-based object lookups overslug
-based lookups. - #2662 - Revised development best-practices documentation around the inclusion of
slug
fields in models. - #2662 - Changed Git repository provided "implicit" config context files to be based on
name
(ormodel
in the case of DeviceType contexts) instead ofslug
. - #2916 - Updated prefix utilization calculation.
- #3287 - Changed the
ip_version
filters inPrefixFilterSet
andIPAddressFilterSet
todjango_filters.NumberFilter
. - #3424 - Added
IPAddress.type
field and moved DHCP/SLAAC status to types. - #3424 - Unskipped
nautobot.ipam.tests.test_forms.IPAddressFormTest
- #3634 - Restored
assigned_to_interface
as aRelatedMembershipBooleanFilter
with namehas_interface_assignments
onIPAddressFilterSet
. - #3634 - Restored
present_in_vrf
andpresent_in_vrf_id
filters onIPAddressFilterSet
. - #3635 - Re-enabled and updated some GraphQL tests relating to IPAddress objects in GraphQL.
- #3725 - Changed REST API nested hyperlink to a brief object representation consisting of its ID, URL, and object_type.
- #3748 - Updated API serializers to support Namespaces and unskip unit tests
- #3770 - Modified the text color to be gray-1 for the sidebarNav components.
- #3770 - In Layout.js, also made the 'Return to Legacy UI' link gray-1 for consistency.
- #3770 - Made the sidebar button links be orange when selected and on that page.
- #3778 - Changed the REST API depth for generating the OpenAPI schema from 1 to 0.
- #3778 - Set
ENUM_GENERATE_CHOICE_DESCRIPTION
to False to make OpenAPI schema for REST API filters less verbose. - #3793 - Renamed Natural-key slug to Composite key throughout the code base, UI, REST API, and documentation.
- #3793 - Changed url separator character for Composite keys from
&
to;
. - #3845 - Changed
Service.name
andService.device
orService.name
andService.virtual_machine
to be globally unique and to serve as the natural key for this model. - #3846 - Changed
VirtualChassis.name
to be globally unique and to serve as the natural key for this model. - #3847 - Changed
ScheduledJob.name
to be globally unique and serve as the natural key for this model. - #3847 - Increased
ScheduledJob.task
max_length
to fix an off-by-one potential error. - #3848 - Changed
ExportTemplate
uniqueness constraint (and natural key) to be simply(content_type, name)
. - #3849 - Changed
ConfigContext.name
to be globally unique and serve as the natural key for this model. - #3849 - Changed
ConfigContextSchema.name
to be globally unique and serve as the natural key for this model. - #3850 - Changed VLANGroup
name
to unique. - #3851 - Changed
ObjectPermission.name
to be globally unique and serve as the natural key for this model. - #3854 - Updated default index page for "Networks" context to Prefixes.
- #3883 - Updated nautobot-ui package in next.
- #3898 - Changed the
IPAddress
natural key definition (IPAddress.natural_key_field_names
) to[parent__namespace, host]
. - #3936 - Restored navigation menu structure in the legacy UI.
- #3939 - Changed
Device.primary_ip4
andprimary_ip6
fields fromOneToOneField
toForeignKey
, relaxing the uniqueness constraint. - #3939 - Changed
VirtualMachine.primary_ip4
andprimary_ip6
fields fromOneToOneField
toForeignKey
, relaxing the uniqueness constraint. - #3940 - Updated
JOBS_ROOT
Jobs import code to check for conflicts with existing package names. - #3953 - Removed static "Home" text.
- #3953 - Fixed padding/spacing of Home and Object Views to be consistent.
- #3973 - Changed natural-key for
Prefix
model to[namespace, prefix]
. - #3973 - Changed natural-key for
Service
model to[name, virtual_machine, device]
. - #3973 - Changed natural-key for
VLANGroup
model to simply[name]
. - #3973 - Changed natural-key for
VLAN
model to[pk]
for now. - #4004 - Changed
Prefix.type
validation with respect to parents and children from strictly-enforced to advisory-only for 2.0. - #4004 - Changed
parent
filter onIPAddress
to be exact-match by PK; the previously present filter is renamed toprefix
.
Fixed
- #2662 - Corrected leftover "natural key slug" reference in
object_bulk_create.html
. - #2662 - Corrected incorrect logic in generic view test
test_list_objects_filtered
andtest_list_objects_unknown_filter_strict_filtering
. - #2662 - Fixed leftover reference to
GraphQLQuery.slug
inCustomGraphQLView
. - #2662 - Fixed leftover references to
slug
in various detail view and edit view templates. - #2662 - Fixed leftover references to
slug
in various IPAM table columns. - #2662 - Fixed various leftover references to
slug
fields in the documentation. - #3424 - Fixed a typo in
AvailableIPSerializer
forip_version
field representation. - #3574 - Fixed Inability to select multiple entries on (Multiple) selection custom fields in filter.
- #3580 - Fixed a bug that prevented moving IP Addresses between Namespaces.
- #3778 - Fixed self-referential type loop in the OpenAPI schema that made Swagger UI unusable for some endpoints.
- #3782 - Fixed filename for CSV exports.
- #3847 - Corrected out-of-date information about
class_path
in the Jobs documentation. - #3847 - Fixed incorrect filter form definitions for JobHookFilterForm, JobResultFilterForm, ScheduledJobFilterForm.
- #3858 - Fixed broken dynamic filter form in legacy view.
- #3859 - Added logic to protect against defining a
GitRepository.slug
that would conflict with existing Python modules. - #3865 - Fixed errorneous algorithms used in CustomField and Relationship data migrations.
- #3867 - Fixed node_modules volume mount in docker-compose.
- #3876 - Fixed markdownlint command syntax.
- #3879 - Fixed permission check for navigation menu item for Namespaces.
- #3885 - Fixed missing
natural_key
forObjectChange
records. - #3889 - Fixed a bug in
ScheduledJob
data migration where it is trying to delete a non-existent key from a dictionary. - #3890 - Fixed an error that could happen during migrations if a Site and a Location both have the same
slug
. - #3896 - Fixed a
KeyError
when accessingObjectChange
records for aConfigContext
via the REST API. - #3898 - Fixed several errors that could occur when defining a model's
natural_key_field_names
to include related object lookups. - #3902 - Fixed a GraphQL error when querying Interface
mac_address
when unset/null/empty values are present. - #3916 - Fixed custom NautobotHyperlinkedRelatedField
to_representation
logic. - #3930 - Fixed inconsistent job test behavior.
- #3933 - Fixed noisy output of unit tests.
- #3955 - Fixed an error in dcim.0030 migration when CircuitTerminations terminated to ProviderNetworks exist.
- #3955 - Fixed an error in ipam.0031 migration when an interface had multiple IPs in the same VRF.
- #3955 - Fixed failure of ipam.0031 migration to detect when an interface has a mix of VRF IPs and non-VRF IPs.
- #3980 - Fixed a regression in the display of Tag records in the UI.
- #3998 - Fixed rendering of breadcrumbs in the 2.0 UI.
- #4005 - Added logic to catch and report errors when registering a Job to the database.
- #4005 - Added logic to Job class
@classproperty
methods to enforce correct data types. - #4005 - Fixed incorrect documentation about how to register Jobs from an app.
- #4071 - Fixed Docker tag syntax for pre-release workflow.
Removed
- #2662 - Removed
DeviceType.slug
field. - #2662 - Removed
Location.slug
field. - #2662 - Removed
LocationType.slug
field. - #2662 - Removed
Note.slug
field. - #2662 - Removed
ProviderNetwork.slug
field. - #2662 - Removed
RackGroup.slug
field. - #2662 - Removed
Tag.slug
field. - #2662 - Removed
VLANGroup.slug
field. - #2662 - Removed
slug
FilterSet filters from models that no longer have slugs. - #3424 - The built-in "SLAAC"
Status
object has been removed and replaced with anIPAddress.type
of the same name. - #3424 - The built-in "DHCP"
Status
object has been removed and replaced with anIPAddress.type
of the same name. - #3635 - Removed leftover
interface
andvminterface
fields fromIPAddress
GraphQL representation. - #3778 - Removed currently unused
app_full_width_fragment
,detail-view-config
,form-fields
, andtable-fields
REST API endpoints. - #3847 - Removed
ScheduledJob.job_class
field as redundant. - #3849 - Removed
ConfigContextSchema.slug
field. - #3850 - Removed VLANGroup [
location
,name
] uniqueness constraint. - #3941 - Removed
device, rd, name
andvirtual_machine, rd, name
uniqueness constraints onVRFDeviceAssignment
. - #3941 - Removed
namespace, name
uniqueness constraint onVRF
. - #3941 - Removed some overly verbose messaging in IPAM migration utilities.
Contributors
Full Changelog: v2.0.0-beta.1...v2.0.0-beta.2