forked from emmett-framework/emmett
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGES
217 lines (182 loc) · 8.14 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
weppy changelog
===============
Next
----
(Release date to be announced, codename to be selected)
- Several bugfixes
- Moved routing handlers and helpers to pipeline logic
- Added support for app modules nesting and inheritance
- Added lambda notation to `Set.where` when involving just one model
- Rewritten `rowattr` and `rowmethod` injection logic
- Removed `bind_to_model` option from `rowattr` and `rowmethod`
- Optimized rows parsing in ORM adapters
- Improved caching techniques on selected records relations
- Added automatic casting of route variables
- Added support for float variable rules in routes
- Deprecated `dal` module in favour of `orm`
- Added support for multiple paths in routes
- Enhanced wsgi request handling performance
- Added `handle_static` boolean option to `App.config`
- Enhanced language recognition from Accept-Language header
- Optimized translator initialization
- Added `now` attribute and global method which returns `request.now` or
`datetime.now` when request context is missing
- Added access to computed values within insert and update callbaks
- Deprecated `Model.form_rw` in favour of `Model.fields_rw`
- Optimized json and xml serializers, added optional `json_safe` serializer
for old behavior
- Added `__json__` and `__xml__` methods handling in serializers for custom
objects serialization
- Added `headers` attribute to `Request`
- Replaced udatetime dependency with pendulum
- `weppy.globals.now`, `isDatetime` validator and date route variables are now
`Pendulum` objects
- Added support for additional separators apart from '/' between route
variables route definitions
- Removed `extension` parameter in `url`
- Added `anchor` parameter in `url`
- Deprecated `tags` module in favour of `html`
- Optimized escaping code for html components
- Optimized templates caching
- Lightened the request flow
- Added signals to extensions
- Added application's defined commands in cli help listing
- Enhanced the json validator
- Refactored the `tools.mailer` module
- Refactored the `tools.auth` module
Version 0.8
-----------
Released on October 31st 2016, codename Hadar
- Several bugfixes
- Added readable fields handling in forms
- Enhanced HTTP errors on streaming
- Improved templater performance
- Added `dbset` option to `in` validator
- Ensuring `unique` validation is performed also without forms
- Better implementation for nested selection when using `join` and `including`
- Updated router to allow routes override
- Changed default serialization and validation of `datetime` fields to respect
RFC3339 standard
- Updated postgres default adapters to latest available from pyDAL
- Changed `has_one` attributes when using `join` and `including`
to not be lists
- Added support for 'bigint' fields in the migrator
Version 0.7
-----------
Released on June 7th 2016, codename Girtab
- Changed CLI 'shell' command to loads the entire application context
- Added `scope` option to `has_one` and `has_many` relations
- Added `where` option to `has_one` and `has_many` relations
- `@computation` and callbacks helpers now keep definition order
- Allow usage of `has_one` and `has_many` helpers as decorators to customize
relations' sets generation
- Added default configuration for extensions
- Added `Model.new` method
- Added databse indexing support
- Added default validation for 'password' fields
- Added CLI 'routes' command
- Deprecated `@computation`, `@virtualfield` and `@fieldmethod` in favor of
`@compute`, `@rowattr` and `@rowmethod`
- Updated `current_model_only` parameter of `@virtualfield` and `@fieldmethod`
to `bind_to_model` in `@rowattr` and `@rowmethod`
Version 0.6
-----------
Released on January 25th 2016, codename Fornacis
- Several bugfixes
- Added `remove` method to `HasManySet` and `HasManyViaSet`
- Common handlers and helpers are now accessible via application object
- Introduced scopes in models
- Template reloader now checks also `include` and `extend` blocks
- Deprecated `expose()` in favor of `route()`
- Implemented `join` method on `Set`
- Reviewed `Auth` actions depending on user status
- Added support facilities to `Auth` in order to manage user status
- Implemented support for custom naming on `has_many`
- Added `current_model_only` option to `virtualfield` and `fieldmethod`
decorators, default changed to `True`
- Introduced testing suite for applications
- Added `language` option to `url()`
- Implemented user status resync with database in `Auth` handler
- Implemented `refers_to` in dal apis
- Added 'self' keyword for self-relations in dal
- Changed `has_one` return value to `Set` in order to avoid n+1 queries
- Added `pagination` and `including` options to `Set.select()`
- Caching resultsets on `has_one` and `has_many` realtions calls for select
- Added `where`, `all`, `first`, `last` and `get` methods to `Model`
- Changed `add` method of `HasManySet` and `HasManyViaSet`
- Added `create` method to `HasOneSet`, `HasManySet` and `HasManyViaSet`
- Added `clear` method to session handlers for bulk invalidation
- Implemented a revision based migration engine on the database layer
- Deprecated `Request.vars`, `Request.get_vars` and `Request.post_vars` in
favor of `Request.params`, `Request.query_params` and `Request.body_params`
- Deprecated `Form.vars` and `Form.input_vars` in favor of `Form.params` and
`Form.input_params`
- Deprecated `url(vars={})` in favor of `url(params={})`
Version 0.5
-----------
Released on October 2nd 2015, codename Elnath
- Introduced python 3 support
- Introduced multiple inheritance support on `Model` class
- Added optional keyed arguments support to `HasManyViaSet.add` for additional
columns on join tables
- Minor bugfixes
Version 0.4
-----------
Released on August 3rd 2015, codename Deneb
- Intruduced a real ORM inside weppy:
- Consequent new features:
- `belongs_to`, `has_one` and `has_many` apis for relations
- Automatic joins of attributes defined with new apis
- Cleaner `Model` definition syntax
- New naming convention based on singular for model and plural for tables
- Automatic tablenames based on `Model` classes' names
- Consequent changes:
- Fields are now defined as attributes of `Model`
- Some `Field` types are now procesed also considering the pythonic naming
('integer' -> 'int', 'boolean' -> 'bool')
- `Field` class doesn't accept 'name' (first) parameter anymore
- `Model.entity` is now the more correct `Model.table`
- `Form` and `DALForm` classes now accepts dictionaries of fields
instead of lists
- `Auth` module has tablenames changed to new naming convention
- Completely refactored validators
- Introduced new validation syntax using dictionaries
- `Auth` now includes virtualfields on session `user` object
- Dropped python 2.6.x support
- Bugfixes in forms
- Refactored `Auth` module
- Added `body` parameter to `abort` helper (optional)
- Updated jQuery to v1.11.3
Version 0.3
-----------
Released on April 1st 2015, codename Caph
- Various bugfixes
- Implemented streaming of pyDAL 'blob' fields
- Better implementation of `@virtualfield` and `@fieldmethod`
- Added caching system to templates
- Added auto-reloader for builtin wsgi server
- Added `on_end` method to `Handler` class
- Updated jQuery to v1.11.2
Version 0.2
-----------
Released on February 11th 2015, codename Bellatrix
- Several bugfixes
- JSON body parsing for incoming requests with POST method and 'application/
json' headers
- `widget_select()` in forms use `represent` attribute of fields to render
values
- Moved `Storage` class to new `sdict` one
- Using pyDAL instead of a separated fork inside code
- Unified `DAL`/`ModelsDAL` and `Auth`/`ModelsAuth` into new `DAL` and `Auth`
- `Model` class now has only one `setup` method instead of the old unnecessary
list of `set_` methods
- Updated validators nomenclature to "camelcase"
- `stream_file()` in helpers now accept a path relative to application, the old
one is now renamed in the more consistent `stream_dbfile()`
- Added `SessionFSManager` to store sessions' data on filesystem
- `Model` class inherits fields and properties on subclassing
- Added `service.xml` method to serve xml contents
Version 0.1
-----------
Released on October 21st 2014, codename Altair
First public preview release.