nautobot 2.4.0__py3-none-any.whl → 2.4.0b1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of nautobot might be problematic. Click here for more details.

Files changed (592) hide show
  1. nautobot/apps/__init__.py +1 -1
  2. nautobot/apps/api.py +8 -8
  3. nautobot/apps/change_logging.py +2 -2
  4. nautobot/apps/choices.py +4 -4
  5. nautobot/apps/events.py +3 -3
  6. nautobot/apps/factory.py +2 -2
  7. nautobot/apps/filters.py +1 -1
  8. nautobot/apps/forms.py +20 -20
  9. nautobot/apps/graphql.py +2 -2
  10. nautobot/apps/jobs.py +8 -8
  11. nautobot/apps/models.py +19 -19
  12. nautobot/apps/tables.py +1 -1
  13. nautobot/apps/testing.py +10 -10
  14. nautobot/apps/ui.py +2 -2
  15. nautobot/apps/utils.py +7 -7
  16. nautobot/apps/views.py +7 -7
  17. nautobot/circuits/api/serializers.py +0 -1
  18. nautobot/circuits/api/views.py +8 -4
  19. nautobot/circuits/tables.py +1 -2
  20. nautobot/circuits/templates/circuits/circuit_create.html +7 -1
  21. nautobot/circuits/views.py +3 -3
  22. nautobot/cloud/api/views.py +10 -6
  23. nautobot/cloud/models.py +1 -1
  24. nautobot/cloud/views.py +16 -0
  25. nautobot/core/api/fields.py +5 -5
  26. nautobot/core/api/filter_backends.py +9 -3
  27. nautobot/core/api/schema.py +2 -13
  28. nautobot/core/api/serializers.py +34 -40
  29. nautobot/core/api/views.py +4 -56
  30. nautobot/core/celery/log.py +4 -4
  31. nautobot/core/celery/schedulers.py +1 -1
  32. nautobot/core/choices.py +2 -2
  33. nautobot/core/events/__init__.py +3 -3
  34. nautobot/core/filters.py +16 -21
  35. nautobot/core/fixtures/user-data.json +59 -0
  36. nautobot/core/forms/__init__.py +19 -19
  37. nautobot/core/forms/fields.py +11 -14
  38. nautobot/core/forms/forms.py +2 -33
  39. nautobot/core/graphql/types.py +1 -1
  40. nautobot/core/jobs/__init__.py +7 -28
  41. nautobot/core/jobs/cleanup.py +12 -48
  42. nautobot/core/jobs/groups.py +1 -1
  43. nautobot/core/management/commands/validate_models.py +1 -1
  44. nautobot/core/models/__init__.py +1 -1
  45. nautobot/core/models/query_functions.py +2 -2
  46. nautobot/core/models/tree_queries.py +3 -6
  47. nautobot/core/settings.py +2 -29
  48. nautobot/core/settings.yaml +0 -21
  49. nautobot/core/tables.py +60 -74
  50. nautobot/core/templates/inc/media.html +0 -3
  51. nautobot/core/templates/inc/nav_menu.html +0 -1
  52. nautobot/core/templates/nautobot_config.py.j2 +0 -13
  53. nautobot/core/templates/search.html +0 -7
  54. nautobot/core/templates/utilities/render_jinja2.html +1 -1
  55. nautobot/core/templates/utilities/templatetags/tag.html +1 -1
  56. nautobot/core/templates/utilities/theme_preview.html +0 -7
  57. nautobot/core/templatetags/helpers.py +2 -11
  58. nautobot/core/testing/__init__.py +8 -8
  59. nautobot/core/testing/api.py +15 -170
  60. nautobot/core/testing/filters.py +2 -25
  61. nautobot/core/testing/forms.py +0 -2
  62. nautobot/core/testing/mixins.py +2 -7
  63. nautobot/core/testing/views.py +29 -44
  64. nautobot/core/tests/integration/test_app_home.py +1 -0
  65. nautobot/core/tests/integration/test_app_navbar.py +1 -0
  66. nautobot/core/tests/integration/test_filters.py +2 -0
  67. nautobot/core/tests/integration/test_home.py +1 -0
  68. nautobot/core/tests/integration/test_navbar.py +1 -0
  69. nautobot/core/tests/integration/test_view_authentication.py +0 -1
  70. nautobot/core/tests/runner.py +1 -1
  71. nautobot/core/tests/test_api.py +1 -98
  72. nautobot/core/tests/test_csv.py +3 -25
  73. nautobot/core/tests/test_forms.py +0 -1
  74. nautobot/core/tests/test_jobs.py +1 -303
  75. nautobot/core/tests/test_settings_schema.py +0 -7
  76. nautobot/core/tests/test_tables.py +0 -100
  77. nautobot/core/tests/test_utils.py +1 -63
  78. nautobot/core/tests/test_views.py +3 -30
  79. nautobot/core/ui/nav.py +0 -1
  80. nautobot/core/ui/object_detail.py +1 -15
  81. nautobot/core/urls.py +0 -11
  82. nautobot/core/utils/lookup.py +8 -11
  83. nautobot/core/utils/requests.py +9 -24
  84. nautobot/core/views/__init__.py +0 -42
  85. nautobot/core/views/generic.py +176 -78
  86. nautobot/core/views/mixins.py +34 -94
  87. nautobot/core/views/renderers.py +6 -6
  88. nautobot/dcim/api/serializers.py +62 -54
  89. nautobot/dcim/api/views.py +113 -47
  90. nautobot/dcim/filters/__init__.py +2 -31
  91. nautobot/dcim/forms.py +17 -36
  92. nautobot/dcim/graphql/types.py +2 -2
  93. nautobot/dcim/models/__init__.py +1 -1
  94. nautobot/dcim/models/device_component_templates.py +2 -2
  95. nautobot/dcim/models/device_components.py +20 -22
  96. nautobot/dcim/models/devices.py +1 -10
  97. nautobot/dcim/models/locations.py +3 -3
  98. nautobot/dcim/models/power.py +5 -6
  99. nautobot/dcim/models/racks.py +4 -4
  100. nautobot/dcim/tables/__init__.py +3 -3
  101. nautobot/dcim/tables/devices.py +5 -7
  102. nautobot/dcim/tables/devicetypes.py +2 -2
  103. nautobot/dcim/tables/racks.py +1 -1
  104. nautobot/dcim/templates/dcim/controller_create.html +7 -1
  105. nautobot/dcim/templates/dcim/controller_retrieve.html +9 -1
  106. nautobot/dcim/templates/dcim/controllermanageddevicegroup_create.html +0 -2
  107. nautobot/dcim/templates/dcim/controllermanageddevicegroup_retrieve.html +0 -5
  108. nautobot/dcim/templates/dcim/device.html +9 -1
  109. nautobot/dcim/templates/dcim/device_edit.html +37 -36
  110. nautobot/dcim/templates/dcim/location.html +9 -1
  111. nautobot/dcim/templates/dcim/location_edit.html +7 -1
  112. nautobot/dcim/templates/dcim/rack.html +9 -1
  113. nautobot/dcim/templates/dcim/rack_edit.html +7 -1
  114. nautobot/dcim/templates/dcim/rackreservation.html +9 -1
  115. nautobot/dcim/templates/dcim/virtualdevicecontext_retrieve.html +9 -1
  116. nautobot/dcim/templates/dcim/virtualdevicecontext_update.html +7 -1
  117. nautobot/dcim/tests/test_api.py +3 -16
  118. nautobot/dcim/tests/test_filters.py +0 -33
  119. nautobot/dcim/tests/test_forms.py +2 -51
  120. nautobot/dcim/tests/test_graphql.py +0 -52
  121. nautobot/dcim/tests/test_models.py +5 -34
  122. nautobot/dcim/tests/test_views.py +83 -21
  123. nautobot/dcim/views.py +13 -1
  124. nautobot/extras/api/customfields.py +2 -2
  125. nautobot/extras/api/serializers.py +85 -90
  126. nautobot/extras/api/views.py +27 -22
  127. nautobot/extras/constants.py +0 -2
  128. nautobot/extras/filters/__init__.py +6 -8
  129. nautobot/extras/forms/base.py +2 -2
  130. nautobot/extras/forms/forms.py +31 -139
  131. nautobot/extras/forms/mixins.py +5 -13
  132. nautobot/extras/group_sync.py +3 -3
  133. nautobot/extras/health_checks.py +2 -1
  134. nautobot/extras/jobs.py +12 -70
  135. nautobot/extras/managers.py +1 -3
  136. nautobot/extras/migrations/0018_joblog_data_migration.py +9 -7
  137. nautobot/extras/models/__init__.py +1 -1
  138. nautobot/extras/models/contacts.py +1 -1
  139. nautobot/extras/models/customfields.py +11 -12
  140. nautobot/extras/models/groups.py +9 -11
  141. nautobot/extras/models/jobs.py +4 -23
  142. nautobot/extras/models/models.py +2 -2
  143. nautobot/extras/plugins/__init__.py +2 -13
  144. nautobot/extras/plugins/marketplace_manifest.yml +79 -84
  145. nautobot/extras/plugins/tables.py +14 -16
  146. nautobot/extras/plugins/views.py +69 -65
  147. nautobot/extras/registry.py +1 -1
  148. nautobot/extras/secrets/__init__.py +2 -2
  149. nautobot/extras/tables.py +5 -7
  150. nautobot/extras/templates/extras/dynamicgroup.html +9 -1
  151. nautobot/extras/templates/extras/job_detail.html +0 -16
  152. nautobot/extras/templates/extras/job_edit.html +0 -1
  153. nautobot/extras/templates/extras/jobqueue_retrieve.html +9 -1
  154. nautobot/extras/templates/extras/marketplace.html +11 -29
  155. nautobot/extras/templates/extras/plugin_detail.html +15 -32
  156. nautobot/extras/templates/extras/plugins_tiles.html +10 -21
  157. nautobot/extras/test_jobs/api_test_job.py +1 -1
  158. nautobot/extras/test_jobs/atomic_transaction.py +2 -2
  159. nautobot/extras/test_jobs/dry_run.py +1 -1
  160. nautobot/extras/test_jobs/fail.py +5 -5
  161. nautobot/extras/test_jobs/file_output.py +1 -1
  162. nautobot/extras/test_jobs/file_upload_fail.py +1 -1
  163. nautobot/extras/test_jobs/file_upload_pass.py +1 -1
  164. nautobot/extras/test_jobs/ipaddress_vars.py +1 -3
  165. nautobot/extras/test_jobs/jobs_module/jobs_submodule/jobs.py +1 -1
  166. nautobot/extras/test_jobs/location_with_custom_field.py +1 -1
  167. nautobot/extras/test_jobs/log_redaction.py +1 -1
  168. nautobot/extras/test_jobs/log_skip_db_logging.py +1 -1
  169. nautobot/extras/test_jobs/modify_db.py +1 -1
  170. nautobot/extras/test_jobs/object_var_optional.py +1 -1
  171. nautobot/extras/test_jobs/object_var_required.py +1 -1
  172. nautobot/extras/test_jobs/object_vars.py +1 -1
  173. nautobot/extras/test_jobs/pass.py +3 -3
  174. nautobot/extras/test_jobs/profiling.py +1 -1
  175. nautobot/extras/test_jobs/relative_import.py +3 -3
  176. nautobot/extras/test_jobs/soft_time_limit_greater_than_time_limit.py +1 -1
  177. nautobot/extras/test_jobs/task_queues.py +1 -1
  178. nautobot/extras/tests/integration/test_plugin_banner.py +2 -0
  179. nautobot/extras/tests/test_api.py +13 -13
  180. nautobot/extras/tests/test_customfields.py +1 -1
  181. nautobot/extras/tests/test_datasources.py +1 -2
  182. nautobot/extras/tests/test_dynamicgroups.py +1 -1
  183. nautobot/extras/tests/test_filters.py +6 -6
  184. nautobot/extras/tests/test_forms.py +1 -20
  185. nautobot/extras/tests/test_jobs.py +19 -160
  186. nautobot/extras/tests/test_models.py +10 -10
  187. nautobot/extras/tests/test_plugins.py +9 -62
  188. nautobot/extras/tests/test_relationships.py +9 -120
  189. nautobot/extras/tests/test_views.py +191 -52
  190. nautobot/extras/utils.py +2 -3
  191. nautobot/extras/views.py +98 -30
  192. nautobot/ipam/api/fields.py +3 -3
  193. nautobot/ipam/api/serializers.py +33 -41
  194. nautobot/ipam/api/views.py +117 -68
  195. nautobot/ipam/factory.py +1 -1
  196. nautobot/ipam/filters.py +2 -3
  197. nautobot/ipam/lookups.py +62 -101
  198. nautobot/ipam/models.py +16 -66
  199. nautobot/ipam/querysets.py +2 -2
  200. nautobot/ipam/tables.py +7 -23
  201. nautobot/ipam/templates/ipam/ipaddress.html +9 -1
  202. nautobot/ipam/templates/ipam/ipaddress_bulk_add.html +7 -1
  203. nautobot/ipam/templates/ipam/ipaddress_edit.html +7 -1
  204. nautobot/ipam/templates/ipam/prefix.html +9 -1
  205. nautobot/ipam/templates/ipam/prefix_edit.html +7 -1
  206. nautobot/ipam/templates/ipam/vlan.html +9 -1
  207. nautobot/ipam/templates/ipam/vlan_edit.html +7 -1
  208. nautobot/ipam/templates/ipam/vrf_edit.html +7 -1
  209. nautobot/ipam/tests/test_api.py +3 -416
  210. nautobot/ipam/tests/test_forms.py +47 -49
  211. nautobot/ipam/tests/test_migrations.py +30 -30
  212. nautobot/ipam/tests/test_models.py +34 -95
  213. nautobot/ipam/tests/test_querysets.py +1 -63
  214. nautobot/ipam/tests/test_views.py +0 -3
  215. nautobot/ipam/utils/__init__.py +6 -36
  216. nautobot/ipam/views.py +87 -61
  217. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css.map +1 -1
  218. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css.map +1 -1
  219. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css +2 -40
  220. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css.map +1 -1
  221. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css +1 -1
  222. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css.map +1 -1
  223. nautobot/project-static/docs/404.html +4 -46
  224. nautobot/project-static/docs/apps/index.html +4 -46
  225. nautobot/project-static/docs/apps/nautobot-apps.html +6 -47
  226. nautobot/project-static/docs/assets/_mkdocstrings.css +1 -25
  227. nautobot/project-static/docs/assets/javascripts/{bundle.88dd0f4e.min.js → bundle.83f73b43.min.js} +2 -2
  228. nautobot/project-static/docs/assets/javascripts/{bundle.88dd0f4e.min.js.map → bundle.83f73b43.min.js.map} +2 -2
  229. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +10 -62
  230. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +7 -59
  231. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +122 -374
  232. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +18 -90
  233. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +21 -95
  234. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +6 -53
  235. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +5 -52
  236. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +17 -79
  237. nautobot/project-static/docs/code-reference/nautobot/apps/events.html +28 -102
  238. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +21 -108
  239. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +38 -131
  240. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +65 -239
  241. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +165 -581
  242. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +36 -109
  243. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +167 -453
  244. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +211 -493
  245. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +8 -60
  246. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +15 -71
  247. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +55 -407
  248. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +205 -585
  249. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +412 -858
  250. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +7 -59
  251. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +186 -448
  252. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +147 -365
  253. nautobot/project-static/docs/development/apps/api/configuration-view.html +4 -46
  254. nautobot/project-static/docs/development/apps/api/database-backend-config.html +4 -46
  255. nautobot/project-static/docs/development/apps/api/models/django-admin.html +4 -46
  256. nautobot/project-static/docs/development/apps/api/models/global-search.html +4 -46
  257. nautobot/project-static/docs/development/apps/api/models/graphql.html +4 -46
  258. nautobot/project-static/docs/development/apps/api/models/index.html +4 -46
  259. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +4 -46
  260. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +4 -46
  261. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +4 -46
  262. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +4 -46
  263. nautobot/project-static/docs/development/apps/api/platform-features/index.html +4 -46
  264. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +4 -46
  265. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +4 -46
  266. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +4 -46
  267. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +4 -46
  268. nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +7 -68
  269. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +4 -46
  270. nautobot/project-static/docs/development/apps/api/prometheus.html +4 -46
  271. nautobot/project-static/docs/development/apps/api/setup.html +4 -46
  272. nautobot/project-static/docs/development/apps/api/testing.html +4 -46
  273. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +4 -46
  274. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +4 -46
  275. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +4 -46
  276. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +4 -46
  277. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +4 -46
  278. nautobot/project-static/docs/development/apps/api/views/base-template.html +4 -46
  279. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +4 -46
  280. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +4 -46
  281. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +4 -46
  282. nautobot/project-static/docs/development/apps/api/views/index.html +4 -46
  283. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +4 -46
  284. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +4 -46
  285. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +4 -46
  286. nautobot/project-static/docs/development/apps/api/views/notes.html +4 -46
  287. nautobot/project-static/docs/development/apps/api/views/rest-api.html +6 -52
  288. nautobot/project-static/docs/development/apps/api/views/urls.html +4 -46
  289. nautobot/project-static/docs/development/apps/index.html +4 -46
  290. nautobot/project-static/docs/development/apps/migration/code-updates.html +4 -46
  291. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +4 -46
  292. nautobot/project-static/docs/development/apps/migration/from-v1.html +4 -46
  293. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +4 -46
  294. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +4 -46
  295. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +4 -46
  296. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +4 -46
  297. nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +8 -50
  298. nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +4 -46
  299. nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +14 -211
  300. nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +4 -46
  301. nautobot/project-static/docs/development/apps/porting-from-netbox.html +4 -46
  302. nautobot/project-static/docs/development/core/application-registry.html +4 -46
  303. nautobot/project-static/docs/development/core/best-practices.html +4 -46
  304. nautobot/project-static/docs/development/core/bootstrap-ui.html +4 -46
  305. nautobot/project-static/docs/development/core/caching.html +4 -46
  306. nautobot/project-static/docs/development/core/controllers.html +4 -46
  307. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +74 -73
  308. nautobot/project-static/docs/development/core/generic-views.html +4 -46
  309. nautobot/project-static/docs/development/core/getting-started.html +224 -249
  310. nautobot/project-static/docs/development/core/homepage.html +7 -49
  311. nautobot/project-static/docs/development/core/index.html +4 -46
  312. nautobot/project-static/docs/development/core/{minikube-dev-environment-for-k8s-jobs.html → local-k8s.html} +168 -469
  313. nautobot/project-static/docs/development/core/model-checklist.html +12 -56
  314. nautobot/project-static/docs/development/core/model-features.html +4 -46
  315. nautobot/project-static/docs/development/core/natural-keys.html +4 -46
  316. nautobot/project-static/docs/development/core/navigation-menu.html +4 -46
  317. nautobot/project-static/docs/development/core/release-checklist.html +7 -49
  318. nautobot/project-static/docs/development/core/role-internals.html +4 -46
  319. nautobot/project-static/docs/development/core/settings.html +4 -46
  320. nautobot/project-static/docs/development/core/style-guide.html +7 -49
  321. nautobot/project-static/docs/development/core/templates.html +4 -46
  322. nautobot/project-static/docs/development/core/testing.html +4 -46
  323. nautobot/project-static/docs/development/core/ui-component-framework.html +273 -369
  324. nautobot/project-static/docs/development/core/user-preferences.html +4 -46
  325. nautobot/project-static/docs/development/index.html +4 -46
  326. nautobot/project-static/docs/development/jobs/index.html +122 -216
  327. nautobot/project-static/docs/development/jobs/migration/from-v1.html +4 -46
  328. nautobot/project-static/docs/index.html +23 -54
  329. nautobot/project-static/docs/objects.inv +0 -0
  330. nautobot/project-static/docs/overview/application_stack.html +7 -47
  331. nautobot/project-static/docs/overview/design_philosophy.html +4 -46
  332. nautobot/project-static/docs/release-notes/index.html +12 -52
  333. nautobot/project-static/docs/release-notes/version-1.0.html +193 -234
  334. nautobot/project-static/docs/release-notes/version-1.1.html +190 -231
  335. nautobot/project-static/docs/release-notes/version-1.2.html +265 -306
  336. nautobot/project-static/docs/release-notes/version-1.3.html +291 -332
  337. nautobot/project-static/docs/release-notes/version-1.4.html +377 -417
  338. nautobot/project-static/docs/release-notes/version-1.5.html +566 -605
  339. nautobot/project-static/docs/release-notes/version-1.6.html +447 -904
  340. nautobot/project-static/docs/release-notes/version-2.0.html +489 -528
  341. nautobot/project-static/docs/release-notes/version-2.1.html +324 -363
  342. nautobot/project-static/docs/release-notes/version-2.2.html +317 -356
  343. nautobot/project-static/docs/release-notes/version-2.3.html +352 -997
  344. nautobot/project-static/docs/release-notes/version-2.4.html +101 -417
  345. nautobot/project-static/docs/requirements.txt +2 -2
  346. nautobot/project-static/docs/search/search_index.json +1 -1
  347. nautobot/project-static/docs/sitemap.xml +287 -295
  348. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  349. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +4 -46
  350. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +4 -46
  351. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +6 -48
  352. nautobot/project-static/docs/user-guide/administration/configuration/index.html +4 -46
  353. nautobot/project-static/docs/user-guide/administration/configuration/redis.html +4 -46
  354. nautobot/project-static/docs/user-guide/administration/configuration/settings.html +8 -110
  355. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +4 -46
  356. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +4 -46
  357. nautobot/project-static/docs/user-guide/administration/guides/docker.html +4 -46
  358. nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +4 -46
  359. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +4 -46
  360. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +4 -46
  361. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +4 -46
  362. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +4 -46
  363. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +6 -48
  364. nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +4 -46
  365. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +4 -46
  366. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +4 -46
  367. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +8 -66
  368. nautobot/project-static/docs/user-guide/administration/installation/index.html +4 -46
  369. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +5 -47
  370. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +4 -46
  371. nautobot/project-static/docs/user-guide/administration/installation/services.html +4 -46
  372. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +4 -46
  373. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +4 -46
  374. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +4 -46
  375. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +4 -46
  376. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +4 -46
  377. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +4 -46
  378. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +4 -46
  379. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +4 -46
  380. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +4 -46
  381. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +8 -49
  382. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +4 -46
  383. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +4 -46
  384. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +4 -46
  385. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +4 -46
  386. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +4 -46
  387. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +4 -46
  388. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +4 -46
  389. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +4 -46
  390. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +4 -46
  391. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +4 -46
  392. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +4 -46
  393. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +4 -46
  394. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +4 -46
  395. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +4 -46
  396. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +4 -46
  397. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +4 -46
  398. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +4 -46
  399. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +4 -46
  400. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +4 -46
  401. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +4 -46
  402. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +4 -46
  403. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +4 -46
  404. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +4 -46
  405. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +4 -46
  406. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +4 -46
  407. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +4 -46
  408. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +4 -46
  409. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +4 -46
  410. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +4 -46
  411. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +4 -46
  412. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +4 -46
  413. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +4 -46
  414. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +4 -46
  415. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +4 -46
  416. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +4 -46
  417. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +4 -46
  418. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +4 -46
  419. nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +4 -46
  420. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +4 -46
  421. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +4 -46
  422. nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +4 -46
  423. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +4 -46
  424. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +4 -46
  425. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +4 -46
  426. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +4 -46
  427. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +4 -46
  428. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +4 -46
  429. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +4 -46
  430. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +4 -46
  431. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +4 -46
  432. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +4 -46
  433. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +4 -46
  434. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +4 -46
  435. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +4 -46
  436. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +4 -46
  437. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +4 -46
  438. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +4 -46
  439. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +12 -50
  440. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +4 -46
  441. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +4 -46
  442. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +4 -46
  443. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +4 -46
  444. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +4 -46
  445. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +4 -46
  446. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +4 -46
  447. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +4 -46
  448. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +4 -46
  449. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +4 -46
  450. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +4 -46
  451. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +4 -46
  452. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +7 -49
  453. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +4 -46
  454. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +4 -46
  455. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +4 -46
  456. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +4 -46
  457. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +4 -46
  458. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +4 -46
  459. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +4 -46
  460. nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +4 -46
  461. nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +4 -46
  462. nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +4 -46
  463. nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +4 -46
  464. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +4 -46
  465. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +4 -46
  466. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +4 -46
  467. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +4 -46
  468. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +4 -46
  469. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +4 -46
  470. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +4 -46
  471. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +4 -46
  472. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +4 -46
  473. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +4 -46
  474. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +4 -46
  475. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +7 -51
  476. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +4 -46
  477. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +4 -46
  478. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +4 -46
  479. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +7 -49
  480. nautobot/project-static/docs/user-guide/index.html +4 -46
  481. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +4 -46
  482. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +8 -50
  483. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +4 -46
  484. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +4 -46
  485. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +4 -46
  486. nautobot/project-static/docs/user-guide/platform-functionality/events.html +4 -46
  487. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +4 -46
  488. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +4 -46
  489. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +4 -46
  490. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +4 -46
  491. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +4 -46
  492. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +4 -46
  493. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +7 -50
  494. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +4 -46
  495. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +7 -49
  496. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +4 -46
  497. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +4 -46
  498. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +4 -46
  499. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +4 -46
  500. nautobot/project-static/docs/user-guide/platform-functionality/note.html +4 -46
  501. nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +4 -46
  502. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +5 -47
  503. nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +4 -46
  504. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +4 -46
  505. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +25 -94
  506. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +5 -74
  507. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +4 -46
  508. nautobot/project-static/docs/user-guide/platform-functionality/role.html +4 -46
  509. nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +4 -46
  510. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +4 -46
  511. nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +4 -46
  512. nautobot/project-static/docs/user-guide/platform-functionality/status.html +4 -46
  513. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +4 -46
  514. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +4 -46
  515. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +4 -46
  516. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +4 -46
  517. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +4 -46
  518. nautobot/project-static/js/forms.js +1 -1
  519. nautobot/tenancy/api/views.py +13 -9
  520. nautobot/tenancy/views.py +2 -4
  521. nautobot/users/admin.py +1 -1
  522. nautobot/users/api/serializers.py +4 -5
  523. nautobot/users/api/views.py +3 -3
  524. nautobot/virtualization/api/serializers.py +4 -4
  525. nautobot/virtualization/api/views.py +24 -5
  526. nautobot/virtualization/filters.py +3 -20
  527. nautobot/virtualization/models.py +1 -1
  528. nautobot/virtualization/tables.py +2 -2
  529. nautobot/virtualization/templates/virtualization/cluster_edit.html +7 -1
  530. nautobot/virtualization/templates/virtualization/virtualmachine.html +9 -1
  531. nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +8 -2
  532. nautobot/virtualization/tests/test_filters.py +0 -17
  533. nautobot/wireless/filters.py +2 -2
  534. nautobot/wireless/forms.py +1 -1
  535. nautobot/wireless/templates/wireless/wirelessnetwork_retrieve.html +9 -1
  536. nautobot/wireless/tests/test_filters.py +1 -29
  537. nautobot/wireless/views.py +10 -0
  538. {nautobot-2.4.0.dist-info → nautobot-2.4.0b1.dist-info}/METADATA +6 -6
  539. {nautobot-2.4.0.dist-info → nautobot-2.4.0b1.dist-info}/RECORD +543 -591
  540. {nautobot-2.4.0.dist-info → nautobot-2.4.0b1.dist-info}/WHEEL +1 -1
  541. nautobot/core/api/constants.py +0 -11
  542. nautobot/core/jobs/bulk_actions.py +0 -248
  543. nautobot/core/templates/about.html +0 -67
  544. nautobot/core/templates/inc/tenancy_form_panel.html +0 -9
  545. nautobot/core/templates/inc/tenant_table_row.html +0 -11
  546. nautobot/core/utils/querysets.py +0 -64
  547. nautobot/dcim/migrations/0067_controllermanageddevicegroup_tenant.py +0 -25
  548. nautobot/dcim/tests/integration/test_controller.py +0 -62
  549. nautobot/dcim/tests/integration/test_controller_managed_device_group.py +0 -71
  550. nautobot/dcim/tests/test_jobs.py +0 -118
  551. nautobot/extras/migrations/0120_job_is_singleton_job_is_singleton_override.py +0 -22
  552. nautobot/extras/migrations/0121_alter_team_contacts.py +0 -17
  553. nautobot/extras/test_jobs/singleton.py +0 -16
  554. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit.png +0 -0
  555. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit_button.png +0 -0
  556. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_nav.png +0 -0
  557. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_view.png +0 -0
  558. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue.png +0 -0
  559. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_add.png +0 -0
  560. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_config.png +0 -0
  561. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_completed.png +0 -0
  562. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_nav.png +0 -0
  563. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_pending.png +0 -0
  564. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_run_form.png +0 -0
  565. nautobot/project-static/docs/media/development/core/kubernetes/k8s_nautobot_login.png +0 -0
  566. nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_job.png +0 -0
  567. nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_scheduled_job_form.png +0 -0
  568. nautobot/project-static/docs/media/development/core/kubernetes/k8s_scheduled_job_result.png +0 -0
  569. nautobot/project-static/docs/media/development/core/ui-component-framework/buttons-example.png +0 -0
  570. nautobot/project-static/docs/media/development/core/ui-component-framework/cluster-type-before-after-example.png +0 -0
  571. nautobot/project-static/docs/media/development/core/ui-component-framework/object-fields-panel-example_2.png +0 -0
  572. nautobot/project-static/docs/media/development/core/ui-component-framework/stats-panel-example-code.png +0 -0
  573. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/central-mode.png +0 -0
  574. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-add.png +0 -0
  575. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-1.png +0 -0
  576. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-2.png +0 -0
  577. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-add.png +0 -0
  578. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-create.png +0 -0
  579. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-add.png +0 -0
  580. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-create.png +0 -0
  581. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-add.png +0 -0
  582. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-1.png +0 -0
  583. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-2.png +0 -0
  584. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-add.png +0 -0
  585. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-create.png +0 -0
  586. nautobot/project-static/docs/user-guide/feature-guides/wireless-networks-and-controllers.html +0 -9444
  587. nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +0 -9722
  588. nautobot/wireless/tests/integration/__init__.py +0 -0
  589. nautobot/wireless/tests/integration/test_radio_profile.py +0 -42
  590. {nautobot-2.4.0.dist-info → nautobot-2.4.0b1.dist-info}/LICENSE.txt +0 -0
  591. {nautobot-2.4.0.dist-info → nautobot-2.4.0b1.dist-info}/NOTICE +0 -0
  592. {nautobot-2.4.0.dist-info → nautobot-2.4.0b1.dist-info}/entry_points.txt +0 -0
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.49">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.46">
22
22
 
23
23
 
24
24
 
@@ -2112,27 +2112,6 @@
2112
2112
 
2113
2113
 
2114
2114
 
2115
-
2116
-
2117
-
2118
-
2119
-
2120
-
2121
- <li class="md-nav__item">
2122
- <a href="../user-guide/feature-guides/wireless-networks-and-controllers.html" class="md-nav__link">
2123
-
2124
-
2125
- <span class="md-ellipsis">
2126
- Wireless Networks and Controllers
2127
- </span>
2128
-
2129
-
2130
- </a>
2131
- </li>
2132
-
2133
-
2134
-
2135
-
2136
2115
  </ul>
2137
2116
  </nav>
2138
2117
 
@@ -5152,27 +5131,6 @@
5152
5131
 
5153
5132
 
5154
5133
 
5155
- <li class="md-nav__item">
5156
- <a href="../user-guide/platform-functionality/jobs/kubernetes-job-support.html" class="md-nav__link">
5157
-
5158
-
5159
- <span class="md-ellipsis">
5160
- Kubernetes Job Support
5161
- </span>
5162
-
5163
-
5164
- </a>
5165
- </li>
5166
-
5167
-
5168
-
5169
-
5170
-
5171
-
5172
-
5173
-
5174
-
5175
-
5176
5134
  <li class="md-nav__item">
5177
5135
  <a href="../user-guide/platform-functionality/jobs/jobbutton.html" class="md-nav__link">
5178
5136
 
@@ -8097,11 +8055,11 @@
8097
8055
 
8098
8056
 
8099
8057
  <li class="md-nav__item">
8100
- <a href="../development/core/minikube-dev-environment-for-k8s-jobs.html" class="md-nav__link">
8058
+ <a href="../development/core/local-k8s.html" class="md-nav__link">
8101
8059
 
8102
8060
 
8103
8061
  <span class="md-ellipsis">
8104
- Minikube Dev Environment for K8s Jobs
8062
+ Local Kubernetes Cluster
8105
8063
  </span>
8106
8064
 
8107
8065
 
@@ -8513,24 +8471,6 @@
8513
8471
  <nav class="md-nav" aria-label="Added">
8514
8472
  <ul class="md-nav__list">
8515
8473
 
8516
- <li class="md-nav__item">
8517
- <a href="#virtual-device-context-data-models" class="md-nav__link">
8518
- <span class="md-ellipsis">
8519
- Virtual Device Context Data Models
8520
- </span>
8521
- </a>
8522
-
8523
- </li>
8524
-
8525
- <li class="md-nav__item">
8526
- <a href="#wireless-data-models" class="md-nav__link">
8527
- <span class="md-ellipsis">
8528
- Wireless Data Models
8529
- </span>
8530
- </a>
8531
-
8532
- </li>
8533
-
8534
8474
  <li class="md-nav__item">
8535
8475
  <a href="#apps-marketplace-page-and-installed-apps-page-tile-view" class="md-nav__link">
8536
8476
  <span class="md-ellipsis">
@@ -8568,45 +8508,45 @@
8568
8508
  </li>
8569
8509
 
8570
8510
  <li class="md-nav__item">
8571
- <a href="#kubernetes-job-execution-and-job-queue-data-model-experimental" class="md-nav__link">
8511
+ <a href="#kubernetes-job-execution-and-job-queue-data-model" class="md-nav__link">
8572
8512
  <span class="md-ellipsis">
8573
- Kubernetes Job Execution and Job Queue Data Model (Experimental)
8513
+ Kubernetes Job Execution and Job Queue Data Model
8574
8514
  </span>
8575
8515
  </a>
8576
8516
 
8577
8517
  </li>
8578
8518
 
8579
8519
  <li class="md-nav__item">
8580
- <a href="#singleton-jobs" class="md-nav__link">
8520
+ <a href="#per-user-time-zone-support" class="md-nav__link">
8581
8521
  <span class="md-ellipsis">
8582
- Singleton Jobs
8522
+ Per-user Time Zone Support
8583
8523
  </span>
8584
8524
  </a>
8585
8525
 
8586
8526
  </li>
8587
8527
 
8588
8528
  <li class="md-nav__item">
8589
- <a href="#per-user-time-zone-support" class="md-nav__link">
8529
+ <a href="#ui-component-framework" class="md-nav__link">
8590
8530
  <span class="md-ellipsis">
8591
- Per-user Time Zone Support
8531
+ UI Component Framework
8592
8532
  </span>
8593
8533
  </a>
8594
8534
 
8595
8535
  </li>
8596
8536
 
8597
8537
  <li class="md-nav__item">
8598
- <a href="#rest-api-exclude_m2m-support" class="md-nav__link">
8538
+ <a href="#virtual-device-context-data-models" class="md-nav__link">
8599
8539
  <span class="md-ellipsis">
8600
- REST API exclude_m2m Support
8540
+ Virtual Device Context Data Models
8601
8541
  </span>
8602
8542
  </a>
8603
8543
 
8604
8544
  </li>
8605
8545
 
8606
8546
  <li class="md-nav__item">
8607
- <a href="#ui-component-framework" class="md-nav__link">
8547
+ <a href="#wireless-data-models" class="md-nav__link">
8608
8548
  <span class="md-ellipsis">
8609
- UI Component Framework
8549
+ Wireless Data Models
8610
8550
  </span>
8611
8551
  </a>
8612
8552
 
@@ -8686,75 +8626,6 @@
8686
8626
  </ul>
8687
8627
  </nav>
8688
8628
 
8689
- </li>
8690
-
8691
- <li class="md-nav__item">
8692
- <a href="#v240-2025-01-10" class="md-nav__link">
8693
- <span class="md-ellipsis">
8694
- v2.4.0 (2025-01-10)
8695
- </span>
8696
- </a>
8697
-
8698
- <nav class="md-nav" aria-label="v2.4.0 (2025-01-10)">
8699
- <ul class="md-nav__list">
8700
-
8701
- <li class="md-nav__item">
8702
- <a href="#added-in-v240" class="md-nav__link">
8703
- <span class="md-ellipsis">
8704
- Added in v2.4.0
8705
- </span>
8706
- </a>
8707
-
8708
- </li>
8709
-
8710
- <li class="md-nav__item">
8711
- <a href="#changed-in-v240" class="md-nav__link">
8712
- <span class="md-ellipsis">
8713
- Changed in v2.4.0
8714
- </span>
8715
- </a>
8716
-
8717
- </li>
8718
-
8719
- <li class="md-nav__item">
8720
- <a href="#fixed-in-v240" class="md-nav__link">
8721
- <span class="md-ellipsis">
8722
- Fixed in v2.4.0
8723
- </span>
8724
- </a>
8725
-
8726
- </li>
8727
-
8728
- <li class="md-nav__item">
8729
- <a href="#dependencies-in-v240" class="md-nav__link">
8730
- <span class="md-ellipsis">
8731
- Dependencies in v2.4.0
8732
- </span>
8733
- </a>
8734
-
8735
- </li>
8736
-
8737
- <li class="md-nav__item">
8738
- <a href="#documentation-in-v240" class="md-nav__link">
8739
- <span class="md-ellipsis">
8740
- Documentation in v2.4.0
8741
- </span>
8742
- </a>
8743
-
8744
- </li>
8745
-
8746
- <li class="md-nav__item">
8747
- <a href="#housekeeping-in-v240" class="md-nav__link">
8748
- <span class="md-ellipsis">
8749
- Housekeeping in v2.4.0
8750
- </span>
8751
- </a>
8752
-
8753
- </li>
8754
-
8755
- </ul>
8756
- </nav>
8757
-
8758
8629
  </li>
8759
8630
 
8760
8631
  <li class="md-nav__item">
@@ -8768,72 +8639,63 @@
8768
8639
  <ul class="md-nav__list">
8769
8640
 
8770
8641
  <li class="md-nav__item">
8771
- <a href="#added-in-v240b1" class="md-nav__link">
8642
+ <a href="#changed" class="md-nav__link">
8772
8643
  <span class="md-ellipsis">
8773
- Added in v2.4.0b1
8644
+ Changed
8774
8645
  </span>
8775
8646
  </a>
8776
8647
 
8777
8648
  </li>
8778
8649
 
8779
8650
  <li class="md-nav__item">
8780
- <a href="#changed-in-v240b1" class="md-nav__link">
8651
+ <a href="#deprecated_1" class="md-nav__link">
8781
8652
  <span class="md-ellipsis">
8782
- Changed in v2.4.0b1
8783
- </span>
8784
- </a>
8785
-
8786
- </li>
8787
-
8788
- <li class="md-nav__item">
8789
- <a href="#deprecated-in-v240b1" class="md-nav__link">
8790
- <span class="md-ellipsis">
8791
- Deprecated in v2.4.0b1
8653
+ Deprecated
8792
8654
  </span>
8793
8655
  </a>
8794
8656
 
8795
8657
  </li>
8796
8658
 
8797
8659
  <li class="md-nav__item">
8798
- <a href="#removed-in-v240b1" class="md-nav__link">
8660
+ <a href="#removed" class="md-nav__link">
8799
8661
  <span class="md-ellipsis">
8800
- Removed in v2.4.0b1
8662
+ Removed
8801
8663
  </span>
8802
8664
  </a>
8803
8665
 
8804
8666
  </li>
8805
8667
 
8806
8668
  <li class="md-nav__item">
8807
- <a href="#fixed-in-v240b1" class="md-nav__link">
8669
+ <a href="#fixed" class="md-nav__link">
8808
8670
  <span class="md-ellipsis">
8809
- Fixed in v2.4.0b1
8671
+ Fixed
8810
8672
  </span>
8811
8673
  </a>
8812
8674
 
8813
8675
  </li>
8814
8676
 
8815
8677
  <li class="md-nav__item">
8816
- <a href="#dependencies-in-v240b1" class="md-nav__link">
8678
+ <a href="#dependencies_1" class="md-nav__link">
8817
8679
  <span class="md-ellipsis">
8818
- Dependencies in v2.4.0b1
8680
+ Dependencies
8819
8681
  </span>
8820
8682
  </a>
8821
8683
 
8822
8684
  </li>
8823
8685
 
8824
8686
  <li class="md-nav__item">
8825
- <a href="#documentation-in-v240b1" class="md-nav__link">
8687
+ <a href="#documentation" class="md-nav__link">
8826
8688
  <span class="md-ellipsis">
8827
- Documentation in v2.4.0b1
8689
+ Documentation
8828
8690
  </span>
8829
8691
  </a>
8830
8692
 
8831
8693
  </li>
8832
8694
 
8833
8695
  <li class="md-nav__item">
8834
- <a href="#housekeeping-in-v240b1" class="md-nav__link">
8696
+ <a href="#housekeeping" class="md-nav__link">
8835
8697
  <span class="md-ellipsis">
8836
- Housekeeping in v2.4.0b1
8698
+ Housekeeping
8837
8699
  </span>
8838
8700
  </a>
8839
8701
 
@@ -9499,24 +9361,6 @@
9499
9361
  <nav class="md-nav" aria-label="Added">
9500
9362
  <ul class="md-nav__list">
9501
9363
 
9502
- <li class="md-nav__item">
9503
- <a href="#virtual-device-context-data-models" class="md-nav__link">
9504
- <span class="md-ellipsis">
9505
- Virtual Device Context Data Models
9506
- </span>
9507
- </a>
9508
-
9509
- </li>
9510
-
9511
- <li class="md-nav__item">
9512
- <a href="#wireless-data-models" class="md-nav__link">
9513
- <span class="md-ellipsis">
9514
- Wireless Data Models
9515
- </span>
9516
- </a>
9517
-
9518
- </li>
9519
-
9520
9364
  <li class="md-nav__item">
9521
9365
  <a href="#apps-marketplace-page-and-installed-apps-page-tile-view" class="md-nav__link">
9522
9366
  <span class="md-ellipsis">
@@ -9554,45 +9398,45 @@
9554
9398
  </li>
9555
9399
 
9556
9400
  <li class="md-nav__item">
9557
- <a href="#kubernetes-job-execution-and-job-queue-data-model-experimental" class="md-nav__link">
9401
+ <a href="#kubernetes-job-execution-and-job-queue-data-model" class="md-nav__link">
9558
9402
  <span class="md-ellipsis">
9559
- Kubernetes Job Execution and Job Queue Data Model (Experimental)
9403
+ Kubernetes Job Execution and Job Queue Data Model
9560
9404
  </span>
9561
9405
  </a>
9562
9406
 
9563
9407
  </li>
9564
9408
 
9565
9409
  <li class="md-nav__item">
9566
- <a href="#singleton-jobs" class="md-nav__link">
9410
+ <a href="#per-user-time-zone-support" class="md-nav__link">
9567
9411
  <span class="md-ellipsis">
9568
- Singleton Jobs
9412
+ Per-user Time Zone Support
9569
9413
  </span>
9570
9414
  </a>
9571
9415
 
9572
9416
  </li>
9573
9417
 
9574
9418
  <li class="md-nav__item">
9575
- <a href="#per-user-time-zone-support" class="md-nav__link">
9419
+ <a href="#ui-component-framework" class="md-nav__link">
9576
9420
  <span class="md-ellipsis">
9577
- Per-user Time Zone Support
9421
+ UI Component Framework
9578
9422
  </span>
9579
9423
  </a>
9580
9424
 
9581
9425
  </li>
9582
9426
 
9583
9427
  <li class="md-nav__item">
9584
- <a href="#rest-api-exclude_m2m-support" class="md-nav__link">
9428
+ <a href="#virtual-device-context-data-models" class="md-nav__link">
9585
9429
  <span class="md-ellipsis">
9586
- REST API exclude_m2m Support
9430
+ Virtual Device Context Data Models
9587
9431
  </span>
9588
9432
  </a>
9589
9433
 
9590
9434
  </li>
9591
9435
 
9592
9436
  <li class="md-nav__item">
9593
- <a href="#ui-component-framework" class="md-nav__link">
9437
+ <a href="#wireless-data-models" class="md-nav__link">
9594
9438
  <span class="md-ellipsis">
9595
- UI Component Framework
9439
+ Wireless Data Models
9596
9440
  </span>
9597
9441
  </a>
9598
9442
 
@@ -9672,75 +9516,6 @@
9672
9516
  </ul>
9673
9517
  </nav>
9674
9518
 
9675
- </li>
9676
-
9677
- <li class="md-nav__item">
9678
- <a href="#v240-2025-01-10" class="md-nav__link">
9679
- <span class="md-ellipsis">
9680
- v2.4.0 (2025-01-10)
9681
- </span>
9682
- </a>
9683
-
9684
- <nav class="md-nav" aria-label="v2.4.0 (2025-01-10)">
9685
- <ul class="md-nav__list">
9686
-
9687
- <li class="md-nav__item">
9688
- <a href="#added-in-v240" class="md-nav__link">
9689
- <span class="md-ellipsis">
9690
- Added in v2.4.0
9691
- </span>
9692
- </a>
9693
-
9694
- </li>
9695
-
9696
- <li class="md-nav__item">
9697
- <a href="#changed-in-v240" class="md-nav__link">
9698
- <span class="md-ellipsis">
9699
- Changed in v2.4.0
9700
- </span>
9701
- </a>
9702
-
9703
- </li>
9704
-
9705
- <li class="md-nav__item">
9706
- <a href="#fixed-in-v240" class="md-nav__link">
9707
- <span class="md-ellipsis">
9708
- Fixed in v2.4.0
9709
- </span>
9710
- </a>
9711
-
9712
- </li>
9713
-
9714
- <li class="md-nav__item">
9715
- <a href="#dependencies-in-v240" class="md-nav__link">
9716
- <span class="md-ellipsis">
9717
- Dependencies in v2.4.0
9718
- </span>
9719
- </a>
9720
-
9721
- </li>
9722
-
9723
- <li class="md-nav__item">
9724
- <a href="#documentation-in-v240" class="md-nav__link">
9725
- <span class="md-ellipsis">
9726
- Documentation in v2.4.0
9727
- </span>
9728
- </a>
9729
-
9730
- </li>
9731
-
9732
- <li class="md-nav__item">
9733
- <a href="#housekeeping-in-v240" class="md-nav__link">
9734
- <span class="md-ellipsis">
9735
- Housekeeping in v2.4.0
9736
- </span>
9737
- </a>
9738
-
9739
- </li>
9740
-
9741
- </ul>
9742
- </nav>
9743
-
9744
9519
  </li>
9745
9520
 
9746
9521
  <li class="md-nav__item">
@@ -9754,72 +9529,63 @@
9754
9529
  <ul class="md-nav__list">
9755
9530
 
9756
9531
  <li class="md-nav__item">
9757
- <a href="#added-in-v240b1" class="md-nav__link">
9758
- <span class="md-ellipsis">
9759
- Added in v2.4.0b1
9760
- </span>
9761
- </a>
9762
-
9763
- </li>
9764
-
9765
- <li class="md-nav__item">
9766
- <a href="#changed-in-v240b1" class="md-nav__link">
9532
+ <a href="#changed" class="md-nav__link">
9767
9533
  <span class="md-ellipsis">
9768
- Changed in v2.4.0b1
9534
+ Changed
9769
9535
  </span>
9770
9536
  </a>
9771
9537
 
9772
9538
  </li>
9773
9539
 
9774
9540
  <li class="md-nav__item">
9775
- <a href="#deprecated-in-v240b1" class="md-nav__link">
9541
+ <a href="#deprecated_1" class="md-nav__link">
9776
9542
  <span class="md-ellipsis">
9777
- Deprecated in v2.4.0b1
9543
+ Deprecated
9778
9544
  </span>
9779
9545
  </a>
9780
9546
 
9781
9547
  </li>
9782
9548
 
9783
9549
  <li class="md-nav__item">
9784
- <a href="#removed-in-v240b1" class="md-nav__link">
9550
+ <a href="#removed" class="md-nav__link">
9785
9551
  <span class="md-ellipsis">
9786
- Removed in v2.4.0b1
9552
+ Removed
9787
9553
  </span>
9788
9554
  </a>
9789
9555
 
9790
9556
  </li>
9791
9557
 
9792
9558
  <li class="md-nav__item">
9793
- <a href="#fixed-in-v240b1" class="md-nav__link">
9559
+ <a href="#fixed" class="md-nav__link">
9794
9560
  <span class="md-ellipsis">
9795
- Fixed in v2.4.0b1
9561
+ Fixed
9796
9562
  </span>
9797
9563
  </a>
9798
9564
 
9799
9565
  </li>
9800
9566
 
9801
9567
  <li class="md-nav__item">
9802
- <a href="#dependencies-in-v240b1" class="md-nav__link">
9568
+ <a href="#dependencies_1" class="md-nav__link">
9803
9569
  <span class="md-ellipsis">
9804
- Dependencies in v2.4.0b1
9570
+ Dependencies
9805
9571
  </span>
9806
9572
  </a>
9807
9573
 
9808
9574
  </li>
9809
9575
 
9810
9576
  <li class="md-nav__item">
9811
- <a href="#documentation-in-v240b1" class="md-nav__link">
9577
+ <a href="#documentation" class="md-nav__link">
9812
9578
  <span class="md-ellipsis">
9813
- Documentation in v2.4.0b1
9579
+ Documentation
9814
9580
  </span>
9815
9581
  </a>
9816
9582
 
9817
9583
  </li>
9818
9584
 
9819
9585
  <li class="md-nav__item">
9820
- <a href="#housekeeping-in-v240b1" class="md-nav__link">
9586
+ <a href="#housekeeping" class="md-nav__link">
9821
9587
  <span class="md-ellipsis">
9822
- Housekeeping in v2.4.0b1
9588
+ Housekeeping
9823
9589
  </span>
9824
9590
  </a>
9825
9591
 
@@ -9848,77 +9614,62 @@
9848
9614
 
9849
9615
 
9850
9616
 
9617
+ <!-- markdownlint-disable MD024 -->
9618
+
9851
9619
  <h1 id="nautobot-v24">Nautobot v2.4<a class="headerlink" href="#nautobot-v24" title="Permanent link">&para;</a></h1>
9852
9620
  <p>This document describes all new features and changes in Nautobot 2.4.</p>
9853
9621
  <h2 id="upgrade-actions">Upgrade Actions<a class="headerlink" href="#upgrade-actions" title="Permanent link">&para;</a></h2>
9854
9622
  <h3 id="administrators">Administrators<a class="headerlink" href="#administrators" title="Permanent link">&para;</a></h3>
9855
9623
  <ul>
9856
- <li>Nautobot 2.4 <a href="#removed-python-38-support">drops support for Python 3.8</a>, so any existing Nautobot deployment using Python 3.8 will need upgrade to a newer Python version <strong>before</strong> upgrading to Nautobot v2.4 or later.</li>
9857
- <li>Administrators should familiarize themselves with the new <a href="#event-publication-framework">Event Publication Framework</a> and the possibilities it enables for improved monitoring of Nautobot operations and integration with distributed automation platforms.</li>
9858
- <li>Administrators of Kubernetes-based Nautobot deployments should familiarize themselves with the new <a href="#kubernetes-job-execution-and-job-queue-data-model-experimental">capabilities</a> that Nautobot v2.4 provides for Job execution in such environments and may wish to update their Nautobot configuration to take advantage of these capabilities. Please note that this feature set is considered Experimental in v2.4.0 and is subject to change in future releases.</li>
9859
- <li>Nautobot 2.4 includes an About page which is capable of displaying the status of Network to Code support contracts, dictated by the <a href="../user-guide/administration/configuration/settings.html#ntc_support_contract_expiration_date"><code>NTC_SUPPORT_CONTRACT_EXPIRATION_DATE</code></a> configuration setting.</li>
9624
+ <li>Nautobot 2.4 <a href="#removed-python-38-support">drops support for Python 3.8</a>, so any existing Nautobot deployment in Python 3.8 will need to be replaced with a new deployment using a newer Python version before upgrading to Nautobot v2.4 or later.</li>
9625
+ <li>Administrators should familiarize themselves with the new <a href="#event-publication-framework">Event Publication Framework</a> and the possibilities it enables for improved monitoring of Nautobot operations.</li>
9626
+ <li>Administrators of Kubernetes-based Nautobot deployments should familiarize themselves with the new <a href="#kubernetes-job-execution-and-job-queue-data-model">capabilities</a> that Nautobot 2.4 provides for Job execution in such environments and may wish to update their Nautobot configuration to take advantage of these capabilities.</li>
9860
9627
  </ul>
9861
9628
  <h3 id="job-authors-app-developers">Job Authors &amp; App Developers<a class="headerlink" href="#job-authors-app-developers" title="Permanent link">&para;</a></h3>
9862
9629
  <ul>
9863
- <li>App developers should begin to adopt the <a href="#ui-component-framework">UI Component Framework</a> introduced in Nautobot v2.4, as this will reduce the amount of boilerplate HTML/CSS content that they need to develop and maintain, and will help insulate Apps from future CSS and layout design changes planned for Nautobot v3.</li>
9864
- <li>Additionally, App developers should familiarize themselves with the new <a href="#event-publication-framework">Event Publication Framework</a> and the possibilities it enables for Apps to publish their own relevant events to configured message brokers.</li>
9865
- <li>As a side benefit of adding <a href="#rest-api-exclude_m2m-support">REST API <code>exclude_m2m</code> support</a>, the Nautobot REST API <code>ViewSet</code> classes now attempt to intelligently apply <code>select_related()</code> and/or <code>prefetch_related()</code> optimizations to the <code>queryset</code> associated to a given REST API viewset. Apps defining their own REST API viewsets (and requiring Nautobot v2.4.0 or later) can typically remove most explicit calls to <code>select_related()</code> and <code>prefetch_related()</code>; furthermore, in order to benefit most from the <code>exclude_m2m=true</code> query parameter, apps in Nautobot v2.4.0 and later <strong>should not</strong> explicitly <code>prefetch_related()</code> many-to-many related fields any longer. (Explicit calls to <code>select_related()</code> and <code>prefetch_related()</code> may still be necessary and appropriate if your API serializer needs to perform nested lookups, as the automatic optimization here currently only understands directly related object lookups.)</li>
9866
- <li>Job authors should be aware of the ability to log <a href="#job-success-log-level"><code>success</code></a> messages in Nautobot v2.4.0 and later and should adopt this log level as appropriate.</li>
9867
- <li>Job authors should be aware of the introduction of <a href="#kubernetes-job-execution-and-job-queue-data-model-experimental">Job Queues</a> as a general-purpose replacement for the Celery-specific <code>Job.task_queues</code> attribute, and if a Job specifies its preferred <code>task_queues</code>, should verify that the queue selected as its <code>default_job_queue</code> after the Nautobot upgrade is correct.</li>
9630
+ <li>App developers should begin to adopt the <a href="#ui-component-framework">UI Component Framework</a> introduced in Nautobot 2.4, as this will reduce the amount of boilerplate HTML/CSS content that they need to develop and maintain, and will insulate Apps from future CSS changes planned for Nautobot v3.</li>
9631
+ <li>Additionally, App developers should familiarize themselves with the new <a href="#event-publication-framework">Event Publication Framework</a> and the possibilities it enables for Apps to publish their own relevant events.</li>
9632
+ <li>Job authors should be aware of the ability to log <a href="#job-success-log-level"><code>success</code></a> messages in Nautobot v2.4 and later and should adopt this log level as appropriate.</li>
9633
+ <li>Job authors should be aware of the introduction of <a href="#kubernetes-job-execution-and-job-queue-data-model">Job Queues</a> as a general-purpose replacement for the Celery-specific <code>Job.task_queues</code> attribute, and if a Job specifies its preferred <code>task_queues</code>, should verify that the queue selected as its <code>default_job_queue</code> after the Nautobot upgrade is correct.</li>
9868
9634
  </ul>
9869
9635
  <h2 id="release-overview">Release Overview<a class="headerlink" href="#release-overview" title="Permanent link">&para;</a></h2>
9870
9636
  <h3 id="added">Added<a class="headerlink" href="#added" title="Permanent link">&para;</a></h3>
9871
- <h4 id="virtual-device-context-data-models">Virtual Device Context Data Models<a class="headerlink" href="#virtual-device-context-data-models" title="Permanent link">&para;</a></h4>
9872
- <p>Nautobot 2.4 adds a <a href="../user-guide/core-data-model/dcim/virtualdevicecontext.html"><code>VirtualDeviceContext</code></a> data model to support modeling of logical partitions of physical network devices, such as Cisco Nexus Virtual Device Contexts, Juniper Logical Systems, Arista Multi-instance EOS, and so forth. Device Interfaces can be associated to Virtual Device Contexts via the new <code>InterfaceVDCAssignment</code> model as well.</p>
9873
- <h4 id="wireless-data-models">Wireless Data Models<a class="headerlink" href="#wireless-data-models" title="Permanent link">&para;</a></h4>
9874
- <p>Nautobot 2.4 adds the data models <a href="../user-guide/core-data-model/wireless/wirelessnetwork.html"><code>WirelessNetwork</code></a>, <a href="../user-guide/core-data-model/wireless/radioprofile.html"><code>RadioProfile</code></a>, and <a href="../user-guide/core-data-model/wireless/supporteddatarate.html"><code>SupportedDataRate</code></a>, enabling Nautobot to model campus wireless networks. In support of this functionality, the <a href="../user-guide/core-data-model/dcim/controller.html"><code>Controller</code></a> and <a href="../user-guide/core-data-model/dcim/controllermanageddevicegroup.html"><code>ControllerManagedDeviceGroup</code></a> models have been enhanced with additional capabilities as well.</p>
9875
- <p>Refer to the <a href="../user-guide/core-data-model/wireless/index.html">Wireless</a> documentation for more details.</p>
9876
9637
  <h4 id="apps-marketplace-page-and-installed-apps-page-tile-view">Apps Marketplace Page and Installed Apps Page Tile View<a class="headerlink" href="#apps-marketplace-page-and-installed-apps-page-tile-view" title="Permanent link">&para;</a></h4>
9877
- <p>Nautobot v2.4 introduces the Apps Marketplace, containing information about available Nautobot Apps. In addition to that, the Installed Apps page has added a tile-view option, similar to the Apps Marketplace.</p>
9638
+ <p>Nautobot 2.4 introduces Apps Marketplace page containing information about available but not installed Nautobot Apps. In addition to that, Installed Apps page is getting a brand-new tile view as an alternative to already existing list view.</p>
9878
9639
  <h4 id="event-publication-framework">Event Publication Framework<a class="headerlink" href="#event-publication-framework" title="Permanent link">&para;</a></h4>
9879
- <p>Nautobot now includes a general-purpose, extensible <a href="../user-guide/platform-functionality/events.html">event publication framework</a> for publication of event notifications to other systems such as Redis publish/subscribe, Kafka, syslog, and others. An abstract <code>EventBroker</code> API can be implemented and extended with system-specific functionality to enable publication of Nautobot events to any desired message broker.</p>
9880
- <p>As of v2.4.0, Nautobot publishes events with the following topics:</p>
9881
- <p>Data model manipulation:
9882
- - <code>nautobot.create.&lt;app&gt;.&lt;model&gt;</code>
9883
- - <code>nautobot.update.&lt;app&gt;.&lt;model&gt;</code>
9884
- - <code>nautobot.delete.&lt;app&gt;.&lt;model&gt;</code></p>
9885
- <p>User interaction:
9886
- - <code>nautobot.users.user.login</code>
9887
- - <code>nautobot.users.user.logout</code>
9888
- - <code>nautobot.users.user.change_password</code>
9889
- - <code>nautobot.admin.user.change_password</code></p>
9890
- <p>Jobs:
9891
- - <code>nautobot.jobs.job.started</code>
9892
- - <code>nautobot.jobs.job.completed</code>
9893
- - <code>nautobot.jobs.approval.approved</code>
9894
- - <code>nautobot.jobs.approval.denied</code></p>
9895
- <p>The payload of each topic is a data representaton of the corresponding event, such as the object created, or the Job that started execution. Events are published to configured event brokers, and may be filtered.</p>
9896
- <p>Nautobot Apps can also make use of this framework to publish additional event topics, specific to the App's functionality as desired.</p>
9640
+ <p>Nautobot now includes a general-purpose, extensible <a href="../user-guide/platform-functionality/events.html">event publication framework</a> for publication of system event notifications to other systems such as Redis publish/subscribe, syslog, Kafka, and others. An abstract <code>EventBroker</code> API can be implemented and extended with system-specific functionality to enable publication of Nautobot events to any desired system.</p>
9641
+ <p>As of Nautobot 2.4.0, Nautobot publishes events with the following topics:</p>
9642
+ <ul>
9643
+ <li><code>nautobot.create.&lt;app&gt;.&lt;model&gt;</code></li>
9644
+ <li><code>nautobot.update.&lt;app&gt;.&lt;model&gt;</code></li>
9645
+ <li><code>nautobot.delete.&lt;app&gt;.&lt;model&gt;</code></li>
9646
+ <li><code>nautobot.users.user.login</code></li>
9647
+ <li><code>nautobot.users.user.logout</code></li>
9648
+ <li><code>nautobot.users.user.change_password</code></li>
9649
+ <li><code>nautobot.admin.user.change_password</code></li>
9650
+ <li><code>nautobot.jobs.job.started</code></li>
9651
+ <li><code>nautobot.jobs.job.completed</code></li>
9652
+ <li><code>nautobot.jobs.approval.approved</code></li>
9653
+ <li><code>nautobot.jobs.approval.denied</code></li>
9654
+ </ul>
9655
+ <p>Nautobot Apps can also make use of this framework to publish additional events specific to the App's functionality as desired.</p>
9897
9656
  <h4 id="jinja2-template-rendering-tool">Jinja2 Template Rendering Tool<a class="headerlink" href="#jinja2-template-rendering-tool" title="Permanent link">&para;</a></h4>
9898
- <p>Nautobot v2.4 adds a new tool to render Jinja2 templates directly from the UI. Users may supply their own template body and context data to be rendered, with access to to Nautobot's built-in Jinja2 tags and filters. Additionally, a new REST API endpoint <code>/api/core/render-jinja-template/</code> has been added to achieve the same functionaly. This can be used by users and Apps such as <a href="https://docs.nautobot.com/projects/golden-config/en/latest/">Nautobot Golden Config</a> to assist with the development and validation of Jinja2 template content. This functionality will be extended in the future to more easily access context aware data in Nautobot such as Devices and Config Contexts.</p>
9657
+ <p>Nautobot 2.4 adds a new REST API endpoint <code>/api/core/render-jinja-template/</code> that can be called to <a href="../user-guide/platform-functionality/rendering-jinja-templates.html">render a user-provided Jinja2 template</a> with user-provided context data and access to Nautobot's built-in Jinja2 tags and filters. This can be used by users and Apps such as <a href="https://docs.nautobot.com/projects/golden-config/en/latest/">Nautobot Golden Config</a> to assist with the development and validation of Jinja2 template content. There is a UI at <code>/render-jinja-template/</code> that provides a form for entering template content and context data to render a template. This UI can also be accessed from a link in the footer of any Nautobot page.</p>
9899
9658
  <h4 id="job-success-log-level">Job <code>success</code> Log Level<a class="headerlink" href="#job-success-log-level" title="Permanent link">&para;</a></h4>
9900
- <p>Jobs can now log <code>success</code> messages as a new logging level which will be appropriately labeled and colorized in Job Result views.</p>
9659
+ <p>Jobs can now once again log <code>success</code> messages as a new logging level which will be appropriately labeled and colorized in Job Result views.</p>
9901
9660
  <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">success</span><span class="p">(</span><span class="s2">&quot;All data is valid.&quot;</span><span class="p">)</span>
9902
9661
  </code></pre></div>
9903
- <h4 id="kubernetes-job-execution-and-job-queue-data-model-experimental">Kubernetes Job Execution and Job Queue Data Model (Experimental)<a class="headerlink" href="#kubernetes-job-execution-and-job-queue-data-model-experimental" title="Permanent link">&para;</a></h4>
9904
- <p><em>Please note that this functionality is considered Experimental in the v2.4.0 release and is subject to change in the future.</em></p>
9905
- <p>When running in a Kubernetes (k8s) deployment, such as with Nautobot's <a href="https://docs.nautobot.com/projects/helm-charts/en/stable/">Helm chart</a>, Nautobot now supports an alternative method of running Nautobot Jobs - instead of (or in addition to) running one or more Celery Workers as long-lived persistent pods, Nautobot can dispatch Nautobot Jobs to be executed as short-lived <a href="https://kubernetes.io/docs/concepts/workloads/controllers/job/">Kubernetes Job</a> pods.</p>
9906
- <p>In support of this functionality, Nautobot now supports the definition of <a href="../user-guide/platform-functionality/jobs/jobqueue.html"><code>JobQueue</code> records</a>, which represent either a Celery task queue <strong>or</strong> a Kubernetes Job queue. Nautobot Jobs can be associated to queues of either or both types, and the Job Queue selected when submitting a Job will dictate whether it is executed via Celery or via Kubernetes.</p>
9907
- <p>Nautobot Jobs support the same feature sets, regardless if they are executed on Celery Job queues or Kubernetes Job queues.</p>
9662
+ <h4 id="kubernetes-job-execution-and-job-queue-data-model">Kubernetes Job Execution and Job Queue Data Model<a class="headerlink" href="#kubernetes-job-execution-and-job-queue-data-model" title="Permanent link">&para;</a></h4>
9663
+ <p>When running in a Kubernetes (k8s) deployment, such as with Nautobot's <a href="https://docs.nautobot.com/projects/helm-charts/en/stable/">Helm chart</a>, Nautobot now supports an alternative method of running Nautobot Jobs - instead of (or in addition to) running one or more Celery Workers as long-lived persistent pods, Nautobot can dispatch Nautobot Jobs to be executed as short-lived <a href="https://kubernetes.io/docs/concepts/workloads/controllers/job/">Kubernetes Job</a> task pods.</p>
9664
+ <p>In support of this functionality, Nautobot now supports the definition of <a href="../user-guide/platform-functionality/jobs/jobqueue.html"><code>JobQueue</code> records</a>, which represent either a Celery task queue <strong>or</strong> a Kubernetes job queue. Nautobot Jobs can be associated to queues of either or both types, and the Job Queue selected when submitting a Job will dictate whether it is executed via Celery or via Kubernetes.</p>
9908
9665
  <p>Refer to the <a href="../user-guide/platform-functionality/jobs/index.html">Jobs documentation</a> for more details.</p>
9909
- <h4 id="singleton-jobs">Singleton Jobs<a class="headerlink" href="#singleton-jobs" title="Permanent link">&para;</a></h4>
9910
- <p>Job authors can now set their jobs to only allow a single concurrent execution across all workers, preventing mistakes where, e.g., data synchronization jobs accidentally run twice and create multiple instances of the same data. This functionality and the corresponding setting are documented in <a href="../development/jobs/index.html">the section on developing Jobs</a>.</p>
9911
9666
  <h4 id="per-user-time-zone-support">Per-user Time Zone Support<a class="headerlink" href="#per-user-time-zone-support" title="Permanent link">&para;</a></h4>
9912
- <p>Users can now configure their preferred display time zone via the User Preferences UI under their user profile and Nautobot will display dates and times in the configured time zone for each user.</p>
9913
- <h4 id="rest-api-exclude_m2m-support">REST API <code>exclude_m2m</code> Support<a class="headerlink" href="#rest-api-exclude_m2m-support" title="Permanent link">&para;</a></h4>
9914
- <p>Added REST API support for an <code>?exclude_m2m=true</code> query parameter. Specifying this parameter prevents the API from retrieving and serializing many-to-many relations on the requested object(s) (for example, the list of all Prefixes associated with a given VRF), which can in some cases greatly improve the performance of the API and reduce memory and network overhead substantially.</p>
9915
- <p>A future Nautobot major release may change the REST API behavior to make <code>exclude_m2m=true</code> the default behavior.</p>
9916
- <p>Additionally, the <code>DynamicModelChoiceField</code> and related form fields have been enhanced to use <code>exclude_m2m=true</code> when querying the REST API to populate their options, which can in some cases significantly improve the responsiveness of these fields.</p>
9667
+ <p>Users can now configure their preferred display time zone via the User Preferences UI and Nautobot will display dates and times in the configured time zone for each user.</p>
9917
9668
  <h4 id="ui-component-framework">UI Component Framework<a class="headerlink" href="#ui-component-framework" title="Permanent link">&para;</a></h4>
9918
- <p>Nautobot's new <a href="../development/core/ui-component-framework.html">UI Component Framework</a> provides a set of Python APIs for defining parts of the Nautobot UI without needing, in many cases, to write custom HTML templates. In v2.4.0, the focus is primarily on the definition of object "detail" views as those were the most common cases where custom templates have been required in the past.</p>
9919
- <p><a href="../development/apps/migration/ui-component-framework/index.html">Adoption of this framework</a> significantly reduces the amount of boilerplate needed to define an object detail view, drives increased self-consistency across views, and encourages code reuse. It also insulates Apps from the details of Nautobot's CSS and layout (Bootstrap 3 framework), smoothing the way for Nautobot to adopt UI changes in the future with minimal impact to compliant apps.</p>
9920
- <p>App <a href="../development/apps/api/ui-extensions/object-views.html">template extensions</a>--which are used to inject App content into Nautobot Core views--offer new implementation patterns using the UI Component Framework and it is highly recomended that App developers take this opportunity to adopt, as old methods have been deprecated in some cases (see below).</p>
9921
- <p>As of Nautobot 2.4.0, the following detail views have been migrated to use the UI Component Framework, and any app template extensions targeting these models should adopt:</p>
9669
+ <p>Nautobot's new <a href="../development/core/ui-component-framework.html">UI Component Framework</a> provides a set of Python APIs for defining parts of the Nautobot UI without needing, in many cases, to write custom HTML templates. In this release of Nautobot, the focus is primarily on the definition of object "detail" views as those were the most common cases where custom templates have been required in the past.</p>
9670
+ <p><a href="../development/apps/migration/ui-component-framework/index.html">Adoption of this framework</a> significantly reduces the amount of boilerplate needed to define an object detail view, drives increased self-consistency across views, and encourages code reuse. It also insulates Apps from the details of Nautobot's CSS (Bootstrap 3 framework), smoothing the way for Nautobot to adopt a new CSS framework in the future with minimal impact to compliant apps.</p>
9671
+ <p>App <a href="../development/apps/api/ui-extensions/object-views.html">template extensions</a> of Nautobot core views can also be reimplemented using the UI Component Framework and are recommended to do so.</p>
9672
+ <p>As of Nautobot 2.4.0, the following detail views have been migrated to use the UI Component Framework:</p>
9922
9673
  <ul>
9923
9674
  <li>Circuit</li>
9924
9675
  <li>Cluster Type</li>
@@ -9931,6 +9682,11 @@
9931
9682
  <li>Tenant</li>
9932
9683
  <li>VRF</li>
9933
9684
  </ul>
9685
+ <h4 id="virtual-device-context-data-models">Virtual Device Context Data Models<a class="headerlink" href="#virtual-device-context-data-models" title="Permanent link">&para;</a></h4>
9686
+ <p>Nautobot 2.4 adds a <a href="../user-guide/core-data-model/dcim/virtualdevicecontext.html"><code>VirtualDeviceContext</code></a> data model to support modeling of logical partitions of physical network devices, such as Cisco Nexus Virtual Device Contexts, Juniper Logical Systems, Arista Multi-instance EOS, and so forth. Device Interfaces can be associated to Virtual Device Contexts via the new <code>InterfaceVDCAssignment</code> model as well.</p>
9687
+ <h4 id="wireless-data-models">Wireless Data Models<a class="headerlink" href="#wireless-data-models" title="Permanent link">&para;</a></h4>
9688
+ <p>Nautobot 2.4 adds the data models <a href="../user-guide/core-data-model/wireless/wirelessnetwork.html"><code>WirelessNetwork</code></a>, <a href="../user-guide/core-data-model/wireless/radioprofile.html"><code>RadioProfile</code></a>, and <a href="../user-guide/core-data-model/wireless/supporteddatarate.html"><code>SupportedDataRate</code></a>, enabling Nautobot to model campus wireless networks. In support of this functionality, the <a href="../user-guide/core-data-model/dcim/controller.html"><code>Controller</code></a> and <a href="../user-guide/core-data-model/dcim/controllermanageddevicegroup.html"><code>ControllerManagedDeviceGroup</code></a> models have been enhanced with additional capabilities as well.</p>
9689
+ <p>Refer to the <a href="../user-guide/core-data-model/wireless/index.html">Wireless</a> documentation for more details.</p>
9934
9690
  <h3 id="deprecated">Deprecated<a class="headerlink" href="#deprecated" title="Permanent link">&para;</a></h3>
9935
9691
  <h4 id="filtertestcasesnameonlyfiltertestcase-and-filtertestcasesnameslugfiltertestcase"><code>FilterTestCases.NameOnlyFilterTestCase</code> and <code>FilterTestCases.NameSlugFilterTestCase</code><a class="headerlink" href="#filtertestcasesnameonlyfiltertestcase-and-filtertestcasesnameslugfiltertestcase" title="Permanent link">&para;</a></h4>
9936
9692
  <p>These two generic base test classes are deprecated. Apps should migrate to using <code>FilterTestCases.FilterTestCase</code> with an appropriately defined list of <code>generic_filter_tests</code> instead.</p>
@@ -9941,81 +9697,9 @@
9941
9697
  <p>With the introduction of the UI Component Framework (described <a href="#ui-component-framework">above</a>), new APIs are available for Apps to extend core Nautobot views with additional content using this framework. A number of new APIs have been added to the <code>TemplateExtension</code> base class in support of this functionality, and several existing <code>TemplateExtension</code> APIs have been deprecated in favor of these new APIs. Refer to the <a href="../development/apps/api/ui-extensions/object-views.html">App development documentation</a> for details.</p>
9942
9698
  <h3 id="dependencies">Dependencies<a class="headerlink" href="#dependencies" title="Permanent link">&para;</a></h3>
9943
9699
  <h4 id="removed-python-38-support">Removed Python 3.8 Support<a class="headerlink" href="#removed-python-38-support" title="Permanent link">&para;</a></h4>
9944
- <p>As Python 3.8 has reached end-of-life, Nautobot 2.4 requires a minimum of Python 3.9. Note that existing installs using Python 3.8 will need to upgrade their Python version prior to initiating the Nautobot v2.4 upgrade.</p>
9945
- <!-- pyml disable-num-lines 2 blanks-around-headers -->
9946
-
9700
+ <p>As Python 3.8 has reached end-of-life, Nautobot 2.4 requires a minimum of Python 3.9.</p>
9947
9701
  <!-- towncrier release notes start -->
9948
-
9949
- <h2 id="v240-2025-01-10">v2.4.0 (2025-01-10)<a class="headerlink" href="#v240-2025-01-10" title="Permanent link">&para;</a></h2>
9950
- <h3 id="added-in-v240">Added in v2.4.0<a class="headerlink" href="#added-in-v240" title="Permanent link">&para;</a></h3>
9951
- <ul>
9952
- <li><a href="https://github.com/nautobot/nautobot/issues/1004">#1004</a> - Added singleton job functionality to limit specified jobs to one concurrent execution.</li>
9953
- <li><a href="https://github.com/nautobot/nautobot/issues/6353">#6353</a> - Added "Bulk Delete Objects" system Job.</li>
9954
- <li><a href="https://github.com/nautobot/nautobot/issues/6354">#6354</a> - Added "Bulk Edit Objects" system job.</li>
9955
- <li><a href="https://github.com/nautobot/nautobot/issues/6462">#6462</a> - Added tenant relationship to the <code>ControllerManagedDeviceGroup</code></li>
9956
- <li><a href="https://github.com/nautobot/nautobot/issues/6462">#6462</a> - Added <code>tenant</code> and <code>description</code> fields to forms, filtersets and tables for <code>Controller</code> and <code>ControllerManagedDeviceGroup</code></li>
9957
- <li><a href="https://github.com/nautobot/nautobot/issues/6556">#6556</a> - Added REST API support for an <code>?exclude_m2m=true</code> query parameter. Specifying this parameter prevents the API from retrieving and serializing many-to-many relations on the requested object(s) (for example, the list of all Prefixes associated with a given VRF), which can in some cases greatly improve the performance of the API and reduce memory and network overhead substantially.</li>
9958
- <li><a href="https://github.com/nautobot/nautobot/issues/6556">#6556</a> - Added automatic optimization of REST API querysets via appropriate <code>select_related</code> and <code>prefetch_related</code> calls.</li>
9959
- <li><a href="https://github.com/nautobot/nautobot/issues/6556">#6556</a> - Enhanced generic REST API test methods <code>ListObjectsViewTestCase.test_list_objects_depth_0</code> and <code>ListObjectsViewTestCase.test_list_objects_depth_1</code> to test the <code>?exclude_m2m=true</code> query parameter. This enhancement includes checks for missing related fields in the serialized data, which may result in new test failures being seen in Apps using this test class.</li>
9960
- <li><a href="https://github.com/nautobot/nautobot/issues/6556">#6556</a> - Enhanced generic REST API test method <code>UpdateObjectViewTestCase.test_update_object</code> to include an idempotency test in combination with the <code>?exclude_m2m=true</code> query parameter. This may result in new test failures being seen in Apps using this test class.</li>
9961
- <li><a href="https://github.com/nautobot/nautobot/issues/6597">#6597</a> - Added an about page that displays Nautobot and support contract information.</li>
9962
- <li><a href="https://github.com/nautobot/nautobot/issues/6597">#6597</a> - Added <code>NTC_SUPPORT_CONTRACT_EXPIRATION_DATE</code> configuration setting.</li>
9963
- <li><a href="https://github.com/nautobot/nautobot/issues/6684">#6684</a> - Added support for <code>label-transparent</code> CSS class.</li>
9964
- <li><a href="https://github.com/nautobot/nautobot/issues/6684">#6684</a> - Added "success" log entry counts to the Job Result table.</li>
9965
- <li><a href="https://github.com/nautobot/nautobot/issues/6751">#6751</a> - Added NetObs and Load Balancer to Apps Marketplace.</li>
9966
- </ul>
9967
- <h3 id="changed-in-v240">Changed in v2.4.0<a class="headerlink" href="#changed-in-v240" title="Permanent link">&para;</a></h3>
9968
- <ul>
9969
- <li><a href="https://github.com/nautobot/nautobot/issues/6463">#6463</a> - Reorganized parts of the Device and VirtualMachine create/edit forms for consistency and clarity.</li>
9970
- <li><a href="https://github.com/nautobot/nautobot/issues/6529">#6529</a> - Added VRF's to the Prefixes API.</li>
9971
- <li><a href="https://github.com/nautobot/nautobot/issues/6556">#6556</a> - Changed <code>DynamicModelChoiceField</code>, <code>DynamicModelMultipleChoiceField</code>, and <code>MultiMatchModelMultipleChoiceField</code> default behavior to include <code>?exclude_m2m=true</code> as a query parameter to the REST API, improving the typical performance of populating such fields with options.</li>
9972
- <li><a href="https://github.com/nautobot/nautobot/issues/6652">#6652</a> - Refined the App Marketplace and Installed Apps views based on stakeholder feedback.</li>
9973
- <li><a href="https://github.com/nautobot/nautobot/issues/6684">#6684</a> - Changed the <code>add</code> navigation menu buttons to be styled as <code>primary</code> (light blue) rather than <code>info</code> (darker blue).</li>
9974
- <li><a href="https://github.com/nautobot/nautobot/issues/6684">#6684</a> - Updated the "author" and "availability" text in App Marketplace data for clarity.</li>
9975
- <li><a href="https://github.com/nautobot/nautobot/issues/6684">#6684</a> - Adjusted the layout and rendering of the App Marketplace and Installed Apps views based on stakeholder feedback.</li>
9976
- </ul>
9977
- <h3 id="fixed-in-v240">Fixed in v2.4.0<a class="headerlink" href="#fixed-in-v240" title="Permanent link">&para;</a></h3>
9978
- <ul>
9979
- <li><a href="https://github.com/nautobot/nautobot/issues/6461">#6461</a> - Fixed inconsistent rendering of DynamicModelChoiceField throughout the UI.</li>
9980
- <li><a href="https://github.com/nautobot/nautobot/issues/6462">#6462</a> - Fixed <code>JSONArrayFormField</code> error that field is required when default value is used.</li>
9981
- <li><a href="https://github.com/nautobot/nautobot/issues/6526">#6526</a> - Fixed an AttributeError that occurred in the UI when editing a <code>DynamicGroup</code> with <code>ipam|prefix</code> as its content-type and changing the value of the "Present in VRF" field.</li>
9982
- <li><a href="https://github.com/nautobot/nautobot/issues/6556">#6556</a> - Added missing <code>tags</code> field to <code>CircuitTermination</code>, <code>Contact</code>, <code>DeviceFamily</code>, <code>GitRepository</code>, <code>MetadataType</code>, <code>Team</code>, <code>VirtualDeviceContext</code> REST APIs.</li>
9983
- <li><a href="https://github.com/nautobot/nautobot/issues/6556">#6556</a> - Fixed incorrect field identification logic in REST API testing helper method <code>ListObjectsViewTestCase.get_depth_fields()</code>. This may result in new detection of latent issues in Apps by this test case.</li>
9984
- <li><a href="https://github.com/nautobot/nautobot/issues/6556">#6556</a> - Fixed incorrect test logic in REST API generic test case <code>UpdateObjectViewTestCase.test_update_object()</code>. This may result in new detection of latent issues in Apps by this test case.</li>
9985
- <li><a href="https://github.com/nautobot/nautobot/issues/6556">#6556</a> - Fixed <code>?depth</code> query parameter support in <code>Contact</code> and <code>Team</code> REST APIs.</li>
9986
- <li><a href="https://github.com/nautobot/nautobot/issues/6601">#6601</a> - Fixed whitespace in Jinja template renderer.</li>
9987
- <li><a href="https://github.com/nautobot/nautobot/issues/6602">#6602</a> - Fixed incorrect naming of <code>controller_managed_device_groups</code> filter on the RadioProfile and WirelessNetwork filtersets.</li>
9988
- <li><a href="https://github.com/nautobot/nautobot/issues/6629">#6629</a> - Fixed an <code>AttributeError</code> that could be raised if a <code>DynamicModelChoiceField</code> uses a non-standard <code>widget</code>.</li>
9989
- <li><a href="https://github.com/nautobot/nautobot/issues/6661">#6661</a> - Fixed the rendering of the dynamic group associable model list tables.</li>
9990
- <li><a href="https://github.com/nautobot/nautobot/issues/6663">#6663</a> - Fixed <code>test_cable_cannot_terminate_to_a_virtual_interface</code> and <code>test_cable_cannot_terminate_to_a_wireless_interface</code> tests so they fail properly.</li>
9991
- <li><a href="https://github.com/nautobot/nautobot/issues/6738">#6738</a> - Fixed an exception when cleaning a Prefix that was defined by specifying <code>network</code> and <code>prefix_length</code>.</li>
9992
- <li><a href="https://github.com/nautobot/nautobot/issues/6743">#6743</a> - Fixed incorrect rendering of the "Assigned" column in the IPAddress list view.</li>
9993
- <li><a href="https://github.com/nautobot/nautobot/issues/6745">#6745</a> - Restored indentation of child prefixes in Prefix detail view.</li>
9994
- <li><a href="https://github.com/nautobot/nautobot/issues/6745">#6745</a> - Improved logic for generation of "available" child prefixes in Prefix detail view.</li>
9995
- </ul>
9996
- <h3 id="dependencies-in-v240">Dependencies in v2.4.0<a class="headerlink" href="#dependencies-in-v240" title="Permanent link">&para;</a></h3>
9997
- <ul>
9998
- <li><a href="https://github.com/nautobot/nautobot/issues/6424">#6424</a> - Updated <code>django-structlog</code> dependency to <code>^9.0.0</code>.</li>
9999
- </ul>
10000
- <h3 id="documentation-in-v240">Documentation in v2.4.0<a class="headerlink" href="#documentation-in-v240" title="Permanent link">&para;</a></h3>
10001
- <ul>
10002
- <li><a href="https://github.com/nautobot/nautobot/issues/6436">#6436</a> - Clarified NGINX user in installation documentation.</li>
10003
- <li><a href="https://github.com/nautobot/nautobot/issues/6480">#6480</a> - Added kubernetes-related job documentation and removed kubernetes-kind-related documentation.</li>
10004
- <li><a href="https://github.com/nautobot/nautobot/issues/6512">#6512</a> - Improved screenshots of UI Component Framework examples.</li>
10005
- <li><a href="https://github.com/nautobot/nautobot/issues/6512">#6512</a> - Added before/after example in Migration guide for UI Component Framework.</li>
10006
- <li><a href="https://github.com/nautobot/nautobot/issues/6639">#6639</a> - Added User Guide for Wireless Networks.</li>
10007
- <li><a href="https://github.com/nautobot/nautobot/issues/6654">#6654</a> - Improved REST API documentation about query parameters and filtering of fields.</li>
10008
- </ul>
10009
- <h3 id="housekeeping-in-v240">Housekeeping in v2.4.0<a class="headerlink" href="#housekeeping-in-v240" title="Permanent link">&para;</a></h3>
10010
- <ul>
10011
- <li><a href="https://github.com/nautobot/nautobot/issues/6424">#6424</a> - Updated development dependencies <code>faker</code> to <code>&gt;=33.1.0,&lt;33.2.0</code> and <code>watchdog</code> to <code>~6.0.0</code>.</li>
10012
- <li><a href="https://github.com/nautobot/nautobot/issues/6612">#6612</a> - Replaced <code>markdownlint-cli</code> development dependency with Python package <code>pymarkdownlnt</code> and removed Node.js and <code>npm</code> from the development Docker images.</li>
10013
- <li><a href="https://github.com/nautobot/nautobot/issues/6659">#6659</a> - Enhanced development environment and associated <code>invoke</code> tasks to be Nautobot major/minor version aware, such that a different Docker compose <code>project-name</code> (and different local Docker image label) will be used for containers in a <code>develop</code>-based branch versus a <code>next</code>-based branch.</li>
10014
- <li><a href="https://github.com/nautobot/nautobot/issues/6715">#6715</a> - Updated development dependency <code>ruff</code> to <code>~0.8.5</code> and addressed new rules added in that version.</li>
10015
- <li><a href="https://github.com/nautobot/nautobot/issues/6742">#6742</a> - Updated various development dependencies to the latest versions available as of January 7.</li>
10016
- </ul>
10017
9702
  <h2 id="v240b1-2024-11-25">v2.4.0b1 (2024-11-25)<a class="headerlink" href="#v240b1-2024-11-25" title="Permanent link">&para;</a></h2>
10018
- <h3 id="added-in-v240b1">Added in v2.4.0b1<a class="headerlink" href="#added-in-v240b1" title="Permanent link">&para;</a></h3>
10019
9703
  <ul>
10020
9704
  <li><a href="https://github.com/nautobot/nautobot/issues/3263">#3263</a> - Added support for users to specify their timezone from the user Preferences UI.</li>
10021
9705
  <li><a href="https://github.com/nautobot/nautobot/issues/6087">#6087</a> - Added JobQueue and JobQueueAssignment models, GraphQL, UI and API.</li>
@@ -10069,7 +9753,7 @@
10069
9753
  <li><a href="https://github.com/nautobot/nautobot/issues/6539">#6539</a> - Added Installed Apps page tile view.</li>
10070
9754
  <li><a href="https://github.com/nautobot/nautobot/issues/6555">#6555</a> - Added a Jinja template renderer to the UI.</li>
10071
9755
  </ul>
10072
- <h3 id="changed-in-v240b1">Changed in v2.4.0b1<a class="headerlink" href="#changed-in-v240b1" title="Permanent link">&para;</a></h3>
9756
+ <h3 id="changed">Changed<a class="headerlink" href="#changed" title="Permanent link">&para;</a></h3>
10073
9757
  <ul>
10074
9758
  <li><a href="https://github.com/nautobot/nautobot/issues/6125">#6125</a> - Refactored Job run related code to be able to use Job Queues.</li>
10075
9759
  <li><a href="https://github.com/nautobot/nautobot/issues/6133">#6133</a> - Converted <code>Circuit</code> detail view to use the new UI framework.</li>
@@ -10087,18 +9771,18 @@
10087
9771
  <li><a href="https://github.com/nautobot/nautobot/issues/6476">#6476</a> - Converted <code>ClusterType</code> detail view to use UI framework.</li>
10088
9772
  <li><a href="https://github.com/nautobot/nautobot/issues/6503">#6503</a> - Addressed Wireless models UI Feedback.</li>
10089
9773
  </ul>
10090
- <h3 id="deprecated-in-v240b1">Deprecated in v2.4.0b1<a class="headerlink" href="#deprecated-in-v240b1" title="Permanent link">&para;</a></h3>
9774
+ <h3 id="deprecated_1">Deprecated<a class="headerlink" href="#deprecated_1" title="Permanent link">&para;</a></h3>
10091
9775
  <ul>
10092
9776
  <li><a href="https://github.com/nautobot/nautobot/issues/6108">#6108</a> - Deprecated the <code>FilterTestCases.NameOnlyFilterTestCase</code> and <code>FilterTestCases.NameSlugFilterTestCase</code> generic test classes. Apps should migrate to <code>FilterTestCases.FilterTestCase</code> with an appropriately defined list of <code>generic_filter_tests</code> instead.</li>
10093
9777
  <li><a href="https://github.com/nautobot/nautobot/issues/6142">#6142</a> - Deprecated the <code>TemplateExtension.buttons()</code> API in favor of <code>TemplateExtension.object_detail_buttons</code> implementation based around the UI Component Framework.</li>
10094
9778
  <li><a href="https://github.com/nautobot/nautobot/issues/6276">#6276</a> - Deprecated the <code>TemplateExtension.left_page()</code>, <code>TemplateExtension.right_page()</code>, and <code>TemplateExtension.full_width_page()</code> APIs in favor of <code>TemplateExtension.object_detail_panels</code> implementation based around the UI Component Framework.</li>
10095
9779
  </ul>
10096
- <h3 id="removed-in-v240b1">Removed in v2.4.0b1<a class="headerlink" href="#removed-in-v240b1" title="Permanent link">&para;</a></h3>
9780
+ <h3 id="removed">Removed<a class="headerlink" href="#removed" title="Permanent link">&para;</a></h3>
10097
9781
  <ul>
10098
9782
  <li><a href="https://github.com/nautobot/nautobot/issues/6108">#6108</a> - Removed the previously deprecated <code>ViewTestCases.BulkImportObjectsViewTestCase</code> generic test class as obsolete.</li>
10099
9783
  <li><a href="https://github.com/nautobot/nautobot/issues/6342">#6342</a> - Removed remnants of the React UI prototype - <code>NavContext</code>, <code>NavGrouping</code>, <code>NavItem</code>, <code>GetMenuAPIView</code>, <code>GetObjectCountsView</code>, <code>ViewConfigException</code>, <code>get_all_new_ui_ready_routes()</code>, <code>get_only_new_ui_ready_routes()</code>, <code>is_route_new_ui_ready()</code>.</li>
10100
9784
  </ul>
10101
- <h3 id="fixed-in-v240b1">Fixed in v2.4.0b1<a class="headerlink" href="#fixed-in-v240b1" title="Permanent link">&para;</a></h3>
9785
+ <h3 id="fixed">Fixed<a class="headerlink" href="#fixed" title="Permanent link">&para;</a></h3>
10102
9786
  <ul>
10103
9787
  <li><a href="https://github.com/nautobot/nautobot/issues/6089">#6089</a> - Fixed warning message <code>No sanitizer support for &lt;class 'NoneType'&gt; data</code> emitted by the <code>nautobot-server runjob --local ...</code> command.</li>
10104
9788
  <li><a href="https://github.com/nautobot/nautobot/issues/6108">#6108</a> - Fixed incorrect definition of <code>VirtualMachineFilterSet.cluster</code> filter.</li>
@@ -10124,7 +9808,7 @@
10124
9808
  <li><a href="https://github.com/nautobot/nautobot/issues/6546">#6546</a> - Fixed inconsistent rendering of the Role column on the Virtual Device Context list table.</li>
10125
9809
  <li><a href="https://github.com/nautobot/nautobot/issues/6549">#6549</a> - Added missing <code>/</code> to <code>/api/core/render-jinja-template/</code> URL.</li>
10126
9810
  </ul>
10127
- <h3 id="dependencies-in-v240b1">Dependencies in v2.4.0b1<a class="headerlink" href="#dependencies-in-v240b1" title="Permanent link">&para;</a></h3>
9811
+ <h3 id="dependencies_1">Dependencies<a class="headerlink" href="#dependencies_1" title="Permanent link">&para;</a></h3>
10128
9812
  <ul>
10129
9813
  <li><a href="https://github.com/nautobot/nautobot/issues/5963">#5963</a> - Updated <code>django-taggit</code> to <code>~6.1.0</code>.</li>
10130
9814
  <li><a href="https://github.com/nautobot/nautobot/issues/6252">#6252</a> - Dropped support for Python 3.8. Python 3.9 is now the minimum version required by Nautobot.</li>
@@ -10136,7 +9820,7 @@
10136
9820
  <li><a href="https://github.com/nautobot/nautobot/issues/6469">#6469</a> - Updated dependency <code>django-silk</code> to <code>~5.3.0</code>.</li>
10137
9821
  <li><a href="https://github.com/nautobot/nautobot/issues/6549">#6549</a> - Moved <code>kubernetes</code> from a development-only dependency to a required dependency.</li>
10138
9822
  </ul>
10139
- <h3 id="documentation-in-v240b1">Documentation in v2.4.0b1<a class="headerlink" href="#documentation-in-v240b1" title="Permanent link">&para;</a></h3>
9823
+ <h3 id="documentation">Documentation<a class="headerlink" href="#documentation" title="Permanent link">&para;</a></h3>
10140
9824
  <ul>
10141
9825
  <li><a href="https://github.com/nautobot/nautobot/issues/6144">#6144</a> - Added documentation for Virtual Device Contexts.</li>
10142
9826
  <li><a href="https://github.com/nautobot/nautobot/issues/6254">#6254</a> - Added documentation of how to use K8s Kind cluster for local K8s integrations development.</li>
@@ -10147,7 +9831,7 @@
10147
9831
  <li><a href="https://github.com/nautobot/nautobot/issues/6381">#6381</a> - Added Wireless Model documentation.</li>
10148
9832
  <li><a href="https://github.com/nautobot/nautobot/issues/6549">#6549</a> - Added 2.4 release overview.</li>
10149
9833
  </ul>
10150
- <h3 id="housekeeping-in-v240b1">Housekeeping in v2.4.0b1<a class="headerlink" href="#housekeeping-in-v240b1" title="Permanent link">&para;</a></h3>
9834
+ <h3 id="housekeeping">Housekeeping<a class="headerlink" href="#housekeeping" title="Permanent link">&para;</a></h3>
10151
9835
  <ul>
10152
9836
  <li><a href="https://github.com/nautobot/nautobot/issues/5963">#5963</a> - Updated development dependency <code>faker</code> to <code>&gt;=30.1.0,&lt;30.2.0</code>.</li>
10153
9837
  <li><a href="https://github.com/nautobot/nautobot/issues/5963">#5963</a> - Updated documentation dependency <code>towncrier</code> to <code>~24.8.0</code>.</li>
@@ -10312,7 +9996,7 @@
10312
9996
  <script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../assets/javascripts/workers/search.6ce7567c.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
10313
9997
 
10314
9998
 
10315
- <script src="../assets/javascripts/bundle.88dd0f4e.min.js"></script>
9999
+ <script src="../assets/javascripts/bundle.83f73b43.min.js"></script>
10316
10000
 
10317
10001
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
10318
10002