.. _release_notes_v2.4.x:

====================
v2.4.x Release Notes
====================

Platform Changes
----------------

VortexPY and VortexJS have been updated to allow datetimes in TupleSelector classes.

The platform now requires the "timescale" PostgreSQL extension.

Major Plugin Changes
--------------------

The following plugins have been developed for the v2.4.x+ Peek releases.

*   **peek-plugin-eventdb** (Open Source)
    This plugin stores current and historical alarms and events.

*   **peek-plugin-enmac-event-loader** (Proprietary)
    This plugin loads historical and current alarms and events from the ENMAC.

*   **peek-core-search** (Open Source)
    The search feature of Peek has been updated to support faster partial
    keyword searches.

*   **peek-plugin-enmac-equipment-loader** (Proprietary)
    The Equipment Loader plugin now has a list of COMPONENT_CLASSes that determines which
    equipment will be loaded into the search for indexing.

Deployment Changes
------------------

Windows Deployment
``````````````````

.. note:: This release is not supported on Windows.

Linux Deployment
````````````````

Reinstall PostgreSQL as per the updated instructions to include support for timescale.

Debian: :ref:`debian_install_postgresql`

Redhat: :ref:`rhel_install_postgresql`

macOS Deployment
````````````````

Reinstall PostgreSQL as per the updated instructions to include support for timescale.

MacOS: :ref:`macos_install_postgresql`

iOS Deployment
``````````````

.. note:: Peek v2.0.x does not have support for iOS, this will be updated in a future release.
    We're going to Ionics Capacitor framework to create a full hybrid app.


Windows Deployment
``````````````````

Nil.

.. note:: The windows deployment will change to use Windows Subsystem for Linux in
            a future release.

Migration Steps
---------------

Perform the following migration steps, and then restart the Peek services.

peek-core-search
````````````````

This update requires reloading all of the search data. Run the following to truncate
the search data. ::

        psql <<EOF
        -- Clear out and reload all the Search data

        TRUNCATE TABLE core_search."EncodedSearchIndexChunk" CASCADE;
        TRUNCATE TABLE core_search."SearchIndex" CASCADE;
        TRUNCATE TABLE core_search."SearchIndexCompilerQueue" CASCADE;

        TRUNCATE TABLE core_search."EncodedSearchObjectChunk" CASCADE;
        TRUNCATE TABLE core_search."SearchObject" CASCADE;
        TRUNCATE TABLE core_search."SearchObjectCompilerQueue" CASCADE;

        EOF


peek-plugin-enmac-equipment-loader
```````````````````````````````````

The equipment loader will need to reload the search data, force an update with the
following SQL. ::

        psql <<EOF
        UPDATE pl_enmac_equipment_loader."ChunkLoadState"
        SET "lastSearchHash" = 'reloadme';
        EOF


peek-plugin-enmac-switching-loader
``````````````````````````````````

The equipment loader will need to reload the search data, force an update with the
following SQL. ::

        psql <<EOF
        UPDATE pl_enmac_switching_loader."ChunkLoadState"
        SET "lastSearchHash" = 'reloadme';
        EOF


peek-plugin-eventdb
```````````````````

Enable this plugin all Peek services :file:`config.json`, in the enabled plugins.
This must be after the DocDB plugin. ::

    peek-plugin-eventdb

peek-plugin-enmac-event-loader
``````````````````````````````

Enable this plugin all Peek services :file:`config.json`, in the enabled plugins.
This must be after the EventDB plugin. ::

    peek-plugin-enmac-event-loader


v2.4.5 Issues Log
-----------------

Bug
```

*   [PEEK-650] - Alarm/Event - Admin, Office and Field angular compiles


v2.4.4 Issues Log
-----------------

Bug
```

*   [PEEK-597] - Diagram: Deleted grids are not removed from browser cache,
                 Deleted PowerOn pages / overlays are not removed from the diagram

*   [PEEK-604] - Diagram flashes when PowerOn updates pages

*   [PEEK-650] - Alarm/Event - Bugfixedm Add switch for "Alarms Only" switch

*   [PEEK-653] - Alarms/Events - Alarm Zone default property values are wrong.
                 They now load from the correct lookup.

v2.4.3 Issues Log
-----------------

Bug
```

*   [PEEK-649] - Alarms/Events - ShowOnPopup won't disable from admin property editor

Task
````

*   [PEEK-648] - Alarms/Events - Include Component Alias in Alarm Data

*   [PEEK-650] - Alarms/Events - Added switch for "Alarms Only" next to "Live" switch


v2.4.2 Issues Log
-----------------

Bug
```

*   [PEEK-643] - EventDB - Event date times are loaded without timezone

*   [PEEK-645] - Event WebView Loader - Fixed last loaded date timezone

Task
````

*   [PEEK-646] - Release v2.4.2


CI/CD Tasks
```````````

*   [PEEK-644] - Gitlab - Update Gitlab sonar Docker tag


v2.4.1 Issues Log
-----------------

Bug
```

*   [PEEK-635] - Core Search - Add support for searching for two letter words.

*   [PEEK-636] - Plugin EventDB - TupleSelectors arn't supporting datetimes,
                 this was caused by a missing merge in peek-office-app.

*   [PEEK-637] - EventDB PoN Loader - Finalise property loading, and set to load once.

Task
````

*   [PEEK-638] - Release v2.4.1

v2.4.0 Issues Log
-----------------

Bug
```

*   [PEEK-455] - Peek Platform - Using overlay directories causes frontend to
    always rebuild

*   [PEEK-510] - Starting an edit of a branch should re-position the diagram.

*   [PEEK-621] - Diagram - Polygons fill outside of boxes with dynamics,
    (when it's over 100%)

*   [PEEK-622] - ENMAC GraphDB Loader: 'NoneType' object has no attribute
    'updateInProgressDate'

*   [PEEK-630] - DMS Diagram - Font alignments for middle and right don't work

*   [PEEK-631] - DMS Diagram - Bold Helvetica doesn't render correctly

*   [PEEK-634] - Peek DMS Diagram - Layer Min/Max Display Ranges Overlap

New Feature
```````````

*   [PEEK-522] - Develop Alarms and Events viewer

Task
````

*   [PEEK-623] - Release v2.4.0, including release notes

Improvement
```````````

*   [PEEK-608] - Prevent peek from loading the same plugin twice.

*   [PEEK-609] - ENMAC Equipment Loader - Filter components added to search based
    on component id

*   [PEEK-610] - Search - Update tokenizing to allow partial keyword support

*   [PEEK-612] - Add platform support for Timescale PostGreSQL

*   [PEEK-614] - Add adaptor/patching for running worker tasks in plpython

*   [PEEK-615] - Abstract Index - Run deduplicate SQL before fetching more blocks.

*   [PEEK-626] - Storage - runPyInPg use tuples instead of plain json for args and returns

*   [PEEK-627] - Vortex - Add support for TupleSelectorUpdateMapper in TupleDataObservable

*   [PEEK-629] - txhttputil - Add support for url args in HttpResourceProxy


CI/CD Tasks
```````````

*   [PEEK-605] - Gitlab - error: The 'sphinx' distribution was not found and is
    required by sphinx-rtd-theme, peek-doc-dev

*   [PEEK-606] - Gitlab - Unit tests can't find non open source peek plugins
    (peek-plugin-enmac-\*)
