diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 767b36375b..e4270249b3 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -5,6 +5,65 @@ ***************** Synapse Changelog ***************** +v2.194.0 - 2025-01-16 +===================== + +Model Changes +------------- +- Added ``alts`` definitions to the following forms: ``geo:place``, + ``it:prod:soft``, ``it:prod:softver``, ``ou:campaign``, ``ou:conference``, + ``ou:goal``, ``ou:industry``, ``pol:country``, ``ps:contact``, ``ps:person``, + ``risk:threat``, ``risk:tool:software``, and ``risk:vuln``. + (`#4064 `_) +- See :ref:`userguide_model_v2_194_0` for more detailed model changes. + +Features and Enhancements +------------------------- +- Added syntax for conditional node property edit operators in Storm. + (`#4046 `_) +- Updated the ``pkg.load`` Storm command to include an ``X-Synapse-Version`` + HTTP header in requests. + (`#4074 `_) + +Bugfixes +-------- +- Fixed an issue with the Storm loop and generator keywords, ``continue``, + ``break``, and ``stop``. Using these keywords outside of a loop or generator + function will now raise a ``StormRuntimeError`` exception. Using these + keywords to tear down the Storm runtime will now emit an ``err`` message with + the type ``StormRuntimeError`` and a message indicating the invalid use of + the keywords. The use of these keywords or ``$lib.exit()`` in + ``$lib.cache.fixed`` callbacks will now raise a ``StormRuntimeError``. + (`#4025 `_) + (`#4073 `_) +- Fixed a Cortex cron scheduler loop error during a mirror promotion. + (`#4058 `_) +- Fixed bug in password complexity rules where setting a password to (null) or + None would fail. + (`#4059 `_) +- Fixed an issue in Storm where attempting to iterate a non-iterable object + would raise a Python exception rather than a ``StormRuntimeError``. + (`#4066 `_) +- Fixed an issue in Storm functions where using the return keyword in a + subquery used as a value could incorrectly change the function type. + (`#4066 `_) +- Fixed an issue where invalid dictionary constructor values would result in + unhandled Python ``AttributeError`` exceptions leaking into the Storm + runtime. + (`#4068 `_) +- Fixed an issue where the dictionary based guid constructor could raise + unclear Python ``IndexError`` exceptions. It now raises ``BadTypeValu`` + exceptions detailing the problem. + (`#4068 `_) + +Deprecations +------------ +- The Storm function ``$lib.list()`` has been deprecated, in favor of using the + ``()`` or ``([])`` style syntax for directly declaring a list in Storm. + (`#4071 `_) +- Deprecated ``$lib.text()``. Please use a list to append strings to, and then + use ``$lib.str.join()`` to join them on demand. + (`#4072 `_) v2.193.0 - 2025-01-06 ===================== diff --git a/changes/033795080031a65ba1ce50687ba174aa.yaml b/changes/033795080031a65ba1ce50687ba174aa.yaml deleted file mode 100644 index 982976e8e4..0000000000 --- a/changes/033795080031a65ba1ce50687ba174aa.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -desc: Fixed an issue where the dictionary based guid constructor could raise unclear - Python ``IndexError`` exceptions, and instead raise ``BadTypeValu`` exceptions detailing - the problem. -prs: [] -type: bug -... diff --git a/changes/1d7ec4bf8dbac3b96ecf801d95a7ab4c.yaml b/changes/1d7ec4bf8dbac3b96ecf801d95a7ab4c.yaml deleted file mode 100644 index c57ab40869..0000000000 --- a/changes/1d7ec4bf8dbac3b96ecf801d95a7ab4c.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -desc: The Storm function ``$lib.list()`` has been deprecated, in favor of using the ``()`` or - ``([])`` style syntax for directly declaring a list in Storm. -prs: [] -type: deprecation -... diff --git a/changes/303e4458db5d4c5f9f39813b5be41ad7.yaml b/changes/303e4458db5d4c5f9f39813b5be41ad7.yaml deleted file mode 100644 index 2d4886a75c..0000000000 --- a/changes/303e4458db5d4c5f9f39813b5be41ad7.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -desc: Fixed an issue in Storm functions where using the return keyword in a subquery - used as a value could incorrectly change the function type. -prs: [] -type: bug -... diff --git a/changes/32327cef477d8fa55925e86841fc4fc8.yaml b/changes/32327cef477d8fa55925e86841fc4fc8.yaml deleted file mode 100644 index c3d5ea6457..0000000000 --- a/changes/32327cef477d8fa55925e86841fc4fc8.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -desc: Fixed an issue where invalid dictionary constructor values would result in unhandled - Python ``AttributeError`` exceptions leaking into the Storm runtime. -prs: [] -type: bug -... diff --git a/changes/4a4fe1c2eb09b8a712af72dc6ce41c38.yaml b/changes/4a4fe1c2eb09b8a712af72dc6ce41c38.yaml deleted file mode 100644 index 2d77bd4367..0000000000 --- a/changes/4a4fe1c2eb09b8a712af72dc6ce41c38.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -desc: 'Added ``alts`` definitions to the following forms: ``geo:place``, ``it:prod:soft``, - ``it:prod:softver``, ``ou:campaign``, ``ou:conference``, ``ou:goal``, ``ou:industry``, - ``pol:country``, ``ps:contact``, ``ps:person``, ``risk:threat``, ``risk:tool:software``, - and ``risk:vuln``.' -prs: [] -type: model -... diff --git a/changes/7a4e69c153170cce7ed678912c3857a2.yaml b/changes/7a4e69c153170cce7ed678912c3857a2.yaml deleted file mode 100644 index 44de852536..0000000000 --- a/changes/7a4e69c153170cce7ed678912c3857a2.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -desc: Fixed an issue in Storm where attempting to iterate a non-iterable object would - raise a Python exception rather than a StormRuntimeError. -prs: [] -type: bug -... diff --git a/changes/8221696241d0c8e0142d663ec70cc6da.yaml b/changes/8221696241d0c8e0142d663ec70cc6da.yaml deleted file mode 100644 index 08facb0633..0000000000 --- a/changes/8221696241d0c8e0142d663ec70cc6da.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -desc: Updated the ``pkg.load`` Storm command to include an ``X-Synapse-Version`` HTTP header - in requests. -prs: [] -type: feat -... diff --git a/changes/b4642a502f49353787b4f6632a6a6566.yaml b/changes/b4642a502f49353787b4f6632a6a6566.yaml deleted file mode 100644 index c0558c9b79..0000000000 --- a/changes/b4642a502f49353787b4f6632a6a6566.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -desc: Fixed an issue with the Storm loop and generator keywords, ``continue``, ``break``, - and ``stop``. Using these keywords outside of a loop or generator function will now - raise a ``StormRuntimeError`` exception. Using these keywords to tear down the Storm - runtime will now emit an ``err`` message with the type ``StormRuntimeError`` and a - message indicating the invalid use of the keywords. The use of these keywords or - ``$lib.exit()`` in ``$lib.cache.fixed`` callbacks will now raise a ``StormRuntimeError``. -prs: [] -type: bug -... diff --git a/changes/d4f3dc440ad8e7181a9a30cc4bea2c41.yaml b/changes/d4f3dc440ad8e7181a9a30cc4bea2c41.yaml deleted file mode 100644 index 2f293cfb0d..0000000000 --- a/changes/d4f3dc440ad8e7181a9a30cc4bea2c41.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Deprecated ``$lib.text()``. Please use a list to append strings to, and then use ``$lib.str.join()`` to join them on demand. -prs: [] -type: deprecation -... diff --git a/changes/e1b7c7693e7454c32ca657a2bed734d5.yaml b/changes/e1b7c7693e7454c32ca657a2bed734d5.yaml deleted file mode 100644 index 9cb004fb88..0000000000 --- a/changes/e1b7c7693e7454c32ca657a2bed734d5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Added syntax for conditional node property edit operators in Storm. -prs: [] -type: feat -... diff --git a/changes/fd2d79b0daf0705278a48e86b15524c7.yaml b/changes/fd2d79b0daf0705278a48e86b15524c7.yaml deleted file mode 100644 index 2d96761501..0000000000 --- a/changes/fd2d79b0daf0705278a48e86b15524c7.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -desc: Fixed bug in password complexity rules where setting a password to (null) or - None would fail. -prs: [] -type: bug -... diff --git a/changes/ff623ded36292878c995dfcf1874daf4.yaml b/changes/ff623ded36292878c995dfcf1874daf4.yaml deleted file mode 100644 index 8f3ecc2210..0000000000 --- a/changes/ff623ded36292878c995dfcf1874daf4.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -desc: Fixed a Cortex cron scheduler loop error during a mirror promotion. -prs: [] -type: bug -... diff --git a/docs/synapse/userguides/model_updates/update_v2_194_0.rst b/docs/synapse/userguides/model_updates/update_v2_194_0.rst new file mode 100644 index 0000000000..decd10fd96 --- /dev/null +++ b/docs/synapse/userguides/model_updates/update_v2_194_0.rst @@ -0,0 +1,191 @@ + + +.. _userguide_model_v2_194_0: + +###################### +v2.194.0 Model Updates +###################### + +The following model updates were made during the ``v2.194.0`` Synapse release. + +************** +New Properties +************** + +``inet:service:message`` + The form had the following property added to it: + + ``repost`` + The original message reposted by this message. + + +``it:prod:soft`` + The form had the following property added to it: + + ``id`` + An ID for the software. + + +``ps:contact`` + The form had the following property added to it: + + ``bio`` + A brief bio provided for the contact. + + + +****************** +Updated Properties +****************** + +``geo:place`` + The form had the following property updated: + + + The property ``name`` had the alternative property names added to its definition. + + +``it:prod:soft`` + The form had the following property updated: + + + The property ``name`` had the alternative property names added to its definition. + + +``it:prod:softver`` + The form had the following property updated: + + + The property ``name`` had the alternative property names added to its definition. + + +``ou:campaign`` + The form had the following properties updated: + + + The property ``goal`` had the alternative property names added to its definition. + + + The property ``name`` had the alternative property names added to its definition. + + +``ou:conference`` + The form had the following property updated: + + + The property ``name`` had the alternative property names added to its definition. + + +``ou:goal`` + The form had the following property updated: + + + The property ``name`` had the alternative property names added to its definition. + + +``ou:industry`` + The form had the following property updated: + + + The property ``name`` had the alternative property names added to its definition. + + +``pol:country`` + The form had the following property updated: + + The property ``name`` had the alternative property names added to its definition. + + +``ps:contact`` + The form had the following properties updated: + + + The property ``email`` had the alternative property names added to its definition. + + + The property ``id:number`` had the alternative property names added to its + definition. + + + The property ``lang`` had the alternative property names added to its definition. + + + The property ``name`` had the alternative property names added to its definition. + + + The property ``orgname`` had the alternative property names added to its definition. + + + The property ``title`` had the alternative property names added to its definition. + + + The property ``user`` had the alternative property names added to its definition. + + +``ps:person`` + The form had the following property updated: + + + The property ``name`` had the alternative property names added to its definition. + + +``risk:threat`` + The form had the following property updated: + + + The property ``org:name`` had the alternative property names added to its + definition. + + +``risk:tool:software`` + The form had the following property updated: + + + The property ``soft:name`` had the alternative property names added to its + definition. + + +``risk:vuln`` + The form had the following property updated: + + + The property ``name`` had the alternative property names added to its definition. + + +``tel:mob:telem`` + The form had the following property updated: + + + The property ``adid`` had the following docstring added: + + The advertising ID of the mobile telemetry sample. + + + +**************** +Deprecated Types +**************** + +The following forms have been marked as deprecated: + + +* ``it:os:android:aaid`` +* ``it:os:ios:idfa`` + + + +********************* +Deprecated Properties +********************* + +``tel:mob:telem`` + The form had the following properties deprecated: + + + ``aaid`` + Deprecated. Please use ``:adid``. + + + ``idfa`` + Deprecated. Please use ``:adid``. + diff --git a/synapse/tools/changelog.py b/synapse/tools/changelog.py index 1180ad309b..2ed9968a96 100644 --- a/synapse/tools/changelog.py +++ b/synapse/tools/changelog.py @@ -227,12 +227,11 @@ def _compareForms(self, curv, oldv, outp: s_output.OutPut) -> dict: if nkeys - okeys: # We've added a key to the prop def. - raise s_exc.NoSuchImpl(mesg='Have not implemented support for a prop def having a key added') + updated_props[prop] = {'type': 'addkey', 'keys': list(nkeys - okeys)} if okeys - nkeys: # We've removed a key from the prop def. updated_props[prop] = {'type': 'delkey', 'keys': list(okeys - nkeys)} - continue # Check if type change happened, we'll want to document that. ctyp = cpinfo.get('type') @@ -334,12 +333,11 @@ def _compareIfaces(self, curv, oldv, outp: s_output.OutPut) -> dict: if nkeys - okeys: # We've added a key to the prop def. - raise s_exc.NoSuchImpl(mesg='Have not implemented support for a prop def having a key added') + updated_props[prop] = {'type': 'addkey', 'keys': list(nkeys - okeys)} if okeys - nkeys: # We've removed a key from the prop def. updated_props[prop] = {'type': 'delkey', 'keys': list(okeys - nkeys)} - continue # Check if type change happened, we'll want to document that. ctyp = cpinfo.get('type') @@ -660,6 +658,8 @@ def _gen_model_rst(version, model_ref, changes, current_model, outp: s_output.Ou f' to {pnfo.get("new_type")}.' elif ptyp == 'delkey': mesg = f'The property ``{prop}`` had the ``{pnfo.get("keys")}`` keys removed from its definition.' + elif ptyp == 'addkey': + mesg = f'The property ``{prop}`` had the ``{pnfo.get("keys")}`` keys added to its definition.' else: raise s_exc.NoSuchImpl(mesg=f'pnfo.type={ptyp} not supported.') lines = [ @@ -677,6 +677,8 @@ def _gen_model_rst(version, model_ref, changes, current_model, outp: s_output.Ou f' to {pnfo.get("new_type")}.' elif ptyp == 'delkey': mesg = f'The property ``{prop}`` had the ``{pnfo.get("keys")}`` keys removed from its definition.' + elif ptyp == 'addkey': + mesg = f'The property ``{prop}`` had the ``{pnfo.get("keys")}`` keys added to its definition.' else: raise s_exc.NoSuchImpl(mesg=f'pnfo.type={ptyp} not supported.')