CHANGE LOG
==========

0.12.6
------
- Refactor ComplexAttrPaths to use custom class

  This changes the API for PATCH handlers.
  Handlers will take a 3-tuple as before and now, additionally,
  a ComplexAttrPath object that contains information regarding
  the complex path. Handlers look for this object to determine
  if they need to perform extra handling to determine the attribute
  that needs to be updated

0.12.5
------
- Upgrade dependency: scim2-filter-parser -> 0.2.1

0.12.4
------
- Upgrade dependency: scim2-filter-parser -> 0.2.0

0.12.3
------
- Retain capitalization in filter queries
- Add tests

0.12.2
------
- Add AuthorizationError to exceptions

0.12.1
------
- Improve PATCH paths passed into handlers.

  If you have custom handlers for patch calls defined in your adapters file
  (eg. def handle_add(path, value, operation): ...) then you will need to 
  update your handlers to accept a 3-tuple in place of the current string held
  by path. A quick fix for this is to add the following line to the beginning of
  each handler:

      path, subattr, uri = path

  Thanks for your patience as we migrate to a better system for handling PATCH
  paths.

0.12.0
------
- Include schemas in packaged version. Thanks @stefanfoulis!
- Fix #21. Store and return externalId
- Fix #22. Handle more complicated PATH calls
  Please note: the parse_path_and_value method on the SCIMMixin adapter
  changed signature. Please update your code accordingly.

0.11.1
------
- Add logic to add extra SQL to filters

0.11.0
------
- Replace PyPlus with scim2-filter-parser for better filter parsing
- Move tests out of django_scim app folder to root of repo

0.10.7
------
- Return better errors for malformed or unsupported JSON bodies

0.10.6
------
- Create a NotImplementedError for SCIM
- Refactor FilterTransformers

0.10.5
------
- Tone down the number of logged exceptions (if they are SCIMExceptions as those are somewhat expected)

0.10.4
------
- Fix logging on requests. Log on more than 401s.

0.10.3
------
- Increase logging level for failed SCIM view call

0.10.2
------
- Add separate logging methods for requests and response

0.10.1
------
- Add badges to README

0.10.0
------
- Drop support for Python2
  !!BREAKING CHANGE!!
- Add linting and coverage

0.9.0
-----
- Decouple Django object id and SCIM ID
  !!MASSIVE BREAKING CHANGE!!
- Add tests for Abstract SCIM models

0.8.2
-----
- Only log during SCIM calls

0.8.1
-----
- Fix failing tests

0.8.0
-----
- Add basic abstract models for Users and Groups
- Update parse path function
- Added more to demo application

0.7.0
-----
- Change where logging of requests is done (now in middleware)
- Improve demo application

0.6.0
-----
- Add tests for work on supporting complex SCIM filtering
- Update PATCH handler to decipher path key

  This commit contains a BREAKING CHANGE.

  If you have overridden the "handle_<op_code>" methods on the User and
  Group adapters, those methods need to be updated to take path, and value
  in addition to operation.

  New adapter signature:

  def handle_<op_code (eg. add)>(self, path, value, operation):
      ...

0.5.3
-----
- Bug fix: https://github.com/15five/django-scim2/issues/13
  Thank you @tomatsue

0.5.2
-----
- Bug fix

0.5.1
-----
- Added tests for grammar
- Added back explicit support for python2.7 on Django 1.11

0.5.0
-----
- Added a group grammar for parsing group pushes

0.4.1
-----
- Docs changes

0.4.0
-----
** BREAKING CHANGES **
- Port to Python 3.6, drop support for anything less than Python 3.6
- Port to Django 1.11+, drop support for anything less than Django 1.11

** NON BREAKING CHANGES **
- change accuracy of timestamp from micro- to milli-second
- Upgrade dateutil library
- Support Django 2.0.0

