diff --git a/.bumpversion.cfg b/.bumpversion.cfg index ae449c8f42..9e67b6b66b 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 2.187.0 +current_version = 2.188.0 commit = True tag = True tag_message = diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 112062951b..c4a10428fe 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -6,6 +6,68 @@ Synapse Changelog ***************** +v2.188.0 - 2024-11-08 +===================== + +Model Changes +------------- +- Added ``meta:aggregate`` to represent aggregate counts. + (`#3968 `_) +- Added ``risk:outage`` to represent outage events. + (`#3968 `_) +- Added ``:reporter`` and ``:reporter:name`` to the ``ou:industry`` form to + allow reporter specific industries. + (`#3968 `_) +- Added ``file:attachment`` to unify file attachment types. + (`#3969 `_) +- Added ``ou:candidate`` to track job applications and candidates. + (`#3969 `_) +- Added ``:src:txfiles`` and ``:dst:txfiles`` to ``inet:flow`` to capture + transferred files. + (`#3969 `_) +- Added ``inet:service:emote`` to track account emotes. + (`#3988 `_) +- Added ``inet:service:relationship`` to track service object relationships. + (`#3988 `_) +- Add a ``uses`` light edge between ``ou:technique`` and ``risk:vuln`` forms. + (`#3994 `_) +- See :ref:`userguide_model_v2_188_0` for more detailed model changes. + +Features and Enhancements +------------------------- +- Add support for `ndef` types in embed property definitions. + (`#3979 `_) +- Add ``children()`` method on Storm ``view`` objects. + (`#3984 `_) +- Update the ``cron.list`` command to use a tabular printer for table + generation. + (`#3986 `_) +- Add ``$lib.model.ext.addType()`` and ``$lib.model.ext.delType()`` Storm APIs + for managing extended model types. + (`#3989 `_) +- Allow optionally specifying typeopts to the ``Cortex.getPropNorm`` and + ``Cortex.getTypeNorm`` APIs. + (`#3992 `_) +- Update async scrape APIs to use the forked process pool rather than spawned + processes. + (`#3993 `_) + +Bugfixes +-------- +- Fixed an issue where creating a cron job with a stable iden could overlap + with existing authgates. + (`#3981 `_) +- Fixed an issue where Nexus events from updated mirrors pushed to a leader on + an older version which did not yet support those events were not handled + correctly. + (`#3985 `_) +- Fix an issue where extended model types could be deleted while still in use + by other extended model types. + (`#3989 `_) +- Fix an issue where the Storm ``background`` and ``parallel`` commands could + incorrectly throw NoSuchVar exceptions when validating query arguments. + (`#3991 `_) + v2.187.0 - 2024-11-01 ===================== diff --git a/changes/095726c47a4ee6870bcc42e478623adb.yaml b/changes/095726c47a4ee6870bcc42e478623adb.yaml deleted file mode 100644 index 2e9d6f9e2b..0000000000 --- a/changes/095726c47a4ee6870bcc42e478623adb.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -desc: Fixed an issue where creating a cron job with a stable iden could overlap with - existing authgates. -prs: [] -type: bug -... diff --git a/changes/1875c70e9850a71ac10c73c76ce16e97.yaml b/changes/1875c70e9850a71ac10c73c76ce16e97.yaml deleted file mode 100644 index 02a4d68e6f..0000000000 --- a/changes/1875c70e9850a71ac10c73c76ce16e97.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Update async scrape APIs to use the forked process pool rather than spawned processes. -prs: [] -type: feat -... diff --git a/changes/1e9a7d3fe713a7f640de326e1db60a5e.yaml b/changes/1e9a7d3fe713a7f640de326e1db60a5e.yaml deleted file mode 100644 index 92e5a24478..0000000000 --- a/changes/1e9a7d3fe713a7f640de326e1db60a5e.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -desc: Added ``:reporter`` and ``:reporter:name`` to the ``ou:industry`` form to allow - reporter specific industries. -prs: [] -type: model -... diff --git a/changes/23eb0a381fdf01dc8a3e3a1930bf4bb5.yaml b/changes/23eb0a381fdf01dc8a3e3a1930bf4bb5.yaml deleted file mode 100644 index f47b244932..0000000000 --- a/changes/23eb0a381fdf01dc8a3e3a1930bf4bb5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Update the ``cron.list`` command to use a tabular printer for table generation. -prs: [] -type: feat -... diff --git a/changes/2c46aa1705279437dd634c05db08e913.yaml b/changes/2c46aa1705279437dd634c05db08e913.yaml deleted file mode 100644 index f1d0d55293..0000000000 --- a/changes/2c46aa1705279437dd634c05db08e913.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -desc: Allow optionally specifying typeopts to the ``Cortex.getPropNorm`` and ``Cortex.getTypeNorm`` - APIs. -prs: [] -type: feat -... diff --git a/changes/31c7c7f8d23b14299f419635e5fe43ad.yaml b/changes/31c7c7f8d23b14299f419635e5fe43ad.yaml deleted file mode 100644 index 0f56a89b30..0000000000 --- a/changes/31c7c7f8d23b14299f419635e5fe43ad.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -desc: Fix an issue where the Storm ``background`` and ``parallel`` commands could incorrectly - throw NoSuchVar exceptions when validating query arguments. -prs: [] -type: bug -... diff --git a/changes/35385b8e9e2ff8358a65acda4ad1d505.yaml b/changes/35385b8e9e2ff8358a65acda4ad1d505.yaml deleted file mode 100644 index 476064ca46..0000000000 --- a/changes/35385b8e9e2ff8358a65acda4ad1d505.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Add support for `ndef` types in embed property definitions. -prs: [] -type: feat -... diff --git a/changes/43bb12310c970de3858c1a0bb2d3bc03.yaml b/changes/43bb12310c970de3858c1a0bb2d3bc03.yaml deleted file mode 100644 index be62678a91..0000000000 --- a/changes/43bb12310c970de3858c1a0bb2d3bc03.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Added ``inet:service:relationship`` to track service object relationships. -prs: [] -type: model -... diff --git a/changes/64bfe97ecc771ede65ead4295b9efbed.yaml b/changes/64bfe97ecc771ede65ead4295b9efbed.yaml deleted file mode 100644 index 582dde24cb..0000000000 --- a/changes/64bfe97ecc771ede65ead4295b9efbed.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Added ``:src:txfiles`` and ``:dst:txfiles`` to ``inet:flow`` to capture transferred files. -prs: [] -type: model -... diff --git a/changes/7cf52c63ad724ae8a22dc1d077c6587f.yaml b/changes/7cf52c63ad724ae8a22dc1d077c6587f.yaml deleted file mode 100644 index 869345c788..0000000000 --- a/changes/7cf52c63ad724ae8a22dc1d077c6587f.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Added ``risk:outage`` to represent outage events. -prs: [] -type: model -... diff --git a/changes/ab158d6dfe64d272060c817ff692bb27.yaml b/changes/ab158d6dfe64d272060c817ff692bb27.yaml deleted file mode 100644 index fd9b785a7a..0000000000 --- a/changes/ab158d6dfe64d272060c817ff692bb27.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -desc: Add ``$lib.model.ext.addType()`` and ``$lib.model.ext.delType()`` Storm APIs for managing - extended model types. -prs: [] -type: feat -... diff --git a/changes/baa0bf5683fdaf277adb91c5c326913b.yaml b/changes/baa0bf5683fdaf277adb91c5c326913b.yaml deleted file mode 100644 index 0ec3d34eb4..0000000000 --- a/changes/baa0bf5683fdaf277adb91c5c326913b.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Added ``meta:aggregate`` to represent aggregate counts. -prs: [] -type: model -... diff --git a/changes/c15ec8ca93f093eb81568119ec91e9bc.yaml b/changes/c15ec8ca93f093eb81568119ec91e9bc.yaml deleted file mode 100644 index 07fe1ce810..0000000000 --- a/changes/c15ec8ca93f093eb81568119ec91e9bc.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Add ``children()`` method on Storm ``view`` objects. -prs: [] -type: feat -... diff --git a/changes/c7d848bfbfed74c0ad87949f248c55c0.yaml b/changes/c7d848bfbfed74c0ad87949f248c55c0.yaml deleted file mode 100644 index 2cb0a6cc8a..0000000000 --- a/changes/c7d848bfbfed74c0ad87949f248c55c0.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Added ``inet:service:emote`` to track account emotes. -prs: [] -type: model -... diff --git a/changes/e2edcf7a8c0a1fca8930a7c4f88d3f99.yaml b/changes/e2edcf7a8c0a1fca8930a7c4f88d3f99.yaml deleted file mode 100644 index 4a5b43be42..0000000000 --- a/changes/e2edcf7a8c0a1fca8930a7c4f88d3f99.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Add a ``uses`` light edge between ``ou:technique`` and ``risk:vuln`` forms. -prs: [] -type: model -... diff --git a/changes/e46aae21fa34bf1a661eae5b0912d248.yaml b/changes/e46aae21fa34bf1a661eae5b0912d248.yaml deleted file mode 100644 index fd3ca0e061..0000000000 --- a/changes/e46aae21fa34bf1a661eae5b0912d248.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -desc: 'Fixed an issue where Nexus events from updated mirrors pushed to a leader on - an older version which did not yet support those events were not handled correctly.' -prs: [] -type: bug -... diff --git a/changes/ec7bd38fc39580d2d7604a6474bddb7b.yaml b/changes/ec7bd38fc39580d2d7604a6474bddb7b.yaml deleted file mode 100644 index 7afa3cffba..0000000000 --- a/changes/ec7bd38fc39580d2d7604a6474bddb7b.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -desc: Fix an issue where extended model types could be deleted while still in use - by other extended model types. -prs: [] -type: bug -... diff --git a/changes/ee9b100466c6b1ba3cd94317254a5013.yaml b/changes/ee9b100466c6b1ba3cd94317254a5013.yaml deleted file mode 100644 index 501eaa2c2f..0000000000 --- a/changes/ee9b100466c6b1ba3cd94317254a5013.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Added ``file:attachment`` to unify file attachment types. -prs: [] -type: model -... diff --git a/changes/fe9e8839dd50e3e951583b6facf6f787.yaml b/changes/fe9e8839dd50e3e951583b6facf6f787.yaml deleted file mode 100644 index f2073fa3d6..0000000000 --- a/changes/fe9e8839dd50e3e951583b6facf6f787.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Added ``ou:candidate`` to track job applications and candidates. -prs: [] -type: model -... diff --git a/changes/modelrefs/model_2.188.0_6d1f734406234e3750c72f5bf299f89a13d0825a.yaml.gz b/changes/modelrefs/model_2.188.0_6d1f734406234e3750c72f5bf299f89a13d0825a.yaml.gz new file mode 100644 index 0000000000..903ed08ba7 Binary files /dev/null and b/changes/modelrefs/model_2.188.0_6d1f734406234e3750c72f5bf299f89a13d0825a.yaml.gz differ diff --git a/docs/synapse/userguides/model_updates/update_v2_188_0.rst b/docs/synapse/userguides/model_updates/update_v2_188_0.rst new file mode 100644 index 0000000000..bff5fc9001 --- /dev/null +++ b/docs/synapse/userguides/model_updates/update_v2_188_0.rst @@ -0,0 +1,122 @@ + + +.. _userguide_model_v2_188_0: + +###################### +v2.188.0 Model Updates +###################### + +The following model updates were made during the ``v2.188.0`` Synapse release. + +********* +New Types +********* + +``inet:service:object`` + An ndef type including all forms which implement the ``inet:service:object`` + interface. + + + +********* +New Forms +********* + +``risk:outage`` + An outage event which affected resource availability. + + +``meta:aggregate:type:taxonomy`` + A type of item being counted in aggregate. + + +``ou:candidate:method:taxonomy`` + A taxonomy of methods by which a candidate came under consideration. + + +``risk:outage:type:taxonomy`` + An outage type taxonomy. + + +``file:attachment`` + A file attachment. + + +``risk:outage:cause:taxonomy`` + An outage cause taxonomy. + + +``inet:service:relationship`` + A relationship between two service objects. + + +``meta:aggregate`` + A node which represents an aggregate count of a specific type. + + +``inet:service:relationship:type:taxonomy`` + A service object relationship type taxonomy. + + +``inet:service:emote`` + An emote or reaction by an account. + + +``ou:candidate`` + A candidate being considered for a role within an organization. + + + +************** +New Properties +************** + +``inet:flow`` + The form had the following properties added to it: + + + ``dst:txfiles`` + An array of files sent by the destination host. + + + ``src:txfiles`` + An array of files sent by the source host. + + +``ou:industry`` + The form had the following properties added to it: + + + ``reporter`` + The organization reporting on the industry. + + + ``reporter:name`` + The name of the organization reporting on the industry. + + + +*********** +Light Edges +*********** + +``caused`` + When used with a ``risk:attack`` and an ``risk:outage`` node, the edge + indicates the attack caused the outage. + + When used with a ``meta:event`` and an ``risk:outage`` node, the edge + indicates the event caused the outage. + + +``impacted`` + When used with a ``risk:outage`` node, the edge indicates the outage event + impacted the availability of the target node. + + When used with a ``risk:vuln`` and an ``ou:technique`` node, the edge + indicates the vulnerability uses the technique. + + +``uses`` + When used with a ``ou:technique`` and an ``risk:vuln`` node, the edge + indicates the technique uses the vulnerability. + diff --git a/pyproject.toml b/pyproject.toml index 8177a3fcc7..c3f3d09319 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta' [project] name = 'synapse' -version = '2.187.0' +version = '2.188.0' authors = [ { name = 'The Vertex Project LLC', email = 'root@vertex.link'}, ] diff --git a/synapse/lib/version.py b/synapse/lib/version.py index 19a3e434ab..0d1af2e238 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, 187, 0) +version = (2, 188, 0) verstring = '.'.join([str(x) for x in version]) commit = '' diff --git a/synapse/models/inet.py b/synapse/models/inet.py index 93b0fb8851..abd9c95856 100644 --- a/synapse/models/inet.py +++ b/synapse/models/inet.py @@ -1369,7 +1369,7 @@ def getModelDefs(self): 'doc': 'A username string.' }), - ('inet:service:object', ('ndef', {'interface': 'inet:service:object'}), { + ('inet:service:object', ('ndef', {'interfaces': ('inet:service:object',)}), { 'doc': 'An ndef type including all forms which implement the inet:service:object interface.'}), ('inet:search:query', ('guid', {}), { diff --git a/synapse/tests/test_model_inet.py b/synapse/tests/test_model_inet.py index 12114a261e..94f12bdce0 100644 --- a/synapse/tests/test_model_inet.py +++ b/synapse/tests/test_model_inet.py @@ -3404,3 +3404,6 @@ async def test_model_inet_service(self): self.eq(':gothparrot:', nodes[0].get('text')) self.len(1, await core.nodes('inet:service:emote :about -> it:dev:repo +:name=vertex')) self.len(1, await core.nodes('inet:service:emote :creator -> inet:service:account +:user=visi')) + + with self.raises(s_exc.BadTypeValu): + await core.nodes('[ inet:service:relationship=* :source={[it:dev:str=foo]} ]')