Openwisp-controller

Latest version: v1.0.3

Safety actively analyzes 621409 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

1.1.0

--------------------------

WIP

1.0.2

--------------------------

Bugfixes
~~~~~~~~

- Fixed `device's "changed" signals emitting on the creation
of new device <https://github.com/openwisp/openwisp-controller/issues/649>`_
- Fixed *django-reversion's* recovery buttons were hidden from users
of the "Operator" group in the admin dashboard of ``Certificate`` and ``CA``
models
- Removed `hardcoded static URLs
<https://github.com/openwisp/openwisp-controller/issues/660>`_
which created issues when static files are served using an
external service (e.g. S3 storage buckets)
- Fixed `permissions for "Operator" and "Administrator" groups to
access "OrganizationConfigSettings" objects
<https://github.com/openwisp/openwisp-controller/issues/664>`_
- Fixed `support for multiple wireguard tunnels on the same devices
<https://github.com/openwisp/openwisp-controller/issues/657>`_
- Fixed `"/api/v1/controller/device/{id}/" REST API endpoint not
updating the device's configuration backend
<https://github.com/openwisp/openwisp-controller/issues/658>`_

1.0.1

--------------------------

Bugfixes
~~~~~~~~

- Admin: show main group information in ``DeviceGroupAdmin`` list:
- name
- organization
- modified
- created
- Fixed uncaught exception triggered on the deletion of
VPN client certificates
- SSH connection: fixed OpenWrt <= 19 authentication failure
- The SSH connection is now explicitly closed when
the authentication fails to avoid leaving lingering SSH
connection objects open

1.0.0

--------------------------

Features
~~~~~~~~

- Added support for `remotely executing shell commands on device
<https://github.com/openwisp/openwisp-controller#sending-commands-to-devices>`_
- Added `automatic provisioning of Subnets and IPs
<https://github.com/openwisp/openwisp-controller#subnet-division-app>`_
- Added `support for WireGuard and VXLAN tunnels
<https://github.com/openwisp/openwisp-controller#how-to-setup-wireguard-tunnels>`_
- Added `required templates
<https://github.com/openwisp/openwisp-controller#required-templates>`_
- Added support for generating configurations for OpenWrt 21
- Added `REST API
<https://github.com/openwisp/openwisp-controller#rest-api-reference>`_
- Added dashboard charts for *config status*, *model*, *OS*, *hardware*
and *location type*
- Added `management_ip_changed
<https://github.com/openwisp/openwisp-controller#management_ip_changed>`_
and `device_name_changed
<https://github.com/openwisp/openwisp-controller#device_name_changed>`_
signals
- Added `OPENWISP_CONTROLLER_DEVICE_NAME_UNIQUE setting
<https://github.com/openwisp/openwisp-controller#openwisp_controller_device_name_unique>`_
to conditionally enforce unique device names in an organization
- Added caching for ``DeviceChecksumView``
- Added support for ED25519 SSH keys in ``Credentials``
- Added `Device Groups
<https://github.com/openwisp/openwisp-controller#device-groups>`_
to organize devices of a particular organization
- Configuration push updates now use the SIGUSR1 signal to reload openwisp-config
- The device list admin page now allows to search for location address

Changes
~~~~~~~

Backward incompatible changes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- Since django-sortedm2m, the widget we use to implement ordered templates,
clears all the many to many relationships every time it has to make changes,
we had to stop deleting ``VpnClient`` instances related to VPN templates
on ``post_clear`` m2m signals
If you wrote any custom derivative which relies on calls like
``device.config.templates.clear()`` to delete related ``VpnClient``
instances and their x509 certificates, you will have to update your code
to remove all the templates using their primary keys,
instead of using ``clear()``
- The default behavior for the resolution of conflicting management
IPs between devices of different organizations has been changed;
by default, in this new version, the system assumes it's using only
1 management tunnel for all the organizations, so different devices
from any organization will not have the same management IP to avoid
conflicts. The old behaviour can be restored by setting
`OPENWISP_CONTROLLER_SHARED_MANAGEMENT_IP_ADDRESS_SPACE
<https://github.com/openwisp/openwisp-controller#openwisp_controller_shared_management_ip_address_space>`_
to ``False``
- ``OPENWISP_CONTROLLER_BACKEND_DEVICE_LIST`` has been renamed
to ``OPENWISP_CONTROLLER_CONFIG_BACKEND_FIELD_SHOWN``
- ``Device.check_management_ip_changed`` has been changed to private API
``Device._check_management_ip_changed``

Dependencies
^^^^^^^^^^^^

- Dropped support for Python 3.6
- Dropped support for Django 2.2
- Added support for Python 3.8 and 3.9
- Added support for Django 3.2 and 4.0
- Upgraded django-sortedm2m to 3.1.x
- Upgraded django-reversion to 4.0.x
- Upgraded django-taggit to 2.1.x
- Upgraded djangorestframework-gis to 0.18.0
- Upgraded paramiko[ed25519] to 2.10.3
- Upgraded scp to 0.14.2
- Upgraded django-flat-json-widget to 0.2.x
- Upgraded celery to 5.2.x
- Upgraded channels to 3.0.x
- Upgraded django-x509 to 1.1.x
- Upgraded django-loci to 1.0.x
- Upgraded netjsonconfig to 1.0.x
- Upgraded openwisp-utils to 1.0.x
- Upgraded openwisp-users to 1.0.x
- Upgraded openwisp-notifications to 1.0.x
- Upgraded openwisp-ipam to 1.0.x
- Added shortuuid 1.0.x
- Added netaddr 0.8.x
- Added django-cache-memoize to 0.1

Other changes
^^^^^^^^^^^^^

- `Reworked implementation of config_modified signal
<https://github.com/openwisp/openwisp-controller#config_modified>`_:

- the signal is now always emitted on templates changes m2m events,
also if ``config.status`` is modified, with the differences that
only post_add and post_remove m2m events are used, while
``post_clear`` is ignored, which fixes the duplicate signal emission
caused by the implementation of sortedm2m;
- added ``action`` and ``previous_status`` arguments, which allow to
understand where the ``config_modified`` signal is being emitted from,
this allows more advanced usage of the signal by custom implementations

- Context variable follows template order:
If two or more applied templates have "default_values" with the same keys,
then the context variables of the template which comes later in the order
will be used
- New credentials created with ``auto_add`` set to ``True`` will get added
to the existing devices in a background task. This improves the
responsiveness of the web application
- Decoupled admin LogEntry from Template model
- Device admin only lists relevant templates, i.e.
templates that are shared or belong to the device's organization
- Improved UX of `system-defined variables
<https://github.com/openwisp/openwisp-controller/issues/344>`_
- Name of ``Vpn``, ``Template`` and ``Credentials`` objects is
unique only within the same organization and within the shared
objects
- Added functionality to configure connection failure reasons
for which the system should not send notifications.
Added ``old_failure_reason`` parameter in
``openwisp_controller.connection.signals.is_working_changed`` signal
- Allowed searching devices using their location address in Device admin.
- Removed deprecated ``api/device-location/<pk>`` endpoint
- Made device name unique per organization instead of unique system wide
- Added time limits to background celery tasks

Bugfixes
~~~~~~~~

- Fixed a bug which caused ``VpnClient`` instances to be recreated every time
the configuration templates of a device were changed,
which caused x590 certificates to be destroyed and recreated as well
- Hardened config validation of OpenVPN backend. The validation fails
if the ``openvpn`` key is missing from the configuration
- Fixed a bug that caused issues in updating related ``Config`` whenever
a template's ``default_values`` were changed
- Fixed pop-up view of CA and Cert not displaying data
- Fixed config status stays ``applied`` after clearing all device templates
- Fixed ``VpnClient`` not created when multiple VPN templates are added
- Fixed configuration editor raising validation error when using variables in
fields with ``maxLength`` set
- Fixed connection notifications reporting outdated status
- Fixed migrations referencing non-swappable OpenWISP modules that
broke OpenWISP's extensibility
- Fixed bugs in restoring deleted devices using ``django-reversion``
- Fixed cloning of shared templates
- Disallowed blank values for ``key_length`` or ``digest`` fields for ``CA``
and ``Cert`` objects
- Fixed template ordering bug in the configuration preview on Device admin
The order of templates was not always retained when
generating the preview of a config object

0.8.4

--------------------------

Bugfixes
~~~~~~~~

- Fixed `bug in connection module <https://github.com/openwisp/openwisp-controller/issues/370>`_
that raised ``UnicodeDecodeError``, improved logging and ignored unicode
conversion issues
- Fixed `context loading from default values of templates overwriting system
defined variables <https://github.com/openwisp/openwisp-controller/issues/352>`_
in device admin
- Fixed `default template selection not updating after changing backend field <https://github.com/openwisp/openwisp-controller/issues/354>`_
in device admin
- Fixed JSONSchema widget to enable working with a single schema
- Fixed `related configuration not getting updated after template "default_values" are changed <https://github.com/openwisp/openwisp-controller/issues/352>`_
- Fixed `bug which caused the unsaved changes alert in device admin <https://github.com/openwisp/openwisp-controller/issues/388>`_
when location of device is present
- Fixed `bug replacing manually entered device information with empty string <https://github.com/openwisp/openwisp-controller/issues/425>`_
- Fixed `multiple requests for fetching default template values in device admin <https://github.com/openwisp/openwisp-controller/issues/423>`_

Security
~~~~~~~~

- Patched security bugs in internal HTTP endpoints which allowed to obtain UUID
of other organizations and other sensitive information

0.8.3

Not secure
--------------------------

Bugfixes
~~~~~~~~

- Increased minimum `openwisp-users version to ~=0.5.1
<https://github.com/openwisp/openwisp-users/blob/master/CHANGES.rst#version-051-2020-12-13>`_,
which fixes an `issue in the production setup <https://github.com/openwisp/ansible-openwisp2/issues/233>`_

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.