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 218 219 220 221 222 223 224 225 226 227
|
ChangeLog
=========
.. _master:
master (unreleased)
-------------------
.. _v1.3.1:
1.3.1 (28/02/2017)
------------------
*New:*
- Updates python classifier in setup file (#116). Thanks amureki.
- Adds PEP8 validation in travisCI run (#123). Thanks hsmett.
*Bugfix:*
- Avoids :code:`get_deferred_fields` to be called too many times on :code:`_as_dict` (#115). Thanks benjaminrigaud.
- Respects :code:`FIELDS_TO_CHECK` in `reset_state` (#114). Thanks bparker98.
.. _v1.3:
1.3 (23/08/2017)
----------------
*New:*
- Drop support for unsupported Django versions: 1.4, 1.5, 1.6 and 1.7 series.
- Fixes issue with verbose mode when the object has not been yet saved in the database (MR #99). Thanks vapkarian.
- Add test coverage for Django 1.11.
- A new attribute :code:`FIELDS_TO_CHECK` has been added to :code:`DirtyFieldsMixin` to specify a limited set of fields to check.
*Bugfix:*
- Correctly handle :code:`ForeignKey.db_column` :code:`{}_id` in :code:`update_fields`. Thanks Hugo Smett.
- Fixes #111: Eliminate a memory leak.
- Handle deferred fields in :code:`update_fields`
.. _v1.2.1:
1.2.1 (2016-11-16)
------------------
*New:*
- :code:`django-dirtyfields` is now tested with PostgreSQL, especially with specific fields
*Bugfix:*
- Fixes #80: Use of :code:`Field.rel` raises warnings from Django 1.9+
- Fixes #84: Use :code:`only()` in conjunction with 2 foreign keys triggers a recursion error
- Fixes #77: Shallow copy does not work with Django 1.9's JSONField
- Fixes #88: :code:`get_dirty_fields` on a newly-created model does not work if pk is specified
- Fixes #90: Unmark dirty fields only listed in :code:`update_fields`
.. _v1.2:
1.2 (2016-08-11)
----------------
*New:*
- :code:`django-dirtyfields` is now compatible with Django 1.10 series (deferred field handling has been updated).
.. _v1.1:
1.1 (2016-08-04)
----------------
*New:*
- A new attribute :code:`ENABLE_M2M_CHECK` has been added to :code:`DirtyFieldsMixin` to enable/disable m2m check
functionality. This parameter is set to :code:`False` by default.
IMPORTANT: backward incompatibility with v1.0.x series. If you were using :code:`check_m2m` parameter to
check m2m relations, you should now add :code:`ENABLE_M2M_CHECK = True` to these models inheriting from
:code:`DirtyFieldsMixin`. Check the documentation to see more details/examples.
.. _v1.0.1:
1.0.1 (2016-07-25)
------------------
*Bugfix:*
- Fixing a bug preventing :code:`django-dirtyfields` to work properly on models with custom primary keys.
.. _v1.0:
1.0 (2016-06-26)
----------------
After several years of existence, django-dirty-fields is mature enough to switch to 1.X version.
There is a backward-incompatibility on this version. Please read careful below.
*New:*
- IMPORTANT: :code:`get_dirty_fields` is now more consistent for models not yet saved in the database.
:code:`get_dirty_fields` is, in that situation, always returning ALL fields, where it was before returning
various results depending on how you initialised your model.
It may affect you specially if you are using :code:`get_dirty_fields` in a :code:`pre_save` receiver.
See more details at https://github.com/romgar/django-dirtyfields/issues/65.
- Adding compatibility for old _meta API, deprecated in Django `1.10` version and now replaced by an official API.
- General test cleaning.
.. _v0.9:
0.9 (2016-06-18)
----------------
*New:*
- Adding Many-to-Many fields comparison method :code:`check_m2m` in :code:`DirtyFieldsMixin`.
- Adding :code:`verbose` parameter in :code:`get_dirty_fields` method to get old AND new field values.
.. _v0.8.2:
0.8.2 (2016-03-19)
------------------
*New:*
- Adding field comparison method :code:`compare_function` in :code:`DirtyFieldsMixin`.
- Also adding a specific comparison function :code:`timezone_support_compare` to handle different Datetime situations.
.. _v0.8.1:
0.8.1 (2015-12-08)
------------------
*Bugfix:*
- Not comparing fields that are deferred (:code:`only` method on :code:`QuerySet`).
- Being more tolerant when comparing values that can be on another type than expected.
.. _v0.8:
0.8 (2015-10-30)
----------------
*New:*
- Adding :code:`save_dirty_fields` method to save only dirty fields in the database.
.. _v0.7:
0.7 (2015-06-18)
----------------
*New:*
- Using :code:`copy` to properly track dirty fields on complex fields.
- Using :code:`py.test` for tests launching.
.. _v0.6.1:
0.6.1 (2015-06-14)
------------------
*Bugfix:*
- Preventing django db expressions to be evaluated when testing dirty fields (#39).
.. _v0.6:
0.6 (2015-06-11)
----------------
*New:*
- Using :code:`to_python` to avoid false positives when dealing with model fields that internally convert values (#4)
*Bugfix:*
- Using :code:`attname` instead of :code:`name` on fields to avoid massive useless queries on ForeignKey fields (#34). For this kind of field, :code:`get_dirty_fields()` is now returning instance id, instead of instance itself.
.. _v0.5:
0.5 (2015-05-06)
----------------
*New:*
- Adding code compatibility for python3,
- Launching travis-ci tests on python3,
- Using :code:`tox` to launch tests on Django 1.5, 1.6, 1.7 and 1.8 versions,
- Updating :code:`runtests.py` test script to run properly on every Django version.
*Bugfix:*
- Catching :code:`Error` when trying to get foreign key object if not existing (#32).
.. _v0.4.1:
0.4.1 (2015-04-08)
------------------
*Bugfix:*
- Removing :code:`model_to_form` to avoid bug when using models that have :code:`editable=False` fields.
.. _v0.4:
0.4 (2015-03-31)
----------------
*New:*
- Adding :code:`check_relationship` parameter on :code:`is_dirty` and :code:`get_dirty_field` methods to also check foreign key values.
|