HISTORY.rst 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. History
  2. =======
  3. Pending
  4. -------
  5. .. Insert new release notes below this line
  6. 2.5.3 (2019-04-28)
  7. ------------------
  8. * Tested on Django 2.2. No changes were needed for compatibility.
  9. * Tested on Python 3.7. No changes were needed for compatibility.
  10. 2.5.2 (2019-03-15)
  11. ------------------
  12. * Improve inclusion of tests in ``sdist`` to ignore ``.pyc`` files.
  13. 2.5.1 (2019-03-13)
  14. ------------------
  15. * Include test infrastructure in ``sdist`` to allow consumers to use it.
  16. 2.5.0 (2019-03-05)
  17. ------------------
  18. * Drop Django 1.8, 1.9, and 1.10 support. Only Django 1.11+ is supported now.
  19. 2.4.1 (2019-02-28)
  20. ------------------
  21. * Fix ``DeprecationWarning`` from importing ``collections.abc.Sequence`` on
  22. Python 3.7.
  23. 2.4.0 (2018-07-18)
  24. ------------------
  25. * Always add 'Origin' to the 'Vary' header for responses to enabled URL's,
  26. to prevent caching of responses intended for one origin being served for
  27. another.
  28. 2.3.0 (2018-06-27)
  29. ------------------
  30. * Match ``CORS_URLS_REGEX`` to ``request.path_info`` instead of
  31. ``request.path``, so the patterns can work without knowing the site's path
  32. prefix at configuration time.
  33. 2.2.1 (2018-06-27)
  34. ------------------
  35. * Add ``Content-Length`` header to CORS preflight requests. This fixes issues
  36. with some HTTP proxies and servers, e.g. AWS Elastic Beanstalk.
  37. 2.2.0 (2018-02-28)
  38. ------------------
  39. * Django 2.0 compatibility. Again there were no changes to the actual library
  40. code, so previous versions probably work.
  41. * Ensured that ``request._cors_enabled`` is always a ``bool()`` - previously it
  42. could be set to a regex match object.
  43. 2.1.0 (2017-05-28)
  44. ------------------
  45. * Django 1.11 compatibility. There were no changes to the actual library code,
  46. so previous versions probably work, though they weren't properly tested on
  47. 1.11.
  48. 2.0.2 (2017-02-06)
  49. ------------------
  50. * Fix when the check for ``CORS_MODEL`` is done to allow it to properly add
  51. the headers and respond to ``OPTIONS`` requests.
  52. 2.0.1 (2017-01-29)
  53. ------------------
  54. * Add support for specifying 'null' in ``CORS_ORIGIN_WHITELIST``.
  55. 2.0.0 (2017-01-07)
  56. ------------------
  57. * Remove previously undocumented ``CorsModel`` as it was causing migration
  58. issues. For backwards compatibility, any users previously using ``CorsModel``
  59. should create a model in their own app that inherits from the new
  60. ``AbstractCorsModel``, and to keep using the same data, set the model's
  61. ``db_table`` to 'corsheaders_corsmodel'. Users not using ``CorsModel``
  62. will find they have an unused table that they can drop.
  63. * Make sure that ``Access-Control-Allow-Credentials`` is in the response if the
  64. client asks for it.
  65. 1.3.1 (2016-11-09)
  66. ------------------
  67. * Fix a bug with the single check if CORS enabled added in 1.3.0: on Django
  68. < 1.10 shortcut responses could be generated by middleware above
  69. ``CorsMiddleware``, before it processed the request, failing with an
  70. ``AttributeError`` for ``request._cors_enabled``. Also clarified the docs
  71. that ``CorsMiddleware`` should be kept as high as possible in your middleware
  72. stack, above any middleware that can generate such responses.
  73. 1.3.0 (2016-11-06)
  74. ------------------
  75. * Add checks to validate the types of the settings.
  76. * Add the 'Do Not Track' header ``'DNT'`` to the default for
  77. ``CORS_ALLOW_HEADERS``.
  78. * Add 'Origin' to the 'Vary' header of outgoing requests when not allowing all
  79. origins, as per the CORS spec. Note this changes the way HTTP caching works
  80. with your CORS-enabled responses.
  81. * Check whether CORS should be enabled on a request only once. This has had a
  82. minor change on the conditions where any custom signals will be called -
  83. signals will now always be called *before* ``HTTP_REFERER`` gets replaced,
  84. whereas before they could be called before and after. Also this attaches the
  85. attribute ``_cors_enabled`` to ``request`` - please take care that other
  86. code you're running does not remove it.
  87. 1.2.2 (2016-10-05)
  88. ------------------
  89. * Add ``CorsModel.__str__`` for human-readable text
  90. * Add a signal that allows you to add code for more intricate control over when
  91. CORS headers are added.
  92. 1.2.1 (2016-09-30)
  93. ------------------
  94. * Made settings dynamically respond to changes, and which allows you to import
  95. the defaults for headers and methods in order to extend them.
  96. 1.2.0 (2016-09-28)
  97. ------------------
  98. * Drop Python 2.6 support.
  99. * Drop Django 1.3-1.7 support, as they are no longer supported.
  100. * Confirmed Django 1.9 support (no changes outside of tests were necessary).
  101. * Added Django 1.10 support.
  102. * Package as a universal wheel.
  103. 1.1.0 (2014-12-15)
  104. ------------------
  105. * django-cors-header now supports Django 1.8 with its new application loading
  106. system! Thanks @jpadilla for making this possible and sorry for the delay in
  107. making a release.
  108. 1.0.0 (2014-12-13)
  109. ------------------
  110. django-cors-headers is all grown-up :) Since it's been used in production for
  111. many many deployments, I think it's time we mark this as a stable release.
  112. * Switching this middleware versioning over to semantic versioning
  113. * #46 add user-agent and accept-encoding default headers
  114. * #45 pep-8 this big boy up
  115. 0.13 (2014-08-14)
  116. -----------------
  117. * Add support for Python 3
  118. * Updated tests
  119. * Improved docuemntation
  120. * Small bugfixes
  121. 0.12 (2013-09-24)
  122. -----------------
  123. * Added an option to selectively enable CORS only for specific URLs
  124. 0.11 (2013-09-24)
  125. * Added the ability to specify a regex for whitelisting many origin hostnames
  126. at once
  127. 0.10 (2013-09-05)
  128. -----------------
  129. * Introduced port distinction for origin checking
  130. * Use ``urlparse`` for Python 3 support
  131. * Added testcases to project
  132. 0.06 (2013-02-18)
  133. -----------------
  134. * Add support for exposed response headers
  135. 0.05 (2013-01-26)
  136. -----------------
  137. * Fixed middleware to ensure correct response for CORS preflight requests
  138. 0.04 (2013-01-25)
  139. -----------------
  140. * Add ``Access-Control-Allow-Credentials`` control to simple requests
  141. 0.03 (2013-01-22)
  142. -----------------
  143. * Bugfix to repair mismatched default variable names
  144. 0.02 (2013-01-19)
  145. -----------------
  146. * Refactor/pull defaults into separate file
  147. 0.01 (2013-01-19)
  148. -----------------
  149. * Initial release