~~~~~~~~~~~~~~~~~~
+ Add support for ICAT 4.3.1. (Compatibility with ICAT 4.3.2 has also
been tested but did not require any changes.)
+ Implement alias names for entity attributes. This facilitates
compatibility of client programs to different ICAT versions. E.g. a
client program may use `rule.grouping` regardless of the ICAT
version, for ICAT 4.2.* this is aliased to `rule.group`.
+ Add a method :meth:`icat.client.Client.assertedSearch`.
+ Add a method :meth:`icat.entity.Entity.getUniqueKey`.
+ Add entity methods :meth:`Group.getUsers` and
:meth:`Instrument.getInstrumentScientists`.
+ WARNING, incompatible change!
Changed entity methods :meth:`Instrument.addInstrumentScientist` and
:meth:`Investigation.addInvestigationUser` to not to create the
respective user any more, but rather expect a list of existing users
as argument. Renamed :meth:`Group.addUser`,
:meth:`Instrument.addInstrumentScientist`, and
:meth:`Investigation.addInvestigationUser` to :meth:`addUsers`,
:meth:`addInstrumentScientists`, and :meth:`addInvestigationUsers`
(note the plural "s") respectively.
In the client code, replace::
pi = investigation.addInvestigationUser(uid, fullName=userName,
search=True,
role="Principal Investigator")
by ::
pi = client.createUser(uid, fullName=userName, search=True)
investigation.addInvestigationUsers([pi], role="Principal Investigator")
+ Work around a bug in the way SUDS deals with datetime values: set
the local time zone to ``UTC``.
+ Add example scripts :ref:`icatdump` and :ref:`icatrestore <icatingest>`.
.. _changes-0_2_0: