Changelog

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

0.9.1 - June 21, 2019

  • Fix a bug with Locate attribute handling for KMIP 2.0 clients

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

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

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

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

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

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

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

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

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

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

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

0.2 - November 17, 2014

  • Add configuration file support
  • Add client support for the Locate operation
  • Update README with additional information and reStructuredText format

0.1.1 - September 12, 2014

  • Fix bug with auto-installing third party dependencies

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

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