|
1 | 1 | Changelog
|
2 | 2 | =========
|
3 | 3 |
|
4 |
| -Version 0.9.0 [unreleased] |
| 4 | +Version 1.0.0 [2022-04-29] |
5 | 5 | --------------------------
|
6 | 6 |
|
7 |
| -WIP |
| 7 | +Features |
| 8 | +~~~~~~~~ |
| 9 | + |
| 10 | +- Added support for `remotely executing shell commands on device |
| 11 | + <https://github.com/openwisp/openwisp-controller#sending-commands-to-devices>`_ |
| 12 | +- Added `automatic provisioning of Subnets and IPs |
| 13 | + <https://github.com/openwisp/openwisp-controller#subnet-division-app>`_ |
| 14 | +- Added `support for WireGuard and VXLAN tunnels |
| 15 | + <https://github.com/openwisp/openwisp-controller#how-to-setup-wireguard-tunnels>`_ |
| 16 | +- Added `required templates |
| 17 | + <https://github.com/openwisp/openwisp-controller#required-templates>`_ |
| 18 | +- Added support for generating configurations for OpenWrt 21 |
| 19 | +- Added `REST API |
| 20 | + <https://github.com/openwisp/openwisp-controller#rest-api-reference>`_ |
| 21 | +- Added charts for *config status*, *model*, *OS*, *hardware* |
| 22 | + and *location type* and a map for displaying the location of all devices |
| 23 | +- Added `management_ip_changed |
| 24 | + <https://github.com/openwisp/openwisp-controller#management_ip_changed>`_ |
| 25 | + and `device_name_changed |
| 26 | + <https://github.com/openwisp/openwisp-controller#device_name_changed>`_ |
| 27 | + signals |
| 28 | +- Added `OPENWISP_CONTROLLER_DEVICE_NAME_UNIQUE setting |
| 29 | + <https://github.com/openwisp/openwisp-controller#openwisp_controller_device_name_unique>`_ |
| 30 | + to conditionally enforce unique device names in an organization |
| 31 | +- Added caching for ``DeviceChecksumView`` |
| 32 | +- Added support for ED25519 SSH keys in ``Credentials`` |
| 33 | +- Added `Device Groups |
| 34 | + <https://github.com/openwisp/openwisp-controller#device-groups>`_ |
| 35 | + to organize devices of a particular organization |
| 36 | +- Configuration push updates now use the SIGUSR1 signal to reload openwisp-config |
| 37 | +- The device list admin page now allows to search for location address |
8 | 38 |
|
9 | 39 | Changes
|
10 | 40 | ~~~~~~~
|
11 | 41 |
|
12 |
| -- **Backward incompatible**: The default behaviour for the resolution of conflicting management |
13 |
| - IPs between devices of different organizations has been changed. By default, in this new version, |
14 |
| - the system assumes it's using only 1 management tunnel for all the organizations, so different devices |
15 |
| - from any organization will not have the same management IP to avoid conflicts. |
16 |
| - The old behavior can be restored by setting |
| 42 | +Backward incompatible changes |
| 43 | +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 44 | + |
| 45 | +- Since django-sortedm2m, the widget we use to implement ordered templates, |
| 46 | + clears all the many to many relationships every time it has to make changes, |
| 47 | + we had to stop deleting ``VpnClient`` instances related to VPN templates |
| 48 | + on ``post_clear`` m2m signals |
| 49 | + If you wrote any custom derivative which relies on calls like |
| 50 | + ``device.config.templates.clear()`` to delete related ``VpnClient`` |
| 51 | + instances and their x509 certificates, you will have to update your code |
| 52 | + to remove all the templates using their primary keys, |
| 53 | + instead of using ``clear()`` |
| 54 | +- The default behavior for the resolution of conflicting management |
| 55 | + IPs between devices of different organizations has been changed; |
| 56 | + by default, in this new version, the system assumes it's using only |
| 57 | + 1 management tunnel for all the organizations, so different devices |
| 58 | + from any organization will not have the same management IP to avoid |
| 59 | + conflicts. The old behaviour can be restored by setting |
17 | 60 | `OPENWISP_CONTROLLER_SHARED_MANAGEMENT_IP_ADDRESS_SPACE
|
18 | 61 | <https://github.com/openwisp/openwisp-controller#openwisp_controller_shared_management_ip_address_space>`_
|
19 |
| - to ``False``. |
| 62 | + to ``False`` |
| 63 | +- ``OPENWISP_CONTROLLER_BACKEND_DEVICE_LIST`` has been renamed |
| 64 | + to ``OPENWISP_CONTROLLER_CONFIG_BACKEND_FIELD_SHOWN`` |
| 65 | +- ``Device.check_management_ip_changed`` has been changed to private API |
| 66 | + ``Device._check_management_ip_changed`` |
| 67 | + |
| 68 | +Dependencies |
| 69 | +^^^^^^^^^^^^ |
| 70 | + |
| 71 | +- Dropped support for Python 3.6 |
| 72 | +- Dropped support for Django 2.2 |
| 73 | +- Added support for Python 3.8 and 3.9 |
| 74 | +- Added support for Django 3.2 and 4.0 |
| 75 | +- Upgraded django-sortedm2m to 3.1.x |
| 76 | +- Upgraded django-reversion to 4.0.x |
| 77 | +- Upgraded django-taggit to 2.1.x |
| 78 | +- Upgraded djangorestframework-gis to 0.18.0 |
| 79 | +- Upgraded paramiko[ed25519] to 2.10.3 |
| 80 | +- Upgraded scp to 0.14.2 |
| 81 | +- Upgraded django-flat-json-widget to 0.2.x |
| 82 | +- Upgraded celery to 5.2.x |
| 83 | +- Upgraded channels to 3.0.x |
| 84 | +- Upgraded django-x509 to 1.1.x |
| 85 | +- Upgraded django-loci to 1.0.x |
| 86 | +- Upgraded netjsonconfig to 1.0.x |
| 87 | +- Upgraded openwisp-utils to 1.0.x |
| 88 | +- Upgraded openwisp-users to 1.0.x |
| 89 | +- Upgraded openwisp-notifications to 1.0.x |
| 90 | +- Upgraded openwisp-ipam to 1.0.x |
| 91 | +- Added shortuuid 1.0.x |
| 92 | +- Added netaddr 0.8.x |
| 93 | +- Added django-cache-memoize to 0.1 |
| 94 | + |
| 95 | +Other changes |
| 96 | +^^^^^^^^^^^^^ |
| 97 | + |
| 98 | +- `Reworked implementation of config_modified signal |
| 99 | + <https://github.com/openwisp/openwisp-controller#config_modified>`_: |
| 100 | + |
| 101 | + - the signal is now always emitted on templates changes m2m events, |
| 102 | + also if ``config.status`` is modified, with the differences that |
| 103 | + only post_add and post_remove m2m events are used, while |
| 104 | + ``post_clear`` is ignored, which fixes the duplicate signal emission |
| 105 | + caused by the implementation of sortedm2m; |
| 106 | + - added ``action`` and ``previous_status`` arguments, which allow to |
| 107 | + understand where the ``config_modified`` signal is being emitted from, |
| 108 | + this allows more advanced usage of the signal by custom implementations |
| 109 | + |
| 110 | +- Context variable follows template order: |
| 111 | + If two or more applied templates have "default_values" with the same keys, |
| 112 | + then the context variables of the template which comes later in the order |
| 113 | + will be used |
| 114 | +- New credentials created with ``auto_add`` set to ``True`` will get added |
| 115 | + to the existing devices in a background task. This improves the |
| 116 | + responsiveness of the web application |
| 117 | +- Decoupled admin LogEntry from Template model |
| 118 | +- Device admin only lists relevant templates, i.e. |
| 119 | + templates that are shared or belong to the device's organization |
| 120 | +- Improved UX of `system-defined variables |
| 121 | + <https://github.com/openwisp/openwisp-controller/issues/344>`_ |
| 122 | +- Name of objects is unique only within the same organization |
| 123 | + and within the shared objects |
| 124 | +- The system does not sends connection notifications if the |
| 125 | + connectivity of the device changes |
| 126 | +- Allowed searching devices using their location address in Device admin. |
| 127 | +- Removed deprecated ``api/device-location/<pk>`` endpoint |
| 128 | +- Made device name unique per organization instead of unique system wide |
| 129 | +- Added time limits to background celery tasks |
| 130 | + |
| 131 | +Bugfixes |
| 132 | +~~~~~~~~ |
| 133 | + |
| 134 | +- Fixed a bug which caused ``VpnClient`` instances to be recreated every time |
| 135 | + the configuration templates of a device were changed, |
| 136 | + which caused x590 certificates to be destroyed and recreated as well |
| 137 | +- Hardened config validation of OpenVPN backend. The validation fails |
| 138 | + if the ``openvpn`` key is missing from the configuration |
| 139 | +- Fixed a bug that caused issues in updating related ``Config`` whenever |
| 140 | + a template's ``default_values`` were changed |
| 141 | +- Fixed pop-up view of CA and Cert not displaying data |
| 142 | +- Fixed config status stays ``applied`` after clearing all device templates |
| 143 | +- Fixed ``VpnClient`` not created when multiple VPN templates are added |
| 144 | +- Fixed configuration editor raising validation error when using variables in |
| 145 | + fields with ``maxLength`` set |
| 146 | +- Fixed connection notifications reporting outdated status |
| 147 | +- Fixed migrations referencing non-swappable OpenWISP modules that |
| 148 | + broke OpenWISP's extensibility |
| 149 | +- Fixed bugs in restoring deleted devices using ``django-reversion`` |
| 150 | +- Fixed cloning of shared templates |
| 151 | +- Disallowed blank values for ``key_length`` or ``digest`` fields for ``CA`` |
| 152 | + and ``Cert`` objects |
| 153 | +- Fixed template ordering bug in the configuration preview on Device admin |
| 154 | + The order of templates was not always retained when |
| 155 | + generating the preview of a config object |
20 | 156 |
|
21 | 157 | Version 0.8.4 [2021-04-09]
|
22 | 158 | --------------------------
|
|
0 commit comments