v3.4.x Release Notes

Platform Changes

This release contains a major redevelopment for the offline capabilities of Peek.

There are significant performance and memory improvements to the vortex libraries and all plugins containing data indexes.

Major Plugin Changes

Introduction of the Diagram PDF Exporter plugin.

v3.4.0 introduces PDF export support for the DMS Network Diagram. This allows either the visible network or trace context to be exported as a PDF document which the user can then download. When the Trace Export is selected, the area of the network which contains the trace is exported. Alternatively, when Visible Network is selected, the area of the network visible to the user will be the area exported. Page size, orientation, and maximum pages can be set to customise the PDF.

v3.4.0 introduces Light Mode, this feature replaces the background of the network diagram with a white background and inverts only the colours necessary to be visible on a white background. The initial migration automatically detects and populates the light mode colours. The colours can be manually updated if required. Simply clicking the button in the network diagram will enable light mode, increasing the readability of the network diagram if required.

Deployment Changes

There are no deployment changes with this release.

Windows Deployment


This release is not supported on Windows.

Windows support might be possible in Peek version 4, however it will have a higher purchase and support cost to the customer.

Linux Deployment

Deployment for Linux remains the same after the changes of Peek v3.1.x

Debian: Installation Guide

Redhat: Installation Guide

macOS Deployment

Deployment for macOS remains the same after the major changes of Peek v3.1.x

MacOS: Installation Guide

Windows Deployment



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

Migration Steps

OpenStreetMap Loader Lookups File Migration

  1. Locate the lookups.csv file. The file location can be found in the configuration tab of the OpenStreetMap Loader Loader in Peek Admin.

  2. Open the lookups.csv with a spreadsheet editor. Eg. Microsoft Excel

  3. Remove Point from the acceptedGeometries where isRoadName = TRUE. Eg. LineString, Point becomes Linestring

  4. Duplicate all rows where isRoadName = TRUE.

  5. In the original rows; Update the option.isRoadName to FALSE.

  6. In the new duplicated rows:

    1. Append the importHash value with _road_name. Eg. osm:highways:motorway1 becomes osm:highways:motorway1_road_name

    2. Increment the level.order value by 1.

  7. Restart Peek Agent sudo systemctl restart peek_agent

  8. Touch the geojson file. The file location can be found in the configuration tab of the OpenStreetMap Loader Loader in Peek Admin.



Synerty recommends running the Initial Load Attune Blueprint for faster loading of the PowerOn data. You can download the Attune Community Addition App for Windows or MacOS FOR FREE from www.servertribe.com

User Acceptance Test Results

Peek v3.4.0 User Acceptance Test results can be found at: v3.4.x UAT Results .

v3.4.12 Changes


  • [PEEK-2266] - OpenStreetMap Loader - Loader does not load complex polygons, like lakes

  • [PEEK-2267] - OpenStreetMap Loader - Failing an import will continuously retry, using lots of CPU

  • [PEEK-2249] - OpenStreetMap Loader - CODE cleanup, Updated variable names

  • [PEEK-2252] - OpenStreetMap - Road names do not render as configured colour

  • [PEEK-1566] - Diagram - Fixed ‘fillColor’ to polygons in Peek Diagram

  • [PEEK-2002] - Diagram - Moved Objects are no longer duplicated in diagram

  • [PEEK-2247] - Diagram - Fxied nuisance error messages from color validation

using deprecated .color attribute

  • [PEEK-2283] - Diagram - No longer displays blank canvas with frequent live updates

  • [PEEK-2260] - Diagram - Fixed non selectable shapes being selectable in network diagram when shape has no key

  • [PEEK-2221] - Diagram Editor - Peek doesn’t cache Diagram Branches for offline use

  • [PEEK-2222] - Diagram Editor - Peek doesn’t cache conductor classes for offline use

  • [PEEK-2223] - Diagram Editor - Branch does not appear in the Edit Branch list while online.

  • [PEEK-2238] - Diagram Editor - Branch does not appear in the Edit Branch list while offline when created offline.

  • [PEEK-2239] - Diagram Editor - Diagram does not renders line arrow heads

  • [PEEK-2256] - Diagram Editor - Edit handles shrink and grow with zoom, they should always appear the same size

  • [PEEK-2259] - Diagram Editor - Text align options are missing from properties

  • [PEEK-2261] - Diagram Editor - Fixed polyline force straight line feature when holding shift key

  • [PEEK-2250] - User Plugin - Fixed user migration to deduplicate usernames once converted to lowercase

  • [PEEK-2254] - Device Plugin - CODE cleanup, fixed ‘NoneType’ object attribute ‘notifyOfTupleUpdate’ on shutdown

  • [PEEK-2265] - Diagram PDF Exporter - Fixed PDF Exporter Unclosed database sessions

  • [PEEK-2241] - Vortex - VortexJS does not reconnect websocket after disconnect


  • [PEEK-2237] - OpenStreetMap Loader - Added fill colour for water to default CSV Lookups file

  • [PEEK-2253] - OpenStreetMap Loader - Loader now accepts null value colours in lookup.csv

  • [PEEK-2244] - OpenStreetMap Loader - Added support for importing road names separately to the polylines from the CSV file. This allows road names to be different levels, layers and colours to the roads.

  • [PEEK-2268] - OpenStreetMap Loader - Added support for search indexing map feature names

  • [PEEK-2257] - Diagram Editor - Improved polylines drawing support in diagram editor. There is now a big green tick to finish drawing the polyline/polygons

  • [PEEK-2258] - Diagram Editor - Editing the text of a text shape is now much easier with the new pencil button and a text box that pops up.

  • [PEEK-2271] - Diagram - Removed name field size limit from lookup tables

  • [PEEK-2243] - Diagram - Made Background Colour configurable in ModelCoordSet, allowing grey background for OpenStreetMap only canvases

  • [PEEK-2245] - Diagram - Added support for opacity settings per layer and fixed opacity overlapping appearing less transparent

  • [PEEK-2246] - Diagram - Made “light mode button shows” configurable per canvas

  • [PEEK-2251] - Diagram - Fill colours can now have PNG overlays, this is great for adding trees in grasslands.

  • [PEEK-2272] - Diagram - Improved diagram grid loading strategy. The grids are now loaded from the center of the screen outwards. See if you can notice the diffence.

  • [PEEK-2273] - Diagram - As the diagram zoomed in and out, the diagram would flicker black when the layer/sizes of grids changed. The flicking black is now gone. This is achieved by delaying applying the declutter levels to the old grids until the renderer has received the center grid for the new set of grids.

  • [PEEK-2274] - Diagram - Improved performance when rendering curved text

v3.4.11 Changes


  • [PEEK-2189] - Updated ScopeDetailsChangedTuple toUser assignment to toUserId


  • [PEEK-2198] - Added support for wrapping text on whole words.

v3.4.10 Changes


  • [PEEK-2193] - Users with no email in AD cause AttributeError: “NoneType’ object has no attribute “lower’ Exception

  • [PEEK-2194] - Table vaccumes throw AttributeError: ‘function’ object has no attribute ‘bind’ Exception

  • [PEEK-2195] - Peek Admin does not show Offline Cache stats

  • [PEEK-2197] - Peek core_device stops processing all location updates and queues indefinitely in memory on insert fail

v3.4.9 Changes


  • [PEEK-2191] LiveDB Realtime ECOM loader ValueError expects 6

v3.4.8 Changes


  • [PEEK-2190] Corrected Component Class loader loses Object type.

v3.4.7 Changes


  • [PEEK-2188] Corrected Offline caching from not loading with persistent cache times

v3.4.6 Changes


  • [PEEK-2179] - TupleDataOffline0bserverService.storeDataLocally now works without an active cache

  • [PEEK-2180] - Reduced the time VortexStatusService takes to detect airplane mode and network disconnects

  • [PEEK-2181] - Order Search results by the object type order

  • [PEEK-2182] - Order Search results with same rank by name

  • [PEEK-2183] - Offline Searching no longer returns duplicate results

v3.4.5 Changes


  • [PEEK-2174] - Peek Offline Caching reports network slow before bandwidth test

  • [PEEK-2177] - Offline Caching start throws exception tuplesToStore.length


  • [PEEK-2175] - Persist last cache time across app closes

  • [PEEK-2176] - Add Force Cache Start button to field app for offline caching

v3.4.4 Changes


  • [PEEK-2160] - Corrected Peek Field receiving GPS updates

v3.4.3 Changes


  • [PEEK-2134] - OpenStreetMap Diagram Loade - invalid NaN value in projected coordinates

  • [PEEK-2136] - OpenStreetMap Diagram Loader import data to DocDB has duplicate keys

  • [PEEK-2139] - OpenStreetMap Diagram Loader Fixed geojson file changes and re-imports

  • [PEEK-2152] - Vortexjs no longer detects when websocket is logged out - connections dropout from last fix

  • [PEEK-2159] - Peek PDF Export bottom text not correctly aligned


  • [PEEK-2138] - OpenStreetMap Diagram Loader - Update coordinate conversion settings to use reference points

v3.4.2 Changes


  • [PEEK-2152] - Vortexjs no longer detects when websocket is logged out

  • [PEEK-2154] - Added admin configuration for offline caching timers and blocked network metric while caching

  • [PEEK-2157] - Core Search order field in search object types doesn’t change order of tabs in search results


  • [PEEK-2156] - Added Search Equipment Type to Equipment Loader

v3.4.1 Changes


  • [PEEK-2130] - Core Device useSsl is not correctly detected in web version

  • [PEEK-2132] - ENMAC Diagram Loader Add handling of Control Zones that have no parents

  • [PEEK-2133] - Peek Diagram PDF Plugin Fix Diamond Rotation


  • [PEEK-2131] - PDF Export Remove required indicator from checkboxes on export screen

v3.4.0 Changes


  • [PEEK-1559] - Add diagram support for wrapping text after X chars

  • [PEEK-1902] - iPads on slow network connections spawn hundreds of websocket connections

  • [PEEK-1904] - iPads Quitting iOS app and re-opening it again causes re-caching to occur

  • [PEEK-1905] - Add timeout and retry for iPads caching request

  • [PEEK-1952] - Update Search UI to use “initialLoadComplete” flag

  • [PEEK-1956] - Fix peek-plugin-livedb to write to database in logic service

  • [PEEK-1957] - Update username login to replace upper case characters to lower

  • [PEEK-1976] - Correct LiveDBItem database UnicodeDecodeError

  • [PEEK-2007] - Inserting iPad GPS Location is blocking in reactor thread

  • [PEEK-2008] - Update dbSessionCreator to not allow plugins to run database work in main thread

  • [PEEK-2009] - Offline status updates cause TupleAction timeouts

  • [PEEK-2013] - Improve support for users with special characters in password

  • [PEEK-2014] - Add general setting LDAP Enable @domain support

  • [PEEK-2015] - Offline Caching on slow connections saturates websocket

  • [PEEK-2016] - Ldap builtins.KeyError userPrincipalName

  • [PEEK-2019] - Offline Loaders lose state

  • [PEEK-2021] - Remove file watching code and replace with LoopingCall for geojson file

  • [PEEK-2022] - Missing default OSM settings when enabling plugin

  • [PEEK-2026] - VortexStatus error and information logging were swapped

  • [PEEK-2027] - Correct Start log messages to print sslEnableMutualTLS instead of sslEnable

  • [PEEK-2028] - Fixed TupleDataOfflineObserverService to filter from payload

  • [PEEK-2029] - Vortexjs undefined has no attribute SQL

  • [PEEK-2032] - Diagram zooming in while hovering over a tooltip area triggers the docdb tooltip

  • [PEEK-2034] - Remove angular circular references

  • [PEEK-2035] - Multiple searches are run at once as letters are typed

  • [PEEK-2036] - Agent Timeout retry causes 100% Logic service CPU usage

  • [PEEK-2040] - Update Peek Field to serve port 8000 with self signed certificates

  • [PEEK-2049] - Throttle GPS Location Updates from iPad

  • [PEEK-2050] - Remove upper case from Usernames

  • [PEEK-2053] - Diagram Tooltips stay up when panning on iPad

  • [PEEK-2054] - Remove Layer list filter case sensitivity

  • [PEEK-2055] - Remove Shaking iPad to undo typing support in Peek Field App

  • [PEEK-2072] - Update SettingProperty to store as float values


  • [PEEK-2018] - Redesign Offline Caching logic to use state machine pattern

  • [PEEK-2020] - Update logic API to return all usersLoggedIn

  • [PEEK-2023] - Add setting to enable partially indexing alias

  • [PEEK-2024] - Add support for indexing component_header.user_reference

  • [PEEK-2025] - Add master “Disable All Caching” switch in Admin settings

  • [PEEK-2030] - Change TupleDataOfflineObserverService to return an empty array of tuples if askServerEnabled=false

  • [PEEK-2031] - Add indication of slow network to home screen

  • [PEEK-2033] - Add support for excluding keywords for search engine

  • [PEEK-2048] - Make plugin loading failure print useful exceptions

  • [PEEK-2104] - Add text shape de-clutter level overrides


  • [PEEK-1679] - Add the queue checking script to deployment

  • [PEEK-1984] - Replace ujson dependency with json

  • [PEEK-2000] - Create Defaults typescript file for ServerInfoTuple

  • [PEEK-2047] - Improve Peek iOS Icon