All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Added scrubber validation - Thanks @GitRon
- Added strict mode - Thanks @GitRon
- Invalid fields on scrubbers will no longer raise exception but just trigger warnings now
- Author list completed
- Meta data for python package improved - Thanks @GitRon
- Add functionality to scrub third party models like the Django user model, see https://github.com/RegioHelden/django-scrubber#scrubbing-third-party-models - Thanks @GitRon
- Add tests for Python 3.10 - Thanks @costela
- Add
keep-sessions
argument to scrub_data command. Will NOT truncate all (by definition critical) session data. Thanks @GitRon - Add
remove-fake-data
argument to scrub_data command. Will truncate the database table storing preprocessed data for the Faker library. Thanks @GitRon - Add Django 3.2 and 4.0 to test matrix
- Remove Python 3.6 from test matrix
- Remove Django 2.2 and 3.1 from test matrix
- Remove upper boundary for Faker as they release non-breaking major upgrades way too often, please pin a working release in your own app
- Support faker 12.x
- Support faker 11.x
- Add support to override Faker locale in scrubber settings
- Publish coverage only on main repository
- Pin psycopg2 in CI ti 2.8.6 as 2.9+ is incompatible with Django 2.2
- Support faker 9.x
- Support faker 8.x
- Support faker 6.x
- Add tests for Python 3.9
- Add tests for Django 3.1
- Support faker 5.x
- Update dev package requirements
- Fix travis setup
- Support for django-model-utils 4.x.x
- Add compatibility for Faker 3.x.x, remove support for Faker < 0.8.0
- Remove support for Python 2.7 and 3.5
- Remove support for Django 1.x
- add the same version restrictions on faker to setup.py
- add empty and null scrubbers
- make
Lorem
scrubber lazy, matching README
- set more stringent version requirements (faker >= 3 breaks builds)
- correctly clear fake data model to fix successive calls to
scrub_data
(thanks Benedikt Bauer)
Faker
scrubber now supports passing arbitrary arguments to faker providers and also non-text fields (thanks Benedikt Bauer and Ronny Vedrilla)
- #9
Hash
scrubber choking on fields withmax_length=None
- Thanks to Charlie Denton
- Finally added some basic tests (thanks Marco De Felice)
Hash
scrubber can now also be used on sqlite
- BREAKING: scrubbers that are lazily initialized now receive
Field
instances as parameters, instead of field names. If you have custom scrubbers depending on the previous behavior, these should be updated. Accessing the field's name from the object instance is trivial:field_instance.name
. E.g.: if you havesome_field = MyCustomScrubber
in any of your models'Scrubbers
, this class must accept aField
instance as first parameter. Note that explicitly intializing any of the built-in scrubbers with field names is still supported, so if you were just using built-in scrubbers, you should not be affected by this change. - related to the above,
FuncField
derived classes can now do connection-based setup by implementing theconnection_setup
method. This is mostly useful for doing different things based on the DB vendor, and is used to implementMD5()
on sqlite (see added feature above) - Ignore proxy models when scrubbing (thanks Marco De Felice)
- Expand tests to include python 3.7 and django 2.1
- Option to scrub only one model from the management command
- Support loading additional faker providers by config setting SCRUBBER_ADDITIONAL_FAKER_PROVIDERS
- Switched changelog format to the one proposed on Keep a Changelog
- scrubbers.Concat to make simple concatenation of scrubbers possible
- Make our README look beautiful on PyPI
- #1 badly timed import - Thanks to Charlie Denton
- Use bumpversion and travis to make new releases
- rename project: django_scrubber → django-scrubber
- Initial release