========= Changelog ========= .. _v0.10: 0.10 - February 25, 2020 ~~~~~~~~~~~~~~~~~~~~~~~~ * Add server debug logging for message encodings * Add server Locate filtering for all currently supported attributes * Add server Locate filtering using offset and maximum item constraints * Add server cryptography engine support for AES GCM mode * Add server support for the SplitKey object * Add client/server support for the ApplicationSpecificInformation attribute * Add client/server support for the ObjectGroup and Sensitive attributes * Add client/server support for the DeleteAttribute operation * Add client/server support for the SetAttribute operation * Add client/server support for the ModifyAttribute operation * Add a variety of unit and integration tests to cover all new functionality * Add new ProxyKmipClient demo scripts to show how to use the new operations * Add pending deprecation warnings for Python 2.7 and 3.4 due to their EOL * Update server Locate filtering to return results sorted by creation date * Update encoding support for SplitKey objects * Update the Travis CI configuration to better support default Python versions * Update library and testing dependencies to maintain Python 3.4 support * Update the library documentation to reflect new features and security details * Fix a bug with how key pair names are handled by the client for KMIP 2.0 .. _v0.9.1: 0.9.1 - June 21, 2019 ~~~~~~~~~~~~~~~~~~~~~ * Fix a bug with Locate attribute handling for KMIP 2.0 clients .. _v0.9: 0.9 - June 18, 2019 ~~~~~~~~~~~~~~~~~~~ * Add support for Python 3.7 * Add KMIP 2.0 enumerations * Add a new OrderedEnum subclass to handle sortable enumerations * Add KMIP 2.0-style attribute handling * Add utilities to convert between TemplateAttributes and Attributes * Add utilities to handle bit mask style enumerations * Add positional argument handling for pytest calls when using tox * Update the library documentation to include KMIP 2.0 information * Update client exception handling and logging to simplify debugging * Update library logging defaults to log at INFO but still support DEBUG * Update the Travis CI configuration to support testing on Ubuntu 16.04 * Update the Travis CI configuration to output log files on test failures * Update the server to support KMIP 1.3, 1.4, and 2.0 * Update the PyKMIP clients to support changing their KMIP version * Update server session logging for authentication failures * Update the PyKMIP object hierarchy to propagate the KMIP version * Update the server TLS handshake handling to avoid thread hanging * Update the Create and Register payloads to support KMIP 2.0 * Update the Locate and CreateKeyPair payloads to support KMIP 2.0 * Update the DeriveKey and GetAttributes payloads to support KMIP 2.0 * Update the GetAttributeList and Query payloads to support KMIP 2.0 * Update server attribute policy to handle KMIP 2.0 deprecated attributes * Remove escape sequences to comply with Python 3.6 style deprecations * Fix various deprecation warnings caused by dependency upgrades * Fix a bug with decoding revocation messages for the Revoke operation * Fix a bug with specifying the function list in the Query demo script .. _v0.8: 0.8 - May 18, 2018 ~~~~~~~~~~~~~~~~~~ * Add Sphinx-based client and server library documentation * Add server support for third-party authentication systems * Add client support for the Check operation * Add client support for the Rekey operation * Add client support for attestation credentials * Add a functional test suite for server authentication and access control * Add payloads for the Archive, Cancel, and GetUsageAllocation operations * Add payloads for the ObtainLease, Poll, and Recover operations * Update the server to support group-based operation policies * Update the server to support live loading of operation policy files * Update the server to support custom backend database file paths * Update the server to raise PermissionDenied on access control violations * Update the client to support custom configuration file paths * Update the ProxyKmipClient to support custom names for the Register operation * Update the ProxyKmipClient to set cryptographic usage masks for Derived keys * Update the README to reference the new documentation * Update the Travis CI configuration to include building the documentation * Update the Travis CI configuration to run integration and functional tests * Remove support for Python 3.3 * Fix a denial-of-service bug by setting the server socket timeout * Fix a ProxyKmipClient bug with generic cryptographic parameter handling * Fix a ProxyKmipClient bug with cryptographic usage mask processing .. _v0.7: 0.7 - November 14, 2017 ~~~~~~~~~~~~~~~~~~~~~~~ * Add support for Python 3.6 * Add support for the InitialDate attribute * Add server support for the GetAttributeList operation * Add server support for the Locate operation * Add client and server support for the MAC operation * Add client and server support for the Revoke operation * Add client and server support for the Encrypt operation * Add client and server support for the Decrypt operation * Add client and server support for the DeriveKey operation * Add client and server support for the Sign operation * Add client and server support for the SignatureVerify operation * Add client and server support for retrieving wrapped keys * Add client and server support for storing wrapped keys * Add KMIP 1.4 enumerations * Add server config option enabling certificate extension checks * Add server config option defining set of usable TLS ciphers * Add server config option setting the server log level * Update the server to enforce checking object state and usage masks * Update server Locate support to allow object name filtering * Remove support for Python 2.6 * Fix bug with multithreading support with the SQLite backend * Fix bug with how open() is mocked in the server test suite * Fix bug with mismapped polymorphic identity for certificate objects * Fix bug with socket interrupt handling under Python 3.5 * Fix bug with detached instance errors in the server test suite .. _v0.6: 0.6 - December 14, 2016 ~~~~~~~~~~~~~~~~~~~~~~~~~ * Add support for Python 3.5 * Add support for the State and OperationPolicyName attributes * Add server support for the Activate and GetAttributes operations * Add server support for certificate-based client authentication * Add server support for object access control via operation policies * Add server support for loading of user-defined operation policies * Add client support for the GetAttributes operation * Update clients to support operation policy names with objects * Update ProxyKmipClient to support names when creating new objects * Remove coveralls integration * Fix bug with early server termination on missing request credential * Fix bug with closing the client while unconnected to a server * Fix bug with default values overriding server config file settings * Fix bug with early server termination on bad client certificates * Fix bug with deprecated usage of the bandit config file * Fix bug with ProxyKmipClient registering unset object attributes .. _v0.5: 0.5 - April 14, 2016 ~~~~~~~~~~~~~~~~~~~~~~ * Add KmipServer server implementation * Add KmipSession to manage threaded client/server connections * Add KmipEngine for processing core server application logic * Add KmipEngine support for CRUD operations for managed objects * Add SQLAlchemy/SQLite support for KmipEngine data storage * Add CryptographyEngine component for cryptographic operations * Add pending deprecation warning for Python 2.6 support * Add pending deprecation warning for the KMIPServer implementation * Add support for building Sphinx documentation * Add support for SQLAlchemy tables to all Pie objects * Add Python magic methods to Attribute and Name objects * Add Attribute class unit tests * Add bin script to run the KmipServer * Add setup entry points to run the KmipServer * Update DiscoverVersions demo with optional versions argument * Update all demo scripts to setup their own logging infrastructure * Update README with information on the KmipServer implementation * Remove expired certificate files from the integration test suite * Remove default package log configuration and configuration file * Fix bug with Locate payload parsing optional values * Fix bug with DateTime string tests and move to UTC representation .. _v0.4.1: 0.4.1 - December 2, 2015 ~~~~~~~~~~~~~~~~~~~~~~~~ * Add support for the GetAttributeList operation * Add integration with Travis CI, Codecov/Coveralls, and Bandit * Add client/server failover support using multiple IP addresses * Add additional attribute unit tests * Update implementations of KMIP primitives * Reorganize server code to prepare for refactoring * Remove use of exec when handling library version numbers * Remove broken server script .. _v0.4: 0.4 - August 14, 2015 ~~~~~~~~~~~~~~~~~~~~~ * Add the official Pie API for a simpler KMIP interface * Add the ProxyKmipClient implementation of the Pie API * Add key, secret, and opaque objects to the Pie object hierarchy * Add unit demos for all ProxyKmipClient operations * Add complete unit and integration test suites for the Pie package * Add KMIPProxy client support/demos for the Activate and Revoke operations * Add KMIPProxy client connection timeout support * Add KMIPProxy integration tests for asymmetric key and secret/opaque objects * Add improved request error logging for the KMIPServer * Update README with additional information about the clients and Pie API * Remove AUTHORS in favor of Git commit history * Fix bug with dangling file handle when setting __version__ * Fix bug with dangling socket connection upon client destruction .. _v0.3.3: 0.3.3 - June 25, 2015 ~~~~~~~~~~~~~~~~~~~~~ * Add the core ManagedObject class hierarchy for the new Pie API * Add updated Boolean primitive implementation and test suite * Add integration tests for symmetric key creation and registration * Update demo and client logging to log at the INFO level by default * Update README with improved testing instructions * Fix bug causing enumerations to be encoded as signed integers * Fix bug with mismatched EncodingOption tag * Fix bug with relative path use for version number handling * Fix bug with Integer primitive breaking on valid long integer values .. _v0.3.2: 0.3.2 - June 11, 2015 ~~~~~~~~~~~~~~~~~~~~~ * Add support for registering and retrieving Certificates * Update unit demos to work with Certificates * Reorganize test suite into unit and integration test suites * Remove old demo scripts * Fix bug with incorrect KeyMaterialStruct tag * Fix bug causing infinite recursion with object inheritance .. _v0.3.1: 0.3.1 - April 23, 2015 ~~~~~~~~~~~~~~~~~~~~~~ * Add KMIP profile information to the client * Add support for registering/retrieving SecretData and Opaque objects * Update the SecretFactory to build Public/PrivateKeys with user data .. _v0.3: 0.3 - March 14, 2015 ~~~~~~~~~~~~~~~~~~~~ * Add client support for the DiscoverVersions and Query operations * Add client support for the CreateKeyPair and ReKeyKeyPair operations * Add support for registering and retrieving PublicKeys and PrivateKeys * Add unit demos demonstrating how to use individual KMIP client operations * Add custom configuration support to the KMIP client * Add inline documentation for new KMIP objects, attributes and payloads * Add additional unit test suites for new KMIP objects, attributes and payloads * Add dependency for the six library to handle Python version support * Update README with a condensed description and breakdown of the library * Fix bug with unindexed format strings (impacts Python 2.6) * Fix missing certificate file issue when installing library from PyPI .. _v0.2: 0.2 - November 17, 2014 ~~~~~~~~~~~~~~~~~~~~~~~~~ * Add configuration file support * Add client support for the Locate operation * Update README with additional information and reStructuredText format .. _v0.1.1: 0.1.1 - September 12, 2014 ~~~~~~~~~~~~~~~~~~~~~~~~~~ * Fix bug with auto-installing third party dependencies .. _v0.1: 0.1.0 - August 28, 2014 ~~~~~~~~~~~~~~~~~~~~~~~ * Add support for Python 3.3 and 3.4 * Add support for KMIP client/server SSL connections * Remove all Thrift library dependencies .. _v0.0.1: 0.0.1 - August 12, 2014 ~~~~~~~~~~~~~~~~~~~~~~~ * Initial release * Add support for Python 2.6 and 2.7 * Add KMIP client and server * Add client/server support for Create, Get, Register, and Destroy operations * Add unit test suite