Work in progress.
- Temporarily pinned drf-yasg to 1.21.11 #565
- Fixed releaser to only commit tracked files #552
- Releaser: Fixed insertion of backported bugfix entries in ReST changelog #532
- Added guided release tool.
- Added retry mechanism to SeleniumTestMixin #464.
- Enhanced
ValidatedModelSerializer: introducedexclude_validationand avoided setting many-to-many fields automatically. - Added reusable retry-command GitHub action.
- Made HTML template configurable in openwisp_utils.admin_theme.email.send_email..
- Dropped support for OPENWISP_EMAIL_TEMPLATE setting #482.
- Moved theme color definitions in CSS to variables #487.
- Standardized code style by switching to Prettier for CSS and JavaScript linting #367.
- Added line-length enforcement to prettier.
- Unified Prettier checks into a single command; now includes YAML, Markdown, and JSON files.
- Updated UI of HTML email templates.
- Switched selenium browser tests to Firefox.
- Bumped
django-model-utils>=4.5,<5.1". - Bumped
swapper~=1.4.0. - Bumped
djangorestframework~=3.16.0. - Bumped
celery~=5.5.3. - Bumped
django-filter>=25.1,<26.0. - Bumped
black>=25.1,<25.10. - Bumped
flake8~=7.3.0. - Bumped
isort~=6.0.1. - Bumped
tblib~=3.1.0. - Bumped
docstrfmt~=1.11.1. - Bumped
selenium>=4.10,<4.36. - Added
channelsandchannels-testextra requires #388. - Removed
coverallsin favor ofcoveragepackage. - Added support for Django
5.x. - Dropped support for Django
3.2.0and Django4.1.0. - Added support for Python
3.11,3.12, and3.13. - Dropped support for Python
3.8.
- [fix:ui] Avoided JS error when menu is not displayed.
- [chores:ui] Removed border from submit and search buttons.
- [chores:ui] Updated "Apply filters" button to use standard styling.
- [chores:ui] Improved metric collection consent UI.
- [tests] Minor fixes for flaky tests and 1.1 branch CI testing.
- [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_emailfunction, 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.xand4.2.x - Added support for Python
3.10 - Dropped support for Python
3.7 - Dropped support for Django
3.0.xand3.1.x
- Fixed the alert icon URL in the
HelpTextStackedInlinetemplate
- 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_configgetting over-written when multiple dashboard templates are used - Fixed empty dashboard charts not displaying total as "0"
- Fixed
ImportErrorin 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.1bandcelery~=5.2.3 - Added support for Django
3.2.xand4.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_fieldsfrom the admin add page, now only theuuidfield 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.rstand 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
commitcheckwhen 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
commitcheckto not be run on travis pull requests - [tests] Fixed
SITE_IDin test project settings
- [feature] Added
TimeLoggingTestRunnerto detect slow tests - [fix] Admin-theme: ensure menu is above other CSS elements
- [fix] Removed
/testsdirectory 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_signaltest utility - [qa] Added
coveralls(and hence coverage) toextra_requires['qa'] - [qa] Added merge cases to cases to skip in commit check
- [qa] Added
--force-checkcommitargument 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_baseurlandreceive_url_urlconftoReceiveUrlAdmin - [menu] Fixed JS error in popup pages (which have no header)
- [utils]
KeyFieldnow allows overrdingdefaultandvalidators
- 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
\nnot 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
AdminSiteclass 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
flake8andisortinextra_requires['qa']
- [admin_theme] Added
submit_line.htmltemplate
- renamed
MultitenantObjectFiltertoMultitenantRelatedOrgFilter - made openwisp-users optional
- added
admin_theme - added
MultitenantAdminMixinandTestMultitenantAdminMixin - added
MultitenantOrgFilterandMultitenantObjectFilter - added
TimeStampedEditableModelandTimeReadonlyAdminMixin - added
DependencyLoaderandDependencyFinder