Unreleased
- Fixed hardcoded storage backend of the "FirmwareImage.file" field.
FirmwareImage.file
was configured to usePrivateFileSystemStorage
, which made it impossible to use other private storage backends. The "OPENWISP_FIRMWARE_PRIVATE_STORAGE_INSTANCE" setting is added to make theFirmwareImage.file
storage configurable. - Fixed inconsistent URL keyword argument in "serve_private_file" URL pattern. This broke the reverse proxy feature of django-private-storage.
- Added
version
andos
filters to thebuild
endpoint - Added OpenWISP 1.x firmware upgrader (legacy)
- Added support backfire in upgrades from OpenWISP 1.x (legacy)
- Added functionality in OpenWrt backend to free up memory before uploading the firmware image
- Added following firmwares to the default firmware image map:
- Custom WAP-1200
- COMFAST CF-E320N v2 (OpenWrt 19.07 and earlier)
- EnGenius EAP1300
- Linksys WRT1900ACS
- Linksys WRT3200ACM
- Raspberry Pi 2 Model B
- Raspberry Pi 3 Model B
- TP-Link Archer C7 v1 (OpenWrt 19.07 and earlier)
- TP-Link Archer C7 v1 (OpenWrt 19.07 and later)
- TP-Link Archer C7 v2 (OpenWrt 19.07 and earlier)
- TP-Link Archer C7 v2 (OpenWrt 19.07 and later)
- TP-Link Archer C7 v4 (OpenWrt 19.07 and earlier)
- TP-Link Archer C7 v4 (OpenWrt 19.07 and later)
- TP-Link Archer C7 v5 (OpenWrt 19.07 and earlier)
- TP-Link Archer C7 v5 (OpenWrt 19.07 and later)
- TP-Link Archer C50 v4
- TP-LINK CPE210 v3 (OpenWrt 19.07 and earlier)
- TP-LINK CPE210 v2 (OpenWrt 19.07 and later)
- TP-LINK CPE210 v3 (OpenWrt 19.07 and later)
- TP-LINK CPE510 v3 (OpenWrt 19.07 and later)
- TP-Link WDR3600 v1 (OpenWrt 19.07 and earlier)
- TP-Link WDR3600 v1 (OpenWrt 19.07 and later)
- TP-Link WDR4300 v1 (OpenWrt 19.07 and earlier)
- TP-Link WDR4300 v1 (OpenWrt 19.07 and later)
- TP-Link WDR4300 v1 Israel Version (OpenWrt 19.07 and earlier)
- TP-Link WDR4300 v1 Israel Version (OpenWrt 19.07 and later)
- TP-Link WR2543N/ND (OpenWrt 19.07 and earlier)
- TP-Link WR2543N/ND (OpenWrt 19.07 and later)
- TP-Link TL-WR902AC v3
- Ubiquiti AirRouter (OpenWrt 19.07 and earlier)
- Ubiquiti AirRouter (OpenWrt 19.07 and later)
- Ubiquiti EdgeRouter Lite
- Ubiquiti Nanostation Loco M2 - XW (OpenWrt 19.07 and earlier)
- Ubiquiti Nanostation Loco M (OpenWrt 19.07 and later)
- Ubiquiti Nanostation Loco M - XW (OpenWrt 19.07 and later)
- Ubiquiti Nanostation M - XW (OpenWrt 19.07 and earlier)
- Ubiquiti Nanostation M (OpenWrt 19.07 and earlier)
- Ubiquiti Nanostation M - XW (OpenWrt 19.07 and later)
- Ubiquiti Nanostation M (OpenWrt 19.07 and later)
- Ubiquiti Picostation Bullet XW (OpenWrt 19.07 and earlier)
- Ubiquiti Picostation M2HP & Bullet (OpenWrt 19.07 and earlier)
- Ubiquiti Picostation M (OpenWrt 19.07 and later)
- Ubiquiti Unifi AC Mesh (OpenWrt 19.07 and earlier)
- Ubiquiti Unifi AC Mesh (OpenWrt 19.07 and later)
- Ubiquiti Unifi AC Mesh-Pro (OpenWrt 19.07 and earlier)
- Ubiquiti Unifi AC Mesh-Pro (OpenWrt 19.07 and later)
- Ubiquiti UniFi AC Pro (OpenWrt 19.07 and later)
- VMware, Inc. VMware Virtual Platform
- ZBT-WG3526 (16M)
- x86 32 bit (various models)
- x86 Geode(TM) Integrated Processor by AMD
- REST APIs are enabled by default. You can disable them by setting
OPENWISP_FIRMWARE_UPGRADER_API
toFalse
. - Changed REST API prefix from
/upgrader/
to/firmware-upgrader/
. This makes it consistent with REST API endpoints of other modules
- 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 openwisp-controller to 1.0.x
- Avoid deletion of
UpgradeOperation
when relatedFirmware Image
is deleted - Increased default retries in OpenWRT upgrader from
15
to40
- Made firmware upgrade logs translatable
- Changed the default API throttle rate from
400/hour
to1000/minute
- Added time limits to
openwisp_firmware_upgrader.tasks.create_device_firmware
andopenwisp_firmware_upgrader.tasks.create_all_device_firmwares
celery tasks
- Fixed firmware checksum check
- Improved error handling for upgrade operations
- Remove openwisp-config persistent checksum: openwisp-config 0.6.0 makes
the checksum persistent, but this causes upgraded devices to not
download the configuration again after the upgrade, which is an issue if
the configuration contains any file which is not stored in
/etc/
. - Fixed a bug which caused
Server 500
error on creating a newBuild
object ifcategory
field was left empty - Fixed bugs in restoring deleted devices using
django-reversion
- Fixed migrations referencing non-swappable OpenWISP modules that broke OpenWISP's extensibility
- [fix] Fixed
os_identifier
validation bug inBuild
model.
First release.