9
9
Download-URL: https://launchpad.net/lazr.restful/+download
11
This file is part of lazr.restful.
13
lazr.restful is free software: you can redistribute it and/or modify it
14
under the terms of the GNU Lesser General Public License as published by
15
the Free Software Foundation, version 3 of the License.
17
lazr.restful is distributed in the hope that it will be useful, but
18
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
19
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
20
License for more details.
22
You should have received a copy of the GNU Lesser General Public License
23
along with lazr.restful. If not, see <http://www.gnu.org/licenses/>.
11
This file is part of lazr.restful.
13
lazr.restful is free software: you can redistribute it and/or modify it
14
under the terms of the GNU Lesser General Public License as published by
15
the Free Software Foundation, version 3 of the License.
17
lazr.restful is distributed in the hope that it will be useful, but
18
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
19
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
20
License for more details.
22
You should have received a copy of the GNU Lesser General Public License
23
along with lazr.restful. If not, see <http://www.gnu.org/licenses/>.
71
71
* declarations.py contains all the Python
72
decorators. docs/webservice-declarations.txt shows how to use them.
72
decorators. docs/webservice-declarations.txt shows how to use them.
74
74
* docs/webservice.txt shows an example of a webservice that creates
75
Entry and Collection classes directly rather than generating them
76
with the declarations. If you want to use lazr.restful without using
77
zope.schema, this is the test to look at.
75
Entry and Collection classes directly rather than generating them
76
with the declarations. If you want to use lazr.restful without using
77
zope.schema, this is the test to look at.
80
80
=====================
81
81
NEWS for lazr.restful
82
82
=====================
87
Added invalidation code for the representation cache on events
88
generated by lazr.restful itself. Made the cache more robust and fixed
89
a bug where it would totally redact a forbidden representation rather
90
than simply refuse to serve it. Made it possible for a cache to refuse
91
to cache an object for any reason.
96
Special note: This version adds a new configuration element,
97
'enable_server_side_representation_cache'. This lets you turn the
98
representation cache on and off at runtime without unregistering the
101
Fixed some test failures.
106
Added the ability to define a representation cache used to store the
107
JSON representations of entry resources, rather than building them
108
from scratch every time. Although the cache has hooks for
109
invalidation, lazr.restful will never invalidate any part of the cache
110
on its own. You need to hook lazr.restful's invalidation code into
111
your ORM or other data store.
116
Special note: This version adds a new configuration element,
117
'compensate_for_mod_compress_etag_modification'. If you are running
118
lazr.restful behind an Apache server, setting this configuration
119
element will make mod_compress work properly with lazr.restful. This
120
is not a permanent solution: a better solution will be available when
121
Apache bug 39727 is fixed.
123
Special note: This version removes the configuration element
124
'set_hop_to_hop_headers'. You can still define this element in your
125
configuration, but it will have no effect.
127
Removed code that handles compression through hop-to-hop
128
headers. We've never encountered a real situation in which these
129
headers were useful. Compression can and should be handled by
130
intermediaries such as mod_compress. (Unfortunately, mod_compress has
131
its own problems, which this release tries to work around.)
136
Special note: This version introduces a new configuration element,
137
'caching_policy'. This element starts out simple but may become more
138
complex in future versions. See the IWebServiceConfiguration interface
141
Service root resources are now client-side cacheable for an amount of
142
time that depends on the server configuration and the version of the
143
web service requested. To get the full benefit, clients will need to
144
upgrade to lazr.restfulclient 0.9.14.
146
When a PATCH or PUT request changes multiple fields at once, the
147
changes are applied in a deterministic order designed to minimize
153
Entry resources will now accept conditional PATCH requests even if one
154
of the resource's read-only fields has changed behind the scenes
160
There are two new attributes of the web service configuration,
161
"service_description" and "version_descriptions". Both are optional,
162
but they're useful for giving your users an overview of your web
163
service and of the differences between versions.
168
Special note: this version will break backwards compatibility in your
169
web service unless you take a special step. See
170
"last_version_with_named_mutator_operations" below.
172
Refactored the code that tags request objects with version
173
information, so that tagging would happen consistently.
175
By default, mutator methods are no longer separately published as
176
named operations. To maintain backwards compatibility (or if you just
177
want this feature back), put the name of the most recent version of
178
your web service in the "last_version_with_mutator_named_operations"
179
field of your IWebServiceConfiguration implementation.
184
Fixed a family of bugs that were treating a request originated by a
185
web browser as though it had been originated by a web service client.
190
Fixed a bug that broke multi-versioned named operations that take
191
the request user as a fixed argument.
84
193
0.9.19 (2010-02-15)
85
194
===================