Features
- Added support for ZeroTier.
- Added support for adding configuration templates and configuration variables to device groups.
- Implemented support for SNMP credentials.
- Added support for device deactivation and reactivation.
- Introduced an admin action to quickly move devices between groups.
- Added autocomplete support for filters in the admin interface.
- Added support to display configuration errors reported by the OpenWISP config agent.
- Enabled filtering of subnets by Subnet Division Rule type.
- Allowed limiting the number of devices per organization.
- Added support for defining organization-level variables.
- Enabled bulk import and export of devices.
- Added functionality to configure available commands for each organization.
- Added a dashboard chart showing the distribution of devices across different groups.
- Added filters to the REST API.
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". Thehwmode
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 ofBaseDeviceLocation.location
andBaseDeviceLocation.floorplan
fromPROTECTED
toCASCADE
. - 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
and4.2.x
. - Added support for Python
3.10
. - Dropped support for Python
3.7
. - Dropped support for Django
3.0.x
and3.1.x
.
Bugfixes
- Fixed bug for displaying relevant templates where the backend of the device's configuration template does not match.
- Fixed displaying the command widget when the user has write permissions.
- Fixed DeviceConnection.get_working_connection to handle scenario where the device has no credentials.
- User need to have required model permissions to perform admin actions.
- Fixed import device preview table when browser is set to dark mode.
- Fixed subnet division rule does not allow assigning only 1 ip in /32.
- Fixed Device._has_group() wrongly returning True.
- Fixed JS of history pages on config app.
- Fixed REST API can creates device configs inadvertently.
- Fixed broken shared template preview.
- Fixed command APIs permissions.
- Fixed deleting VpnClient result in deleting all provisioned subnets of the device.
- Fixed group templates re-creating VPN clients.
- Fixed DeviceListSerializer returning HTTP 500 instead of HTTP 400 reponse on invalid data.
- Fixed re-ordering applied templates in device config.
- Fixed re-ordering templates on device add page.
- Fixed several issues with clone template feature.
- Fixed updating template organization puts devices in perennial "modified" state.
- Fixed user defined commands that do not require input.
- Fixed validation for SubnetDivisionRule.
- Fixed subnet division rule validation when master subnet is empty.
- Fixed validation in change device group admin action.
- Increased "timeoutInterval" for ReconnectingWebSocket.
- Added JS workaround for using mac address variable.
- Fixed same credential can be added to a device twice.
- Show reversion button to operators too.
- Fixed unsaved changes alert triggering on previewing configuration.
- Fixed dependency on the creation date in get_max_subnet method.
- Fixed Vpn.webhook_endpoint accepting invalid URL.
- Fixed object and config menu not opening in Device config editor.