Skip to content

0.8.0 [2020-11-23]

Compare
Choose a tag to compare
@nemesifier nemesifier released this 23 Nov 19:09
· 425 commits to master since this release
0.8.0

Features

  • Added possibility to extend openwisp-controller
  • Added flat JSON widget for configuration variables
  • Added JSON Schema widget to credentials admin
  • Added device_registered signal
  • Added OpenWISP Notifications module as a dependency, which
    brings support for web and email notifications for important events
  • Allow using a different device model in update_config: his allows OpenWISP Monitoring to override the can_be_updated method to take into account the monitoring status, so that push updates won't be attempted
  • Added notifications for changes of is_working status of credentials
  • UX, automatically add/remove default values to device context: automatically add or remove default values of templates to the configuration context (a.k.a. configuration variables) when templates are added or removed from devices
  • UX: added system defined variables section

Changes

  • Backward incompatible: the code of django-netjsonconfig was
    merged in openwisp-controller to simplify maintenance
  • Changed API of device_location view for consistency: /api/device-location/{id}/ becomes /api/v1/device/{id}/location/, the old URL is kept for backward compatibility but will be removed in the future
  • Backward incompatible change: schema url endpoint changed to <controller-url>/config/schema.json and it's now in config namespace instead of admin namespace
  • Changed VPN DH length to 2048 and moved its generation to the background because it's a lot slower
  • Admin: Order Device, Template and VPN alphabetically by default
  • Admin: Added mac_address field to the device list page (DeviceAdmin.list_display)
  • Increased max_length of common name to 64
  • Changed the config apply logic to avoid restarting the openwisp-config deamon if the configuration apply procedure is already being run
  • Made template config field required in most cases
  • Changed DeviceConnection.failure_reason field to TextField, this avoids possible exception if failed_reason is very long, which may happen in some corner cases
  • Made Device verbose_name configurable, see OPENWISP_CONTROLLER_DEVICE_VERBOSE_NAME
  • Increased netjsonconfig version to 0.9.x (which brings support for new interface types, see the change log of netjsonconfig for more information)
  • Increased django-x509 version to 0.9.x
  • Increased django-loci version to 0.4.x (which brings many bug fixes to the mapping feature, as long as support for geo-coding and reverse geo-coding, see the change log of django-loci for more information)
  • Increased openwisp-users version from 0.2.x to 0.5.x (which brings many interesting improvements to multi-tenancy, see the
    change log of openwisp-users
    for more information)
  • Increased django-taggit version to 1.3.x
  • Increased openwisp-utils version to 0.7.x
  • Increased django-rest-framework-gis version to 0.16.x
  • Added support for django 3.1

Bugfixes

  • Fixed JSON validation error when dealing with OpenVPN configuration
  • Ensured unique in HARDWARE_ID_OPTIONS defaults to False
  • Avoid need of migration if HARDWARE_ID_OPTIONS is changed
  • JS: prevent crash if backend value is empty
  • Do not execute default template selection if device exists
  • Close preview overlay on errors
  • Avoid triggering config_modified signal during registration
  • UI: Fixed whitespace after overview tab in in device page
  • Validate Config.context and Template.default_values: Config.context and Template.default_values must always be a dictionary, falsy values will be converted to empty dictionary automatically
  • Fixed failures in update_config operation: the update_config operation will be executed only when the transaction is committed to the database; also handled rare but possible error conditions
  • Handled device not existing case in update_config task
  • Fixed auto cert feature failure when device name is too long
  • UI: avoid showing main scrollbar in preview mode
  • Fixed OPENWISP_CONTROLLER_BACKEND_DEVICE_LIST = False
  • UI fixed advanced mode bugs: positioning is done using css instead of js. Removed body scrollbar when in advanced mode. Back to normal mode with ESC key. Hidden netjsonconfig docs hint on narrow screens
  • Avoid simultaneous update_config tasks: since now the launch of the task is executed when the transaction is committed to the database
  • Fixed OPENWISP_CONTROLLER_CONTEXT setting getting modified at run time
  • Fixed z-index of preview overlay: the z-index is increased so it's higher than the main navigation menu to avoid the possibility of triggering the main menu inadvertently
  • Prevent sending config_modified signal multiple times
  • Fix timeout when changing template: slow operations are moved to the background
  • Fixed variablle validation: now all the available context (device variables, system variables) are taken into account when performing validation
  • Removed unnecessary static() call from media assets