diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 8921797f1f6..89dfaa784ad 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 2.192.0 +current_version = 2.193.0 commit = True tag = True tag_message = diff --git a/CHANGELOG.rst b/CHANGELOG.rst index e324c23b23e..767b36375b2 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -6,6 +6,41 @@ Synapse Changelog ***************** +v2.193.0 - 2025-01-06 +===================== + +Model Changes +------------- +- Updated the ``infotech``, ``inet``, and ``risk`` models. + (`#4047 `_) +- See :ref:`userguide_model_v2_193_0` for more detailed model changes. + +Features and Enhancements +------------------------- +- Updated the Storm ``parallel`` command behavior to avoid creating empty + pipelines when there are fewer inbound nodes than the number of pipelines + specified by the ``--size`` argument. + (`#4041 `_) +- Refactored backup streaming logic and error handling. + (`#4042 `_) +- Added ``indent`` kwarg to ``$lib.json.save()`` to indent serialized json with + a number of spaces. + (`#4052 `_) + +Bugfixes +-------- +- Relaxed ``inet:web:hashtag`` regex. + (`#4033 `_) +- Fixed an issue where certain exceptions raised while calling a function in + Storm were not providing appropriate details about the origin of the + exception. + (`#4038 `_) +- Added a patch for Python ``http.cookies`` module to address CVE-2024-7592 + exposure. + (`#4045 `_) +- Fixed SIGINT handling in the ``synapse.tools.storm`` CLI tool. + (`#4048 `_) + v2.192.0 - 2024-12-13 ===================== diff --git a/changes/34ba15e2aef8b5c6be4d0274db884f84.yaml b/changes/34ba15e2aef8b5c6be4d0274db884f84.yaml deleted file mode 100644 index 87e11e76496..00000000000 --- a/changes/34ba15e2aef8b5c6be4d0274db884f84.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Refactored backup streaming logic and error handling. -prs: [] -type: feat -... diff --git a/changes/3ef24cd8510986bf45e39e390b383077.yaml b/changes/3ef24cd8510986bf45e39e390b383077.yaml deleted file mode 100644 index 1392a8ab689..00000000000 --- a/changes/3ef24cd8510986bf45e39e390b383077.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -desc: Added ``indent`` kwarg to ``$lib.json.save()`` to indent serialized json with a number of spaces or a specified string. -prs: -- 4052 -type: feat -... diff --git a/changes/5433695fd5f2187f2cd9f7a4ba0ae4d9.yaml b/changes/5433695fd5f2187f2cd9f7a4ba0ae4d9.yaml deleted file mode 100644 index 08ef0211ca3..00000000000 --- a/changes/5433695fd5f2187f2cd9f7a4ba0ae4d9.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Fixed SIGINT handling in the ``synapse.tools.storm`` CLI tool. -prs: [] -type: bug -... diff --git a/changes/9d85121addff53793ad88883586796cc.yaml b/changes/9d85121addff53793ad88883586796cc.yaml deleted file mode 100644 index 2b05e194f4a..00000000000 --- a/changes/9d85121addff53793ad88883586796cc.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -desc: Updated the Storm ``parallel`` command behavior to avoid creating empty pipelines - when there are fewer inbound nodes than the number of pipelines specified by the - ``--size`` argument. -prs: [] -type: feat -... diff --git a/changes/bd45773cff22d0cf547370e90918ba58.yaml b/changes/bd45773cff22d0cf547370e90918ba58.yaml deleted file mode 100644 index 56ff78936af..00000000000 --- a/changes/bd45773cff22d0cf547370e90918ba58.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Added a patch for Python ``http.cookies`` module to address CVE-2024-7592 exposure. -prs: [] -type: bug -... diff --git a/changes/e25248c44d5ba33a43ae937a0bb25fd5.yaml b/changes/e25248c44d5ba33a43ae937a0bb25fd5.yaml deleted file mode 100644 index 1019c9ead55..00000000000 --- a/changes/e25248c44d5ba33a43ae937a0bb25fd5.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -desc: Fixed an issue where certain exceptions raised while calling a function in Storm - were not providing appropriate details about the origin of the exception. -prs: [] -type: bug -... diff --git a/changes/ee212e05bce42ad7a031359242fab68b.yaml b/changes/ee212e05bce42ad7a031359242fab68b.yaml deleted file mode 100644 index 1152286d04b..00000000000 --- a/changes/ee212e05bce42ad7a031359242fab68b.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Relaxed ``inet:web:hashtag`` regex. -prs: [] -type: bug -... diff --git a/changes/modelrefs/model_2.193.0_ad17bf2e740ba11453b7827ce70c140f969a1430.yaml.gz b/changes/modelrefs/model_2.193.0_ad17bf2e740ba11453b7827ce70c140f969a1430.yaml.gz new file mode 100644 index 00000000000..0c62f354035 Binary files /dev/null and b/changes/modelrefs/model_2.193.0_ad17bf2e740ba11453b7827ce70c140f969a1430.yaml.gz differ diff --git a/docs/synapse/userguides/model_updates/update_v2_193_0.rst b/docs/synapse/userguides/model_updates/update_v2_193_0.rst new file mode 100644 index 00000000000..ffc11e817d1 --- /dev/null +++ b/docs/synapse/userguides/model_updates/update_v2_193_0.rst @@ -0,0 +1,227 @@ + + +.. _userguide_model_v2_193_0: + +###################### +v2.193.0 Model Updates +###################### + +The following model updates were made during the ``v2.193.0`` Synapse release. + +************** +New Properties +************** + +``inet:egress`` + The form had the following property added to it: + + ``host:iface`` + The interface which the host used to connect out via the egress. + + +``inet:email:message`` + The form had the following property added to it: + + ``id`` + The ID parsed from the "message-id" header. + + +``inet:flow`` + The form had the following property added to it: + + ``capture:host`` + The host which captured the flow. + + +``inet:service:account`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the account. + + +``inet:service:bucket`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the bucket. + + +``inet:service:bucket:item`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the bucket item. + + +``inet:service:channel`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the channel. + + +``inet:service:channel:member`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the channel membership. + + +``inet:service:emote`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the emote. + + +``inet:service:group`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the group. + + +``inet:service:group:member`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the group membership. + + +``inet:service:permission`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the permission. + + +``inet:service:relationship`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the relationship. + + +``inet:service:rule`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the rule. + + +``inet:service:session`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the session. + + +``inet:service:subscription`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the subscription. + + +``inet:service:tenant`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the tenant. + + +``inet:service:thread`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the thread. + + +``it:dev:repo:issue:label`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the repository issue label. + + +``it:host`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the host. + + +``it:host:tenancy`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the host tenancy. + + +``it:software:image`` + The form had the following property added to it: + + ``url`` + The primary URL associated with the software image. + + +``risk:leak`` + The form had the following property added to it: + + ``recipient`` + The identity which received the leaked information. + + + +****************** +Updated Interfaces +****************** + +``inet:service:object`` + The property ``url`` has been added to the interface. + + + +************* +Updated Types +************* + +``inet:web:hashtag`` + The regular expression used to validate hashtags has been relaxed. + + + +*********** +Light Edges +*********** + +``enabled`` + When used with a ``risk:leak`` and a ``risk:leak`` node, the edge + indicates the source leak enabled the target leak to occur. + + +``uses`` + When used with a ``risk:mitigation`` and an ``it:prod:softver`` node, the + edge indicates the mitigation uses the software version. + + When used with a ``risk:mitigation`` and an ``it:prod:hardware`` node, the + edge indicates the mitigation uses the hardware. + + + +********************* +Deprecated Properties +********************* + +``risk:mitigation`` + The form had the following properties deprecated: + + + ``hardware`` + Deprecated. Please use risk:mitigation -(uses)> it:prod:hardware. + + + ``software`` + Deprecated. Please use risk:mitigation -(uses)> it:prod:softver. + diff --git a/pyproject.toml b/pyproject.toml index bbb5acdabc4..1aea172b4fa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta' [project] name = 'synapse' -version = '2.192.0' +version = '2.193.0' authors = [ { name = 'The Vertex Project LLC', email = 'root@vertex.link'}, ] diff --git a/synapse/lib/version.py b/synapse/lib/version.py index 9970e81c09c..2323c8728f9 100644 --- a/synapse/lib/version.py +++ b/synapse/lib/version.py @@ -223,6 +223,6 @@ def reqVersion(valu, reqver, ############################################################################## # The following are touched during the release process by bumpversion. # Do not modify these directly. -version = (2, 192, 0) +version = (2, 193, 0) verstring = '.'.join([str(x) for x in version]) commit = '' diff --git a/synapse/models/infotech.py b/synapse/models/infotech.py index e0e44c2b552..636850faad4 100644 --- a/synapse/models/infotech.py +++ b/synapse/models/infotech.py @@ -655,6 +655,7 @@ def getModelDefs(self): ('it:host', ('guid', {}), { 'interfaces': ('inet:service:object',), + 'template': {'service:base': 'host'}, 'doc': 'A GUID that represents a host or system.'}), ('it:log:event:type:taxonomy', ('taxonomy', {}), { @@ -784,6 +785,7 @@ def getModelDefs(self): }), ('it:dev:repo', ('guid', {}), { 'interfaces': ('inet:service:object',), + 'template': {'service:base': 'repository'}, 'doc': 'A version control system instance.', }), ('it:dev:repo:remote', ('guid', {}), { @@ -791,10 +793,12 @@ def getModelDefs(self): }), ('it:dev:repo:branch', ('guid', {}), { 'interfaces': ('inet:service:object',), + 'template': {'service:base': 'repository branch'}, 'doc': 'A branch in a version control system instance.', }), ('it:dev:repo:commit', ('guid', {}), { 'interfaces': ('inet:service:object',), + 'template': {'service:base': 'repository commit'}, 'doc': 'A commit to a repository.', }), ('it:dev:repo:diff', ('guid', {}), { @@ -802,18 +806,22 @@ def getModelDefs(self): }), ('it:dev:repo:issue:label', ('guid', {}), { 'interfaces': ('inet:service:object',), + 'template': {'service:base': 'repository issue label'}, 'doc': 'A label applied to a repository issue.', }), ('it:dev:repo:issue', ('guid', {}), { 'interfaces': ('inet:service:object',), + 'template': {'service:base': 'repository issue'}, 'doc': 'An issue raised in a repository.', }), ('it:dev:repo:issue:comment', ('guid', {}), { 'interfaces': ('inet:service:object',), + 'template': {'service:base': 'repository issue comment'}, 'doc': 'A comment on an issue in a repository.', }), ('it:dev:repo:diff:comment', ('guid', {}), { 'interfaces': ('inet:service:object',), + 'template': {'service:base': 'repository diff comment'}, 'doc': 'A comment on a diff in a repository.', }), ('it:prod:soft', ('guid', {}), { @@ -1046,6 +1054,7 @@ def getModelDefs(self): ('it:host:tenancy', ('guid', {}), { 'interfaces': ('inet:service:object',), + 'template': {'service:base': 'host tenancy'}, 'doc': 'A time window where a host was a tenant run by another host.'}), ('it:software:image:type:taxonomy', ('taxonomy', {}), { @@ -1054,6 +1063,7 @@ def getModelDefs(self): ('it:software:image', ('guid', {}), { 'interfaces': ('inet:service:object',), + 'template': {'service:base': 'software image'}, 'doc': 'The base image used to create a container or OS.'}), ('it:storage:mount', ('guid', {}), {