-----------------
* Add `clear()` to SortedDict
* Add protect for form to generic AddView and EditView, default is enabled, so
user can't submit a form multiple times.
* Add `--blocks` parameter to `uliweb find -t templatefile --blocks`, it'll display
all blocks defined in template. With `--with-filename` will display template filename
also.
* ini replace variable will be moved to the end of section
* Add content-range support for filedown thanks to zhangchunlin
* Improve `import_attr()`, support pkg_resource entry point string format, 'module:object.attr'
* Add requirements.txt to uliweb.contrib.orm, install: SQLAlchemy, MySQL-python, alembic first
* Add logo files
* Fix find -t --blocks bug
* Add `DEBUG_TEMPLATE` option to settings/GLOBAL, if it's `True`, then all blocks in a template
will be surrounded by comment code just like:
<!-- BLOCK title (apps/theme/templates/theme/skeleton.html) -->
<!-- END title -->
But this output may breaks template output, so make sure you just use it in debug mode.
* Add `--color` option to runserver, default is False. The log output will be colored by default.
And you can change it in `[LOG.COLORS]`. Color supported is: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE.
* Add `config` command support. It'll create config file to console. You can also
define your own config file structure to support this command in apps. Just set `template_files/config`,
and write `xxxxx.conf` and even `xxxxx.ini`, in `xxxxx.ini` you can set variables
and default values which used in `xxxxx.conf`. So `xxxxx.conf` can have template
variables.
* Improve `support` command, also support file structure defined under apps.
* Fix template normcase bug, changed to normpath.
* Refactor ORM Reference, OneToOne, ManyToMany init process, it'll be lazy initialized, and
you should use get_model to get the Model. Because of lazy process, when two
Models are in same models.py, and they have relationship with them, the reversed
properties will not assigned to reference class like before, you should use
get_model to get those models.
* Make get_model() set_model() don't distinquish case
* Fix expose for two different view functions but with the same URL does not keep the last one bug
* Fix rabc init not using functions.has_role and functions.has_permission.
* Fix rules.py bug
* Fix rule process, add expose(replace, template) support
* Revert ORM.NULLABLE = True