CHANGELOG ========= 1.4.0 - 2020-04-03 * #347, #355, #356, #357, #358, #360, #362, #369, #370, #379, #374, #384 Updates STIX 2.1 support to CS01 * #376 Fixes bug where registering object of same name would overwrite it; will now raise an error 1.3.1 - 2020-03-06 * #322 Adds encoding option FileSystemSource and MemorySource * #354 Adds ability to specify id-contributing properties on custom SCOs * #346 Certain SCO properties are no longer deprecated * #327 Fixes missing 'name' property on Marking Definitions * #303 Fixes bug with escaping quotes in patterns * #331 Fixes crashing bug of property names that conflict with Mapping methods * #337 Fixes bug with detecting STIX version of content when parsing * #342, #343 Fixes bug when adding SCOs to Memory or FileSystem Stores * #348 Fixes bug with generating deterministic IDs for SCOs * #344 Fixes bug with propagating errors from the pattern validator 1.3.0 - 2020-01-04 * #305 Updates support of STIX 2.1 to WD06 * #304 Updates semantic equivalence to latest draft, and allows programmatic detailed logging * Adds Python 3.8 support * #297 Fixes bug with File.contains_refs * #311 Fixes several DeprecationWarnings * #315 Fixes parsing embedded external references with custom properties * #316 Fix socket extension key checking * #317 Fixes checking of Indicator's pattern property based on pattern_version 1.2.1 - 2019-10-16 * #301 Adds more detailed debugging semantic equivalence output * #301 Updates semantic equivalence errors * #300 Fixes bug with deterministic IDs for SCOs containing unicode 1.2.0 - 2019-09-25 * #268, #271, #273, #275, #283, #285, #290 Changes support of STIX 2.1 to WD05 (CSD02), for all object types * #269 Updates id properties to take a spec_version parameter * #283 Changes the exception class hierarchy * #289 Adds functions for calculating semantic equivalence of two objects * #286 Fixes handling of custom observable extensions * #287 Fixes bug with timestamp precision preservation in MarkingDefinition objects 1.1.3 - 2019-08-12 * #258 Ignores empty values for optional fields * #259 Adds support for lang granular markings * #261 Prevents instantiation or serialization of TLP marking-definitions that don't follow the spec * #262 Supports actual objects in _valid_refs instead of just strings * #264 Supports accessing objects in bundles via STIX Object IDs * #274 Fixes bug parsing bundle containing custom objects 1.1.2 - 2019-02-13 * #86 Adds helper function to Location objects to generate a URL to the location in an online map engine. 1.1.1 - 2019-01-11 * #234 Update documentation structure to better navigate between v20/v21 objects * #232 FileSystemStore now raises an exception if you attempt to overwrite an existing file * #236 Fix a serialization problem with the WindowsRegistryKey observable object * #238 Fix a problem with the LanguageContent object not allowing its creation with an empty dictionary 1.1.0 - 2018-12-11 - Most (if not all) STIX 2.1 SDOs/SROs and core objects have been implemented according to the latest CSD/WD document - There is an implementation for the conversion scales - #196, #193 Removing duplicate code for: properties, registering objects, parsing objects, custom objects - #80, #197 Most (if not all) tests created for v20 are also implemented for v21 - #189 Added extra checks for the pre-commit tool - #202 It is now possible to pass a Bundle into add() method in Memory datastores 1.0.4 - 2018-11-15 * #225 MemorySource fix to support custom objects * #212 More consistency in Observable extensions behavior/error messages 1.0.3 - 2018-10-31 * #187 Pickle proof objects * #181 Improvements to error handling for datastores * #184, #192 Fix "pretty" JSON serialization problems * #195 Fix wrong property name for raster-image-ext * #201 UUIDv4 enforcement on identifiers * #203 New filter option "contains" for datastores * #207 Add documentation on patterning * #213 Python 3.7 support * #214 Support for multiple object versions in MemoryStore 1.0.2 - 2018-05-18 * Fixes bugs when using allow_custom (#176, #179). 1.0.1 - 2018-04-27 * Fixes bug with incorrect TAXII parameters (#169). * Fixes bug with constructing patterns (#171). 1.0.0 - 2018-04-16 * Adds the Workbench layer API. * Adds checks to ensure valid type names are provided. * Supports parsing generic custom STIX 2 content without needing to create classes for them. * Fixes "Not JSON serializable" error in TAXIICollectionStore. * Fixes bug with parsing JSON files in FileSystemStore. * Fixes bug with Filters in TAXIICollectionStore. * Fixes minor bugs in the patterning API. * Fixes bug with ListProperty containing DictionaryProperty. * Fixes bug with parsing observables. * Fixes bug involving optional properties with default values. * Changes custom observable extensions to require properties to be defined as a list of tuples rather than a dictionary. * Changes Filters to allow passing a dictionary as a filter value. * Changes `get_dict` to a private function. * `taxii2-client` is now an optional dependency. 0.5.1 - 2018-03-06 * Fixes issue with PyPI. 0.5.0 - 2018-03-06 * Adds functions to dereference relationships. * Adds a function to get an object's type from its ID. * Reorganizes DataStore api, renaming: stix2.sources to stix2.datastore. * Fixes various bugs involving CustomMarking, creating new versions of objects with custom properties, and a missing IntrusionSet property. * Drops Python 3.3 support. 0.4.0 - 2017-11-13 * Adds `creator_of` function to easily get the Identity that created an object, and a `serialize` function for fast serialization without sorting properties. * Fixes bugs with DataStores and with adding custom STIX content to Bundles. * Supports filtering on any property, not just common properties. * Includes internal changes to make it easier to support multiple versions of the STIX specification. 0.3.0 - 2017-10-06 * Adds data stores, object factory, and the environment layer. * Supports pattern expressions and data markings. * Fixes some bugs with timestamp precision and parsing of bundles. * Includes support for custom object types, custom properties, custom observable objects, and custom observable extensions. 0.2.0 - 2017-05-31 * Adds a TAXII data source. 0.1.0 - 2017-05-22 * Include support for serializing/deserializing all STIX objects and Cyber Observable objects. * Markings are supported but not validated. 0.0.1 - 2017-02-24 * First packaged version * Supports all SDOs, Relationships, Bundle (not Sightings). * Limited support for Cyber Observables objects * Does not support markings.