You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
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 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)
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 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