Work in progress.
- [fix:ui] Added CSS for djang-allauth forms submit button.
- [fix:docs] Updated links to django documentation and other minor improvements to the docuemntation.
- Added quick link button to the dashboard chart and introduced option to filter queryset.
- Added the option to add dashboard templates after charts.
- Added retryable_request utility function for making HTTP requests with built-in retry logic.
- Added AutocompleteFilter to load filter data asynchronously.
- Added fallback fields
which returns the fallback value when the field is set to
None
. - Added CopyableFieldsAdmin which allows to set admin fields to be read-only and makes it easy to copy the fields contents.
- Added the SeleniumTestMixin for streamlined Selenium testing.
- Added the openwisp_utils.db.backends.spatialite database backend to implement a workaround for handling issue with sqlite 3.36 and spatialite 5.
- Added a page to display installed OpenWISP modules and system information.
- Added an optional feature for collecting usage metrics, utilizing Clean Insights.
- Allowed passing extra arguments to the Django
send_email
function, providing more flexibility in email handling. - Replaced the ReStructuredText check with
docstrfmt
, improving documentation formatting and validation.
Dependencies:
- Bumped
django-model-utils~=4.3.1
- Bumped
djangorestframework>=3.14,<3.15.2
- Bumped
django-filter~=23.2
- Bumped
drf-yasg~=1.21.7
- Bumped
celery~=5.3.0
- Bumped
black~=23.12.1
- Bumped
flake8~=7.1.0
- Bumped
isort~=5.13.2
- Bumped
coveralls~=4.0.1
- Bumped
selenium>=4.10,<4.24
- Added
django-admin-autocomplete-filter~=0.7.1
,urllib3>=2.0.0,<3.0.0
,tblib~=3.0.0
,selenium>=4.10,<4.24
, anddocstrfmt~=1.8.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
- Fixed the alert icon URL in the
HelpTextStackedInline
template
- Fixed importlib-metadata dependency, pinned it to
<5.0
. The newer versions of importlib-metadata breaks openwisp-utils on Python 3.7.
- Fixed django-fitler dependency, pinned it to
~=21.1
. Earlier, it was installing the latest version of django-filter.
- Fixed empty charts showing annotations from the previous chart
- Fixed dashboard template
extra_config
getting over-written when multiple dashboard templates are used - Fixed empty dashboard charts not displaying total as "0"
- Fixed
ImportError
in click dependency of black (updated black dependency toblack~=22.3.0
) - Fixed target link of pie charts which use group by queries
- Added customizable navigation menu
- Added horizontal filters
- Added customizable admin dashboard
- Added send_email function
- Added CompressStaticFilesStorage - a static storage backend for Django that also compresses static files
- Added AssertNumQueriesSubTestMixin
- Added HelpTextStackedInline admin class
- Added OpenwispCeleryTask - a custom celery task class
- Added support for linting CSS and JS in openwisp-qa-check
- Added support for formatting CSS and JS in openwisp-qa-format
- Added git pre-push hook
Dependencies:
- Bumped
django-model-utils~=4.2.0
- Bumped
black<=21.10b0
- Bumped
djangorestframework~=3.13.0
- Added
swapper~=1.3.0
,django-compress-staticfiles~=1.0.1b
andcelery~=5.2.3
- Added support for Django
3.2.x
and4.0.x
- Added support for Python
3.9
- Fixed checkcommit failing for trailing period (.) after closing keyword
- [fix] Added workaround for minification of browsable API view. Django-pipeline strips spaces from pre-formatted text on minifying HTML which destroys the representation of data on browsable API views. Added a workaround to restore presentation to original form using CSS.
- [fix] Fixed commit check for co-authored commits
- [change] Bind coveralls to 3.0.0
- [fix] Fixed menu height on long pages
- [change] Minor improvement to UI colors to improve readability
- [fix] Fixed bug in``openwisp_utils.admin.UUIDAdmin`` which caused the
removal of all the
readonly_fields
from the admin add page, now only theuuid
field is removed - [change] Changed commit check to allow commit messages from Dependabot
- [qa] Added a ReStructuredText syntax check (checkrst) to
openwisp-qa-check
, which allows to ensureREADME.rst
and other top level rst files do not contain syntax errors - [utils] Added register_menu_items to easily register menu items
- [tests] Added test utilities to capture output (e.g.: to make assertions on it): capture_stdout, capture_stderr, capture_any_output
- [utils] Removed deprecated openwisp-utils-qa-checks
- [admin] Hide menu options for unauthenticated users
- [admin] Fixed menu buttons being clicked on some sections of page when not visible
- [deps] Updated django-filter range: >=2.2.0<2.4.0
- [fix] Fixed commit message check when close/fix keyword is missing
- [change] Changed QA commit check prefix hint to mention conventional commit prefixes
- [fix] Commit check run only on Pull Request & workbench
- [deps] Added support for django 3.1
- [ux/admin-theme] Force z-index on main menu to stay on top
- [admin]
TestReadOnlyAdmin
: added support for exclude attribute
- [change] Changed QA checks to use isort~=5.0 instead of isort<=4.3; this will cause changes to the way the code is formatted
- Always execute
commitcheck
when run locally (on travis it will be run only in pull requests)
- [admin] Fixed a bug which caused some menu items to be shown also if the user did not have permission to view or edit them
- [qa] Fixed a regression which caused
commitcheck
to not be run on travis pull requests - [tests] Fixed
SITE_ID
in test project settings
- [feature] Added
TimeLoggingTestRunner
to detect slow tests - [fix] Admin-theme: ensure menu is above other CSS elements
- [fix] Removed
/tests
directory from python package
- [fix] Fix crash when pending migrations check fails
- [add] default_or_test function
- [add] Added deep_merge_dicts function
- [add] formatter: black<=19.10b0
- [add] OPENWISP_API_INFO setting
- [add][api] Require authentication for API docs if DEBUG is False
- [add][api] Implement ScopedRateThrottle by default
- [add][api] Introduced api.ApiAppConfig
- [add][rest] optional swagger API endpoints
- [add][rest] django-filter
- [docs] Re-ordered, added information and improved existing docs
- [update] Added support for flake8 flake8<=3.9
- [change] Renamed test_api to api for consistency
- [change] Rename openwisp-utils-qa-checks to openwisp-qa-check
- [change][api] Renamed /api/v1/swagger/ to /api/v1/docs/
- [improvement] Moved to importlib for Dependency loader & staticfiles for importing files
- [improvement] Added "Related to #<issue>" for commit-check
- [enchancement] Added strict mode to run-qa-checks
- [admin-theme] Minor CSS improvements for login-form
- [tests] Added
catch_signal
test utility - [qa] Added
coveralls
(and hence coverage) toextra_requires['qa']
- [qa] Added merge cases to cases to skip in commit check
- [qa] Added
--force-checkcommit
argument to force message commit check
- [theme] Made it easier to customize theme
(
OPENWISP_ADMIN_THEME_LINKS
,``OPENWISP_ADMIN_THEME_JS``, andopenwisp_utils.admin_theme.context_processor.admin_theme_settings
)
- [utils] Added optional
receive_url_baseurl
andreceive_url_urlconf
toReceiveUrlAdmin
- [menu] Fixed JS error in popup pages (which have no header)
- [utils]
KeyField
now allows overrdingdefault
andvalidators
- Removed unwanted "Running" messages before some tests
- Added exception in checkcommit for pattern "^[A-Za-z0-9.]* release$'"
- Added utilities commonly used in other OpenWISP modules:
UUIDAdmin
,KeyField
,ReceiveUrlAdmin
,get_random_key
- Fixed a minor issue regarding a new line
\n
not being formatted properly inopenwisp-utils-qa-check
- Dropped support for python 2.7
- Added support for Django 3.0
- [change] Simplified implementation and usage of
OPENWISP_ADMIN_SITE_CLASS
- [feature] Added configurable
AdminSite
class andOPENWISP_ADMIN_SITE_CLASS
- [theme] Adapted theme to django 2.2
- [qa] openwisp-utils-qa-checks now runs all checks before failing
- [qa] Added support for multiple migration name check in openwisp-utils-qa-checks
- [qa] Added pending migrations check (
runcheckpendingmigrations
) to openwisp-utils-qa-checks
- Added
ReadOnlyAdmin
- Added
AlwaysHasChangedMixin
- Added
UUIDModel
- Moved multitenancy features to openwisp-users
- [qa] Added
checkendline
,checkmigrations
,checkcommit
, later integrated inopenwisp-utils-qa-checks
(corrected) - Added navigation menu
- Added configurable settings for admin headings
- dc977d2: [multitenancy] Avoid failure if org field not present
- #13: [DRF] Added
BaseSerializer
- #16: [qa] Added migration filename check
- babbd74:
[multitenancy] Added
MultitenantAdminMixin.multitenant_parent
- 6d45df5:
[qa] Pin down
flake8
andisort
inextra_requires['qa']
- [admin_theme] Added
submit_line.html
template
- renamed
MultitenantObjectFilter
toMultitenantRelatedOrgFilter
- made openwisp-users optional
- added
admin_theme
- added
MultitenantAdminMixin
andTestMultitenantAdminMixin
- added
MultitenantOrgFilter
andMultitenantObjectFilter
- added
TimeStampedEditableModel
andTimeReadonlyAdminMixin
- added
DependencyLoader
andDependencyFinder