cti-python-stix2/CHANGELOG

249 lines
9.7 KiB
Plaintext

CHANGELOG
=========
3.0.0 2021-07-09
This version aligns with the STIX 2.1 CS 03 (WD12) document, also know as the "OASIS Standard".
Main Changes
#509 Add Sighting.summary default value
#503 Revamp how STIX content customization is detected and enforced enhancement
#500 fp write for STIX Objects
#492 Drop 'six' dependency (backwards breaking)
#490 Change canonicalization to normalization
#489 Fix observation expression DNF transformer to preserve FOLLOWEDBY order.
#485 Update CustomObservable decorator
#483 add is_sdo() et al functions
#481 Refactor stix2.parsing into more focused modules
#480 Support Pagination in TAXII DataStore
#476 FileSystemsSink.add creates an additional level of directory hierarchy
#458 Versioning refinements
#468 Extensions Support
Changes for CS03:
#517 Update links in code to current specification
#515 Add new infrastructure-type-ov entries
#514 Update Network Traffic for CS03
#504 Fix sighting.last_seen check
Semantic Similarity
#499 Update incident weights for semantic similarity
#496 Similarity/Equivalence Changes
#493 Update the semantic equivalence user guide page
#491 Graph Equivalence Changes
Testing, etc
#482 Migrate test to GitHub Actions, update test & check configuration
2.1.0 2020-11-20
* #337 Switches fuzzywuzzy dependency for rapidfuzz (@maxbachmann)
* #430 Adds ability to mix single objects and lists in the Bundle constructor
* #445, #475 Adds ability to calculate semantic equivalence of indicator patterns
* #449 Adds ability to calculate semantic equivalence of entire graphs of objects
* #427 Fixes protocol_family property on network socket extension
* #436 Fixes pattern visitor to handle expressions with both AND and OR
* #431 Fixes bug when adding custom object to FileSystemSink if the object type
hasn't been registered
* #439 Fixes bug with custom wrapped classes not retaining their name (@maybe-sybr)
* #438 Fixes bug with patterns when the object path contains numeric index steps
* #454 Fixes stix2.patterns.make_constant() to create TimestampConstants
* #455 Fixes bug with AND comparisons in patterns
* #460 Fixes bug when retrieving custom object from TAXIICollectionSource if
the object type hasn't been registered
* #444 Fixes bug so CompositeDataSource and deduplicate() handle unversioned
objects correctly
* #467 Fixes bug in semantic equivalence when Location objects don't have
latitude and longitude properties
* #470 Fixes bug where Sighting's where_sighted_refs property couldn't point to
a Location object
* #473 Fixes typo in name of X509V3ExtensionsType class
* #474 Fixes order of object properties when serialized to match examples from
the STIX specification
2.0.2 2020-07-07
* #423 Fixes issue with six dependency.
2.0.1 2020-07-06
* Fixes issue with PyPI.
2.0.0 2020-07-06
* #418 Drops support for Python versions older than 3.5
* #397 Drops python-dateutil dependency to just use built-in datetime instead
* #392, #402 Fixes bugs with deterministic ID generation
* #393 Fixes bug when using SSDEEP hashes
* #404 Fixes bug with "import *"
* #400 Fixes bug with pattern builder and STIX 2.0 Start/Stop timestamps
* #407 Fixes bug to allow granular markings with 'id' as selector
* #409 Fixes bug with 2.1 object reference properties
* #401 Fixes bug where some objects can be versioned and revoked that shouldn't
* #417 Improves efficiency of ListProperty
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.