Skip to content

3.5.3

@sergei-maertens sergei-maertens tagged this 02 Jun 13:37
The releases in the 3.5.x series gradually introduces migration tooling to prepare for
the 4.0 upgrade.

**Bugfixes**

* Upgraded the SDK version with a number of renderer-related bugfixes. Please see the
  SDK changelog for details.
* Fixed missing custom error message information for ``addressNL`` components.
* [:backend:`6111`] Fixed a browser window crash/freeze when editing the name of a (new)
  form step.
* [:backend:`6302`] Fixed missing logo in the confirmation PDF.
* [:backend:`6320`] Fixed missing component translations when the form does not require
  backend logic.

**Migration tooling**

* [:backend:`6274`] Added detection script for breaking changes regarding upcoming clear
  on hide changes.

.. note::

    Open Forms 4.0 will contain a breaking change regarding "clear on hide".

    Currently during a logic check, a component which becomes hidden with "clear on hide"
    enabled, will have its value set to the empty (or default) value of that component.
    Subsequent logic rules that perform a comparison of the variable to the empty/default
    value in the trigger expression, might still execute.

    For these components, the new behavior will be to remove the value from the data
    entirely during logic evaluation. This means that any subsequent logic rules that
    compare the variable to the empty/default value of the component, can no longer
    trigger.

    We have included a script that checks logic rules for which this might be the case.
    It reports logic rules for which the JSON logic trigger includes a variable
    comparison to the empty/default value of the corresponding component, but only if
    that component has "clear on hide" enabled and its visibility is affected by another
    logic rule or conditional logic.

    Note that if you want a rule to execute whether a component is hidden or not, it is
    possible to add a default value to the variable expression that will be used when
    the value is not present in the data. For example:

    .. code:: json

       {
         "==": [
           {
             "var": ["textfield", ""]
           },
           ""
         ]
       }

    In an app container, execute:

    .. code-block:: bash

        # in the container via ``docker exec`` or ``kubectl exec``:
        python /app/bin/report_logic_with_deprecated_clear_on_hide_behavior.py

* [:backend:`6262`] Added a migration tool for legacy Catalogi API URLs usage.

.. note::

    Open Forms 4.0 will remove support for the direct case type/document type URL
    references in the Objects and ZGW APIs registration backends. We provide a migration
    tool so that you can (automatically) convert to the new format:

    * for ``file`` components, the URL is looked up and the catalogue + document type
      description is stored on the component.
    * for form registration backend options, the URLs are looked up and translated into
      catalogue and case type identification and/or document type description.
    * for Objects API groups, the URLs are looked up and translated.

    This can go wrong in some situations, e.g. if not all URLs within a configuration
    layer are contained in the same catalogue, or the specified document type does not
    belong to the specified case type. The migration tool will report these situations
    and you'll have to fix them manually in the admin interface.

    By default, the command line tool does not make any changes in the database, unless
    you explicitly pass the option ``--no-dry-run``.

    In an app container, execute:

    .. code-block:: bash

        # in the container via ``docker exec`` or ``kubectl exec``, reports changes
        # without executing them:
        python /app/src/manage.py migrate_catalogi_api_urls
        # pass the --no-dry-run argument to make changes:
        # python /app/src/manage.py migrate_catalogi_api_urls --no-dry-run

    Open Forms 4.0 will refuse to upgrade if it detects legacy configuration that hasn't
    been migrated.
Assets 2
Loading