<commit_before>=====================
Uliweb Change Log
=====================

0.1.3 Version
-----------------

#. Fix loadtable bug for PickleType type, using inspecttable instead, so
   PickleyType will be BLOB type.
#. Improve template process:

    #. Add ``#uliweb-template-tag:<begin_tag>,<end_tag><newline>`` process to template
       file, and you can also pass ``begin_tag`` and ``end_tag`` to Template, and
       ``template_file()`` or ``template()``
    #. Add ``[TEMPLATE_PROCESSOR]`` section to ``default_settings.ini``, so that user
       can setup his own template processor, the option will look like::
    
            angularjs_template = {'file_exts':['.ahtml'], 
                'processor':'uliweb.core.template.template_file', 
                'args':{}}
                
       * the key is not very important, but you should keep it unique
       * ``file_exts`` will be the file extensions, it's a list, so the 
         processor can match multiple filenames
       * ``processor`` will be the path of template function, uliweb will
         import it when needed
       * ``args`` will be a dict, and it will be passed to template function
    #. Add ``BEGIN_TAG`` and ``END_TAG`` to settings.ini, so user can change
       default tag name from ``{{`` and ``}}`` to other strings. But this 
       appoach will effect globally, so if you are using other apps with
       templates which using old tag strings, will cause errors. So using
       ``#uliweb-template-tag`` or ``TEMPLATE_PROCESSOR`` maybe the good way,
       but you still need to set it in template file or set ``response.template``
       with other template extension, because the defult template file extension
       is ``.html``. For example::
    
            def index():
                response.template = 'index.ahtml'
                return {}
       
       Above code will override the default template filename from ``index.html``
       to ``index.ahtml``.
#. Add Redirect support. Redirect is an exception, and also add Redirect support
   in middle_session. Because Redirect is an exception, so it'll implement process_exception
   and save the session also.
#. Fix generic.py fields_convert_map initialization bug
#. Fix template get_text() bug, add inherit_tags parameter to it, and if it's False,
   will use default begin and end tag string.
#. Fix file_serving.download() for Chinese characters bug.
#. Change the order of creating table colums according the definition of Model
#. Fix pyini/uni_prt bug. And change _uni_prt to uni_prt.
#. Add object() to ListView

0.1.2 Version
-----------------

#. Fix permission tag, and change PERMISSION definitions in settings.ini, now the 
   PERMISSION definition can use dict datatype, just like::

    [PERMISSION]
    PERM = {'name':'PERM', 'roles':['a', 'b'], 'description':'PERM}

   and with this method, you don't need to define ROLES_PERMISSIONS section
#. Add TransactionMiddle as default settings in ORM settings.ini. By default, if 
   you add 'uliweb.contrib.orm', the transaction middleware will automatically 
   enabled. In the previous version, you should add this middleware yourself.
#. Add app arguments to exportstatic command
#. Remove --with-static option of export command, so default behavior is export
   static folder
#. Fix default file_serving process, add x_filename process, in order to make
   alt filename support processing correctly.
#. Add -m option to find command, so you can use::

    uliweb find -m model_name
    
   to find the model is defined in which model
#. Add manytomany parameter to Model.delete() function, so it'll automatically 
   delete manytomany relationships.
#. Add tables app to uliweb.
#. Add GenericReference and GenericRalation support
#. Add BigIntegerProperty support, the shorthand is Field(BIGINT)
#. Add __pk_type__ variable, current is 'int', others will be 'biginteger',
   you can use set_pk_type(name) to switch it, also add PKTYPE() function, you
   can use Field(PKTYPE()) to create ForeignKey Property according the option,
   in web project, you can swith it via ORM/PK_TYPE 
#. Add delete_fieldname parameter to Model.delete(), so if you pass True, it'll
   assume the delete_fieldname is 'deleted', and if you pass real field_name it'll
   use it directly. This way will not delete the record at all, just change the 
   delete_fieldname value from False to True.
#. Fix RemoteField default datatype as int and default value is None.
#. Refactor the ReferenceProperty datatype process.
#. Add _class and id parameter to Form, and fix form_class process
#. Refactor template, add BaseBlockNode class, and add end() process for block type node.

0.1.1 Version
-----------------

#. Add BAE(Baidu Application Engine) and Heroku support

0.0.1 Version
-----------------

#. Support i18n language setting key in query_string, and you can also configure
   keyword in settings.ini.<commit_msg>ready to release 0.1.3<commit_after>=====================
Uliweb Change Log
=====================

0.1.3 Version
-----------------

#. Fix loadtable bug for PickleType type, using inspecttable instead, so
   PickleyType will be BLOB type.
#. Improve template process:

    #. Add ``#uliweb-template-tag:<begin_tag>,<end_tag><newline>`` process to template
       file, and you can also pass ``begin_tag`` and ``end_tag`` to Template, and
       ``template_file()`` or ``template()``
    #. Add ``[TEMPLATE_PROCESSOR]`` section to ``default_settings.ini``, so that user
       can setup his own template processor, the option will look like::
    
            angularjs_template = {'file_exts':['.ahtml'], 
                'processor':'uliweb.core.template.template_file', 
                'args':{}}
                
       * the key is not very important, but you should keep it unique
       * ``file_exts`` will be the file extensions, it's a list, so the 
         processor can match multiple filenames
       * ``processor`` will be the path of template function, uliweb will
         import it when needed
       * ``args`` will be a dict, and it will be passed to template function
    #. Add ``BEGIN_TAG`` and ``END_TAG`` to settings.ini, so user can change
       default tag name from ``{{`` and ``}}`` to other strings. But this 
       appoach will effect globally, so if you are using other apps with
       templates which using old tag strings, will cause errors. So using
       ``#uliweb-template-tag`` or ``TEMPLATE_PROCESSOR`` maybe the good way,
       but you still need to set it in template file or set ``response.template``
       with other template extension, because the defult template file extension
       is ``.html``. For example::
    
            def index():
                response.template = 'index.ahtml'
                return {}
       
       Above code will override the default template filename from ``index.html``
       to ``index.ahtml``.
#. Add Redirect support. Redirect is an exception, and also add Redirect support
   in middle_session. Because Redirect is an exception, so it'll implement process_exception
   and save the session also.
#. Fix generic.py fields_convert_map initialization bug
#. Fix template get_text() bug, add inherit_tags parameter to it, and if it's False,
   will use default begin and end tag string.
#. Fix file_serving.download() for Chinese characters bug.
#. Change the order of creating table colums according the definition of Model
#. Fix pyini/uni_prt bug. And change _uni_prt to uni_prt.
#. Add object() to ListView
#. Upgrade pysimplesoap to 1.05a

0.1.2 Version
-----------------

#. Fix permission tag, and change PERMISSION definitions in settings.ini, now the 
   PERMISSION definition can use dict datatype, just like::

    [PERMISSION]
    PERM = {'name':'PERM', 'roles':['a', 'b'], 'description':'PERM}

   and with this method, you don't need to define ROLES_PERMISSIONS section
#. Add TransactionMiddle as default settings in ORM settings.ini. By default, if 
   you add 'uliweb.contrib.orm', the transaction middleware will automatically 
   enabled. In the previous version, you should add this middleware yourself.
#. Add app arguments to exportstatic command
#. Remove --with-static option of export command, so default behavior is export
   static folder
#. Fix default file_serving process, add x_filename process, in order to make
   alt filename support processing correctly.
#. Add -m option to find command, so you can use::

    uliweb find -m model_name
    
   to find the model is defined in which model
#. Add manytomany parameter to Model.delete() function, so it'll automatically 
   delete manytomany relationships.
#. Add tables app to uliweb.
#. Add GenericReference and GenericRalation support
#. Add BigIntegerProperty support, the shorthand is Field(BIGINT)
#. Add __pk_type__ variable, current is 'int', others will be 'biginteger',
   you can use set_pk_type(name) to switch it, also add PKTYPE() function, you
   can use Field(PKTYPE()) to create ForeignKey Property according the option,
   in web project, you can swith it via ORM/PK_TYPE 
#. Add delete_fieldname parameter to Model.delete(), so if you pass True, it'll
   assume the delete_fieldname is 'deleted', and if you pass real field_name it'll
   use it directly. This way will not delete the record at all, just change the 
   delete_fieldname value from False to True.
#. Fix RemoteField default datatype as int and default value is None.
#. Refactor the ReferenceProperty datatype process.
#. Add _class and id parameter to Form, and fix form_class process
#. Refactor template, add BaseBlockNode class, and add end() process for block type node.

0.1.1 Version
-----------------

#. Add BAE(Baidu Application Engine) and Heroku support

0.0.1 Version
-----------------

#. Support i18n language setting key in query_string, and you can also configure
   keyword in settings.ini.
{'fraction_non_alphanumeric': 0.10038414880711687, 'fraction_numerical': 0.0034371209057824505, 'mean_word_length': 3.1937261551504874, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6364351', 'n_tokens_mistral': 2698, 'n_tokens_neox': 2557, 'n_words': 1218}