Skip to content

Latest commit

 

History

History
346 lines (284 loc) · 15.6 KB

CHANGES.rst

File metadata and controls

346 lines (284 loc) · 15.6 KB

Changelog

Version 0.9.0 [unreleased]

WIP

Version 0.8.3 [2020-12-18]

Bugfixes

Version 0.8.2 [2020-12-11]

Bugfixes

  • Fixed the bug that prevented users from adding/editing access credentials.

Changes

  • Increased django-x509 version to 0.9.2
  • Increased django-flat-json-widget version to 0.1.2
  • Changed the preview button colors for better readability
  • Added help text for device name field

Version 0.8.1 [2020-12-02]

Bugfixes

  • Fixed tests that were dependent on specific settings of the Django project.

Version 0.8.0 [2020-11-23]

Features

  • Added possibility to extend openwisp-controller
  • Added flat JSON widget for configuration variables
  • Added JSON Schema widget to credentials admin
  • Added device_registered signal
  • Added OpenWISP Notifications module as a dependency, which brings support for web and email notifications for important events
  • Allow using a different device model in update_config: his allows OpenWISP Monitoring to override the can_be_updated method to take into account the monitoring status, so that push updates won't be attempted
  • Added notifications for changes of is_working status of credentials
  • UX, automatically add/remove default values to device context: automatically add or remove default values of templates to the configuration context (a.k.a. configuration variables) when templates are added or removed from devices
  • UX: added system defined variables section

Changes

  • Backward incompatible: the code of django-netjsonconfig was merged in openwisp-controller to simplify maintenance
  • Changed API of device_location view for consistency: /api/device-location/{id}/ becomes /api/v1/device/{id}/location/, the old URL is kept for backward compatibility but will be removed in the future
  • Backward incompatible change: schema url endpoint changed to <controller-url>/config/schema.json and it's now in config namespace instead of admin namespace
  • Changed VPN DH length to 2048 and move its generation to the background because it's a lot slower
  • Admin: Order Device, Template and VPN alphabetically by default
  • Admin: Added mac_address field to the device list page (DeviceAdmin.list_display)
  • Increased max_length of common name to 64
  • Changed the config apply logic to avoid restarting the openwisp-config deamon if the configuration apply procedure is already being run
  • Made template config field required in most cases
  • Changed DeviceConnection.failure_reason field to TextField, this avoids possible exception if failed_reason is very long, which may happen in some corner cases
  • Made Device verbose_name configurable, see OPENWISP_CONTROLLER_DEVICE_VERBOSE_NAME
  • Increased netjsonconfig version to 0.9.x (which brings support for new interface types, see the change log of netjsonconfig for more information)
  • Increased django-x509 version to 0.9.x
  • Increased django-loci version to 0.4.x (which brings many bug fixes to the mapping feature, as long as support for geo-coding and reverse geo-coding, see the change log of django-loci for more information)
  • Increased openwisp-users version from 0.2.x to 0.5.x (which brings many interesting improvements to multi-tenancy, see the change log of openwisp-users for more information)
  • Increased django-taggit version to 1.3.x
  • Increased openwisp-utils version to 0.7.x
  • Increased django-rest-framework-gis version to 0.16.x
  • Added support for django 3.1

Bugfixes

  • Fixed JSON validation error when dealing with OpenVPN configuration
  • Ensured unique in HARDWARE_ID_OPTIONS defaults to False
  • Avoid need of migration if HARDWARE_ID_OPTIONS is changed
  • JS: prevent crash if backend value is empty
  • Do not execute default template selection if device exists
  • Close preview overlay on errors
  • Avoid triggering config_modified signal during registration
  • UI: Fixed whitespace after overview tab in in device page
  • Validate Config.context and Template.default_values: Config.context and Template.default_values must always be a dictionary, falsy values will be converted to empty dictionary automatically
  • Fixed failures in update_config operation: the update_config operation will be executed only when the transaction is committed to the database; also handled rare but possible error conditions
  • Handled device not existing case in update_config task
  • Fixed auto cert feature failure when device name is too long
  • UI: avoid showing main scrollbar in preview mode
  • Fixed OPENWISP_CONTROLLER_BACKEND_DEVICE_LIST = False
  • UI fixed advanced mode bugs: positioning is done using css instead of js. Removed body scrollbar when in advanced mode. Back to normal mode with ESC key. Hidden netjsonconfig docs hint on narrow screens.
  • Avoid simultaneous update_config tasks: since now the launch of the task is executed when the transaction is committed to the database, also the check for other updates in progress must be moved there
  • Fixed OPENWISP_CONTROLLER_CONTEXT setting getting modified at run time
  • Fixed z-index of preview overlay: the z-index is increased so it's higher than the main navigation menu to avoid the possibility of triggering the main menu inadvertently
  • Prevent sending config_modified signal multiple times
  • Fix timeout when changing template: slow operations are moved to the background
  • Fixed variablle validation: now all the available context (device variables, system variables) are taken into account when performing validation
  • Removed unnecessary static() call from media assets

Version 0.7.0.post1 [2020-07-01]

  • Increased minimum django-netjsonconfig version to 0.12

Version 0.7.0 [2020-07-01]

  • [feature] Added signals: config_status_changed, checksum_requested, config_download_requested
  • [feature] Added the possibility of specifying default values for variables used in templates
  • [feature] Added banner_timeout
  • [feature] Emit signal when DeviceConnection.is_working changes
  • [change] Backward incompatible change: the config_modified signal is not emitted anymore when the device is created
  • [change] VPN files now have 0600 permissions by default
  • [change] Increased minimum netjsonconfig version to 0.8.0
  • [change] Increased minimum paramiko version to 2.7.1
  • [change] Increased minimum celery version to 4.4.3
  • [fix] Avoid errors being hidden by tabs
  • [fix] Fixed clashes between javascript schema validation and variables
  • [fix] Fixed exception when adding device credential without type
  • [fix] Fixed exception when auto adding device credentials to devices which don't have a configuration
  • [fix] Avoid multiple devices having the same management IP address (multiple devices having the same last IP is allowed because last IP is almost always a public address)
  • [docs] Documented SSH timeouts
  • [docs] Update outdated steps in README instructions

Version 0.6.0 [2020-04-02]

  • Added controller view that allows to update the device information (firmware version used)
  • Recover deleted object views in recoverable objects now show latest objects first
  • Added NETJSONCONFIG_HARDWARE_ID_AS_NAME setting

Version 0.5.2 [2020-03-18]

  • [controller] Added NETJSONCONFIG_REGISTRATION_SELF_CREATION
  • [models] Handled accidental duplication of files across templates
  • [controller] Update hardware device info during registration (if the device already exists, the registration will update its info)
  • [admin] Moved hardware_id field in device list admin
  • [bugfix] Fixed broken preview when using hardware_id context var
  • [models] Flagged hardware_id as not unique (it's unique_together with organization)
  • [admin] Hidden device configuration context field into advanced options
  • [models] Removed LEDE from the OpenWRT backend label
  • [docker] Added REDIS_URL to docker-compose.yml and settings.py (for dev and test env)

Version 0.5.1 [2020-02-28]

  • [models] Improved consistent key generation, now a consisten key is generated also when creating devices from the admin interface (or via model API), before it was only done during registration
  • [admin] Fixed unsaved changes JS bug that was triggered in certain cases
  • [deps] Switched back to jsonfield

Version 0.5.0 [2020-02-05]

  • [deps] Upgraded to django 3, upgraded dependencies
  • [deps] Dropped support for python 2
  • [x509] Fixed serial number max length (imported from django-x509)
  • [admin] Fixed bug that caused organization field to be missing when importing a CA or certificate

Version 0.4.0 [2020-01-09]

  • [feature] Added connection module (possibility to SSH into devices)
  • [feature] Added default operator group
  • [feature] Added management IP feature
  • [change] Changed configuration status: running has been renamed to applied
  • [admin] Added NETJSONCONFIG_MANAGEMENT_IP_DEVICE_LIST setting
  • [admin] Added NETJSONCONFIG_BACKEND_DEVICE_LIST setting
  • [x509] Fixed common_name redundancy
  • [admin] Hidden "Download Configuration" button when no config is available
  • [controller] Register view now updates device details
  • [deps] Added support for Django 2.1 and Django 2.2
  • [models] Added support for hardware ID / serial number
  • [device] Add context field to device
  • [bugfix] Show error when the preview is experiencing issues
  • [ux] Group device change form in tabs
  • [ux] Show loading indicator while loading preview
  • [vpn] Add controller views (download & checksum) for VPN config
  • [vpn] Fixed DH params in preview #107
  • [change] Moved urls to admin namespace
  • [feature] Implement copy/clone templates
  • [feature] Added API to get context of device
  • [bugfix] Ensure atomicity of transactions with database during auto-registration

Version 0.3.2 [2018-02-19]

  • [requirements] Updated requirements and added support for django 2.0

Version 0.3.1 [2017-12-20]

  • [pki] Reimplemented serial numbers as UUID integers
  • [pki] Added switcher that facilitates importing certificates
  • [pki] [admin] Removed serial_number from certificate list

Version 0.3.0 [2017-12-17]

  • [feature] Added geographic and indoor mapping module
  • [feature] Aded Dockerfile

Version 0.2.5 [2017-12-02]

  • #21: [admin] Added a link to password reset in login form

Version 0.2.4 [2017-11-07]

  • Added support for django-x509 0.3.0

Version 0.2.3 [2017-08-29]

  • 934be13: [models] Updated sortedm2m __str__ definition
  • b76e4e2: [requirements] django-netjsonconfig>=0.6.3,<0.7.0

Version 0.2.2 [2017-07-10]

Version 0.2.1 [2017-07-05]

  • 0064b98: [device] Added system field
  • c7fe513: [docs] Added "Installing for development" section to README
  • c75fa68: [openwisp-utils] Moved shared logic to openwisp-utils
  • 819cb21: [requirements] django-netjsonconfig>=0.6.2,<0.7.0

Version 0.2.0 [2017-05-24]

  • #3: [feature] Added support for template tags
  • #7: [feature] Added Device model
  • #9: [admin] Load default templates JS logic only when required
  • 298b2a2: [admin] Avoid setting extra_content to mutable object
  • d173c24: [migrations] Squashed 0001 and 0002 to avoid postgres error
  • f5fb628: [migrations] Updated indexes
  • 6200b7a: [Template] Fixed auto_client bug

Version 0.1.4 [2017-04-21]

  • #2: [admin] Added templates in config filter

Version 0.1.3 [2017-03-11]

  • db77ae7: [controller] Added "error: " prefix in error responses

Version 0.1.2 [2017-03-15]

  • 3c61053: [admin] Ensure preview button is present
  • 0087483: [models] Converted OrganizationConfigSettings to UUID primary key

Version 0.1.1 [2017-03-10]

Version 0.1.0 [2017-03-08]

  • added multi-tenancy (separation of organizations) to openwisp2
  • added email confirmation of new users (via django-allauth)