Version 2.1.0.13
2016-08-09
- Add support for Python 3.3+
- Use 'mixbox' library for features shared with python-maec and python-stix.
- [#202] Use correct namespace when outputting Link object to XML.
- [#250] Add device_details to Product object.
- [#252] Don't use print statements in tests.
- [#254] Fix error when accessing parent Object.


Version 2.1.0.12
2015-08-04
- [#267] Fix bug where setting type_ attributes on some CybOX entities
  caused AttributeError to be raised during serialization.


Version 2.1.0.11
2015-04-27
- Align VocabString implementation with python-stix. Support validation of
  Vocab Strings.
- [#213] Fix bug in Win Event object.
- [#236] Fix TypeError with copy.deepcopy().
- [#239] Validate objects passed into Observable constructor.
- [#242][#244][#246] Fix issues associated with new VocabString implementation.


Version 2.1.0.10
2015-03-25
- [#217] Add CustomObject.
- [#227] Add missing parameters to WhoisRegistrantInfoType binding constructor.
- [#233] Add support for Pattern_Fidelity field on Observable.


Version 2.1.0.9
2014-12-22
- Standardize encoding logic, use Unicode everywhere
- Consolidate common code from bindings.
- Add automated code quality checking with Landscape.io.
- [#160] Fix Stream type on WinFile object.
- [#183] Add round-trip tests for Objects wrapped in Observables.
- [#186] Add tests for CustomProperties.
- [#187] Explicit support for Python 2.6 on RHEL 6.
- [#206] Set condition on hash type when exact=True.
- Include source code in documentation.
- Documentation cleanup.
- Various typo, style and bug fixes.


Version 2.1.0.8
2014-10-15
- Performance enhancements in to_xml() serialization (ref: python-stix #163)
- [#144] Make argument functions more consistent.
- [#195] Allow iterating over Observables as if it were a list.
- [#211] Check that a particular hash exists before getting its value.
- Various bug fixes.


Version 2.1.0.7
2014-09-02
- Add support for Archive File, ARP Cache, Device, DNS Cache, Image File, Linux
  Package, Network Route, Network Route Entry, Network Subnet, Product,
  Semaphore, SMS Message, Win Computer Account Win Critical Section, Win
  Driver, Win Filemapping, Win Hook, Win Kernel, Win Memory Page Region, Win
  Network Route Entry, Win Prefetch, Win Semaphore, Win System Restore, and Win
  Waitable Timer objects. (@slsnow)
- Add method for normalizing Windows file paths and registry key names.
  (@ikiril01)
- Updates to API, File, System  objects.
- Add documentation for AS (Autonomous System), Code, Link, and PDF File
  objects.
- Show most recent version of python-cybox for each CybOX language version in
  the documentation.
- [#189] Update version of ActionName and ToolType vocabularies.
- [#194] Fix errors caused by Unicode double-encoding
- Various minor typo and bug fixes.


Version 2.1.0.6
2014-07-23
- [#173] Add AS (autonomous system) object.
- [#179] Add support for Observable Keywords.
- [#181] Network Packet Object from_xml error.
- [#184] Fix NetworkConnectionObject SourceTCPState
  and DestinationTCP State


Version 2.1.0.5
2014-07-07
- Add Code object.
- [#163] Allow uniform access to property values as a list.
- [#168] Add from_json() function.
- [#174] Improve how VocabStrings handle XSI types.
- [#175] Typo in cybox.common.Property class.
- [#177] Artifact Object was not exporting or importing 'type' field.
- Fix to Windows Driver Object namespace.
- Updated documentation on http://cybox.readthedocs.org


Version 2.1.0.4
2014-04-22
- Improve handling of id and idref fields on Observables
- [#162] Add support for non-default @delimiter values.


Version 2.1.0.3
2014-04-15
- Add PDF File Object.
- Expand ExtractedFeatures type.
- Expand Windows File Object.
- [#158] Fix Unicode bug with xsi:types


Version 2.1.0.2
2014-03-24
- Improve documentation and tests. Add more examples
- Convert ExtractedString to use TypedField implementation.
- Add Link object.
- Add properties to File object.
- Fix parsing of Float and Double property values.
- Fix bugs in DNS Record object.


Version 2.1.0.1
2014-02-20
- Release draft version of documentation at http://cybox.readthedocs.org/
- Add automatic detection of SHA224, SHA384, and SHA512 hashes.
- Fix DateWithPrecision and DateTimeWithPrecision types and add tests.
- Add tests for Hostname and DomainName objects.
- Update test for SocketAddress object.
- Remove cybox.utils.nsparser.NamespaceParser.
- Add doctests to example content.
- Various typo corrections and bugfixes.


Version 2.1.0.0
2014-01-24
- Updated objects and other types to support Version 2.1 of the CybOX language.
- Add DomainName and Hostname objects.
- Added bindings for new AS, ArchiveFile, ARPCache, DomainName, Hostname, ImageFile, SMSMessage, WinHook objects
- Remove parseLiteral and exportLiteral functions from bindings.
- Remove member_data_items dictionaries from bindings.
- Standardize constructors of BaseObjectPropertyType and subclasses.
- Various typo corrections and bug fixes.
- This is just a summary of changes. For a full list of changes to support
  CybOX 2.1, see:
  https://github.com/CybOXProject/python-cybox/issues?milestone=1


CybOX 2.0 branch
----------------

Version 2.0.1.4
2014-01-23
- Add support for Encryption packaging on Artifact objects.
- [#70] Improve and consolidate parsing of numeric types.


Version 2.0.1.3
2013-12-24
- Fix bug the prevented removing objects from an EntityList.
- Explicitly set some 'datatype' attributes on output.
- Format Action timestamps correctly on XML output.
- Handle imports for duplicate "Time" classes.


Version 2.0.1.2
2013-11-06
- Use tox for cross-version automated testing.
- Convert Action and related types to use TypedField implementation.
- Convert DateRange type to use TypedField implementation.
- Add Frequency type.
- Register concrete implementations of Account-related classes in the
  parent bindings.
- Add support for Events.
- Allow recursive definition of Events in bindings.
- Improve output of date strings.
- Improve JSON handling of empty lists (for input and output).
- Improve namespace handling for XML output.
- Fix errors where incorrect types were being used in the bindings.
- [#16] Use correct binding class.
- Fix typos.


Version 2.0.1.1
2013-10-07
- Minor bugfixes and documentation updates.


Version 2.0.1.0
2013-09-20
- Updated to support Version 2.0.1 of the CybOX language.
- Add support for language "update" versions (in addition to "major" and
  "minor" versions).
- Update how delimiter-separated lists within Properties are handled.
- Correct errors in auto-generated bindings.


Version 2.0.0.1
2013-09-13
- Add API object.
- Improve Python 2.6 support
- Standardize Object test functions.
- Use Version 4 UUIDs rather than Version 1 UUIDs when creating random IDs.
- Include ID namespace by default on export.
- Allow new namespaces to be added to metadata.
- Various typo/bug fixes.


Version 2.0.0
2013-08-27
- First non-beta release!
- Convert MeasureSource, DigitalSignature, Contributor, Personnel types to use
  TypedField implementation.
- Convert all existing objects to use TypedField implementation.
- Add Account, UserAccount, GUIObject, GUIWindow, GUIDialogBox, WinEventLog,
  Volume, WinVolume, Disk, DiskPartition objects.
- Add Base64Binary and Name object property types.
- Add DataSegment type.
- Add equality checks using TypedFields.
- Clean up Entity and EntityList classes.
- Allow TypedFields to have multiplicity >1.
- Simplify implementation of BaseObjectPropertyType subclasses.
- Add default to_obj, to_dict, from_obj, and from_dict functions on the base
  Entity class.
- Allow custom callbacks to be run after setting a TypedField on a type.
- Allow specifying which TypedFields should be used in comparisons.
- Restructure imports to collapse the cybox.common and cybox.core packages.
- Expand examples.
- [#46] [#48] [#49] [#51] Typo/bug fixes.
- Various other typo corrections, bug fixes, and style fixes.


Version 2.0.0b6
2013-07-29
- Add DomainSpecificObjectProperties.
- Set huge_tree=True in ETCompatXMLParser.
- More tweaks to XML output options.
- Typo fixes


Version 2.0.0b5
2013-07-12
- Add functionality to import an implementation class from an outside library.
- Improve handling of comma-delimited lists in properties.
- More namespace handling improvements.
- Simplify EntityLists.
- Tweaks to XML output.
- Various typo fixes.


Version 2.0.0b4
2013-06-25
- Add support for CustomProperties in ObjectProperties
- Update Observable to properly handle ID and IDREFs.
- Improve namespace handling (again).
- Improve unicode support.
- Add X509Certificate object.


Version 2.0.0b3
2013-06-17
- Update how RelatedObjects are created and handle.
- Update Observable type.
- Update Action and related types.
- Add PlatformSpecification, ExtractedFeatures type.
- Add Packer and PackerList types.
- Add VersionInfoResource to PEResourceList type.
- Add Record_Data to DNSRecord object.
- Update File, HTTPSession, Pipe, Port, WinDriver objects.
- Convert ExtractStringList to an EntityList.
- Allow Properties to specify when to output their datatype.
- Properly escape XML-reserved characters.
- Convert several "is None" checks to empty-list checks.
- Standardize how superclass functions are called.
- Handle Unicode strings correctly, always output UTF-8.
- Make each class responsible for its own namespace.
- Allow adding arbitrary namespaces when outputting XML.
- Extract namespaces from object metadata dictionary.
- Add and expand automated tests.
- Various bugfixes and typo corrections.


Version 2.0.0b2
2013-05-16
- Add HTTPSession, WhoisEntry objects.
- Add Double, Float, Long, NonNegativeInteger, Date, Time properties.
- Update Personnel, Contributor, DateRange, MeasureSource, AssociatedObject
  types for CybOX 2.0.
- Update WinFile, WinExecutableFile, WinDriver, WinEvent, WinHandle, WinMutex,
  WinKernelHook, WinProcess, WinRegistryKey, WinService, Library, Pipe,
  WinPipe, NetworkSocket, System, WinSystem, and WinNetworkShare objects for
  CybOX 2.0.
- Add ActionReference type.
- Update ToolInformation, ToolInformationList, ByteRun(s) types.
- Convert DNSResourceRecords, StreamList, EnvironmentVariableList types
  to EntityList.
- Allow subclass instantiation in to_obj/from_obj functions.
- Fix datatype on Property classes
- Add initial TypedField implementation to reduce repetitive code.
- Convert File object to use TypedFields
- Add support for caches when reading a file that contains idrefs.
- Don't print anything to STDOUT.
- Add copyright statement to all files.
- Improve namespace parsing and output code.
- Improve automated tests.
- [#19] [#20] [#21] [#22] [#24] Typo fixes.
- Bugfixes in [#23] Memory and [#25] Process types.
- Various bug and style fixes.


Version 2.0.0b1
2013-04-29
- Add DNSQuery, DNSRecord, SocketAddress objects.
- Add 'title' and 'description' to Observables.
- Update StructuredText type with simpler structure.
- Update ExtractedString(s) and EnvironmentVariable(s) types.
- Update EmailMessage, File, Port, and Process objects.
- Extract PatternFieldGroup attributes into a separate class.
- Support lists of values within Properties.
- Support ControlledVocabularyStrings.
- Wrap content in CDATA where appropriate.
- Allow EntityList to enforce the type of objects that are added to it.
- Make XML output more readable. Don't output default attributes.
- Use proper prefixes in auto-generated IDs.
- Update helper.py.
- Improve automated tests.
- Various bugfixes, typo corrections, and style fixes.


Version 2.0.0a1
2013-04-18
- Major updates to support new language features and changes.
  - Rename "Attributes" to "Properties".
  - Rename "DefinedObject" to "ObjectProperties".
  - Remove "StatefulMeasure".
- Update File, Mutex, Address, EmailMessage, and Artifact objects.
- Add EntityList type to handle collections of a single type.
- Properly handle xsi:type to determine Object type.
- Add proper object namespaces to XML output.
- Correctly test whether properties are equal.
- Recreated GenerateDS bindings to support CybOX 2.0.
- Various tweaks to bindings.


CybOX 1.0 branch
----------------

Version 1.0.0b3
2013-04-19
- Add Packer_List and Peak_Entropy attribute to FileObject.
- [#14] Fixed typo.


Version 1.0.0b2
2013-04-17
- Improve handling of list-style elements (those with maxOccurs>1).
- Improve ToolInformation, ToolInformationList, and Hash types.
- Make WinDriver object easier to use.
- Add support for DomainSpecificObjectAttributes on Objects.
- Various bugfixes and typo corrections.


Version 1.0.0b1
2013-04-12
- First (beta) release on PyPI
- Compatible with CybOX 1.0
