Changelog¶
Version 2.2.0¶
- ferris.core.memcache has been replaced by Caching.
- plugins.service_account has been moved into ferris.core.oauth2.
- The Cache component has been renamed to EdgeCache.
- CSRF component added.
- The email sender setting is optional, if not specified a sane default will be used.
- Cloud Storage is now the default target for uploads made using the Uploads & Downloads.
- The utils.zip has been removed and its functionality absorbed into core. Most of these were not user-facing and only used internally in ferris.
- Various bugfixes have been made to the settings plugins.
- The OAuth2 Service Account plugin has been moved into the core.
- The Google API Helper has been added.
- The Mail utilities now expose a way to send both an html and plaintext body in an email.
Migration from 2.1.0¶
- Update the ferris, packages, and plugins directory.
- Remove the service_account plugin.
- Replace all usage of ferris.core.memcache with the new ferris.core.caching.
- Replace all usage of the cache component with the new edge cache component.
- Replace all usage of the service account plugin with the version in core.oauth2.
- (optionally) upgrade any google api integrations to use the new api helper.
Version 2.1.0¶
- The template debugger has been removed.
- Various style (pep8) errors fixed.
- Added the ability to get cloud storage information from uploads, see Uploads & Downloads.
- Settings API overhaul. See Settings.
- GeoPtProperties now correctly translated when using wtforms.
- Fixed error with /_ah/warmup requests always failing.
- Added the ability to return a response from an authorization chain.
- Search now correctly indexes repeated properties.
- OAuth2 service accounts are now backed by datastore storage so they do not refresh the access token too frequently.
- OAuth2 integration now uses the (new) ndb utilies built in to oauth2client.
- The path-patching code has been moved into ferris/fix_imports.py and is now loaded directly by appengine_config.py.
Migration from 2.0.x¶
- Update the ferris, packages, and plugins directory.
- Update /main.py, remove /fix_imports.py, add /appengine_config.py.
- Carefully update /app.yaml being sure to preserve the application id and version as well as any custom handlers.
- Translate existing app settings from /settings.py to the new format in /app/settings.py. See Settings. Remove /settings.py.
- Make sure any additional settings classes in your custom plugins are imported into /app/settings.py.
- Remove any references in your template to “elements/debug/toolbox.html”.
Version 2.0.1¶
2.0.1 is a patch release and is thus backwards-compatible with 2.0.0. No migration should be needed.
- Fixing issue where value formatter did not work for repeated keys.
- 400/500 errors now return JSON when using the messaging API.
- Fixing issue where oauth2 credentials could be duplicated.
- Added priority events (no surface API change).
- Updating third-party packages
- Removed gaepytz in favor of the maintained pytz-appengine
- Adding default tabindex to form fields.
- Moved all testing tools to ferrinose and made aliases to ensure backwards-compatibility.
- Added the download controller, see Uploads & Downloads.
Version 2.0.0¶
- Major overhaul of the controller part of Ferris’ MVC. We’ve wholesale replaced handlers with the new Controllers.
- Third-party packages have been updated to newer versions.
- New admin layout.
- Bootstrap updated from 2 to 3.
- Scaffolding has been completely re-done. It’s now a component and doesn’t involve magic to make it work.
- New scaffold views.
- EasyHandler has been removed. With the new scaffold it’s very easily to replicate its functionality.
- Template tester plugin as been removed.
- Scaffold only supports urlsafe keys, no more direct support for IDs.
- New Cache component.
- Memcache utilties have been improved for usability.
- Protorpc Messages integration for REST APIs.
- Search API integration.
- Value formatters for pretty-printing in templates.
- Request parsers for a unified API for processing Forms and Messages.
- Response handlers to transform return values into responses.
- View classes to help generate complex responses.
- Test runner has been broken out into Ferrisnose.
- Pagination overhauled with better support for tracking cursors.
- TinyMCE has been removed (a seperate repository called ferris-fancy-forms is available).
- Template events
- Authorization chains
- Removing our custom wtforms.appengine.ext.ndb module in favor of the built-in wtforms one.
- Mail component removed, use ferris.core.mail instead.
- app.yaml cleanup, Ferris is now included into app.yaml.
- Custom app for handling deferred tasks, prevents import errors.
- Plugin to manage OAuth2 service accounts.
- JSON component removed in favor of Messages.
- Higher test coverage.
- Fixing various memory leaks.
- Various bug fixes.