All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- add admin theme
- use passlib hash method instead of deprecated encrypt method
- update tests and pipelines to remove deprecated calls
- add ability to run test pipelines locally in docker
- improve wait logic in webtests
- add basic support for tabulator
- add support for HTTP_X_REAL_IP
- adjust for MutableSet changes
- add support for MySQL 8.4
- ignore extraneous vscode triggered updates in watched directory
- add support for mp4 responses
- add support for zoneinfo in Python 3.9+
- add site timezone attribute
- add site time zone auto adjustments
- recongize fa prefix as fontawesome icons
- add config menu
- add app badges
- wrap alerts in div
- change title bar to use css grid
- adjust PyMySQL requirement version
- add live reload development server
- add class names to menu items
- add app class name to admin apps view
- library requirement updates
- add support for custom MySQL port
- supress autocomplete by default on date fields
- add Group methods to get subgroups and supergroups
- limit path column being inserted to size of column
- add top level db function
- add request environment variables to admin environment view
- add audit logging to Group add_user method
- add Group remove_user method
- add quiet logging completion of ajax requests
- update admin overview to use quiet logging
- add support for multiple groups in User.is_member
- speed up admin index page
- add message id and date to email headers
- produce page title when search is empty
- use content template by default for content pages
- fix images manager of content app
- refactor module loading for Python 3.9
- promote locate_user to top level function
- refactor and enhance icons app
- add new standard apps location to apps paths
- add support for multiple values in table find parameters
- add support for 'limit' clause in RecordStore
- fix assign method for FilesField to handle single files
- add missing multipart for method to FilesField
- refactor profiler middleware
- add html.code
- handle config file read errors
- add error page for unauthorized access status 403
- fix bug causing background process crash
- add db Result value property
- add db Result map function
- add FilesField
- set crsf token lifespan to session
- add additional chromedriver options to stabilize automated testing
- add stop impersonation support for sessions with user override
- add error log entry for low level errors
- allow packages to be included before an app has been loaded
- add support for bootstrap icons
- add app.theme_path member
- add load_component and get_components functions
- add support for http HEAD method
- fix dropzone component
- add support for Windows username domains in impersonation
- set app theme to site theme if not specified
- autofocus on username on login
- add support for HTTP HEAD method
- promote link_to_page to top level
- add online users metric to admin app
- improve performance of admin app
- add changelog page to admin app
- show 14 days as 2 weeks in how_long function
- use webdriver find_element instead of legacy methods
- add set method to Record, RecordStore and EntityStore
- fix bug in get_user()
- add tab_title helper
- add 500 error template
- add created_by and updated_by to records created by User.add method
- add purge_old_job_results function
- fix bug in IntegerField zero values
- add get_users and locate_user
- add SameSite cookie morsel
- add installed path to admin environment info page
- add support for custom themed email templates
- add ability to test email attachments in admin app
- make send_as use passed sender
- add links to paths in admin app
- remove use of fstrings to maintain v3.5 compatibility
- minor tweaks for custom collections
- return status 500 for application exceptions
- add get_db function
- add set_site function
- increase size of group name column
- increase size of audit_log app name column
- add key parameter to get_user to get specific users
- use locate for user operations to accomodate morphed usernames
- update tests to run against python 3.8 and 3.9
- add collection_of
- add users.can
- add uuid to browse table
- add name parameter to store_of
- trap NameError when logging database close at shutdown
- add api module
- add support for nested Record attributes
- provide more informative template rendering messages
- add support for date and datetime in sqltools query builder
- fix bug in migration revert logging
- add missing jquery requirement for datatables package
- fix bug in collection preventing image deletion in record stores
- fix bug in number field validator
- escape reserved words in store find methods
- render CheckboxField inputs with unique ids
- set database logging off by default
- make how_log_ago work with dates and datetimes
- improve formatting of id columns in printed output
- fix bug in database.execute_many when passed single dict arg
- add support for select elements in web tests
- use default theme as fallback for get_template
- update pivottable data serialization and styling
- refactor Metric widget
- add support for bootstrap 4.5 pulldowns in system menu
- add profile app
- add site.system property and system helper tag
- fix json iso date encoding bug
- add email template support
- add TimezoneField
- update bcrypt support to latest
- add partial response
- add cards
- add progress widget
- add metric widget
- update chosen package to latest version 1.8.7
- return str responses as content in a page
- return Component responses as content in a page
- return dict responses as JSONResponse
- add pytz requirement for timezone support
- add order_by support for RecordStore
- adjust ID format in browse
- Fix bug in url constructor for login redirects
- Add login page template support
- Add level to how_long formatter
- Add auto pug and sass compilation to DynamicComponents
- Add apps_menu helper
- Add support for Widgets
- Refine collection styling
- Add app boilerplate
- Add DynamicComponent
- Add metadata to content overview
- Replace px with rem in default theme
- Update display of configuration settings in admin app
- Automatically fallback to default theme if specified theme is missing
- Add user impersonation
- Add support for sass response type
- Move default instance into _assets
- Add more detailed audit logging
- Add pug content rendering
- Add libsass support
- Add support for email addresses as usernames
- Add screenshot artifact saving for tests
- Add callable app menus
- Tighten up CLI
- Add support for timedetla formatting
- Fix PyPi build
- Add zoom init to CLI
- Add support for more form attribute overrides
- Bundle fontawesome4
- Add ztag helper
- Add background processing
- Enable reading of JSON request bodies
- Add support for pip install
- Refactor and enhance CLI
- Add ability to for pages to accept multiple content items
- Add database information page to admin app
- Add confirmation emails to register app
- Add snippets
- Add support for including templates from app specific themes.
- Add content comments for missing template includes.
- Add support for WOFF2 static repsonses.
- Add db.database property.
- Add configuration options for profiler.
- Promote DynamicView to top level class.
- Add ability to support both helper tags and python format tags in templates.
- This CHANGELOG file.
- First official tagged release
- Python 3 only
- MySQL / MariaDB support
- Linux / Mac / Windows
- some modules ported from DataZoomer (https://github.com/dsilabs/datazoomer) which is considered the predecessor to Zoom.