diff --git a/CHANGES.rst b/CHANGES.rst index 81aead361..95339443a 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,20 +1,109 @@ Changelog ========= -Version 0.8.0 [unreleased] +Version 0.8.0 [2020-11-23] -------------------------- -- [change] The code of `django-netjsonconfig `_ was merged - in openwisp-controller to simplify maintenance. -- [feature] Added possibility to `extend openwisp-controller `_ -- [support] Increased minimum `django-x509 `_ version to 0.7.0 -- [change] Increased minimum `django-taggit `_ version to 1.3.0 -- [api] Changed API of device_location view for consistency: ``/api/device-location/{id}/`` +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 -- [api] Added `API documentation `_ -- improved documentation -- [change] **Backward incompatible change**: schema url endpoint changed to ``/config/schema.json`` and it's now in config namespace instead of admin namespace. +- **Backward incompatible change**: schema url endpoint changed to ``/config/schema.json`` + and it's now in config namespace instead of admin namespace +- Changed VPN DH length to 2048 and move 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, also the + check for other updates in progress must be moved there +- 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 Version 0.7.0.post1 [2020-07-01] -------------------------------- diff --git a/openwisp_controller/__init__.py b/openwisp_controller/__init__.py index 572d83c1b..22fd63c20 100644 --- a/openwisp_controller/__init__.py +++ b/openwisp_controller/__init__.py @@ -1,4 +1,4 @@ -VERSION = (0, 7, 0, 'post1') +VERSION = (0, 8, 0, 'final') __version__ = VERSION # alias