CHANGES
=======

0.13.0
------

* Release 0.13.0
* Fixed tox support
* Docs: Removed pbr from prereq package list
* Added announcement of Python 2.6 removal
* Updated develop instructions
* Improved dependencies in makefile
* Improved dependencies in makefile
* Improved makefile for switching between Python versions
* Increased M2Crypto to 0.31.0
* Using retries in Appveyor to overcome choco install timeouts
* Improved make on native Windows and in Appveyor
* Changed invocation of wbemcli in unit tests to be like in reality
* Test: Fixed a bytes/unicode error in validate.py
* Fix number of pylint issues
* Added support for running pylint also on Python 3.x
* Extend WBEMConnection\_mock to correctly handle resolution of qualifier property, method, parameter from superclass to subclasses. The initial code had a limited resolution method to process the resolution of these entites when a subclass of a class in the repository was created. This change extends the validation of the new class  properties, methods, parameters, and qualifiers so that they are correctly defined superclass properties, methods, etc and the propagated flags are correctly set and moves the resolution to class creation
* Adds a test script to the try directory
* Extend the manual test run\_enum\_performance.py to gather more detailed statistical information on the enumerate and corresponsing pull operations and to display more detailed timing information about the time spent in the server vs. the time in the  client
* Add method to reset statistics
* Corrected the hint how to exit in wbemcli when running on Windows
* Clarified profile method. and how to get scoping class/path if not in profile
* Fixed F811 and E117 issues reported by new flake8 3.7
* Simplifications and fixes for make on native Windows
* Fixed error with wbemcli.bat in path names with blanks
* Add notebooks to demo mock capabilities (#1613)
* Docs: Clarified that top-level spec determines reference direction
* Improved testing of tocimxml() and tocimxmlstr() of CIM objects
* End2end: Moved server\_definition\_file module to utils
* End2end: Changed warning about undefined profiles to error
* Added list\_all\_server() to ServerDefinitionFile, and fix
* End2end: Renamed server\_file to server\_definition\_file
* Removed Connection ID from exception and warning messages
* Removed notion of pattern profiles from end2end tests
* Started converting test\_cim\_xml.py from unittest to pytest
* More Pythonic approach for py2/py3 specific imports
* Cleanup of CIM-XML DTD validation and use recent DTD version
* Fixes #1614 - Fix order of method\_callback parameters
* Small fixes in Testing section and tests/README
* Fixed duplicate server error in server\_file.py; added unit tests
* Test: Reorganized testsuite
* Fixed location of CIM Schema MOF file archive on DMTF site
* End2end: Fixed optimization for unreachable servers
* End2end: Support for groups in groups in server definition file
* End2end: Raising AssertionError for all failures; Improved exc msg
* Fixed strange failure pattern in Travis
* Made warnings consistent in pywbem and end2end
* End2end: Remembering unreachable servers to save time
* Pinned lxml to <4.3.0 for Python 2.6
* End2end: Updated profile.yml to reflect comments by Mike
* End2end: Added testcases for SMI-S top level specification
* End2end: Moved wbem\_connection to end
* End2end: Warn if server advertises undefined profiles
* End2end: Optimized access to profile defs via dict
* Added support for specifications and patterns to profile.yml
* Updated profile definitions from review comments
* End2end: Improved assertion msgs and flattened assertion funcs
* Fixed DeprecationWarning about collections.abc in py3
* Fixed KeyError in end2end tests by making independent of pytest order
* Operational improvements in end2end tests
* Split end2end profile testcases & cache objects for reuse
* Case-insensitive profile names / orgs / versions
* Add CIM-XML request and response data to CIM/XMLParseError
* Simplified the representation of CIM numerics
* Shortened end2end test reports
* Added CIMXMLParseError and XMLParseError exceptions
* Improved exception docs in ValueMapping
* Setting last\_raw\_request/response independent of debug
* Added toleration support for CIM-XML responses with empty TYPE attr
* Renamed an end2end/utils function
* SNIA Server end2end: Added warnings for disabled tests
* SNIA Server end2end: Disabled server multi-ops support check
* Several fixes for end2end tests
* End2end testcases for SNIA Server profile; some base support
* Added reference direction to profile definitions; made some items optional
* Fixes in WBEMServer.get\_central\_instances()
* Eliminated warning about NocaseDict and order in test\_cim\_obj.py
* Fixed a Sphinx build warning on CIMError
* Specify reference direction in WBEMServer.get\_central\_instances()
* Added profile definitions and more end2end testcases
* Added more end2end testcases for WBEMServer class
* No longer trying to establish path for missing Interop namespace
* Added Interop namespace to set of all namespaces in WBEMServer, if missing
* Tolerating ill-formed XML in response to GetCentralInstances
* Added support for binary,octal,hex values to ValueMapping
* Moved new warning classes into separate module and added to docs
* Added ModelError exception class
* Added the concept of end2end tests against real WBEM servers
* Added ServerWarning class and its base class Warning
* Removed deprecation of setting WBEMConnection.default\_namespace
* Improved error info in ParseError raised by tupletree parser & testcases
* Improved description of WBEMConnection.last\_reply
* Fixed random test for \_utils.\_format()
* Upgraded Win32OpenSSL from 1.1.0i to 1.1.0j
* Upgraded dependent package versions
* Added support for pyup.io safety check
* Updated pyup.yml to disable all but min-constraints.txt
* Updated pyup.yml to not pin and update only insecure
* Fixed tox and added Python 3.7 support
* Changed === in min-constraints to ==
* Trying to fix pyup.io config #8
* Trying to fix pyup.io config #7
* Trying to fix pyup.io config #6
* Trying to fix pyup.io config #5
* Trying to fix pyup.io config #4
* Trying to fix pyup.io config #3
* Trying to fix pyup.io config #2
* Trying to fix pyup.io config
* Configuring pyup.io
* create pyup.io config file
* Fixed several flake8 issues detected by new flake8
* Excluded pytest 3.9.2 due to TypeError
* Fixed recent flake8 issues; removed duplicate flake8 config
* Improved WBEMServer brand and version a 2nd time
* Fixed minimum versions for RTD Sphinx runs
* Improved exception messages in WBEMServer.get\_central\_instances()
* Fixed minimum package version of Sphinx and sphinx-git
* Added \_\_str\_\_() to WBEMServer,Listener,SubscriptionManager
* Improved wording in ParseError exception messages
* Improved WBEMServer brand and version
* Docs: Changed constructor to init method/parameter
* Docs: Streamlined references to init/attrs of same class
* Docs: Improvements for method and attribute lists and other imprs
* Docs: Added auto summary of methods and attributes
* Changed TODO comments with issues to issues to avoid double counting by pylint
* Resolved pylint issues; Turned off verbose in wbemcli tests
* Fixes #1270, convert wbemcli test to pytest and add more tests
* Docs: Removed sphinx warnings; improved keyword args
* Resolved pylint issues
* Ensuring ASCII-only in exceptions, warnings and repr()
* Improved \_uprint() by supporting byte strings
* Improved impl. of test\_recorder.py
* Fixed and improvements for ASCII-only and NocaseDict formatting
* Added and improved CIM-XML response checks at operation level
* Added \_utils.\_format() for enhanced ASCII formatting
* Extended print\_uprint.py to include UCS4 characters (#1395)
* Finalized use\_pull\_operations property (#1394)
* Finalized logging support
* Simplified INSTALL.md to be in sync with README
* Removed ez\_setup.py
* Emptied TODO.md to reference issue tracker
* Fixes issue #1227. mof compiler search path extended to allow string input
* Moved design docs from main dir into a new design directory
* Ensure default connection namespace is not None
* Fixed issue of missing support for INSTANCE child elements of ERROR
* Added support for asterisks to CIMDateTime
* Added WBEMServer.delete\_namespace()
* Made expected exceptions in test\_wbemconnection\_mock.py more consistent
* Changed namespace handling in mock support to be explicit
* Minor fixes I did not catch in fixes for issue #1355
* Fix issues with case insensitivity on classnames in pywbem\_mock. This applies to use of classnames in cmds that must search for subclasses, and that use classnames as parameters (references, etc.)
* Change log for pinning pytest-cov version to <2.6
* fixes issue # 477, poor test in run\_cim\_operations
* Changed http to https in all links
* Pinned version of pytest-cov to <2.6
* Added Pypi project links
* Updated PKG-INFO
* Used WBEMServer.create\_namespace() in MOFCompiler
* Added passing WBEMConnection as handle to MOFCompiler
* Adds tests for create\_namespace to run\_cimoperation.py
* Added WBEMServer.create\_namespace() and .cimom\_inst
* Improved exception for CreateInstance without instance name
* Ignoring host for CIMobject format of WBEM URIs
* Improvements for 'make test'
* Removed TODO for issue 418 in cim\_http.py because closed as wont fix
* Removed TODOs in test\_cim\_obj.py related to issue 1188 and re-enabled test
* Fixed pylint issues
* Fixed a pytest collection warning about test\_wbemserver\_basic()
* Fixed missing VALUE.OBJETWTHLOCALPATH in IRETURNVALUE
* Added status code name to CIMError string representation (#1351)
* Added support for Python 3.7 (#1340)
* Add connection ID to ParseError raised in tupleparse and tupletree
* In to\_wbem\_uri() added check for format; more logical code
* Added support for 'canonical' format in to\_wbem\_uri(); minor docs improvements
* issue #1334 - Fix issue where IterQueryInstances params reversed
* Issue #1332 Add ExecQuery Operation to wbemcli as shortcut eqy
* Disabled py27-x64 on Appveyor CI to reduce elapsed time
* Upgraded Win32 OpenSSL from 1.1.0h to 1.1.0i
* Added conn\_id to all raised pywbem exceptions except tupleparse and listener
* Changed conn arg of pywbem exceptions to conn\_id
* Added connection information to exceptions
* Cleaned up and fixed test\_exceptions.py
* Improvements and fixes in test\_recorder.py
* Added support for HTTP header for SFCB UpdateExpiredPassword()
* Editorial cleanup in change log
* Fixed error in quickstart example in README
* Fixed IndexError in tomof() of CIMProperty, CIMQualifier/+Declaration on empty array value
* Fixes for CygWin and native Windows in makefile and setup scripts (#1309)
* Fixed issue with updating pywbem config variables. (#1308)
* Added change log for TYPE attribute of PARAMVALUE. (#1310)
* Add support for TYPE attribute in PARAMVALUE (#1274)
* Fixes #1298 null value keybindings (#1301)
* Fixes #1188 Add CIMInstance.from\_class() static method and tests (#1293)
* Added type check to MOFCompiler init for search\_args
* Improved makefile in some areas
* Resolved some more pylint findings
* Fixed determination of package version for Linux
* Eliminated confusing pbr import error message in make
* adjusted appveyor.yml to new choco req to have pkg checksums
* Relaxed tolerance for expected delay in test\_response\_delay()
* Improved exception messages for ValueMapping and WBEMServer. (#1282)
* Docs: Added shell command for determining pyswbem version
* Fixed incorrect package version in make after adding a git tag
* Removed prints from test runs
* Fixed MOFCompiler parsing of Unicode escape sequences in MOF
* Corrected reason why test\_recorder.py imports unittest2 (#1283)
* Increased M2Crypto to 0.30.1; Used M2Crypto on Windows (#1248)
* fixes #1276 mock repository\_display() unicode issue (#1277)
* fixes #1250 add subscription mgr test (#1261)
* Refactors the test\_wbemserverclass and adds two new files: (#1267)
* Changes to messages in \_wbemconnection\_mock to use %r in place of (#1273)
* Fixes #1268 Add input parameter to wbemcli to allow mocking a server (#1269)
* fix Andy's comments
* fixes #1271 - Issue with mock EnumerateClassNames and EnumeratClasses
* Migrated test\_cim\_obj from unittest to pytest
* Change mock repo build to use the new build method
* Fix issue with deepcopy of objects in \_wbemconnection\_mock
* fixes #1256 Correct issue in pywbem\_mock with incorrect CIMError return (#1260)
* Clarified and improved copy() methods of NocaseDict and CIM objects
* Fixed parameter used for format string in CIM exception raised in mock support
* Convert test\_logging to use pytest. Converted the remainder of test\_logging to pytest based tests including one use of simplified\_test\_function
* Added PKG-INFO file to support install from GitHub tarball
* Improved test\_function decorator to simplified\_test\_function
* Fixed Travis issue on py26 with format of empty field error
* Squash: Addressed review comments
* Test: Relaxed warnings check in test\_function decorator
* Converted test\_nocasedict.py from unittest to pytest
* Small improvements in test\_function decorator and its test functions
* Improved dependencies in makefile
* Change mof\_compiler and test\_mof\_compiler from using args[0] and args[1] in CIMError references to use status\_code and status\_description
* Add capability to pywbem\_mock to install DMTF schema (#1220)
* Excluded .DS\_Store files from git
* Fixed an error introduced when tocimobj() was deprecated
* Fixed description of test\_conftest.py module
* Fixes #426 Migrated test\_client yaml execution to pytest (#1219)
* Fixes #1228 Fixes Error in CIMErro Description text
* Deprecated tocimobj() and fixed integer repr in from\_wbem\_uri() (#1226)
* Fixed version incompatibility message for coverage package
* Added support to ValueMapping for translating to binary and for iterating
* Fixed pylint issues and one real issue
* Fixes #1160: Enhanced MOF compiler and missing dependent classes resolution logic
* Moved NocaseDict and internal utility functions into their own submodules
* Add pywbem.py to depends file list for recreating docs/wbemcli\_help\_txt file
* Added a README file for Pypi
* Start 0.13.0

0.12.0
------

* Release 0.12.0
* Docs: Improved 'Standards conformance' section
* Added 'propagate' parameter to log config functions
* Improved release definitions in README.rst file
* Changes to \_logging.py doc. Remove the example that uses basicconfig and expanded text on some of the others
* Added NullHandler to pywbem logger on Python 2
* Add test with manual logger at pywbem level
* Added NullHandler to pywbem logger on Python 2
* Changed default log\_dest in config\_logger() to None
* Modify the connection log so that it honors the detail\_level=<int> It was always logging the full contexts of the \_repr\_. Now it outputs up to the integer length if the detail\_level is an integer
* Add examples from \_logging.py as tests. This found a couple more issues in in the recorder code itself which were fixed
* Cleaned up the use of logging NullHandler
* Fixed that FakedWBEMConnection could not add inst with path without keybindings
* Renamed compile\_mof\_str() to compile\_mof\_string() in mock support
* Docs: Added 'Core Development Team' section to development chapter
* Part 2 of logging code fixes and improvements
* Fixes and improvements in logging code
* Docs: Fixes and improvements for operation logging and operation recording
* Reordered, improved and moved change log entries
* Improved handling of HTTP connection errors
* Docs: Resolved review comments on mock support chapter
* Docs: Improved the mock support chapter
* Updated help text of mof\_compiler script
* Reordered wbemcli ops functions and WBEMConnection ops methods
* Fixes #859: Refactor configuration of cim\_operations logging (#1105)
* Fixes and improvements in mof\_compiler script (#1163)
* Fixes #1138: Compile mof based on pragma include file from compile\_string (#1154)
* Updated testsuite README to use pywbem MOF compiler
* Added config option SEND\_NULL\_VALUE
* Fixed exit code of mof\_compiler.bat file
* Add to changes.rst. Clarify comments on completeness of tests
* Add first central instance test. This is still all part of a single test
* Add unit test for server class based on pywbem\_mock
* Docs: Minor fixes and reordering of functions in wbemcli.py
* Docs: Improvements and minor fixes in WBEMSubscriptionManager section
* Correct tests and fix andy's comments
* Fix issue in pywbem\_mock with incorrect error response to invokemethod
* Fixed that get\_central\_instances() continues on CIM\_ERR\_METHOD\_NOT\_FOUND
* Docs: Improved and fixed MOF Compiler API section
* Fixed Travis failure on py26 with testfixtures package
* Various fixes and test case improvements for generating CIM-XML
* Add comment on docstring of CIMInstanceName from\_string method (#1139)
* Docs: Editorial changes for WBEM listener chapter
* Docs: Fixed two Sphinx warnings in builddoc
* Docs: Editorial changes in Security chapter
* Fixed that InvokeMethod() rejected input parameter value of None
* Docs: Fixes and improvements in WBEM server chapter
* Docs: Minor editorial changes in ValueMapping chapter
* Docs: Clarified how NULL is represented as a CIM typed value
* Code errors in run\_operations.py and run\_operationtimeouts.py
* Fixed Git rebase in Appveyor CI
* Several fixes and improvements in makefile
* Nailed version of tornado to below 5.0 to accomodate older ssl
* Travis: Fix OS-X virtualenv issue; Reduce coveralls
* Docs: Improved and fixed statistics section. (#1120)
* Fixed dependency issue in makefile
* Docs: Improvements and fixes in 4.2 to 4.6
* Docs: Fixes and improvements in chapter 4 and chapter 7
* Fixed the \*params parameter of the wbemcli.im() function
* Docs: Fixed and improved ops in WBEMConnection and in wbemcli
* Docs: Simplified description of utility commands
* Docs: Reordered WBEMConnection methods in table
* Docs: Clarified status of i/methodcall()
* Docs: Resolved Sphinx warnings
* Addressed more Pylint issues in testsuite sources
* Docs: Split client API into sub-pages
* Remove the logging functionality from pywbem\_mock
* Avoided debug print in test\_logging.py
* Avoided DeprecationWarning in cim\_operations
* Avoided DeprecationWarning in cim\_obj tests
* Improvements for port in use handling and other cleanup in listener
* Avoided output of MOF compile error in mock tests
* Avoided UserWarning in test\_tupleparse
* Avoid UserWarning for unordered scopes in CIMQualifierDeclaration
* Fix flake8 error and modify 2 tests to account for fact that pegasus is in the real world and does not always return same number of instances for enum of CIM\_ManagedElement because it includes things like threads
* Test: Renamed pywbem assertion methods to avoid unittest conflicts
* Addressed review comments on previous commit
* Docs: Improved deprecation and compatibility
* Docs: Addressed review comments on installation section
* Test: Renamed pywbem assertion methods to avoid unittest conflicts
* Docs: Fixes and improvements in Standards Conformance section
* Docs: Fixed Sphinx build warnings
* Docs: Fixes and improvements in Installation section
* extend createclass to cover the use of Override qualifier on methods and properties.  This extends the method and also rewrites the tests for this method
* Documented alias-related limitations of MOF compiler
* Change WBEMConnection public attributes to become properties
* Fixed default and returned values of propagated & flavor attrs of CIM objects
* Clean test TODOs
* Fix issues noted by Andy
* Correct Error in dict def for python 2.6 and add test
* TODO cleanup to eliminate TODOs in FakeWBEMConnection
* Resolved Pylint issues for \_valuemapping.py
* Added checking of CIM type names in CIM objects
* Rejecting void method return types in tupleparser
* Improved and fixed error handling in MOF compiler
* Checked for invalid boolean values in QUALIFIER.DECLARATION in tupleparser
* Check for invalid values of boolean attributes of SCOPE in tupleparser
* Removed some Pylint issues
* Cleaned up the TODO entries in pywbem package
* Added .pytest\_cache to .gitignore
* Reference values in CIM objects can now be class paths
* Removed toleration of invalid REFERENCECLASS attr on PROPERTY.ARRAY
* Empty boolean values in returned CIM-XML now issue UserWarning
* Added support for instance qualifiers in tupleparser
* Added mixed case bool attr values to QUALIFIER in tupleparser
* Added toleration support for xml:lang attributes
* Reduced Appveyor to only 2 envs to speed up CI runs
* Improved passing of qualifiers in tupleparser; Editorials
* Added support for ARRAYSIZE to PROPERTY.ARRAY in tupleparser; test cases
* Added more tupleparse test cases (part 2); tupleparse fixes
* Fixed flake8 issue in run\_cim\_operations.py
* Add propagated to property for modifyclass test
* Add comment as to why we set propagated
* Fix run\_cim\_operations.py issue with this pr
* Increased Travis CI clone depth to 200
* Fixed support for unnamed keys in instance paths
* Added support for VALUE.NULL in tupleparse.py
* Verify that single quoted attr values work in tupleparser
* Fixes, more tests and some cleanup for CIM-XML tuple parser
* Fixed error when invoking Invokemethod() with keyword params
* Correct errors in CIMParameter definitions
* Docs: Clarified that multi-requests are not supported
* Improved exception messages in tupleparse.py
* Migrated unittest of tupleparse.py from unittest2 to py.test
* Improved exception messages in tupleparse.py
* Made cimtype() and type\_from\_name() conversion functions part of public API
* Addressed TODOs in tupleparse.py and \_valuemapping.py
* Corrected install of xmllint and of lxml prereqs
* Removed UserWarnings about loosing order preservation
* Fixed \_uprint() and added tests
* Added pywbem\_mock package; moved LICENSE.rst from pywbem to main directory
* Bypass the errors='replace' for python 2.6
* Add parameter to print output to to ignore errors
* Add test compile and display with unicode mof. Fix the display\_repository to output unicode. Also removed a couple of worthless TODOs
* Docs: Added PyYAML package to RTD prereqs
* Strip lead/trailing slashes from namespace; Fix namespace in OpenQueryInstances
* Fix invoke method interface. I misunderstood the Params vs params and did not incorporate it all
* Extended InvokeMethod() to accept iterable of CIMParameter as input parms
* Made cimtype() and type\_from\_name() conversion functions part of public API
* Pylint: Fixed some minor issues
* Made ValueMapping more generally useable, extended it, and fixed it
* Several minor cleanups
* fixes #958 - Clean up repository display per comments
* Editorial changes in CIMParameter docs
* Extended CIMParameter to represent parameter values
* Respond to comments
* Fixes #950 Add invoke\_method processing to pywbem\_mock
* Fixed CreateInstance3 testclient test case and adjusted run\_cim\_ops
* Make tomof() generate child elements in preserved order
* Docs: Explained WBEM URI instance path comparison
* Made run\_cim\_operations.py tolerant against newlines in property values
* Added clarifying comments to iteration code in cim\_obj.py
* Mock testcases: Compare instance paths with CIMInstanceName instead of str
* Preserved order when iterating child elements of CIM objects
* Added issue number to some TODOs, and clarified TODO text
* Fixed the use of hard coded value limits in ValueMapping and other fixes
* Replaced TODOs in cim\_obj.py with Notes
* Minor docs fixes and updates
* Added operation\_recorders property and other cleanup
* Fixed support for CIMDateTime / timedelta in TestClientRecorder
* Made pywbem version consistent; Docs: Fixed 2nd link to pybewm\_os\_setup.sh
* Fixed RTD build failures by adding pbr
* Fixed RTD download link of pywbem\_os\_setup.sh
* Docs: Improved setup steps in development chapter
* Removed warnings in Sphinx doc build; Improved operation\_recorder docs
* Added support for binary,octal,hex number formats in MOF compiler
* Changed instance/class path str() back to historical format
* Added cautionary text for equality/hash on floats
* Fixes minor TODOs in \_recorder.py
* Addressed minor TODOs in mof\_compiler.py
* Fixed minor pylint issues in cim\_http.py
* Fixes #952: Improved exc message when CloseEnumeration context is None
* Fixed comparison of class\_origin attribute to be case-insensitive
* Support for hashing of CIM objects
* Fixed missing embedded\_object in CIMProperty equality test
* Testing: Added test\_function decorator
* Fixed lexical case when iterating over CIMInstance/CIMInstanceName
* Fixes #956 Correct documentation for EnumerationContext
* minor
* Changes in prep for initial release
* Updated pywbem\_mock docs and some code changes
* Implement mock of WBEMConnection to create a local WBEM server simulator for unit tests of pywbem and for users of pywbem. This implements mocks of all of the WBEMConnection methods that contact the wbem server and  a local repository so that thee mocked methods that respond to the WBEM requests with data from the repository
* Added ordereddict to reqs for py26 again
* Added testclient yaml testcases for embedded objects with instances
* Added testclient yaml testcases for embedded objects with classes
* Improved and fixed exception handling of CIM-XML parsing
* Added testclient yaml test cases for embedded instances
* Improved and fixed exception handling of CIM-XML parsing
* Eliminate print in test\_itermethods.pyu
* Major overhaul of logic in CIM object's tomof() and underlying functions
* Made local WBEM URIs compliant to DSP0207
* Fixes #936, association class with alias breaks mof\_compiler
* Improvements and fixes in CIM object tomof() methods, part 1
* Removed limitations from CIMInstance/CIMClass.from\_wbem\_uri()
* Fixed pylint issue about invalid name number\_types
* Cleanup and improvements in exc handling in and around wbem\_request()
* Fixed local authentication for OpenWBEM and OpenPegasus
* Different fix for Travis repo cloning to save resources
* Applied review comments on previous commit
* Clarified TODO about setattr in EnumerateInstances
* Docs: Clarified namespace in path returned by CreateInstance
* Fixes and cleanup for tocimxml()
* CIMMethod.return\_type: Clarified docs, disallowed refs, simplified tomof()
* Undo the deprecation of providing keybinding values as int+float
* Fixed Travis issue with not cloning tags by making a full clone
* Changed make install to print pywbem version
* Fixed more warnings and clarified BaseOperationRecorder.open\_file()
* Improvements in issuing Python warnings
* Deprecated CIMInstance.property\_list
* Improved and converted more of test\_cim\_obj to py.test; Fixes in cim\_obj
* Resolved comment-related TODOs in cim\_http.py
* Caught more M2Crypto exceptions
* Dropped duplicate logging symbols from config module, Improved logging docs
* Finalized Iter support
* Made use\_pull\_operations attribute a read-only property
* Docs: Clarified use of ca\_certs parameter and its defaults
* Cleanup on public symbols
* Added 'New in pywbem M.N...' text since 0.8
* Removed namespace section from DEVELOP.md
* Removed mentioning of irecv namespace in DEVELOP.md
* Docs: Major update of Installation & Development sections; pywbem\_os\_setup
* Cleaned up statement about experimental vs final of WBEM server API
* Finalized time statistics support
* Added some internal tools for checking public symbols
* Use pbr+req files; Add min/max pkg levels; Fix OS-X runs; Other improvements
* Cleaned up :special-members: option in docs; fixed duplicate logger
* Updated DEVELOP for pbr, fixes, simplification
* Applied second round of review to description of ModifyInstance
* Fixed and simplified invocation of wbemcli in test\_wbemcli.py
* Added diagnostic message to time delta asserts in test\_statistics.py
* Applied review comments to description of ModifyInstance
* Improved the description of the ModifyInstance operation
* Fixed statistic test error by extending allowable delta
* Fix from Andy's comment
* The new code found an error in existing tests
* Fix tests
* Fix issue with \_get\_rslt\_params documented in issue #844
* Addressed issue that test\_wbem.py does not find wbemcli on RHEL
* Improved test coverage of NocaseDict and CIM object classes; small changes
* Clean up use of with pytest... in test\_itermethods
* Improved checks and conversions when setting attributes in cim\_obj.py
* Removed unused \_convert\_\*() functions in cim\_obj.py
* Removed unimplemented popitem() from NocaseDict
* Added blah.yaml to .gitignore
* Added fix for Appveyor display of environment
* Add tests for the iter operations
* Correct issue in IterQueryInstances
* Includes documentation in changes.rst
* Fix issues with iter methods
* Pylint: Fixed incorrect disabling of no-member warning
* Pylint: Disabled warning about unbalanced tuple unpacking
* Pylint: Disabled check for redefined type arg in cim\_obj
* Pylint: Fixed unused arg in assertion methods in unittest\_extensions
* Pylint. Fixed parm names in overridden assertion method in test\_nocasedict
* Pylint: Fixed name of parm in overriding log\_message()
* Pylint: Removed TODO for adding user-defined filter name in sub.mgr
* Pylint: Fixed that long was not covered in toyaml()
* Pylint: Corrected calls to superclass init in cim\_xml module
* Pylint: Removed TODO about removing toinstance parameter
* Pylint: Removed TODO about classname checks
* Pylint: Removed disabled code in cim\_obj.py and restructured type check
* Add comment to changes.rst
* Update to schema 2.49.0
* Fix almost all of remaining pylints
* Changed disabling of PyLint warnings from number to id
* fix more pylint issues. This change cleans up or hides several more minor pylint issues.  Note that there is one change in the tests where it removes a one line test because that test appears to do nothing except cause a lint (unused variable)
* Disabled PyLint warnings W0201 in cim\_obj
* clear a number of pylint issues
* Replace displays with tests in tests/statistics.py
* Changed public attributes to properties in classes of cim\_obj.py
* Undid recent change for linking to NocaseDict
* Fix comments from review
* Extend pylint cleanup to mof\_compiler, wbemcli.py
* pytlint cleanup
* Minor improvements in coverage reporting
* PyLint: Enabled reports; cleaned up command line
* Fixed file permissions
* Added Pylint checker to Travis when run in manual-ci-run
* Fixed git rebase issue on Travis and Appveyor
* Fixed git issue on Appveyor
* Enabled auto-rebasing of manual-ci-run to master in Appveyor and Travis
* Added openssl include directories to OSX on Travis
* More fixes for Travis on OSX
* CI: Split out pylint into separate target to speed up CI runs
* Fixed Travis issues on OSX and pypy
* Prepared Travis and Appveyor control files for manual runs
* Doc improvements: editorial + Iter...() methods + glossary
* Start development of v0.12.0

0.11.0
------

* Release v0.11.0
* pywbem\_os\_setup.sh script for installing prereq OS packages
* Rebase to part2 and update logging interfaces
* Fix logger import and msg
* Rebase to part2 and update logging interfaces
* Add logging to wbemcli and to tests for wbemcli
* Modify recorder and cim\_operations for logging
* Add code to reorder result tuples
* Fix example for the BaseOperationRecorder.open\_file.  It did not include the classname
* Fix name of log output file
* Doc changes to \_recorder.py, remove funct. cim\_operations
* Fox doc
* Fix review comments and add tests
* Fix ordering issues with test\_recorder.py
* Create limited tests
* Clean up comments from review
* Fix issue with testsuite/test\_recorder.py
* Fix changes.rst
* Clean up issue with python 2.6
* Clean up operations to match logger changes
* Fix comment and other minor issues
* Modify recorder and cim\_operations for logging
* Fixed issues with older versions of pip and setuptools
* Fixed the incorrect doc ref to tuple
* Pinned wheel to <0.30.0 for Python 2.6
* Fixed possibility for incorrect hashbang lines in pywbem scripts
* Fixed TypeError: Error when calling the metaclass bases
* Made ordering of array items within CIM objects reliable in repr() and str()
* Tolerated incorrect Unicode characters in os\_setup.py output
* Disable email notifications from Travis CI
* Improved release instructions in DEVELOP.md
* Ignoring files ending with tilde
* Added class path to CIMClass
* Temp fix for opensslconf.h not found on py26 and Ubuntu 14.04
* Move documentation on operation recorder
* Defines the \_logging.py module component of pywbem logging and unit tests for this code
* Add documentation on limitations of pywbem compiler
* fixes #740 fix statistics ref in docs/clients.rst
* Circumvented issue with flake8 3.4.0
* Circumvented issue with flake8 3.4.0
* fixes #734 Fix issue with old version of coverage
* Fixed issue with ref class check in CIMProperty
* Circumvented issue with flake8 3.4.0
* Fix tests
* Circumvented issue with flake8 3.4.0
* Fixed issue with ref class check in CIMProperty
* Add test for wbemcli script. Adds a unit test that executes wbemcli and tests responses
* fixes #734 Fix issue with old version of coverage
* Extend wbemcli.bat to exit with exit level
* Fixes #700: Fix issue with recorder creating non-text files (#720)
* Fixed py.test skip warning about TestClientRecorder
* Correct Error in run\_cimoperations.py with iter... tests
* Fix documentation per Andy's comment
* Clean up several issue and finish tests
* Caught minor issues in code review
* Implement handling of WBEMServerResponseTime
* Fix Andy's comments
* Add documenation to document non-specific server features
* Addressed review comments on minor doc fixes
* Fixed various minor documentation issues
* Made CIMDateTime always timezone-aware, re-enabled test\_cim\_types.py
* Clarified MOF escaping in internal docstring of mofstr()
* fxes # 704 Remove extra print statement
* Fixes to wbemcli
* Add documentation about case sensitivity
* Add recorder unit test to testsuite
* Added comments to Travis control file to explain quick fix
* Fixed the Sphinx install issue on py26 by not installing it on py26
* Fixed the Travis issue with installing swig
* Fix links to concepts section of documentation
* fixes issue #682 Update pull notebook by adding new ipython notebooks, the pull operations notebook and the iter operations notebook
* Fix comments
* Create concepts section
* Fix diagram again
* Fix picture to get mof-compiler, wbemcli back in
* Add hyperlink to 0.11.0 issue defining version 0.11.0
* Fix picture and extend text
* Addressed issues in the previous version of README.rst
* Move from README.md to README.rst and extend the README. This also adds a diagram
* Fix image
* Addressed issues in the previous version of README.rst
* Move from README.md to README.rst and extend the README. This also adds a diagram
* Fix image
* Addressed issues in the previous version of README.rst
* Move from README.md to README.rst and extend the README. This also adds a diagram
* fixes #630 Add --version (-V) to argparse for wbemcli and mof\_compiler
* Improved testcases for CIMInstanceName with different key binding order
* fixes issue#61 Add and extend tests
* Minor edits to simplify documentation
* Add change to changes.rst
* It removes the old schema and moves some variables from test\_mof\_compiler.py
* Update DMTF schema version
* Pylint config changes
* Fix flak8 issue I introduced with last fix
* Fix error in formatted causing python 2.6 fail
* Minor cleanup and remove one diagnostic
* Fix issue causing run\_cimoperation error
* Extend tests, fix some req vs request issues, extend doc
* Improved logic for setting last\_request/reply\_len in WBEMConnection
* Fixed issues in the statistics support
* Remove first line of \_statistics, change copyright, mark experimental
* rebase subsequent to the pr else/finally fix
* fix #677 and #679
* update changes.rst
* Move CIM Operations methods from using except/else to except/finally because this simplifies the logic that closes the call and means that functions like the recorder call only need be defined once rather than twice as in the existing code. This will be useful if we add other surrounding code, ex. stats, log, etc
* Remove the test code
* add fix to addtestmof.py
* Fix error in mof bad comment statements
* Fix issue with new code causing flake8 error
* Add a new class to the test.mof file and tools to compile
* Added MOF compiler APi to pywbem namespace
* Added Python 3.6 to Travis CI and 3.4-3.6 to Appveyor CI
* Changes to recorder to fix issue of scope names case not kept in recorder
* Extension to test for valid qualifier decelaration constructor parameters
* Add code to recorder to output yaml section definition of pullresult for pull operations that return tuples of info  vs. result for other operations
* Fix issue 656, MaxObjectCount parameter of Pull operations
* Improved diagnostics when PyYAML cannot represent an object
* Remove a number of pylint messages
* Add iter functions to wbemcli
* Remove a number of pylint messages
* Create optional detailed line by line report output showing code coverage
* Add testclient tests and add cim\_obj tests
* Changes that cause detailed output of annotated listings
* Start development of v0.11.0

v0.10.0
-------

* Minor improvement to DEVELOP.md
* Release v0.10.0
* Streamlined DEVELOP.md somewhat
* Adjusted test\_install.sh to current build
* Added wheel package to develop reqs
* More robustness and improved diagnostics in os\_setup.py
* Two more working examples of scriptlets (#623)
* Improved description of default timeout. (#631)
* some minor fixes to cim\_operations.py (#627)
* Marked Iter functions as experimental and some docs fixes. (#626)
* Fixes #466: Implements the enumerate generator methods (#499)
* Add an example scriptlets. (#599)
* Fixed access to None in recorder. (#621)
* Fixed double CreateInstance in \_create\_subscription() and \_\_enter\_\_() return value. (#618)
* Fix some issues with the latest subscription manager (#619)
* Added a check for unset URL target in recorder. (#612)
* Fixes #540, fixes #462: Several changes, fixes and improvements on WBEMSubscriptionManager (#607)
* Added wbemcli global functions to docu. (#608)
* Added CIM Schema to repo to avoid downloading. (#610)
* Fixed python devel package name for 3.4 and 3.5 (#611)
* Added support to the operation recorder for an on/off switch. (#614)
* Add test to cim\_operations with PropertyList attribute. (#606)
* 1. Error in test\_client with tuple in associators response (#589)
* Fixes #407: Added context manager capability to WBEMSubscriptionManager (#583)
* Changed makefile to skip Sphinx on Python 2.6 (#604)
* Fixes #548: Fixes and improvements to global ops functions in wbemcli (#586)
* Fixed SAX parse error with unicode strings on Python 2.6. (#596)
* Added git as an OS-level dependency for development. (#581)
* Declared indication API and server API to be final
* Moved compat\_args.py from testsuite/ to try/
* Correct formating of argparse epilog
* Add cli argument option to wbemcli to load scripts
* Move the version test for string to xml\_to\_tuple
* Fix issue with the sax parser and str xml
* Replaces the DOM XML parser with SAX XML parser to improve efficiency of response parsing. This changes the parser for operation responses, indication requests and embedded instances. to use the sax parser. While this parser is not more cpu efficient there is an enormous improvement in memory usage
* for some reason the compiler example changed
* Fix a number of flake8 issues
* Added scripts to flake8 and pylint checks and other flake8 and pylint fixes
* Added change list entry for pinning GitPython version to 2.0.8
* Added description of prereq OS packages
* minor fixes to cim\_operations.py
* Clean up flake8 errors with wbemcli
* Adds a executable to the testsuite to test pull performance
* Moved disabling of flake8 E501 to outside of the docstring in cim\_operations.py
* Resolved all flake8 issues and fixed a string formatting error in add\_server()
* Pin GitPython at 2.0.8 due to issues on Python 2.6
* Fixed UnboundLocalError for exc in setup.py
* Recovering owned destination, filter and subscriptions upon server add
* Cleanup of flake8 issues and some pylint
* Remove extra backslashes
* Cleanup of flake8 and pylint issues
* Fixed several errors in recorder (issue #531)
* Create new file names for pylint and flake8 config. The new names are pylintrc and .flake8. Remove the old files (pylint.rc and flake8.rc). makefile changed to use the new file names and changes.rst updated
* In make check, skipping flake8 and pylint on py26
* Added severity-sensitive return code checking for PyLint in makefile
* Modify run-cimOperations to rename yaml file before each test
* Added check for referencing subscriptions in remove filter + destination
* Minor fix to changes.rst
* Add changes to changes.rst
* Cleanup of issues found by flake8 and add ignore rules to flake8
* Working update
* Disabled unit test sending 1000 indications due to elapsed time
* Fixed lxml prereq installation and enabled test command in Appveyor CI
* Added Appveyor button to readme
* Simplified text on buttons
* Added branch to readme button for coverage
* Added retry in setup script for pypi xmlrpc failures
* Add flake8 as lint test to the make and setup.py. It is executed as a component of check:. However whereas pylint is python 2 only, this is both python2 and python 3
* Added support for Windows CI on Appveyor service - currently disabled
* Added Coveralls button on readme page
* Added support for coveralls service
* Fixed description of CIMError to clarify py2/py3
* Fixed compatibility issue with Error; Clarified CIMError; Added exceptions unit test
* Fixed logic errors in pycmp compatibility check tool
* Minor update in Installation section
* Updated Installation section to resolve PR comments
* Docs: Added installation and development sections
* Updated change log up to now
* Modify compare functions for optional ignore of host part of path
* Extend examples for indications
* Correct var used before setting issue
* Clean up pull vs. non-pull tests
* Make usage of Jupyter tutorials more obvious
* Fixed some omissions in DEVELOP.md
* Cleaned out v0.9.0 project plans from README file
* Start development of v0.10.0

v0.9.0
------

* Reintegrated 0.8.3 and 0.8.4 with 0.9.0
* Removed dist archives from repo for 0.9; Removed development versions of dist archives for 0.8
* Code change: Allowing explicit removal of owned listener destinations
* Added two known issues from v0.8.1 to change log
* Release v0.9.0
* Changes to examples
* Clean up run\_cimoperations.py
* Removed restriction not to build dist archives on Windows
* Removed Windows installable
* Resolved comments from PR 469
* Minor fixes in documentation of WBEM indication API
* Updated DEVELOP.md to correct namespace use and formatting
* Addressed comments in changes.rst
* Updated description of WBEM listenber/indication API; Resolved PyLint issues; Added toleration for indication callback exceptions
* Documentation and help editorial cleanup
* Reordered methods in WBEMSubscriptionManager to be more logical
* Further updates to subscription manager documentation
* Improvements in documentation of WBEM listener API
* Removed \`value\` from str() and repr() of CIMParameter
* Cleaned up change log
* Minor fixes primarily pylint
* Rebase and remove minor pylint issue
* Add tests of nonowned subscriptions
* Add create\_non-owned\_destination and test
* Remove one test from cim\_http and clean tests
* Clean up of Comments from Wed Morning
* Finish changes per comments
* Fix several issues generated in review
* Fix issues with \_ids and \_\_repr\_\_. move parse\_url
* 1. Modified test\_indicationlistener.py to do separate port for each test to get around socket not closed issue 2. Cleanup of run\_cimoperations.py functions. Note that still does not test everything. 3. Modified \_subscription\_manager per discussions Friday. Changes included remove logger, separate get\_ functions into get\_owned.. and get\_all.., add tests for match of owned on filters and subscriptions, allow create unowned subscriptions, add optional parameter for destinations to create\_subscriptions, clean up code in remove\_subscriptions and remove\_filter, clean up issues in doc, modified code in add\_listener\_destinations, clean up \_\_repr\_\_ for subscription manager test parse listener url. 4. Modified NullHandler and python 2.6 fix
* Working update.  Incomplete update per comments Friday
* Fix issue with NullHandler and clean up run\_cimoperation.py
* Add new test for listener
* redo add\_server and listener dest per discussion
* Correct per comments
* Document limitations of flavors
* Change CIMProperty tomof to output mof value for embeddedinstanc rather than xml.  Add test to run\_cimoperations.py for the mof
* Moved PyYAML and ordereddict packages from develop to install
* Final docs changes
* Fixed markup and spelling of the project name and package name to always be 'pywbem' without markup
* Improved and fixed documentation
* change date for release to 25 Aug 2016
* Updated listener.rst to include WBEMSubscriptionManager in the docs
* Extend to multiple listeners, etc
* Fixed issue #444 by renaming testsuite\_test\_client directory
* Added test\_client test cases for enuminstancenames that had been forgotten in previous commit
* Completed test\_client test cases for EnumerateInstances and EnumerateInstanceNames
* Fixed issue #444 by renaming testsuite\_test\_client directory
* Final set of fixes and test cases for XML-escaped embedded instances
* Initial stab at fixing support for embedded instances
* Added test\_client test cases for enuminstancenames that had been forgotten in previous commit
* Completed test\_client test cases for EnumerateInstances and EnumerateInstanceNames
* Fix issue 433, bad exception. Fix couple of pylints in example
* Fixed '301 Redirect' error when 'make develop' accesses pypi
* Notice on change to release date
* Add an optional string id to listener and filter
* Enhance MofParseError Class
* Add functions to get listenerdestination and subscriptions from Server
* Add the initial definition of WBEMServer and listener
* Bold schedule names in paragraphs to help readability
* Add a project plans section to the README.md
* Add test to newtworkerror.yaml mock for https timeout. Found that this test fails with python2 https because of issue between https and mock
* Add new example and commit changes to scripts. This corrects some issues in the listener and creates a test against openpegasus that creates a large number of indications to be processed by the listener. Found and fixed other issues in run\_cim\_operations.py. This fixes some issues in the listener that was causing failures of indication export protocol between pegasus and pywbem, notably no <?xml line in xml body
* Add missing export label from new HTTPError exception
* Modify compiler to separate class properties from instance properties
* Wording improvements in operation descriptions
* Minor fixes to run\_cim\_operations.py
* Added info about paths in returned objects, and other docu fixes
* In WBEMListener methods, changed server URL to server ID. Shortened output of repr() for WBEMServer
* Added list() around zip() to fix TypeError on Python 3
* Added no\_verification=True to explore.py
* Cleaned up exception handling in \`WBEMOperation\` methods
* Finalized support for recording operations in test\_client YAML format; deprecated methodname arg of CIMMethod(); fixed a few bugs
* Modify example to consider possible multiple profiles for filter
* # This is a combination of 3 commits
* # This is a combination of 2 commits. # The first commit's message is:
* Fixed issue #389 by changing 'array' to 'list' in cim\_http.py
* Added support for a config variable to control enforcing the value range of CIM integer types
* Changed cmd line options of mof\_compiler to standard, and fixed some bugs
* Fixed issue 331: Require Gitpython 2.0.6 and re-enable make builddoc on Python 2.6
* Fixed issue #377: Incorrect lexical case of Interop namespace name with OpenPegasus
* Add tests to run\_cimoperations.py for server class
* Add the individual pull operations to wbemcli
* Move ssl context setter to a common separate function for both python 2 and 3
* An example of indication management that runs against openPegasus
* Incorporates a new test in test\_mof\_compiler to do a round-trip test with the schema mof where it first compiles the defined schema then writes the mof back and recompiles the mof it just wrote out. This is built into an entirely new test class that replaces the original schema compile class
* Add documentation on test\_client yaml extension & extend run\_operations.py
* Fixed incorrect MaxObjectCount on recorder call for CloseEnumeration
* Initial stab at operation recording support
* Extend test\_client.py to handle timeout exception and add test
* enable the timeout for m2crypto
* Fix variable mispelling in OpenExecQuery
* Add  warning message if validate\_callback parameter on WBEMConnection is used
* Added links to WBEM operations section to WBEMConnection and to all of its operation methods
* Merged create and delete tutorial to avoid attempt to delete cim\_computersystem
* Added tutorial chapter to RTD documentation, using Jupyter Notebooks
* This pr implements all of the DMTF defined pull operations except for EnumerationCount which will NOT be implemented because it has been deprecated
* Using twine for upload to Pypi and other improvements in build
* fix #347 allow iterable for propertylist
* Allow tuple as input for PropertyList parameter in cim\_operations
* fixes issue#339, Documentation of class level return for associators, references
* fix issue #264.  Adds test for None to CIMMethod return\_type and fixes existing tests that did not include this parameter. Adds test to confirm that the new test on return\_type works.  adds to changes.rst
* Added enumerateinstancenames notebook; improved links in all notebooks
* Added back link at top of each notebook
* Added datamodel and enuminst notebooks
* Added Back link to notebook page
* Fixed Notebook download URLs
* Added first Jupyter notebook on a new tutoriaol page
* Fix a number of pylint errors.  There was one code change. change variable that was unknown
* Applied review comments on new Security Considerations chapter
* Added description of authentication types in WBEM client API (try 3)
* Adds an example of EnumerateInstances with ability for command line to define host, namespace, classname, user, password and display of exceptions. Note that this example displays details of CIMError
* Remove functionality that causes mof\_compiler to set toinstance flavor when tosubclass flavor is set on class qualifier compile
* Use GitPython 2.0.5 and improve Python installer
* Fixed problem in class-level associator operations that namespace was classname
* Temporary workaround for issue 331 with Travis CI runs on Python 2.6 (try 5)
* Update to run\_cimoperations.py for a number of changes
* Modifications to run\_operations for pegasus
* Added escaping of single quotes to mofstr()
* Fixed wbemcli ec calling ecn
* Fix issue 289 by adding test for datetime type on mof output and quoting it.  Added test for values on class tomof()
* Add test for datetime type in outputting value and put quotes around value
* Removed half-baked code for HTTP proxy/tunneling support
* Improved default behavior of WBEMListener logging
* Fixed name of export message in WBEMListener description. Some comments on WBEMListener instance variables
* Fixed several errors in WBEMListener
* Added WBEM listener and server APIs
* Fixed FileNotFoundError not subscriptable problem in wbemcli for Python 3
* Fixes a couple of issues. 1) the wrap function needs the hostname, 2) message misspelling, 3) insure check\_hostname state
* Fixed issues in SSL support for Python 3
* Fixed issue #288 (IndexError when handling exception from send())
* Added runtime check for minimum Python 3 version
* Fix issue when no timeout option(testing variable changes it to integer) and wrap Connected: output
* Set limits on timeout and force to integer
* Fix help doc errors in cacerts and the server help.  No code changes
* Correct errors in help documents and add code to set timeout option into WBEMConnect
* Changes to match agreement on general structure of cmd line arguments Includes --port and --no-ssl removed. list of default ca directories added. no\_verification changed to no\_cert\_verify and -nvc short form. Other minor cleanup
* Improved installation and its description for Swig failures
* Minor changes to catch up with all of Andy's comments
* clean up diffs from last push
* Commit changes per Andy's comments
* Add multiple parameters to wbemcli hopefully consistent with our proposed standards. Add arguments for ca\_certs, keyfile, certfile, and timeout. Modifies the server argument to be able to prefix http:// or https:// and suffix port number. Deprecates the original --port and --no-ssl arguments but leaves them
* Add multiple parameters to wbemcli hopefully consistent with our proposed standards
* Added unit tests for \`cim\_types\` module
* Fixed issue #275: Incorrect str() value for CIMDateTime interval in Python 3
* Fixed typo in comment in \`NocaseDict.\_\_lt\_\_()\`
* Enhanced CIM integer data types with concept of a valid value range, and int() constructor args
* Updated DSP0004 conformance statement to cover the CIM metamodel
* Changes to correct issue #263 where CIMClass.CIMMethod.CIMParameter tomof() output drops array indicator
* Added section 'Standards conformance' to documentation
* Fixed Sphinx markup and formatting of docstrings in cim\_obj.py
* Corrections per Comments on PR. Fix type on boolean docstring entry and change isInstance to is\_instance
* Shortened KeyError text in NocaseDict (was displaying the entire dict)
* Add comments to changes.rst document
* Move CIMProperty.tomof processing for classes to CIMProperty class. Add code to keep qualifier.tomof lines under 80 char long. Corrected error use of :term in doc
* Fixed incorrect passing of ClassName arg in wbemcli ecn()
* Deprecated support for ordering NocaseDict and CIM objects
* Added testcases for NocaseDict ordering
* Added section to DEVELOP.md about use of Python namespaces in the project
* Fixed issues with namespace and path in WBEMConnection methods
* Deprecated \`value\` instance variable and ctor parameter of \`CIMParameter\`
* Deprecated imethodcall() and methodcall()
* Added Deprecations section in change log
* Described a deprecation policy
* Fixed incorrect file list in step 6 of starting a new release
* Updated DEVELOP.md to integrate changes from recent 0.8 update
* Moved script-ish parts of wbemcli and mof\_compiler modules into the corresponding scripts
* Fixed copy&paste error in \`assertRegExpMatches()\`
* Added TODO re. instance MOF to test\_types.mof
* Correct error in cimclass.tomof() where array attribute ([]) not output.  Added tests to both test\_cim\_obj.py and test\_mof\_compiler.py
* Correct comments by Andy and clean up some variable names
* add tomof to cimproperty and connect to ciminstance
* Updated DEVELOP.md
* Updated DEVELOP.md
* Automated the package release somewhat better
* Minor doc improvements for MOF compiler API; rebased MofParseError
* create tomof for cimproperty
* Fixed makefile target 'clean' if already cleaned
* Disabled Debug messages in build\_moftab.py again
* Added and fixed Windows setup
* Debug code to better analyze issue 219 (M2Crypto does not import on Windows)
* Initial stab at testing all property types
* Add support for Linux Mint
* Added tocimxmlstr() to all CIM object classes and as a global function
* Fixed errors and added tests for MOF lexer in mof\_compiler
* Updated change log with CIMError changes
* Changes for CIMError exception
* Added description of url parm in WBEMConnection ctor; Typo 'ilocal' in GetClass()
* Replaced generic references to ctor parm descriptions with a copy of the descriptions, where that made sense
* Changed order of instance variables in some CIM object classes to be more logical
* Changed description of WBEM client library back to using 'provides an API'
* Minor doc updates
* Fixed more Pylint issues
* Added tuple as possible input type for NocaseDict; Added and improved testcases for NocaseDict
* Cleaned up coveragerc file. Removed attic files from omit list, and added LEX/YACC table modules to omit list
* Enabled the reporting of missing coverage lines in coveragerc
* Fixed next() for Py3; Moved hexValue and floatValue back to original order
* Added testcases for MOF lexer, and fixed some lexer issues
* Fixed issues with MOF escaping in mofstr()
* Fixed Keyerror when iterating over CIMInstance or CIMInstanceName
* Moved all public exceptions into new sub-module 'exceptions', and changed ParseError to be derived from Error
* Added CIM status codes 20 to 28 and updated their descriptions to match DSP0200
* Restructured the Sphinx documentation to be on multiple pages
* Eliminated dead code between \`methodcall()\` and \`\_iparam\_namespace\_from()\`, that was added by mistake in commit 66896b6
* Show last commit in 'Changes' section of Sphinx documentation
* Eliminated keyword parameters of WBEMConnection methods, and more streamlining
* Makefile cleanup and optimization; Ensure Travis + Tox clean start
* MOF compiler reengineering
* Removed statements about future
* Trying out the tzinfo links again
* Not using M2Crypto if on RTD (2)
* Not using M2Crypto if on RTD
* Changed short description of MOFCompiler class to address comments
* Changed type 'string' in descriptions to 'unicode string or byte string')
* In description of WBEMConnection, changed type 'function' to 'callable' to get auto-generated link
* Improved the MOF compiler API documentation
* Improved intersphinx links and datetime related docs
* More cleanup
* Added cleanup routine; now switching to directory instead of rejecting
* Added shell script for install testing (testsuite/test\_install.sh)
* Improved help text of wbemcli
* Added help messages for utilities to documentation
* Editorial changes in help message
* Fixed misspelled variable in wbemcli.py
* Added help, added missing functionality
* Updated dist archive
* Removed descriptions of exceptions that indicate programming errors,
* Addressed more outstanding comments on docs
* Addressed several outstanding comments on docs
* Removed 'patch' from os-level dependencies - was needed only for Epydoc
* Added highlighting for normal link targets (e.g. unicode string)
* Minor improvements in documentation
* Minor improvements in documentation
* Added requirements file for RTD
* Migrated documentation to Sphinx and improved it
* Added testsuite/compat\_args.py to confirm compatibility of \*args and \*\*kwargs change to named args
* A few more trivial pylint fixes
* Changed pylint.rc to produce full report with statistics
* Changed os-level dependency 'zip' and 'unzip' to 'tar' to match type of dist archive
* Fixed error that caused moftab\_build to be run always, not just for install/develop commands
* Save in process work to clean up mof indent Adds code for embedded instance tomof, generalizes mof indent, sets mof indent from 7 to 4, fixes several places where line overflows 80 col. Adds constants to control indent and uses them to generate indented mof. Handles properties with arrays of values so that they do not overflow max line length. Add more tests to test\_cim\_obj.py for mof output of classes and instances
* Created \_cliutils module with utility stuff for CLI scripts
* Changed items to be numbered (fix)
* Changed items to be numbered
* Fixed prerequisite issues for LEX/YACC table build for MOF compiler
* Fix issue with bad variable elf -> self
* Undo change of type\_ arg of cim\_obj.tocimobj()
* Remove the code that outputs TOINSTANCE flavor from the qualifier tomof function
* Resolved Epydoc warnings; improved docstrings; changed arg name of cim\_obj.tocimxml()
* Fixed CIMInstanceString testcase for repr()
* Changes for repr() and str() of several classes
* Replaced dangerous default values \`[]\` and \`{}\` with None; Replaced list/map with list comprehension
* Migrated wbemcli to argparse and improved help message
* Use our own error messages when no MOF files or -n option
* Migrated mof\_compiler to argparse and improved help message
* FIxed some flaws in DEVELOP.md readme file
* Added initial DEVELOP.md readme file for developers
* Using official M2Crypto 0.24.0 from PyPI
* Fixes #122: Enforced use of absolute imports
* Removed attic files from package description
* Changed NEWS file to use Markdown syntax and renamed to NEWS.md
* Moved definition of package version into a single place: pywbem/\_version.py
* Added README file to Attic
* Removed cimxml\_parse.py from dist archive in makefile
* Moved test\_cimxml\_parse.py also into attic
* Moved unused pywbem modules into a new attic directory
* Added check in makefile to upload only final versions to PyPI
* Fixed more pylint/pydev issues
* Two minor issues down for PyLint
* Started development of v0.9.0

v0.8.2
------

* Removed dist archve for 0.8.2.dev0
* Release v0.8.2
* Removed dependency on six package during pywbem installation
* Started develoment of version 0.8.2

v0.8.1
------

* Release 0.8.1 (after screwing up 0.8.0 on PyPI)
* Release version 0.8.0
* Updated NEWS file with recent changes. Bumped version to 0.8.0
* Fix issue with tomof failing on instance with embedded instance
* Temp commit test file
* Initial commit. Now works but bad indent
* Fixed issue #106; Resolved further Pylint messages; Made TODO syntax consistent
* Changed permissions of os\_setup.py to 644
* Fixed pycmp\_0.7.0.sh script by installing twisted package
* Changes for pylint.  Reduces pylints from 490 to 340
* Removed sudo test invocation in check for install authorization
* Fixed issue with ord() in test\_operations on Python 3
* Fixes in descriptions of class and qualifier operations
* Moved DEFAULT\_NAMESPACE from cim\_operations to cim\_constants module
* Improved help text of pycmp.py and checking in pycmp\_\*.sh
* Add to run\_cim\_operations.py: tests and change form of unimplemented. Also remove get/set property
* Correct error in GetQualifier test. This test now implemented and running. All tests run in python 2.7 and 3
* Add test for functions in cim\_operations.py module
* The module Works now with openpegasus.  Completely runs tests. Fixed several things including: Problem with xml output (my bad), wql test error (WQL is case sensitive) couple of pylints, added more tests in execquery. The one test that is failing now is the GetQualifier and that may actually be problem. Marked that one unimplemented for this commit. Also removed the tests and internal\_tests lists (they were holdover from comfychai tests) from this code and implemented a new option to list the existing tests (primitive but works, -hl option)
* Number of fixes including:
* Added tocimxml() and tocimobj() back to external API
* Clean up number of items so runs most tests now
* Runs on 2.7. Fails win check\_utf8 in 3.4
* minor fix
* First commit.  Not finished
* Removed unnecessary functions in cim\_obj and cim\_types from external API
* Added tool pycmp.py to compare public interface
* Fix error in name change (mofurl to MOF\_URL) that caused pull request to fail trying to get the schema from dmtf
* Modifications to compiler test to use later version of schema
* Changes to test\_client.py for list in result: and yaml for enum insts. Passes tests with python 27 and 3
* Prep for 0.8.0rc4 release
* Cleaned up imports; reduced \_\_all\_\_ entries
* Defined the external API of the WBEM client library
* Added support for measuring and reporting test coverage
* Remove the unsupported comments
* Fixes #71: Two classes ParseError defined
* Several fixes for MOF Compiler handling, fixing the issue of multiple table builds
* Removed generated mof compiler table files from repo and fixed some other issues
* Renamed pbr uninstall script
* Added 'pip list' before 'make develop'
* Restrict removal of 'pbr' package during Travis CI runs to Python 2.6 only
* Add the mofparse and lex tables to the commit
* Add ply to setup.py
* Commit the removal of the local files
* The fixes for mof\_compiler for ply
* Fixed req choice for python-devel package for Fedora 22 32-bit
* Added support for req choices; restructured os\_setup; fixed python-devel package reqs; fixed Pylint+astroid reqs; fixed M2Crypto reqs
* Changes in makefile that went south during rebase
* Added cim\_provider\*.py and twiosted\_client.py again to API doc. No longer removing downloaded CIM Schema in make 'clobber'
* Fixes for setup.py commands develop\_os and install\_os on Python 3, and for Travis CI
* In make 'develop', use non-sudo commands first to ensure that created files and directories (e.g. \_\_pycache\_\_) do not have root owner
* Fixed Python 3 issues in test\_mof\_compiler.py when CIM schema is downloaded and unpacked in Python 3 (e.g. in Travis CI)
* Removed pylint and epydoc invocation in Travis, because they only work for Python 2
* In 'develop' target of make, installed six module now also in system Python
* Added support for Python 3, and some more fixes
* Fix to remove the pareasable on output-format
* Updated LEX+YACC generated tables
* Updated LEX+YACC generated tables
* Add doc on requirements for geany
* Mods to pylint.rc to make it compatible with editors like geany
* Fixes #52: The install\_os and develop\_os setup commands prompt for password
* Changed M2Crypto install source to master branch of its upstream repo
* Added missing LocalOnly parameter to EnumerateInstances() of wbemcli
* Fixes and improvements in makefile
* commit changes to mof\_compiler to reduce number of pylint msgs
* More cleanup
* fix issue that was causing my failure
* minor alignment fix
* more minor fixes
* more cleanup
* some more cleanup to ops and parse
* pylint changes to cim\_operations, cimxml\_parse, tupleparse
* commit the cleanups
* Removed deprecated options from pylint.rc
* Changed some file permissions. Details: - Made ez\_setup.py and pywbem/cimxml\_parse.py executable (they can be used as a script). - Made os\_setup.py, makefile and tox.ini non-executable
* Renamed INSTALL to INSTALL.md
* Add more pylint to hide the hiearchy complaints
* Minor cleanup to cim\_http.py, long lines
* clean up tupleparse.py epydoc a bit.  Still number of warnings in the docstrings
* final cleanup of tupleparse.py. Tested with correct pylint.rc file
* Changes to tupleparse.py for pylint
* Remove some comments
* One fix to cim\_http.py to add pylint disable
* Fixes for cim\_constants.py, cim\_http.py, cim\_types.py
* Updated INSTALL to remove src dir, and other improvements
* Fixed missing '-y' in pip uninstall in Travis control file
* Fixed YAML error in .travis.yml that caused Travis to abort with 'configuration missing'
* In Travis CI, removing pbr before running, to avoid 'TypeError: dist must be a Distribution instance'
* Added workaround for Python 2.6 for Python issue 15881
* Changed dependency to M2Crypto in setup.py to use its branch amfix\_rebased from repo pywbem/m2crypto. That branch is rebased on the M2Crypto upstream master, as of today
* Fixed installation error 'lsb\_command not found'. Now also stripping double and single quotes around value of ID attribute in os-release file
* Added libxml2 package to develop\_os\_requires, to get xmllint for testing
* Fix 2 for the Swig install issue
* Fixed issue with installing Swig; removed debug code again
* Added debug code to os\_setup.py for swig version check issue
* Added debug code to setup.py for swig version check issue
* Added log files to clobber target of make. Changed tox config file to skip pywbem installation and to have commands better split up
* Added MANIFEST.in to Git repo, in order to be able to build from fresh git clone
* Added support for Tox. Updated file header comments of makefile
* Travis CI debug: Added display of site packages directory
* Changed builddoc target to display the epydoc output again, in order to be able to see it in Travis CI
* Added pylint check to Travis CI. made make targets more standalone, to avoid unnecessary double execution of prereqs
* Initial cleanup of cim\_obj for pylint issues
* Added badge for PyPI version
* Improved label text on Travis badge
* Changed Travis badge to set its label (from img.shields.io/travis)
* Restricted button showing Travis CI build status to master branch
* Removed releases subtree, because these releases are all properly tagged by now
* Moving from comfychair to py.test
* Fixed makefile and .gitignore for moving src files up one level
* Fixed Travis CI file after moving src one level up
* Moved src/\* one level up, to have a more standard structure
* Fixed the use of the removed dev-requirements.txt file in the makefile
* Removed the no longer needed dev-requirements.txt file
* Added support for multiple version requirements to develop\_os, install:os, and develop commands; Added support for controlling messages via setup.py standard options for verbosity
* Improved Travis CI control file somewhat
* Fixed Travis CI control file to cd src; Reduced action from make all to makex test, eliminating doc building and pylint check
* Updated Travis CI control file to depend on fixed makefile
* CHanged to temp workaround for Pylint install issue, by falling back to old version of Pylint+Astroid from PyPI
* Moved some items from the ToDo list to GitHub, as issues
* Adjusted name checking for Pylint to be PEP-8 compatible
* Disabled too-many-\* and wildcard related Pylint messages, for now
* Install pylint in Travis CI control file
* Yet more debug for apt in Travis CI control file
* More debug for apt in Travis CI control file
* In Travis CI control file, using sudo to run develop\_os command, and added more debug for failing pylint installation
* Another fix for incorrect determination of Ubuntu 12 as debian
* For builddoc, removed displaying of the lenbgthy epydoc log
* Resolved some obvious Pylint findings
* Excluded some more files from Pylint checking: cim\_provider.py, cim\_provider2.py, comfychair.py, twisted\_client.py, .git (just to be sure)
* Changed makefile to run install\_os and develop\_os commands under sudo
* Resolved Pylint issues; in some cases they fixed errors
* Fixed issue that platform.linux\_distribution() returns debian on ubuntu 12
* Added printing of linux distro in Travis CI
* setup.py: Fixed syntax error in install\_swig()
* setup.py: Another fix for Pylint and Swig dependencies; slight restructuring of Swig build code (no change in logic); Removed duplicate specification of pcre dependency for Swig build
* setup.py: Another fix for Python dev dependency for Ubuntu
* setup.py. Moved pylint requirement again to OS-level packages. Another fix for Python dev dependency for Ubuntu and Debian
* setup.py: Changed Pylint to be installed via pip because some Linux distros have an old version, and requiring Pylint>=1.3 now. Added package providing Python.h to Ubuntu, for develop\_os command
* Pylint: Removed tee from pylint invocation; Added lex.py and yacc.py to Pylint ignore list
* Fixed incorrect name of libpython package for OS-level dependency for Ubuntu
* Fixed error in install\_swig()
* Fixed permissions on more files
* Fixed permissions on files
* In os\_setup.py, changed implementation of Python installer to be consistent with OS installers w.r.t. messages; Fixed description of is\_available() methods to say they return booleans
* Updated description of the new attributes to cover distro referral
* Added os\_setup.py to Pylint checking
* Changed Epydoc patch directory name to no longer be hidden
* Added support for specifying Windows requirements directly at system level. Added support for referring to other distro's requirement lists instead of having to repeat them. Added input data for Fedora+CentOS
* Finalized restructuring of error handling
* temp save of restructuring work
* Excluded downloaded setuptools archive from git tracking
* Obeying max line length of 80
* Corrected copyright in os\_setup.py; Fixed command line for upgrading setuptools
* Changed makefile to create epydoc.log file when building documentation
* Changed format of rc versions from 0.8.0-rc4 to 0.8.0rc4 to be consistent with distutils normalization. Small fixes in makefile
* Updated Python versions for -p option in testsuite/runtests.sh
* Bumped version to v0.8.0-rc4
* Released PyWBEM v0.8.0-rc3
* Fixed an error in installation script, for debian + suse
* Added OS-level installation support for debian
* Updated Travis CI control file to use new develop\_os command
* Released v0.8.0-rc2
* Updated NEWS file and INSTALL file
* Fixed incorrect package name for swig on ubuntu
* Fixed errors in install\_swig() in setup script
* Rewrote setup script by separating OS-level install out into new commands 'install\_os' and 'develop'os'. Moved any reusable parts into a new os\_setup.py module
* Several fixes in installation of OS-level packages in setup script
* Added support for automatic installation of Python C/C++ development package in setup script
* Fixed continuation for unknown platforms in setup script
* Fixes to setup script
* In setup script, continue if os-level prereqs cannot be installed due to unknown distribution
* Added a few more informative messages to setup script
* Made installation of PyLint optional
* Fixed some issues in OS-level installation in setup script
* Added more informative print statements to setup script
* Bumped version to 0.8.0-rc2
* Major changes in setup.py to accomodate environments without sudo rights
* Added change log for 0.7.0
* More editorial changes in README
* Editorial changes in README
* Fixed another link to the change log file
* Minor fixes in README; rebuilt archive
* Updated introduction information in README and package documentation
* Fixed generation of change log file in documentation
* Fixed media type of change log in generated documentation
* Moved remaining information from DEVELOP.md into GitHub pages contribution page; Fixed link to NEWS in API doc
* Released v0.8.0-rc1 (release candidate #1)
* Added PyLint check to test run for Travis CI
* Fixed license statement in README file
* Documentation now published to GitHub pages instead of being included in distribution archive
* Updated URL in setup script to new web page on GitHub pages
* Updated TODO list from old roadmap file from SourceForge web site
* Updated setup script to match latest info on PyPI
* Removed upgrading of setuptools in Travis CI control file
* Updated README to indicate availability of packages on PyPI
* Rebuilt distribution archive
* Added installation of PyLint to setup development
* Changed epydoc invocation to produce less progress bar bloat
* Released v0.8.0-dev
* Removed date from distribution archive file name. Added PyPi upload possibility to makefile
* Added Travis CI status to README; Generally improved README
* Changed requirement for setuptools to be 12.0.x
* Done experimenting with Travis CI config file
* More experiments with Travis CI config file
* More experiments with Travis CI config file
* More experiments with Travis CI config file
* In setup.py, fixed version check for Swig, and added and fixed prereq packages support for Ubuntu
* More experiments with Travis CI config file
* Added sudo required to travis CI config file
* Fixed directory location of Travis CI config file
* Fixing name of Travis CI config file
* Added Travis CI config file
* Error corrections and editorial improvements
* Released v0.8.0-dev (2015-11-10)
* Improved the setup script to automatically establish prereqs for 'install' and 'develop' commands
* Described development of PyWBEM in a new DEVELOP.md file
* Released version 0.8.0-dev (2015-11-09 2nd)
* Added src/dist to .gitignore
* Fixed a build error related to not rebuilding mofparsetab.py and moflextab.py
* Updated NEWS file; Released version 0.8.0-dev (2015-11-09)
* Fixed issue #4: 'pywbem compiler issue with pragma include'
* Added ToDo list (TODO.md)
* Updated setup.py to install setuptools also when its version is too low
* Rewrote INSTALL to reflect changes related to M2Crypto, to describe installation to virtual Python environments, to add a trouble shooting section, and a description to buld Swig (for M2Crypto)
* Simplified and documented our fixed \_override\_setuptools()
* Fixed several issues with installation. Using setuptools and downloading it if necessary. Using our own m2crypto fork with fixes for its installation
* Added information about mailing list and issue tracker to global README.md file
* Updated README.md file in dist 0.8.0 directory to better describe the old and new distribution archives
* Renamed README file in dist 0.8.0 directory to README.md
* Improved installation description in global README.md file
* Added top level README.md file
* Released pywbem 0.8.0-dev.20151020
* Reverted the rename of README to README.md
* In testsuite/README, updated web site to GitHub
* in pywbem/\_\_init\_\_.py, updated web site to GitHub
* Renamed README to README.md; Updated it for new GitHub web site
* Updated INSTALL: New web site at GitHub; Improved installation description for M2Crypto
* Removed twisted module from requirements.txt because it is only needed for the twisted-based experimental client
* Updated project web site in setup.py
* Improved descriptions of package dependencies where pip does not work
* Added client test cases for invalid responses
* Added support for debug flag to client test cases; Improved the reporting of unexpected results in client test cases
* Added client test cases for client error and network errors
* Added support for specifying socket level exceptions and for tolerating different order of certain sibling elements for client test cases
* Updated client test case getinstance.yaml to cover all failure responses from server documented in DSP0200
* Deleted client test case demo1.yaml (is now described in README.md)
* Documented AttributeError as a possible exception for WBEMConnection methods
* Updated build-requirements.txt to add pyyaml
* Added Eclipse PyDev project file to .gitignore
* Added first real e2e client test case for GetInstance(); Fixed errors in test\_client.py; Fixed error in response headers in demo YAML
* Minor editorial fixes in test\_client README file
* Added readme file for client testing; Made HTTP verb mandatory in client test YAML
* Added support for PyWBEM client testing (test\_client.py)
* Released v0.8.0-dev.20151008
* Fixed many things in the makefile, as part of moving from Subversion to Git. Invoke 'make help' for targets
* Added src/pylint.rc from SF repo of pywbem (had been forgotten)
* Changed permissions of src/testsuite/runtests.sh to be executable
* Added some more temporary files and directories to .gitignore
* Added src/requirements.txt and src/build-requirements.txt for better dependency setup using pip
* Improved documentation of the possible formats for \_\_version\_\_ in pywbem/\_\_init\_\_.py
* Made MANIFEST.in an untracked file. Updated .gitignore to eliminate \*.pyc, MANIFEST, MANIFEST.in, pywbem/docs/
* Updated NEWS file with the two previous fixes
* Added .gitignore file
* Fixed issue #2: pywbem.yacc.YaccError: Unable to build parser; mof\_compiler.py: Syntax error. Expected ':'
* Fixed issue #1: UnboundLocalError: local variable 'url\_' referenced before assignment
* Renamed trunk/ to src/
* Released preliminary version 0.8.0-dev.r728
* Fixed timeout support added in r727; Added -t TIMEOUT option to test\_cim\_operations.py; Restructured exceptions raised by WBEMConnections; Added all exceptions that can be raised by WBEMConnections, to the pywbem namespace
* Fixed bug 34: Added proper timeout support
* Released preliminary version 0.8.0-dev.r721
* Fixed bugs 31, 32, 36: Improved exception handling and simplified the exceptions that can be seen by a user of clas WBEMConnection. See there for details
* Prettified the CIM-XML in WBEMConnection.last\_reply by removing unnecessary empty lines created by the Python xml.dom.minidom prettifier
* Addition to fix for bug 32: Moved check for invalid utf-8 and xml characters into error path, to make the good path faster. Changed exceptions that are raised, by using pywbem.ParseError instead of CIMError(0,..)
* Fixed bug 32, by adding a checking function check\_utf8\_xml\_chars() to cim\_operations.py and by invoking it on the reply from the WBEM server for intrinsic and extrinsic method calls, and by adding testcases for that new function in test\_cim\_operations.py
* Released preliminary version 0.8.0-dev.r716
* Added comments to cim\_xml.py to explain why the EmbededObject attribute cannot be amended by an EMBEDDEDOBJECT attribute in support of OpenPegasus 2.6
* Fixed bug 30: Added support for CDATA based escaping, which can be turned on using the global variable \_CDATA\_ESCAPING in the cim\_xml module. Extended the testcases to test both XML-based and CDATA-based escaping, and to test nested escaping (for nested embedded instances). Moved Python version check from cim\_xml to \_\_init\_\_
* Fixed passing of command line options to testcases
* Released preliminary version 0.8.0-dev.r712
* Fixed bug 29: Fixed errors in generated MOF (e.g. in any tomof() methods):  - Missing backslash escaping within string literals for \n, \r, \t, \".  - Representation of REF types was incorrect.  - '=' in array-typed qualifier declarations was missing.  - Fixed size indicator was missing in array elements.  - Qualifiers of method parameters were missing. Improvements in generated MOF:  - Changed order of qualifiers to be sorted by qualifier name.  - Added empty line before each property and method in the class for better readability.  - Method parameters are now placed on separate lines.  - Moved generation of method qualifiers from class into method. This changes the behavior of CIMMethod.tomof() to now generate the method qualifiers
* Released preliminary version 0.8.0-dev.r710
* Added classifiers information to setup.py to make it suitable for PyPi
* wbemcli.py: Added support for Windows; Cleaned up global namespace; Added pp alias for pprint back in; Made it importable as a module
* Cleaned up public symbols and wildcard symbols
* Fixed bug 22: Improved parsing of URLs to be correct for IPv6. Added testcases for URL parsing
* Made showstatus target phony, to avoid useless rebuilds
* Released preliminary version 0.8.0-dev.r704
* Updated change history
* Improved and fixed operation testcases, and used class names that work in a broader set of implementations. Added support for -n namespace command line option
* Fix for bug 4: Added an optional Params parameter to InvokeMethod(), that is an ordered list of CIM input parameters
* Removed the limitation in the CIMProperty constructor where a Null value of the property in combination with embedded\_object=instance was raising an error
* Released preliminary version 0.8.0-dev.r699
* Added displaying of SVN status in makefile-based build
* Fixed bug 21: Added code in support of CIM-XML declarations, for alternative PyWBEM client based on twisted
* Fixed bug 6: Attempt to read HTTP body when CIMError header is set
* Rebuilt distribution archive
* Added commit level to file name of generated distribution archive
* Updated change history
* Rebuilt distribution archive
* Changed delimiter character for preliminary versions from tilde to hyphen, to be consistent with semantic versioning
* Described installation of dependent packages (M2Crypto only at this point)
* Added support for --help, -h to show full help text
* Added --quiet option to help text
* Adjusted project URL in setup.py
* Added get() methods on CIMInstance and CIMInstanceName to step up to the statement that they behave like dictionaries w.r.t. properties and key bindings
* Updated NEWS file with change to reintroduce Python 2.6 support in cim\_http.HTTPSConnection.connect() from r685 and earlier
* Fixed an issue in the HTTPS support in cim\_http.py that was introduced in r678. The call to httplib's connect() is again replaced with a copy of a subset of its code, with cases for Python 2.6 and 2.7
* Distribution archive for previous commit level
* In support of reintroducing Python 2.6 support in cim\_http.HTTPSConnection.connect(): - Removed SSLTimeoutError from except list, being a subclass it is catched via SSLError - Already committed by accident in r678: Replaced Python 2.7 specific code copied from httplib.HTTPSConnection.connect() with a call to that method
* Improved testsuite/test\_cim\_operations.py: - Added ability to be invoked with comfychair arguments - Added logging of the exception if an operation fails. - Request and response are now logged in raw format if the pretty format is not available. This can happen if the result cannot be parsed correctly
* Changed hashbang strings in all Python scripts (in the pywbem subproject) to #!/usr/bin/env python
* Fixed issue #33: WBEMConnection.last\_raw\_reply was not set to the current reply in case of parsing errors in the reply
* Updated NEWS file for previous commit
* Updated the license statement in file headers to LGPL 2.1 or higher. This was done only for files that were authored by the original pywbem authors, and only in the pywbem subtree of the overall project
* Merged commit from github-zenoss clone: Added support for ExecQuery operation to twisted client. Author: Robert Booth Commit date on github-zenoss clone: 2012-11-19
* Merged commit from github/zenoss clone: Fixed incorrectly labeled namespace variables in twisted client. Author: Robert Booth Commit date in github/zenoss clone: 2012-08-10
* Distribution archive that reflects the current commit level
* Updated the NEWS file to describe changes up to here
* Improved documentation in pywbem/\_\_init\_\_.py
* Added and improved documentation in cim\_operations.py
* Added and improved documentation in cim\_obj.py
* Improved documentation in cim\_http.py
* Fixed a bug in the directory path of generated documentation files; they are now part of the distribution achive
* cim\_http.py: Fixed some flaws in the previous commit
* cim\_http.py: Improved documentation of cim\_http module, and of wbem\_request() function
* 1. CIMProperty:  Updated the description of the CIMProperty class to describe    what values a scalar and array property can contain, and that a CIMProperty    object can be used in an instance for the property value, and in a class for    the property declaration, and that the value of the property has different    meaning in these scenarios (actual value vs default value)
* testsuite/test\_cim\_obj.py: - Moved \_assert\_obj() methods for CIMProperty and CIMInstanceName into new base classes for use by multiple testcase classes, and used it in additional testcase classes in order to centralize the object checking during test. More tests are performed now on the object attributes, as a result. - Added comments to the init tests for CIMProperty, documenting which tests would have failed in the old CIMProperty constructor implementation (see next commit for the new implementation)
* In the comfychair.TestCase class, added an optional descriptive argument to several assert\_\* methods, to improve the error message that is issued. Added method docstrings to those
* API documentation: - switched from using pdoc to using epydoc with reStructuredText as docstring format (affected makefile). - Small changes in description of pywbem package (\_\_init\_\_.py) to accomodate epydoc & restructuredText. - Completed the description of module, classes and methods of the pywbem cim\_types module
* Unit test improvements for pywbem:
* Changed makefile: - Added a new target 'all' that performs the whole cycle. - doc generation as part of the build target, and running the unit tests as part of the test target, are now performed with a local PYTHONPATH=. set, so that they work from the files in the trunk subtree without having to have pywbem installed
* Changes in cim\_obj.py:
* Improvements in test\_cim\_obj.py, part 1 (CIMInstanceName and CIMInstance): - Added docstrings to test cases - Improved the tests - In XML validation tests, added the expected XML root element
* Improvements in cim\_obj.py:
* Changes in validate.py: - Added support to validate\_xml() for specifying a required XML root element. - Added module and function docstrings. - Added a header to any error messages issued by xmllint. - Fix: Merged stderr into stdout for the xmllint invocation, xmllint error messages go to stderr and had been dropped before
* Changes in comfychair.py: - Improved some assertion messages. - Removed the deletion of the temporary subtree at test case exit again that was introduced in r652, for compatibility with previous behavior
* Addressed PyLint issues in pywbem subproject that are related to imports: - Consolidated imports at the top of the module (after module docstring). - Ensured order of imports: standard, non-standard, pywbem, local (for testsuite only). - Replaced wildcard imports with specific imports, as much as possible. - Removed unused imports
* Fixed and improved unit test approach of pywbem subproject:
* PyLint issues: - Addressed PyLint issues in pywbem/trunk that are related to whitespace, continuation indentation, and line length. - Replaced all real tab characters with spaces. - Fixed one bug in pywbem/trunk/testsuite/test\_tupleparse.py in function ParseCIMProperty.runtest(), where the use of real tab characters caused a few lines to be incorrectly indented, and as a result, ignored for the test. - Updated the pylint.rc file to change the message format in order to circumvent the Eclipse bug that ignores PyLint messages if they show source code
* Patch for bug #26 (Add PyLint checking and makefile): - Added pylint.rc to project root directory. - Updated makefile to invoke pylint in a new 'check' target
* Improved package documentation in pywbem/\_\_init\_\_.py. Improved information in README file
* Patch for bug #24 (Improvements with Unicode support):
* Patch for bug #23 (Windows portability issues):
* Restructured pywbem/trunk subtree to move pywbem package files into a pywbem subdirectory. Added a makefile (invoke 'make help' for valid targets). Added NEWS and LICENSE.txt files into the distribution archive. These changes are related to bugs #25 and partly to #26
* Bumped version to 0.8.0~dev in NEWS file
* Bumped version to 0.8.0~dev
* Updated NEWS file with any commits up to here
* Patch for bug #20 (Text of KeyError exceptions in NocaseDict): - Improved error messages in NocaseDict.\_\_getitem\_\_() and \_\_setitem\_\_() - Added exception-based key error handling in NocaseDict.\_\_delitem\_\_()
* Patch for bug #16 (Improve CIM-XML ParseError information): Improved text and data in several error messages in tupleparse.py
* Patch for bug #15 (Debug logging for extrinsic method calls): In cim\_operations.methodcall(): - Resetting last\_reply and last\_raw\_reply to None before the request in case the request fails, - Setting last\_reply to formatted XML (instead of raw XML) and setting last\_raw\_reply to raw XML (instead of leaving it untouched, possibly showing data from previous imethodcall)
* Patch for bug #12 (Improvements in error messages of MOF compiler): Improved exception messages in cim\_obj.py and cim\_types.py
* Patch for bug #17 (Make NocaseDict objects iterable): Added \_\_iter\_\_() to NoCaseDict in cim\_obj.py
* Patch for bug #18 (NEWS, README and INSTALL are not in package): Added NEWS and INSTALL files to MANIFEST.in - README file was already there
* Patch for bug #19 (Build instructions in INSTALL file): Updated text in INSTALL file
* Patch for bug #14 (Support for \_\_version\_\_): Added pywbem.\_\_version\_\_ and moved version definition into pywbem/trunk/\_\_init\_\_.py
* Patch for bug #11 (Invalid qualifier scopes in MOF compiler): Removed invalid qualifier scopes SCHEMA and QUALIFIER in mof\_compiler.p\_scope()
* Patch for bug #5 (Error executing with Python 2.7): Accomodated stronger type checking of Python 2.7 by adding explicit str() in cim\_http.wbem\_request()
* added support for non-ascii characters
* reapplied patch from revision 622
* fixed TOCTOU error when validating peer's certificate
* mof\_compiler: Add '-d' option to dry-run the operation
* fix connection to ipv6 hosts From: Peter Hatina, phatina at redhat com
* verify certificates against platform provided CA trust store
* Check only the major part of CIMVERSION
* Use case-insensitive dictionary for method output parameters
* The parser should not throw an exception when parsing XML with a qualifier declaration
* Convert debug 'print' to trace messages
* Fix References(Role="xxx") intrinsic method
* Fix comparsion of Role parameter
* Fixed CIMInstanceName rendering to string
* Fix missing CIMDateTime import in Twisted client
* Use base64.b64encode() instead of base64.encodestring() for twisted client
* Re-throw KeyError exceptions with capitalised key string instead of lower cased version in NocaseDict.\_\_getitem\_\_()
* Use getpass module instead of pwd to detect local user to fix Win32
* Fix grammatical funkiness in the license text.  No change to actual license - still LGPLv2
* Fixed XML parsing to accept SFCB-style embedded instance parameters
* Update NEWS for Andreas' fixes
* Fix for KEYVALUE VALUETYPE attribute which defaults to 'string' if not present
* Fix bug in error path
* added reverse value map info to codegen
* No longer mangle the provider module name.  This caused problems when providers import other providers (which is a good and useful thing to do).  We would end up with two copies of the module loaded
* Fixed cim\_provider2.py to properly support shutdown() and can\_unload() (called from CMPI cleanup() functions).  Support was recently added to cmpi-bindings for this
* upgrade to PLY-3.0
* Added parsing of InvokeMethod return value and output parameters for Twisted Python client
* Make /usr/bin symlinks relative to conform with Fedora packaging policy
* Remove patch to add license text.  Not sure why I needed it in the first place
* Install mof\_compiler.py and wbemcli.py in /usr/bin as mofcomp and pywbemcli as per SUSE package
* Fix rpmlint tabs vs spaces warning
* Update RedHat packaging for 0.7.0 release
* Add LICENSE.txt file to release to help packagers
* Check in copy of release tarball
* Save off 0.7 release
* fix release date on NEWS file
* change version to 0.7.0
* fixed errors in mof compiler found by pychecker
* updated to new schema
* Pass keyword args in unix domain socket connection functions down to WBEMConnection()
* fix deprecation warnings with python-2.6
* Clarify licensing - the intent was always to license as LGPLv2 only
* Packaging updates for FC9
* support connecting to unix sockets, prompt for password if none given
* Fix copyright for release
* updated test for latest version of cim-schema
* Check in command line program I have been developing on and off for a while
* small formatting fix
* Elementtree module changed location in Python 2.5
* fix to work with older python versions
* improvement in provider reloading
* better error handling for MOF compiler
* small mof compiler enhancements
* added username and password to mof compiler
* added a new MOF testcase, and fixed the PLY bug it exposed
* removed debug breakpoint
* renamed ParseError -> MOFParseError because xml parser had an error by the same name
* add codegen support for indication methods
* Remove poll() and getInitialPollingInterval() as don't apply to CMPI; added MI\_enable/disableIndications() and modified return / exception handling of all indications methods:  if no exception thrown, assume success
* simple, less verbose version of cimlistener
* add MI\_authorizeFilter support
* more appropriate error from invoke method, minor codegen enhancement
* stop using with statement so it works on older versions of python
* load module and set timestamp attribute while mutex is acquired
* load\_source is deprecated.  switch to find\_module and load\_module
* Prevent the provider module from being loaded multiple times by different provider types.  For example, if a provider was both an instance and a method provider, it was being loaded twice
* simplified namespace creation for pegasus
* strip leading and trailing slashes from namespace names
* fix references to honor property list
* more hackery to deal with Pegasus weirdness
* minor association refactor, codegen improvements
* Changed \_\_init\_\_.py to not import anything from cim\_provider.py (or cim\_provider2.py) into the pywbem namespace.  Existing providers based on cim\_provider.py can still work with a minor adjustment involving importing CIMProvider from pywbem.cim\_provider.  The codegen funtion can now be obtained with 'from pywbem.cim\_provider import codegen', or 'from pywbem.cim\_provider2 import codegen' or similar
* added tests for new CIMInstance functionality
* keys should be exempt from property\_list handling
* moved is\_subclass from cim\_provider to cim\_operations
* removed property\_list params.  it is now an attribute on the model (CIMInstance).  removed some old code
* added cim\_provider2 for new provider interface under CMPI
* update mof compiler test to new cim schema
* update lex.py and yacc.py to ply-2.5
* added property filtering to CIMInstance
* added value attribute to CIMParameter, keep key values in CIMInstance.path in sync with properties as they are updated
* implemented CIMInstance.tomof()
* don\'t try to process assoc calls if we can\'t determine the assoc class
* added function for SFCB UDS connection
* some work to make compatible with cmpi-bindings
* Fix comparison of CIMDateTime with non-CIMDateTime objects
* Fix Host: HTTP header when connecting to a unix domain socket
* Include default\_namespace in output of xWBEMConnection.\_\_repr\_\_
* Fix unexpected line break in basic auth header for long credentials. (Daniel Hiltgen)
* Fixed InvokeMethod to only send a LOCALCLASSPATH or LOCALINSTANCEPATH, not a CLASSPATH or INSTANCEPATH
* added tests for mof compiler
* add support for "stringified" object paths
* mof compiler fixes
* add support for "stringified" object paths
* better error handling
* Update redhat packaging for 0.6 release
* Clarify in [pywbem-0.6] release notes that we have changed from GPLv2 to LGPLv2
* changed now that lex.py and yacc.py are part of the project
* performance improvement by stripping qualifiers from properties on the model
* implemented aliases, better error handling, various other fixes
* fixed a ply bug
* adding lex.py and yacc.py from PLY project (version 2.3), at least for now
* added the ability to remove schema based on MOF
* dev checkpoint
* worked on some deployment issues
* fixed EnumerateQualifiers if there are no qualifiers
* added namespace creation, some bug fixes, logging enhancements
* moved
* fixed xml representation of CIMQualifierDeclaration
* some tomof() enhancements
* Added support for Pegasus non-compliant EMBEDDEDOBJECT XML attribute
* refactored local authentication and UDS support
* Fix WBEMConnection.\_\_repr\_\_ for anonymous connections
* added UserContext to pegasus registration in codegen.  Include more details (like which module failed) when load\_source() fails
* Added NocaseDict.\_\_cmp\_\_(self, other)
* Remove some potential license confusion and make it clear that PyWBEM is distributed under version 2 of the LGPL
* got Pegasus Local authentication working (requires a patch to fix the Pegasus HTTP server, pegasus bug 7202)
* got Pegasus Local authentication working (requires a patch to fix the Pegasus HTTP server, pegasus bug 7202)
* added code for Pegasus Local authentication.  not working yet..
* refactored to be more generally useful.  Builds CIMInstances from the indications, and passes them to a callback
* fixed array properties, code generation enhancements
* add pypegsubscribe.py as a pegasus subscription creation/mgmt/listener tool
* Implemented methods to parse indication export requests
* Removed authorizeFilter from indicationProvider. Removed eventType from activate/deActivaeFilter call
* Added support for consume\_indication..
* proper fix for floats
* Fixed precision for real32 and real64 types
* Fixed Array parameters with no elements
* Fixed REF array out parameters in tupleparse.py
* Fixed data types of method return values for python providers
* Added CIMDateTime.\_\_cmp\_\_() so that CIMDateTime instances can be compared
* added support for pegasus registration MOF in codegen()
* fix some misspellings
* fixed filtering of results for enumInstances and references
* We are now hot to trot for PyWBEM 0.7
* Dist files for pywbem 0.6
* Fix compile error when passing a CIMDateTime object as a parameter to InvokeMethod()
* Rename release directory
* Prune dead branch
* Update NEWS file for 0.6 release
* Fix cut&paste error in docstring for AssociatorNames
* Check in indication receiver using Twisted Python.  This just dumps the XML to stdout
* EnumerateClassNames() now returns an empty list instead of None if there are no classes
* make sure modified instance has key props
* added support for provider module init() functions
* Fix for x.509 SSL certificate handling from Bas ten Berge
* Update NEWS file for updates to Twisted Python client
* updated NEWS
* merged some fixes from trunk
* implemented update on CIMInstance and CIMInstanceName.  Enhanced NocaseDict.update.  Replaced CIMInstance.update\_property with more flexible CIMInstance.update\_existing
* if provider does not set namespace on a CIMInstanceName, set it.  Providers now only need to worry about namespaces on cross-namespace associations
* Return CIMInstanceName for CreateInstance factory method
* A fix so that WBEMClientFactory instances can be used in the Twisted unit test framework, twisted.trial.  We must close the TCP connection after receiving the response XML.  Some minor deferred foo is needed to avoid a AlreadyCalled exception after calling loseConnection()
* renamed CIMInstance.update to update\_property, since mapping objects (like CIMInstance) often have an update() method with different behavior
* changed generated provider code to use new CIMInstance.update() method
* renamed update\_property to update
* renamed set\_property\_value to update\_property
* added a method to CIMInstance, useful in providers
* Added support for CIMDateTime objects to be passed to \_\_init\_\_
* add getstate/setstate to CIMDateTime so that it can be pickled
* Branch for a new release - it's about time!
* array\_size needs to be a string in xml elements
* changed interface to CIMQualifierDeclation to be more consistent with CIMQualifier
* case insensitive flavors and scopes, more robust handling of bools
* sync interface with c++
* changed enumInstanceNames to be a generator, and not use a result handler (corresponds to recent c++ change)
* unpack bool iparamvalues
* optimization: changed cimtype from an instance attribute to a class attribute
* implemented parse\_methodcall.  other minor fixes
* fixed log message.  reordered adjustment of sys.path. some codegen enhancements
* Scopes, value and flavors added to CIMQualifiersDeclaration
* Work around string/unicode issue with Twisted Python
* Rename LocalNamespacePath parameter to client factory functions to namespace to be more consistent with the rest of PyWBEM
* Misc cleanups to make code look a bit nicer
* Update source URL to point at downloads.sourceforge.net
* Add copy of LGPL license
* Add Requires tag for Python 2.3 or higher
* Add proper description for package
* Add a spec file for redhat packaging
* Update Debian packaging copyright to LGPL
* Update Debian packaging to use pycentral
* removed \_\_init\_\_ on CIMProvider.  Made filter\_results a property
* renamed pycim to cim\_provider.  added ability for a provider module to tell CIMProvider base class not to filter results
* changed directory layout
* changed directory layout
* changed directory layout
* changed directory layout
* changed directory layout
* changing directory layout
* Emptied the repo containing the inserted old releases, to provide the right base for rebasing the original repo's commits

v0.5.0
------

* Version 0.5 from releases directory

v0.4.0
------

* Version 0.4 from releases directory

v0.3.0
------

* Version 0.3 from releases directory
* added
