CHANGES.txt 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. Changes
  2. =======
  3. 1.5.0 (2015-09-11)
  4. ------------------
  5. - Fix #_get_user_attempts to include username when filtering AccessAttempts if AXES_LOCK_OUT_BY_COMBINATION_USER_AND_IP is True
  6. [afioca]
  7. 1.4.0 (2015-08-09)
  8. ------------------
  9. - Send the user_locked_out signal. Fixes #94.
  10. [toabi]
  11. 1.3.9 (2015-02-11)
  12. ------------------
  13. - Python 3 fix (#104)
  14. 1.3.8 (2014-10-07)
  15. ------------------
  16. - Rename GitHub organization from django-security to django-pci to emphasize focus on providing assistance with building PCI compliant websites with Django.
  17. [aclark4life]
  18. 1.3.7 (2014-10-05)
  19. ------------------
  20. - Explain common issues where Axes fails silently
  21. [cericoda]
  22. - Allow for user-defined username field for lookup in POST data
  23. [SteveByerly]
  24. - Log out only if user was logged in
  25. [zoten]
  26. - Support for floats in cooloff time (i.e: 0.1 == 6 minutes)
  27. [marianov]
  28. - Limit amount of POST data logged (#73). Limiting the length of value is not enough, as there could be arbitrary number of them, or very long key names.
  29. [peterkuma]
  30. - Improve get_ip to try for real ip address
  31. [7wonders]
  32. - Change IPAddressField to GenericIPAddressField. When using a PostgreSQL database and the client does not pass an IP address you get an inet error. This is a known problem with PostgreSQL and the IPAddressField. https://code.djangoproject.com/ticket/5622. It can be fixed by using a GenericIPAddressField instead.
  33. [polvoblanco]
  34. - Get first X-Forwarded-For IP
  35. [tutumcloud]
  36. - White listing IP addresses behind reverse proxy. Allowing some IP addresses to have direct access to the app even if they are behind a reverse proxy. Those IP addresses must still be on a white list.
  37. [ericbulloch]
  38. - Reduce logging of reverse proxy IP lookup and use configured logger. Fixes #76. Instead of logging the notice that django.axes looks for a HTTP header set by a reverse proxy on each attempt, just log it one-time on first module import. Also use the configured logger (by default axes.watch_login) for the message to be more consistent in logging.
  39. [eht16]
  40. - Limit the length of the values logged into the database. Refs #73
  41. [camilonova]
  42. - Refactored tests to be more stable and faster
  43. [camilonova]
  44. - Clean client references
  45. [camilonova]
  46. - Fixed admin login url
  47. [camilonova]
  48. - Added django 1.7 for testing
  49. [camilonova]
  50. - Travis file cleanup
  51. [camilonova]
  52. - Remove hardcoded url path
  53. [camilonova]
  54. - Fixing tests for django 1.7
  55. [Andrew-Crosio]
  56. - Fix for django 1.7 exception not existing
  57. [Andrew-Crosio]
  58. - Removed python 2.6 from testing
  59. [camilonova]
  60. - Use django built-in six version
  61. [camilonova]
  62. - Added six as requirement
  63. [camilonova]
  64. - Added python 2.6 for travis testing
  65. [camilonova]
  66. - Replaced u string literal prefixes with six.u() calls
  67. [amrhassan]
  68. - Fixes object type issue, response is not an string
  69. [camilonova]
  70. - Python 3 compatibility fix for db_reset
  71. [nicois]
  72. - Added example project and helper scripts
  73. [barseghyanartur]
  74. - Admin command to list login attemps
  75. [marianov]
  76. - Replaced six imports with django.utils.six ones
  77. [amrhassan]
  78. - Replaced u string literal prefixes with six.u() calls to make it compatible with Python 3.2
  79. [amrhassan]
  80. - Replaced `assertIn`s and `assertNotIn`s with `assertContains` and `assertNotContains`
  81. [fcurella]
  82. - Added py3k to travis
  83. [fcurella]
  84. - Update test cases to be python3 compatible
  85. [nicois]
  86. - Python 3 compatibility fix for db_reset
  87. [nicois]
  88. - Removed trash from example urls
  89. [barseghyanartur]
  90. - Added django installer
  91. [barseghyanartur]
  92. - Added example project and helper scripts
  93. [barseghyanartur]
  94. 1.3.6 (2013-11-23)
  95. ------------------
  96. - Added AttributeError in case get_profile doesn't exist [camilonova]
  97. - Improved axes_reset command [camilonova]
  98. 1.3.5 (2013-11-01)
  99. ------------------
  100. - Fix an issue with __version__ loading the wrong version [graingert]
  101. 1.3.4 (2013-11-01)
  102. ------------------
  103. - Update README.rst for PyPI [marty] [camilonova] [graingert]
  104. - Add cooloff period [visualspace]
  105. 1.3.3 (2013-07-05)
  106. ------------------
  107. - Added 'username' field to the Admin table [bkvirendra]
  108. - Removed fallback logging creation since logging cames by default on django 1.4 or later, if you don't have it is because you explicitly wanted. Fixes #45 [camilonova]
  109. 1.3.2 (2013-03-28)
  110. ------------------
  111. - Fix an issue when a user logout [camilonova]
  112. - Match pypi version [camilonova]
  113. - Better User model import method [camilonova]
  114. - Use only one place to get the version number [camilonova]
  115. - Fixed an issue when a user on django 1.4 logout [camilonova]
  116. - Handle exception if there is not user profile model set [camilonova]
  117. - Made some cleanup and remove a pokemon exception handling [camilonova]
  118. - Improved tests so it really looks for the rabbit in the hole [camilonova]
  119. - Match pypi version [camilonova]
  120. 1.3.1 (2013-03-19)
  121. ------------------
  122. - Add support for Django 1.5 [camilonova]
  123. 1.3.0 (2013-02-27)
  124. ------------------
  125. - Bug fix: get_version() format string [csghormley]
  126. 1.2.9 (2013-02-20)
  127. ------------------
  128. - Add to and improve test cases [camilonova]
  129. 1.2.8 (2013-01-23)
  130. ------------------
  131. - Increased http accept header length [jslatts]
  132. 1.2.7 (2013-01-17)
  133. ------------------
  134. - Reverse proxy support [rmagee]
  135. - Clean up README [martey]
  136. 1.2.6 (2012-12-04)
  137. ------------------
  138. - Remove unused import [aclark4life]
  139. 1.2.5 (2012-11-28)
  140. ------------------
  141. - Fix setup.py [aclark4life]
  142. - Added ability to flag user accounts as unlockable. [kencochrane]
  143. - Added ipaddress as a param to the user_locked_out signal. [kencochrane]
  144. - Added a signal receiver for user_logged_out. [kencochrane]
  145. - Added a signal for when a user gets locked out. [kencochrane]
  146. - Added AccessLog model to log all access attempts. [kencochrane]