Skip to content

Commit 3784596

Browse files
committed
Merge master
2 parents 37b0995 + 650a91a commit 3784596

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

docs/topics/release-notes.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,16 @@ You can determine your currently installed version using `pip freeze`:
4040

4141
## 2.4.x series
4242

43+
### 2.4.4
44+
45+
**Date**: [3rd November 2014](https://github.com/tomchristie/django-rest-framework/issues?q=milestone%3A%222.4.4+Release%22+).
46+
47+
* **Security fix**: Escape URLs when replacing `format=` query parameter, as used in dropdown on `GET` button in browsable API to allow explicit selection of JSON vs HTML output.
48+
* Maintain ordering of URLs in API root view for `DefaultRouter`.
49+
* Fix `follow=True` in `APIRequestFactory`
50+
* Resolve issue with invalid `read_only=True`, `required=True` fields being automatically generated by `ModelSerializer` in some cases.
51+
* Resolve issue with `OPTIONS` requests returning incorrect information for views using `get_serializer_class` to dynamically determine serializer based on request method.
52+
4353
### 2.4.3
4454

4555
**Date**: [19th September 2014](https://github.com/tomchristie/django-rest-framework/issues?q=milestone%3A%222.4.3+Release%22+).

rest_framework/templatetags/rest_framework.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def replace_query_param(url, key, val):
2323
query_dict = QueryDict(query).copy()
2424
query_dict[key] = val
2525
query = query_dict.urlencode()
26-
return escape(urlparse.urlunsplit((scheme, netloc, path, query, fragment)))
26+
return urlparse.urlunsplit((scheme, netloc, path, query, fragment))
2727

2828

2929
# Regex for adding classes to html snippets
@@ -83,7 +83,7 @@ def add_query_param(request, key, val):
8383
"""
8484
iri = request.get_full_path()
8585
uri = iri_to_uri(iri)
86-
return replace_query_param(uri, key, val)
86+
return escape(replace_query_param(uri, key, val))
8787

8888

8989
@register.filter

0 commit comments

Comments
 (0)