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

0.3.2+ (2017-03-24*)
-------------------
1. Changed default services mount point to `<app_name>/<fn_name>`;
2. Added Model decorator @serve, @serve_unprotected for default CRUD->api mappings;
3. Added @url support for Model;
4. Refined @serve* for Model (+paging, +filter/sort);
5. Added services.url(noprefix=False) in addition to services.urls for per app service registration;
6. Added dummy mongodb (pymongo) backend for using django.db.connections['mongo'] directly;
7. Added ?db='DB' in @serve(-ed apis) for multiple db selection support;
8. Changed relative @url services mount point to `<app_name>/<url>`; 

working on ...

- @methods to replace the need to use generic views in Django;
- @cors and CORS middleware (mode: all/regex, tagged-only);
- @Model.signals.event for faster signal hook-up with fn;
- @permissions (uri/model, object) and ModelObjectBackend auth backend, (link m-m [ObjectPermission, object.pk] to user/group as object_permissions);
- refine @serve* (read/create/delete/update by relation-set: /obj/id/related-obj/...);
- refine @serve* (+validation);
- api listing (view, templates and static);
- @case(in=.json, out=.json) (shortcut);
- [optional] @task (asgi channel_layer/workers), live result notify;
- [optional] @schedule(period=, retry=), this indicates it is a @task;

<commit_msg>Updated todo in CHANGELOG.md;<commit_after>Change Log
==========

0.3.2+ (2017-03-24*)
-------------------
1. Changed default services mount point to `<app_name>/<fn_name>`;
2. Added Model decorator @serve, @serve_unprotected for default CRUD->api mappings;
3. Added @url support for Model;
4. Refined @serve* for Model (+paging, +filter/sort);
5. Added services.url(noprefix=False) in addition to services.urls for per app service registration;
6. Added dummy mongodb (pymongo) backend for using django.db.connections['mongo'] directly;
7. Added ?db='DB' in @serve(-ed apis) for multiple db selection support;
8. Changed relative @url services mount point to `<app_name>/<url>`; 

working on ...

- @methods to replace the need to use generic views in Django;
- @cors and CORS middleware (mode: all/regex, tagged-only);
- @Model.signals.event for faster signal hook-up with fn;
- @permissions (uri/model, object) and ModelObjectBackend auth backend, (link m-m [ObjectPermission, object.pk] to user/group as object_permissions);
- refine @serve* (+validation);
- api listing (view, templates and static);
- @case(in=.json, out=.json) (shortcut);
- [optional] @task (asgi channel_layer/workers), live result notify;
- [optional] @schedule(period=, retry=), this indicates it is a @task;


{'fraction_non_alphanumeric': 0.1500945179584121, 'fraction_numerical': 0.014366729678638942, 'mean_word_length': 4.501039501039501, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '167810', 'n_tokens_mistral': 851, 'n_tokens_neox': 807, 'n_words': 303}