Skip to content

Releases: openwisp/openwisp-controller

1.2.3 [2026-04-09]

09 Apr 17:35
1.2.3

Choose a tag to compare

Bugfixes

  • Corrected initial field value assignment in AbstractDevice class
  • Fixed duplicate template entries in Device admin
  • Invalidate Config checksum after subnet provisioning
  • Fixed concurrent update\_config detection #1204

1.2.2 [2026-03-06]

06 Mar 20:12
1.2.2

Choose a tag to compare

Changes

Other changes

  • Improved help text of configuration variable fields
  • Minor fixes in the test suite

1.2.1 [2026-03-04]

04 Mar 20:51
1.2.1

Choose a tag to compare

Bugfixes

  • Use context variables in Vpn.auto_client for OpenVPN backend
  • Fixed 500 FieldError in DeviceLocationView #1110
  • Fixed MultiValueDictKeyError on empty device form submission #1057

1.2.0 [2025-10-24]

24 Oct 11:53
1.2.0

Choose a tag to compare

Changes

Other changes

  • Stored configuration checksum in the database to fix the perennial modified status issue. The configuration status now changes to modified only when the checksum actually changes #1113.
  • Templates marked as default or required are now automatically assigned to all eligible devices in a background task. #480.
  • Changed ZeroTier background notifications to use the Generic Message notification type #1048.
  • Improved management of relevant templates: facilitated changing organizations and optimized performance #204 #1050.
  • Added a relation from VpnClient objects to their associated Template for improved traceability and management #831.
  • Improved consistency across the REST API by renaming serializer modules to serializers, centralizing base serializer logic, fixing configuration creation when organization templates differ, and standardizing primary key parameter types and URL converters.

Dependencies

  • Bumped netjsonconfig~=1.2.0.
  • Bumped openwisp-notifications~=1.2.0.
  • Bumped openwisp-ipam~=1.2.0.
  • Bumped openwisp-users~=1.2.0.
  • Bumped openwisp-utils[celery,channels]~=1.2.0.
  • Bumped django-x509~=1.3.0.
  • Bumped django-loci~=1.2.0.
  • Bumped django-flat-json-widget~=0.4.0.
  • Bumped djangorestframework-gis~=1.2.0.
  • Bumped paramiko~=4.0.0.
  • Bumped django-cache-memoize~=0.2.1.
  • Bumped django-import-export~=4.3.10.
  • Bumped django-reversion~=6.0.0.
  • Bumped django-taggit~=6.1.0.
  • Added support for Django 5.x.
  • Added support for Python 3.11, 3.12, and 3.13.
  • Dropped support for Django 3.2 and 4.1.
  • Dropped support for Python 3.8.

Bugfixes

  • Fixed issue where the update\_config background task could launch multiple times concurrently #1128.
  • Enforced SSH command timeout in Paramiko. Previously, Paramiko ignored the configured command timeout.
  • Fixed incorrect label for device group filter in the device list #1071.
  • Added default kwarg support for unique nullable fields.
  • Fixed REST API access for non-superusers in DeviceConnection and Command endpoints. Previously, organization admins encountered a 500 server error when retrieving command details.
  • Avoided re-populating the VPN peers cache in post\_save. Previously, VpnClient.post\_save repopulated the peer cache immediately, causing slow or timed-out uWSGI requests for large peer sets. Now, it only invalidates the cache, which is later repopulated by the background task.
  • Fixed ordering of credentials in the REST API list view #1040.
  • Fixed handling of non-existent devices in DeviceLocationView API.
  • Fixed unsaved changes alert showing for read-only maps #560.

1.1.2.post1 [2025-08-01]

01 Aug 22:03
1.1.2.post1
5e15d18

Choose a tag to compare

Version 1.1.2.post1 could not be relased on PyPI due to outdated pypa/gh-action-pypi-publish action.

1.1.2 [2025-08-01]

01 Aug 21:55
1.1.2
2f0abee

Choose a tag to compare

Bugfixes

1.1.1 [2025-01-31]

31 Jan 11:05
1.1.1
28604f4

Choose a tag to compare

1.1.0 [2024-11-22]

22 Nov 20:44
1.1.0
7eb9837

Choose a tag to compare

Features

Changes

  • Removing a VPN template from a device will not deleted the certificates associated with the VPNClient. Instead, the certificates will be marked as revoked.
  • Allowed reusing VNI across all the tunnels created using an instance VXLAN over WireGuard VPN.
  • Added a data migration for updating hwmode configuration option of radio to "band". The hwmode option is deprecated on OpenWrt > 21.
  • The configuration push update will not flag the configuration status as "applied". The status will be update once the OpenWISP Config agent on the device reports the status.
  • Updated DeviceConnection.connect to attempt all available credentials.
  • Changed the on_cascade property of BaseDeviceLocation.location and BaseDeviceLocation.floorplan from PROTECTED to CASCADE.
  • Controller views will return HTTP 404 response for devices belonging to disabled organizations.
  • Show a loading indicator for commands in progress.
  • Added VPN subnet CIDR to device's system-defined variables.
  • Allowed defining subnet and IP address for VPNs with OpenVPN backend.
  • Changed the target link for configuration error notifications to the "Configuration" tab of the device.
  • JSONSchema Editor widget allows to define extra CSS classes. It will ignore fields with manual class.
  • Increased the soft time limit for celery task that operates of bulk objects.
  • Added notifications for background subnet division rule errors.
  • Added [name]{.title-ref} and [mac_address]{.title-ref} to device list filters in the API.
  • Use autocomplete fields for related fields.

Dependencies:

  • Bumped django-sortedm2m~=4.0.0.
  • Bumped django-reversion~=5.1.0.
  • Bumped django-taggit~=4.0.0.
  • Bumped netjsonconfig~=1.1.0.
  • Bumped django-x509~=1.2.0.
  • Bumped django-loci~=1.1.0.
  • Bumped django-flat-json-widget~=0.3.0.
  • Bumped openwisp-users~=1.1.0.
  • Bumped openwisp-utils[celery]~=1.1.1.
  • Bumped openwisp-notifications~=1.1.0.
  • Bumped openwisp-ipam~=1.1.0.
  • Bumped djangorestframework-gis~=1.1.
  • Bumped paramiko[ed25519]~=3.5.0.
  • Bumped scp~=0.15.0.
  • Bumped django-cache-memoize~=0.2.0.
  • Bumped shortuuid~=1.0.13.
  • Bumped netaddr~=1.3.0.
  • Bumped django-import-export~=3.3.0.
  • Added support for Django 4.1.x and 4.2.x.
  • Added support for Python 3.10.
  • Dropped support for Python 3.7.
  • Dropped support for Django 3.0.x and 3.1.x.

Bugfixes

1.0.3 [2022-08-03]

03 Aug 12:03
3ecd9da

Choose a tag to compare

1.0.2 [2022-07-01]

01 Jul 16:30

Choose a tag to compare

Bugfixes