Unreleased (Work in progress)
- Fixed parsing of wifi interface without ifname
- Fixed parsing of wifi with encryption set to none
- Fixed parsing wifi interface boolean typecasting
- Fixed a backward compatibility issue with bridges not being prefixed with "br-" on OpenWrt >= 21
- Fixed modem-manager configuration for OpenWrt 21
- Fixed WiFi interface configuration for OpenWrt 21
- Added support for the new DSA bridge syntax to the OpenWrt backend
- Added support for Wireguard and Wireguard/VXLAN
- Added support for Wireguard interfaces in OpenWrt backend
- Added support for VXLAN interfaces in OpenWrt backend
- Added
auth_nocache
proprety to theOpenVpn
backend - Added support for OpenVPN tls-auth option, the OpenVPN backend will automatically create a file for the key present in "tls_auth" field and update the value of the "tls-auth" parameter
- Added
proto
to remote setting of theOpenVpn
backend - Added support for IEEE 802.11w configurations to the
OpenWrt
backend - Added support for Wifi6 / IEEE 802.11ax to the
OpenWrt
backend - Added support for basic IEEE 802.11r options to the
OpenWrt
backend - Added support for WPA3 to the
OpenWrt
backend - Added support for EAP-PEAP as
auth
method in WPA2 enterprise wifi client configuration ofOpenWrt
backend - Removed option of 2.4GHz radio for 802.11ac from the
OpenWrt
backend
- By default, the
OpenWrt
backend now generates bridge syntax in the new DSA compatible format, to override this,dsa=False
must be passed during the initialization of the backend
- Dropped support for Python 3.6
- Added support for Python 3.8 and 3.9
- Upgraded Jinja to 3.0
- Upgraded jsonschema to 3.2.x
- Upgraded to openwisp-utils 1.0.x and reformatted code with latest version of the black formatter
- Simplified bridging of wifi interfaces in the OpenWrt backend: users can now simply add a wifi interface to a bridge and forget about having to update also the attached networks of the OpenWrt configuration
- Ensured values are always deep copied when using
merge_config
, without this change the different schemas remain interwined and a dynamic change to one part which is reused by other schemas will affect different backends inadvertently - The file
path
is not allowed to be an empty string anymore - Ignored duplicate list elements when merging templates: detect identical elements present in both lists to avoid adding the duplicate to the result; this is needed because some templates may share one or multiple common files and these do not not have to be duplicated
- Fixed typo in EAP TTLS protocol
enum_title
ofOpenWrt
backend: it was showing EAP-PEAP even though TTLS was set - Fixed madwifi driver for legacy systems
- Fixed comp-lzo option for legacy OpenVPN in OpenWisp1 backend
- Fixed UCI format backward compatibility with OpenWISP 1 This fix is needed to allow workarounds in the code of OpenWISP-Firmware to keep working also with OpenWISP 2
- [fix] Removed
mtu_disc
fromauto_client
method because it causes issues on most OpenWRT systems - [fix] Avoided maxLength on PIN property to allow configuration variables
- [change] Add missing TLS ciphers to OpenVPN
- [change] Potentially backward incompatible: added support for dialup interfaces (ppp, pppoe, pppoa, 3g, qmi, ncm, wwan, pptp, 6in4, aiccu or l2tp) to openwrt backend. This change is backward incompatible if the same type of configuration was achieved using a workaround, in these cases the configuration will have to be upgraded to use the new format.
- [feature] Added support for modem manager interfaces
- [fix] Fixed bug in OpenWRT backend validation for ip_rules/src
- Fixed bug that prevented overriding the contents of a file present in a template and caused the file to be duplicated instead of overwritten
- Fixed bug affecting backward conversion of switch VLAN on OpenWRT
- Changed default file mode for certificate files generated with from
0644
to0600
- Dropped support for python 2.7
- Updated github buttons in documentation which were causing an unintended redirect
- Updated the jsonschema library to version 3.x
- #113: [bugfix] Made "encryption none" explicit in OpenWRT
- 5ddc201: [bugfix] Fixed invalid UCI name bug in default OpenWRT renderer
- #118: [bugfix]
Fixed
TypeError: can only concatenate list (not "str") to list
- #137: [tests] Migrated tests to nose2
- #106 [extensions] Query backends from installed packages (thanks to @EdoPut)
- #109 [doc] Added reference to plugin interface (thanks to @EdoPut)
- #99 [cli] print traceback fully if the verbose flag is passed (thanks to @EdoPut)
- #108 [openvpn] Added more options to the OpenVPN backend (thanks to @okraits)
- #78 [base] Added support for multiple renderers
- #94 [schema]
Made
bssid
not required for wireless stations - #97 [python2]
Fixed
py2-ipaddress
related unicode bug
- 5ddc201: [general] Avoid default mutable arguments
- dde3c9b:
[openvpn] Added explicit
list_identifiers
attribute - 8c26cd6: [docs] Updated outdated OpenWRT rendering examples
- 5f8483e: [openwrt] Fixed repeated bridge gateway case
- #84 [exceptions] Improved validation errors (thanks to @EdoPut)
- #85 [openwrt] Added "vid" option in "switch"
- #86 [openwrt] Added support for "ip6gw" option
- #70 [feature] Backward conversion
- #87 [openwrt] Removed automatic timezone
- #70 [general] Preliminary work for backward conversion, more info in the OpenWISP Mailing List
- #58: [openwrt]
Dropped obsolete code in
OpenVpn
converter - #59: [openwrt] Improved multiple ip address output
- #69: [docs] Improved contributing guidelines (thanks to @EdoPut)
- #71: [bin] Added
validate
to available methods of command line tool (thanks to @EdoPut) - 845ed83: [version] Improved get_version to follow PEP440
- #73: [netjson] Fixed compatibility with NetJSON specification
- #65: [openwrt] Added missing zonename attribute
- 4aaecae: [docs] Added documentation regarding template overrides
- 6f712d1:
[utils] Implemented identifiers as parameters in
utils.merge_list
- fcae96c:
[openwrt] Added
config_value
identifier inutils.merge_list
- eaa04de:
[docs] Improved "All the other settings"
section in
OpenWrt
backend - #60 [openvpn]
Fixed
resolv_retry
bug; minor backward incompatible change: handled in django-netjsonconfig with a migration - f25e77e:
[openvpn] Added
topology
attribute to schema - c4aa07a: [openvpn] Allow to omit seconds in status attribute
- #56: [general] Implemented smarter merge mechanism
- #57: [openwrt]
Fixed interface
enabled
bug - 7a152a3:
[openwrt] Renamed
enabled
todisabled
in OpenVPN section (for consistency)
- #55: [vars] Fixed broken evaluation of multiple variables
- b486c4d:
[openvpn] corrected wrong
client
mode, renamed top2p
- c7e51c6:
[openvpn] added
pull
option for clients - dde3128: [openvpn] differentiate server between manual, routed and bridged
- added
OpenVpn
backend - afbc3a3: [openwisp] fixed openvpn integration (partially backward incompatible)
- 1234c34: [context] improved flexibility of configuration variables
- #54: [openwrt] fixed netmask issue on ipv4
- #53: [docs] avoid ambiguity on dashes in context
- #52: [schema]
added countries list as
enum
for radios (thanks to @zachantre)
- #50: [openwrt] add logical name to all generated configuration items
- c588e5d:
[openwrt] avoid adding
dns
anddns_search
ifproto
isnone
- 92f9a43:
[schema] added human readable values for mode
access_point
and802.11s
- #47: [openwrt] improved encryption support
- 1a4c493:
[openwrt]
igmp_snooping
now correctlt defaults toTrue
- #49: [schema] added descriptions and titles
- b903c6f: [schema] corrected wrong ipv4 minLength and maxLength
- de98ae6: [schema] fixed interface minLength attribute
- 4679282: [schema] added regexp pattern for interface mac address (can be empty)
- 067b471: [schema] switched order between MTU and MAC address properties
- 26b62dd: [schema] added pattern for wireless BSSID attribute
- 11da509:
[openwrt] added regexp pattern to
maclist
elements - b061ee4: [openwrt] fixed empty output bug if addresses is empty list
- 7f74209:
[openwrt] removed support for
chanbw
for typesath5k
andath9k
(backward incompatible change) - #46: [schema] introduced different profiles for radio settings
- 6ab9d5b [openwrt] added support for "Automatic Channel Selection"
- #48: [openwrt] improved support for config lists
- 9f93776: [openwrt] simplified definition of custom interface "proto" options
- a5f63f0: [openwrt] allow to override general dns and dns_search settings
- 1b58f97:
[schema] added
stp
(spanning tree protocol) property on bridge interfaces - bfbf23d:
[openwrt] added
igmp_snooping
property on bridge interfaces - 269c7bf:
[openwrt] added
isolate
property on wireless access points - 2cbc242:
[openwrt] fixed
autostart
whenFalse
- 85bd7dc: [openwrt] fixed mac address override on interfaces
- 45159e8:
[openwrt] allow overriding
htmode
option - b218f7d:
[schema] added
enum_titles
inencryption
protocols - ef8c296: [schema] validate general hostname format
- 2f23cfd: [schema] validate interface ipv4 address format
- 612959e: [openwrt] validate ntp server hostname format
- f1116f0:
[schema] validate
dns_search
hostname format #42 - 372d634 [openwrt] do not set dns to dhcp interfaces
- #40: [openwrt] added support for ULA prefix
- #44: [schema]
added
none
to encryption choices - #45: [schema] improved address definition
- #43: [openwrt] improved static routes
- #41: [schema]
added
wds
property & removedwds
mode - #36: [schema] added specific settings for 802.11s (mesh) mode
- 3f6d2c6:
[schema] removed NetJSON
type
from schema - 04c6058:
[openwrt] made file
mode
property required (backward incompatible change) - 00e784e: [openwrt] added default switch settings
- dd708cb: [openwrt] added NTP default settings
- f4148e4:
[schema] removed
txqueuelen
from interface definition - 574a48d:
[schema] added
title
andtype
tobridge_members
- c6276f2: [schema] MTU title and minimum value
- d8ab0e0:
[schema] added
minLength
to interface name - 67a0916:
[schema] added
minLength
to radio name - 258892e:
[schema] added possible
ciphers
- 2751fe3: [schema] improved definition of wireless interface fields
- 478ef16:
[openwrt] added
wmm
property for wireless access points - b9a14f3:
[schema] added
minLength
andmaxLength
to interfacemac
property - 526c2d1:
[schema] added
minLength
and maxLength to wirelessbssid
property - c8c95d6: [schema] improved ordering and titles of wireless properties
- a226e90: [openwrt] ignore advanced wifi options if zero
- e008ef6:
[openwrt] added
macfilter
to wireless access points - c70ab76: [openwrt] fixed empty dns and dns-search bug
- 778615a:
[openwrt] increased network
maxLength
- 007da6e: renamed "Coordinated Universal Time" to "UTC"
- 2c1e72e:
fixed 'tx_power'
KeyError
, introduced in 71b083e - aa8b485:
added
utils.evaluate_vars
function - 7323491: simplified implementation of configuration variables
- fixed
flake8
andisort
warnings - added
flake8
andisort
checks to travis build - 6ec5ce8: minor regexp optimization for generate method
- #39: added configuration variables feature
- a3486d2:
the shell utility can now use environment variables in
config
andtemplates
, read relevant docs
- 18ecf28:
removed
hardware
andoperating_system
sections - 75c259d: reordered schema sections
- 010ca98: file contents can now be only strings (backward incompatible change)
- e2bb3b2:
added non-standard
propertyOrder
attributes to schemas to facilitate UI ordering - #37: [schema]
radio
tx_power
not required anymore - #38: [openwrt schema] hardened file mode contraints
- c2cc3fc: [schema] added minlength and maxlength to hostname
- #35 wifi
inherits
disabled
from interface
- 219f638
[cli] fixed binary standard output for
generate
method - a0b1373 removed timestamp from generated configuration archive to ensure reliable checksums
- #31 added files
in
render
output - #32
generate
now returns an in-memory file object - badf292 updated command line utility script and examples
- #33 added
write
method - 5ff7360
[cli] positional
config
param is now--config
or-c
- 28de4a5
[cli] marked required arguments:
--config
,--backend
and--method
- f55cc4a
[cli] added
--arg
option to pass arguments to methods
- 69197ed
added "details" attribute to
ValidationError
- 0005186
avoid modifying original
config
argument
- #18 added
OpenWisp
backend - 66ee96 added file permission feature
- #19 added sphinx documentation (published at netjsonconfig.openwisp.org)
- 30348e
hardened ntp server option schema for
OpenWrt
backend - c31375
added madwifi to the allowed drivers in schema
OpenWrt
backend - #30 updated schema according to latest NetJSON spec
- #20 added support for array of lines in files
- #21 date is now correctly set in tar.gz files
- 82cc5e
configuration archive is now compatible with
sysupgrade -r
- #22 improved and simplified bridging
- #23 do not ignore interfaces with no addresses
- #24 restricted schema for interface names
- #25 added support for logical interface names
- #26
merge_dict
now returns a copy of all the elements - d22d59 restricted SSID to 32 characters
- #27 improved wireless definition
- #28 removed "enabled" in favour of "disabled"
- Added
OpenWrt
Backend - Added command line utility
netjsonconfig
- Added multiple templating feature
- Added file inclusion feature