Skip to content

Releases: python-scim/scim2-models

0.6.10

07 Apr 19:09
0.6.10
1b50412

Choose a tag to compare

[0.6.10] - 2026-04-07

---------------------

Fixed
^^^^^
- replace copies readOnly and preserves immutable fields

0.6.9

07 Apr 07:53
0.6.9
441c2e2

Choose a tag to compare

[0.6.9] - 2026-04-07

--------------------

Added
^^^^^
- ``*RequestContext`` and ``*ResponseContext`` generic type aliases that wrap :class:`~scim2_models.SCIMValidator` and :class:`~scim2_models.SCIMSerializer` for each SCIM context (e.g. ``CreationRequestContext[User]``, ``CreationResponseContext[User]``).

0.6.8

03 Apr 08:31
0.6.8
14c91d6

Choose a tag to compare

[0.6.8] - 2026-04-03

--------------------

Added
^^^^^
- :class:`~scim2_models.SCIMValidator` and :class:`~scim2_models.SCIMSerializer` Pydantic Annotated markers to inject a SCIM :class:`~scim2_models.Context` during validation and serialization. :issue:`130`
- :class:`~scim2_models.MutabilityException` handler in framework integration examples (FastAPI, Flask, Django).

Deprecated
^^^^^^^^^^
- The ``original`` parameter of :meth:`~scim2_models.base.BaseModel.model_validate` is deprecated. Use :meth:`~scim2_models.Resource.replace` on the validated instance instead. Will be removed in 0.8.0.

Fixed
^^^^^
- PATCH operations on :attr:`~scim2_models.Mutability.immutable` fields are now validated at runtime per :rfc:`RFC 7644 §3.5.2 <7644#section-3.5.2>`: ``add`` is only allowed when the field has no previous value, ``replace`` is only allowed with the same value, and ``remove`` is only allowed on unset fields.

0.6.7

02 Apr 07:30
0.6.7
7acecad

Choose a tag to compare

[0.6.7] - 2026-04-02

--------------------

Added
^^^^^
- :class:`~scim2_models.ListResponse` ``model_dump`` and ``model_dump_json`` now accept ``attributes`` and ``excluded_attributes`` parameters. :issue:`59`
- New :class:`~scim2_models.ResponseParameters` model for :rfc:`RFC7644 §3.9 <7644#section-3.9>` ``attributes`` and ``excludedAttributes`` query parameters. :class:`~scim2_models.SearchRequest` inherits from it.
- :class:`~scim2_models.ResponseParameters` and :class:`~scim2_models.SearchRequest` accept comma-separated strings for ``attributes`` and ``excludedAttributes``.

0.6.6

12 Mar 15:52
0.6.6
04f692f

Choose a tag to compare

[0.6.6] - 2026-03-12

--------------------

Fixed
^^^^^
- Fix `ListResponse.totalResults` validation when `resources` is none. :pr:`133`

0.6.5

10 Mar 08:29
0.6.5
be11c16

Choose a tag to compare

[0.6.5] - 2026-03-10

--------------------

Fixed
^^^^^
- Fix extension serialization crash when an extension is declared but not populated on a resource serialized outside of SCIM context (e.g. FastAPI ``response_model``). :pr:`131`

0.6.4

05 Feb 13:38
0.6.4
fc15023

Choose a tag to compare

[0.6.4] - 2026-02-05

--------------------

Added
^^^^^
- :class:`~scim2_models.SCIMException` now accepts an optional ``scim_ctx`` parameter to indicate the SCIM context in which the exception occurred.

0.6.3

29 Jan 21:13
0.6.3
2da6d56

Choose a tag to compare

[0.6.3] - 2026-01-29

--------------------

Fixed
^^^^^
- Fix ``model_json_schema()`` generation for models containing :class:`~scim2_models.Reference` or :class:`~scim2_models.Path` fields. :issue:`125`
- Group ``displayName`` is required. :rfc:`7643` `erratum 5368 <https://www.rfc-editor.org/errata/eid5368>`_ :issue:`123` :pr:`128`
- :class:`~scim2_models.GroupMembership` ``$ref`` only references ``Group``. :rfc:`7643` `erratum 8471 <https://www.rfc-editor.org/errata/eid8471>`_
- :class:`~scim2_models.Manager` ``value`` is case-exact. :rfc:`7643` `erratum 8472 <https://www.rfc-editor.org/errata/eid8472>`_
- :class:`~scim2_models.ResourceType` ``name`` and ``endpoint`` have server uniqueness. :rfc:`7643` `erratum 8475 <https://www.rfc-editor.org/errata/eid8475>`_
- Complex attributes don't have ``uniqueness`` in schema representation. :rfc:`7643` `erratum 6004 <https://www.rfc-editor.org/errata/eid6004>`_

0.6.2

25 Jan 15:47
0.6.2
fb14864

Choose a tag to compare

[0.6.2] - 2026-01-25

--------------------

Added
^^^^^

- :meth:`SCIMException.from_error <scim2_models.SCIMException.from_error>` to create an exception from a SCIM :class:`~scim2_models.Error` object.

0.6.1

25 Jan 14:10
0.6.1
33dcb07

Choose a tag to compare

[0.6.1] - 2026-01-25

--------------------

Added
^^^^^
- Allow ``Path`` objects in Pydantic validation methods.