A list of per-release changes in the Tangelo codebase. Tangelo uses semantic versioning.
- Traceback is logged when a service module can't be imported
- Improvements to release cycle documentation
- Configuration parameter for
$.controlPanel
to set height of open panel explicitly - Documentation has an explicit "hello world" example in the Quick Start section
- Quiet option reduces verbosity
- "Watch" plugin controls whether services and dependent modules are automatically reloaded when they change
tangelo.ensurePlugin()
function that avoids JavaScript parsing problems- Service functions
tangelo.redirect()
andtangelo.internal_redirect()
to allow services to redirect to other resources - Service function
tangelo.file()
to serve arbitrary files - Configuration file takes CherryPy configuration options to apply at startup in
server_settings
property tangelo.util.set_server_setting()
can be used to update CherryPy settings at runtime
- Documentation introduction is more focused; tutorials are more front-and-center
- Updated bundled version of GeoJS
- Support Travis containers for better automated testing
- Verbose option can be specified multiple times to increase application verbosity
--config
option can now accept either a YAML filename or a raw JSON string- Tangelo no longer automatically reloads changed service modules, unless the
--watch
option is specified to load the new watch plugin - Bundled Mongo plugin updated to use PyMongo 3.2
tangelo.getPlugin()
- usetangelo.ensurePlugin()
instead
- "System Architecture" section in README
tangelo.paths(".")
hack no longer necessary to import modules in same directory as service- Persistent store no longer cleared when reloading service
- Verbose option (
-v
) properly increases application verbosity - Plugins are now imported using the
imp
module, eliminating some spurious error messages
Server
response header now reads "Tangelo" instead of "CherryPy" with a version string- Runtime exceptions no longer send tracebacks to the client; instead, an error report code is sent, which can be matched up to a traceback appearing in the server log
- This change log file
- Improvements to style testing
- Improvements to coverage testing
- Serverside and command line version tests
- New security features: by default Tangelo no longer serves directory contents, Python source code, and web service configuration files
--examples
flag causes example applications to be served; default web root is now.
(i.e. directory from which Tangelo was invoked)- SQLAlchemy-based visualization tutorial
- Plugins can now be specified without a path, causing Tangelo to look for a bundled plugin of that name
- New
tangelo-pkgdata
executable reports filesystem path to Tangelo package data
- Cross-platform generation of
tangelo
andtangelo-passwd
executable files (tested on Linux, Windows, and OS X) - Loosened dependency requirement on CherryPy
- System path is no longer modified to make service module available to import system; instead, the current working directory is changed to that of the service file
- Configuration file is now typechecked at load time, including reporting of unexpected options, with errors resulting in fail-fast
- Plugins are now specified in the
plugins
entry of the main configuration file - Plugins no longer require an
enabled
property; all plugins listed in the configuration file will be loaded - Build process uses
setuptools
instead ofdistutils
- Example webpage and bundled plugins are now treated as package data (i.e.,
stored directly in
site-packages
, etc.)
- Service of web content from home directories
tangelo.abspath()
- web services should instead usetangelo.server.analyze_url()
to learn the disk path for a given web resourcesystemd
support materials, as well as plans to provide other system service helpers
tangelo.plugin_config()
works- Python module path behaves correctly in plugin web directories
tangelo.server.analyze()
works better, especially for plugin development- Informational log output now goes unilaterally to
sys.stderr
while access logs go tosys.stdout
- Nodelink example fixed so that contents are visible
- Search logic for default examples no longer fails on certain systems
This release breaks backward compatibility with Tangelo 0.7 and previous. Future releases will be described in this file as a change log against previous releases, with 0.8 being the earliest such documented point.
- Plugin system
- Assorted API functions
- Assorted API functions
- Assorted API functions