- Dropped Python 2.7 support
- Added a paragraph and grapheme-aware text preview filter
- Fixed DateTimeField to handle a variety of date and time specifications
- Switched back to Flask-Babel
- Baseframe now uses
src
folder layout andpyproject.toml
- TinyMCE4 is now part of the repository as it's no longer available for download; other obsolete static files have been removed
- The JSON encoder has been replaced with a JSON provider for Flask >= 2.2
- Added a custom JSON encoder for lazy_gettext objects
- New AvailableAttr to check if a value can be assigned to a model's attribute
- Removed CsrfProtect support as it was user hostile and had been discontinued in all apps
- Changelog updates have been discontinued as this is now a living repo with no releases
- AllUrlsValid now takes custom messages and an invalid_urls list
- New ValidUrl validator for a single URL (takes the same parameters)
- New StylesheetField for CSS
- New FormField for fieldsets
- New UserSelectField and UserSelectMultiField for Lastuser autocomplete
- Revamped forms.html and autoform generator
- ValidEmailDomain validator is now ValidEmail and does syntax checks
- New NoObfuscatedEmail validator looks for obfuscated emails
- New FormGenerator constructs forms from field definitions
- New CoordinatesField renders a map marker drag widget, falling back to lat/lon text fields
- Codemirror is now an external dependency installed via Makefile
- New RadioMatrixField for a table of fields and choices
- New InlineListWidget to list radio options inline
- Added ParsleyJS validation and reorganized forms to be more modular
- Added app-global CSRF protection (optional) and removed Mustache dependency
- Added
firstline
filter to extract first line of text from a HTML block OptionalIf
andOptionalIfNot
validators- Added new networkbar for use in Hasjob and Funnel
- Replace
csrf_form
in template context withcsrf_token
, regardless of whether global CSRF is enabled - Optional support for Flask-DebugToolbar and LineProfiler extension
- SelectField now supports optgroup grouping
- Comparison validators to complement
EqualTo
with>
,>=
,<
,<=
,!=
- DateTimeField's timezone parameter now defaults to user timezone, not UTC
- New form filters to replace the (overloaded) use of validators to filter
- Added Bootstrap 3
- Added Mustache templating support
- Added a responsive networkbar for Bootstrap 3-based websites
- Reorganized forms into sub-modules
- Added Pygments syntax highlighting
- Removed baseframe.sqlalchemy. Use coaster.db now
- Switched default font from Open Sans to Source Sans Pro for the lower x-height, thereby improving the visible line height
- Fixed timezone handling in DateTimeField
- Support for external assets via the cookiefree server
- Removed local copies of Lato and Source Sans Pro fonts
- Upgraded to TinyMCE 4 and Font Awesome 4.2, with older versions stil in assets
- Mandatory cache provisioning for all apps using Flask-Cache
- i18n support via Flask-BabelEx for all apps
- Cached networkbar rendering to ensure all apps update networkbar together
- ValidEmailDomain validator for forms
- Assets: Dropzone, picturefill
- Template filters: usessl, nossl
- Template filters: age
- forms.render_delete_sqla takes a cancel_url and handles HTTP DELETE requests
- New NETWORKBAR_DATA config variable to load networkbar links
- Organizations dropdown in networkbar
- Meta Referrer header
- Font-Awesome 3.1.1
- assetenv, bundle_js and bundle_css parameters to baseframe.init_app
- select2 activation can now be disabled with "notselect" class
- New HiddenMultiSelect field in forms for customized form widgets with comma-separated data
- Added BSD license
- Moved static path to /_baseframe to avoid namespace clashes with /<profile>
- Many stylesheet changes; JS lib defaults
- DateTimeField is now timezone aware
- Switched from chosen.js to select2.js
- Added documentation
- Switched default font from Lato to Open Sans
- Added JS for timezone detection
- Added many optional JS assets
- Added root block to baseframe.html that can be overriden by templates
- Upgraded to FontAwesome 3.0 with many new icons
- Switched to Google Closure JS minifier for better compression than JSMin
- Semantically versioned assets, with unversioned assets moved into deprecated.py
- Incompatible API change for RichTextField to allow setting any TinyMCE option
- Optional baseframe.sqlalchemy provides a Flask-SQLALchemy SQLAlchemy() object for use by blueprint-based apps
- Toastr messages can now be included via a JS include in the footer to
- prevent them from showing again on back/front navigation
- New logo and header blocks in the layout
- Giving up on having a perfect typographic grid. It's not possible on the web
- New
<span class="icon-*">
for use in menus with long lines that may wrap
- Added optional mousetrap js for keyboard control
- Added optional toastr js for floating notifications
- Minor style tweaks
- Modernizr build with more features
- Limit automatic tab selection to .nav-tabs-auto
- linkify and rel=nofollow on links are now optional in RichTextField
- Many changes since 0.1. See git commit history for details
- First version