Skip to content

Commit 862f83e

Browse files
pandafynemesifier
andcommitted
1.0.0 release
Co-authored-by: Federico Capoano <f.capoano@openwisp.io>
1 parent 45d675f commit 862f83e

File tree

4 files changed

+154
-24
lines changed

4 files changed

+154
-24
lines changed

CHANGES.rst

Lines changed: 144 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,158 @@
11
Changelog
22
=========
33

4-
Version 0.9.0 [unreleased]
4+
Version 1.0.0 [2022-04-29]
55
--------------------------
66

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
838

939
Changes
1040
~~~~~~~
1141

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
1760
`OPENWISP_CONTROLLER_SHARED_MANAGEMENT_IP_ADDRESS_SPACE
1861
<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
20156

21157
Version 0.8.4 [2021-04-09]
22158
--------------------------

openwisp_controller/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
VERSION = (0, 9, 0, 'alpha')
1+
VERSION = (1, 0, 0, 'final')
22
__version__ = VERSION # alias
33

44

requirements-test.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ pytest~=6.0
22
pytest-django~=4.5.2
33
pytest-asyncio~=0.14.0
44
pytest-cov~=2.10.0
5-
openwisp-utils[qa] @ https://github.com/openwisp/openwisp-utils/tarball/master
5+
openwisp-utils[qa]~=1.0.1
66
redis~=4.1.2
77
channels_redis~=3.2.0
88
django_redis~=4.12

requirements.txt

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,14 @@
11
django-sortedm2m~=3.1.1
22
django-reversion~=4.0.1
3-
django-x509 @ https://github.com/openwisp/django-x509/tarball/master
3+
django-x509~=1.1.0
44
django-taggit~=2.1.0
5-
# TODO: change this when next point version of django-loci is released
6-
django-loci @ https://github.com/openwisp/django-loci/tarball/master
7-
django-flat-json-widget~=0.1.3
8-
# TODO: change this when next point version of openwisp-utils is released
9-
openwisp-utils[rest] @ https://github.com/openwisp/openwisp-utils/tarball/master
10-
# TODO: change this when next point version of netjsonconfig is released
11-
netjsonconfig @ https://github.com/openwisp/netjsonconfig/tarball/master
12-
# TODO: change this when next point version of openwisp-users is released
13-
openwisp-users @ https://github.com/openwisp/openwisp-users/tarball/master
14-
# TODO: change this when next point version of openwisp-notifications is released
15-
openwisp-notifications @ https://github.com/openwisp/openwisp-notifications/tarball/master
16-
# TODO: change this when the next point version of openwisp-ipam is released
17-
openwisp-ipam @ https://github.com/openwisp/openwisp-ipam/tarball/master
5+
django-loci~=1.0.1
6+
django-flat-json-widget~=0.2.0
7+
openwisp-utils[rest]~=1.0.1
8+
netjsonconfig~=1.0.0
9+
openwisp-users~=1.0.0
10+
openwisp-notifications~=1.0.0
11+
openwisp-ipam~=1.0.0
1812
djangorestframework-gis~=0.18.0
1913
paramiko[ed25519]~=2.10.3
2014
scp~=0.14.2

0 commit comments

Comments
 (0)