What's New

What's New

The latest updates and information on how to install them are available for download from Latest Downloads.
Information on the upcoming release is available from Pending Release.

You should update to at least 2.6.4.11 and run the “redline setcrs” command ASAP to update your existing bookmarks and saved redlines to include the CRS that was used when they were created. If you do not and you try and change the CRS used in a client in the future then the geometry in your existing bookmarks and saved redlines will be invalid. If you have multiple clients that use different CRS’s then contact Cohga for more information.

Note that if you run this command from the Admin UI console the command may take longer than the default timeout for the console and report that the command failed, but it probably did not and it’s just reporting the timeout. This has been updated in 2.6.6 to be clearer on what is happening.

2.6.10.6

Released 2025-07-07

Enhancements

  • Upgrade Postgres JDBC driver to latest release

2.6.10.5

Released 2025-05-30

Enhancements

  • Updated GeoTools PostGIS driver to work with newer version of PostGIS

    • PostGIS renamed a dimension() function to st_dimension() and in certain circumstances GeoTools tries to use the old function which doesn’t exist on newer PostGIS versions.

2.6.10.4

Released 2025-03-26

Fixes

  • Index build defaults to keyword rather than standard analyzer

    • If a buildAnalyzer is not specified in the index config Weave will use the keyword analyzer rather than the standard one which is should be using.

2.6.10.3

Released 2025-03-18

Fixes

  • Highlighter not working on index results

    • Previously if enabled the results from an index search would highlight the part of the result that caused that result to match the search.

  • Circle by Radius redline too not honouring the crs parameter

    • If you needed to configure a crs property for the Circle by Radius tool, to ensure the radius was calculated using a suitable projection, the tool would not take into consideration the crs property and always use the map projection.

2.6.10.2

Released 2025-02-25

Fixes

  • Standard keyword analyzer not available when building index

    • Trying to generate an index using the standard keyword analyzer would not work and would fall back to the keyword analyzer.

2.6.10.1

Released 2025-01-14

Fixes

  • Pathway config converting to lowercase, not uppercase

    • In an attempt to ensure that Pathway levels in the Pathway config in Weave are converted to uppercase, since newer versions of Pathway fail if they are not uppercase, the fix accidentally converted the value to lowercase.

  • KML upload handler failing

    • Uploading a KML file via the new REST API does not correctly create the temporary file used to work with the spatial content.

  • A number of small issues reported by static analysis tools

    • A number of minor issues were pointed out by static code analysis as part of an ongoing process of improving the quality of the code used in Weave.

2.6.10

Released 2024-12-04

Enhancements

  • Update handling of ACL's for clients to improve support with aliases clients

    • This update changes the handling of acl's directly attached to a client to allow an aliased client to also override the acl.

  • Support not showing scale range on layer hover text in ToC panel

    • The ToC view panel now has an option showScales which when set to false will disable the inclusion of the scale ranges in the layer hover text. A showDescription flag is also included that disables the inclusion of the layer description in the layer hover text.

  • Update parsing of SLD files exported by QGis

    • QGis uses SvgParameter for some styling options which the current GeoTools SLD parser does not understand and has to be manually renamed to CssParameter. This update will allow both to be understood .

  • Add events to make it easy for client code to force a refreshing

    • If something makes a “background” change that would affect the map display or data then there should be an easy way to tell Weave that the item needs to be redrawn. This can now be done using Weave.EventMgr.fireEvent('map.refresh') or Weave.EventMgr.fireEvent('data.refresh');.

  • Add support for user authentication to ArcGIS spatial engine

    • The GeoTools arcgis driver did not support feature servers that require authentication.

  • Add support for setting layer filters directly in a map engine configuration

    • Extend the recent addition of layer filtering so that a filter can be set directly in the map engine configuration.

  • Increase the number of keyword levels that can be used in an index

    • Currently the is a limit of 5 keyword levels in an index, it is going to increase to 10.

  • Update mail server registration so that it includes the connection details

    • A mail server can be configured in Weave which can be used by code to send email, but some third party libraries require the connection details so that they can create their own connections, so rather than having to duplicate the configuration the Weave mail server registration will be update to include the connection properties, which the other services can inspect to replicate the same connection.

  • Allow user attribute default values to themselves be set by user attributes

    • Currently it’s only possible to set the default value for a user attribute as a hard coded value when it’s used, e.g. ${user.maximum|10}, but it would be useful when using dynamic attributes to have the default set from another user attribute, e.g. ${user.dynamic.maximum|${user.maximum|10.

  • Add additional information to support dump

    • Update the support dump to include available disk space and Oracle SDO metadata table content.

  • Non-spatial editing does not work with SQLite

    • If you use a database based on SQLite you can’t use it with non-spatial editing.

  • Add customisation options for the spmd conf command

    • This enhancement will add additional parameters that can be provided as part of the spmd conf command to provide for some minor configuration of the generated output, for example like providing a prefix to use for entity, data and data definition id’s.

  • Clarify message when multiple file must be uploaded at once

    • If a spatial upload is made up of more than one file, for example MapInfo TAB, and the user doesn’t upload all files at once the message should be clearer to the user that they need to select and upload all the files.

  • Add referer to link monitor

    • To provide information on where a link was clicked on the link monitor will be updated to include the referer header from the request.

  • Split server health bundle into multiple bundles

    • Currently there is a single bundle that provides everything for health checks which means that parts can not be independently disabled. This update will split up the bundle to allow health checks to be disabled without affecting the entire system.

  • Allow configuration of analyser when building an index

    • To provide more flexibility with indexes a new option is being added to the index configuration to allow for changing the analyser used which can change the way “tokens” are interpreted.

  • Allow index.html to be provided by a Weave client

    • It should be possible to have a Weave client always act as the index.html page.

  • Add support for indirect variable substitution

    • When deploying Weave it can be useful to set a config file variables based on the content of a file, rather than setting the value directly, so this update allows config files to obtain their value from the content of a file that the variable points to rather than using the value itself. So if the value of a variable starts with @ and the rest of the value points to a file then the first line in the file will be used as the value for the variable rather than the value of the variable itself.

  • Add support for using variables in config file include directives

    • Config files can include other config files using the <?include filename?> directive in the file but the filename can not currently include a variable in the name, e.g. <?include ${CONF_LOCATION}/settings.xml?>.

  • Support resetting toc model when map engine is reset

    • A toc model that obtains information from its underlying map engines does not refresh when the map engine is reset.

  • Add support for sorting a data definition on a column that is not one of the parameters

    • It’s currently not possible to use a data definition in a list that is sorted based on a column that is not listed in a parameter.

  • Link tracking should support whitelisting of domains that it can track and forward to

    • Currently there is no filtering of which url are allowed to be used with the link proxy.

  • Expose property provider API

    • There is a property provider API inside the properties support API that would be useful outside of the properties support package so it’s going to be exposed.

  • User property provider API for string substitution

    • The new string substitution API should make use of the property provider API to obtain the values it used for string substitution.

  • Improve support for encoding values when generating search SQL

    • If you replace the default where clause generated for a parameter in an attribute search with a where clause you can only encode the value directly in the clause definition, e.g. <where clause="column = '${name}'"/>. This update allows you to place a ? as a marker in the clause, e.g. <where clause="column = ?"/>, which allows the database driver to handle the encoding of the input value to the correct type.

  • GWC tiled map engines should retry if they are not available at startup

    • If a GWC tiled map engine is not available when the server is started it will never be available because the server does not retry the connection on failure.

  • Grid export does not honour column sort

    • The sorting applied to the grid panel by the user is not reflected in the exported data.

Fixes

  • Can not handle CQL filters with apostrophes in some situations

    • If a filter contained ' it was not being parsed correctly.

  • SQL Server spatial engine still requires host to be set when using url

    • If you use a URL to specify the database connection for a SQL Server spatial engine you should not need to set the host tag in the connection details but that tag was marked as required so would need to be set even though it was ignored.

  • Redline stops working if polygon tool is active when map is resized

    • If the redline polygon tool is active and the map is resized the redline tools stop working.

  • Not all metric are being reported

    • A change in the caching of metrics has resulted in some metrics not being exposed.

  • Reset button is hidden on search panel when only one search is available

    • Because of a change to the layout of the search panel toolbar if there is only one search available the entire toolbar is hidden, which includes hiding the reset button.

  • Audit Edit Configuration checkbox parameter reference returns wrong value

    • Writing a checkbox value to an audit table does not take care of converting the boolean value to a value supported by the underlying table column type.

  • ToC description overwritten by map engine description

    • Setting the layer description in the toc model should override what the map engine provides.

  • XSS issue in login page

    • If you're using the obsolete Acegi security login plugin there's a possible cross site scripting vulnerability.

  • Fix handling of invalid geometry with raster functions

    • If a user generates invalid geometry raster functions should report an error rather than trying to process the geometry.

  • A warning is logged when the client access user stored data and the user has none

    • If the browser tries to load some data that can be stored on behalf of the user and that data does not exist the server reports a warning about a Non-JSON response.

  • Map keyboard navigation can interfere with form fields

    • When a popup window with text fields is shown in the client and keyboard navigation is enabled for the map if the mouse cursor is over the map the navigation keys, left, right, home, end, etc are captured by the map rather than moving the cursor within the current field on the form.

  • ArcGIS spatial engine missing referer value when generating token

    • In some cases generating an AGS token requires a referer parameter, not just a header, to be set and this is not always done.

  • Coord zoom fails if full extent not set for map view

    • If the zoom to coords tool is used in a map view that does not have a full extent specified it will fail because it tries to chck the entered coordinates against the full map extent.

  • isSameOrigin function not using correct expression

    • The Weave.PerspectiveMgrisSameOrigin method has an error when determining if the provided URL is in the same origin.

  • Spatial engines have problems with layer names that contain parenthesis

    • If a spatial engine exposes layers that contain ( or ) Weave is unable to find the layer when it need to directly interact with it.

  • spmd conf command can generate invalid output

    • If a layer contains “invalid” characters, e.g. ( or ), then the entity that is generated using the spmd conf command will generate an entity id that is invalid.

  • memd command can take a long time to respond when map has a very large number of CRS's

    • 2.6.9 produces more output related to the supported coordinate reference systems for a map engine, and when map service lists thousands of supported coordinate references systems it can take a very long time to lookup, format and display that information.

  • Indexes no longer support multiple keywords sets

    • Before 2.6.9 Index definition could have multiple keywords sets but this was accidentally removed in 2.6.9.

  • Spatial editing not handling computed columns correctly

    • When a DB has a computed column the GeoTools driver tries to set the column value to null which the DB does not like, so we need to ensure that GeoTools does not create insert/update statements that include columns that should not be included.

  • Weave launcher can not handle array parameters

    • When using launch.html to launch Weave there is currently no support for parameters that can support and array of values.

  • Dynamic user attribute not being cleared

    • The rest api call to clear user attributes does not actually clear the attributes.

  • 3D coordinates in GeoJSON can cause upload problems

    • When uploading a shapefile to the redline layer if the original shapefile contains 3D coordinates it will not display on the client.

  • ArcGIS returning attributes with parenthesis in their name causes problems

    • ArcGIS can now return attributes for a feature with the names “Shape.STArea()” and “Shape.STLength()” and those are being misinterpreted in the Admin UI as being function calls which results in an error and no data displayed. It also causes problems with spatial data definitions if you don’t explicitly specify the parameters.

  • License window conflicts with keyboard navigation fix

    • If a license panel is used in a client its display conflicts with a fix that resolves issues with keyboard navigation when a window is displayed resulting in the client not opening and the user presented with an error.

  • Spatial edit converting 0 and 1 to F and T for string parameters

    • If a string parameter is submitted with a value of 0 or 1 the value will be treated as a boolean and converted to F or T.

  • Geometry validation is too strict when checking geometry

    • When submitting geometry to be saved Weave tries to ensure that the geometry is “valid” before it tries to write it to the database but it can be too restrictive and won’t allow geometry that is supported by the database.

  • Error message generated when reverse proxy not setup to forward IP address

    • If Weave is behind a reverse proxy and the proxy is not configured to forward the client IP address Weave will generate an error in the log which is not required.

  • Static content can't be served if it has a space in the file name

    • If a file is in the workspace\static directory and contains spaces in the file name the client will not be able to fetch the content.

  • Label/description localisation in BIRT report only occurs for first user

    • If a report label or description requires localisation for the user the localisation is happening based on the first user that access the report and is then cached resulting in other users that use a different locale from getting the wrong text.

  • Multi-selected layer filter parameters might not work for numeric values

    • If you’re using map layer filtering and have a multi-select parameter the selected values are always treated as strings which can cause problems where the field in the layer is numeric .

  • Editing does not select multi-select field values when updating

    • If you try and update an existing entity that contains a multi-select field the values are not selected based on the existing values in the record.

  • Pathway UX issue if Weave mis-configured

    • If Pathway is configured with a single link between a Weave entity and a Pathway level and the level is lowercase then Pathway UX will generate an error. This update will ensure that the level is always converted to uppercase. Note if you have multiple links configured then the conversion to uppercase already occurs.

  • ToC model is treating empty description attribute the same as a null description attribute

    • If the description in a toc model for a layer is not specified then Weave will use the value provided by the back end service, but currently if the value is specified but it’s an empty string then Weave will still fetch it from the back end service rather than not displaying a description.

2.6.8.9

Released 2024-10-04

Enhancements

  • Support SQLServer 2022

    • Updated the GeoTools SQLServer driver to support SQLServer 2022.

2.6.9.7

Released 2024-09-24

Fixes

  • Multi-selected layer filter parameters might not work for numeric values

    • If you’re using map layer filtering and have a multi-select parameter the selected values are always treated as strings which can cause problems where the field in the layer is numeric .

2.6.9.6, 2.6.8.8

Released 2024-05-31

Fixes

  • Geometry validation is too strict when checking geometry

    • When submitting geometry to be saved Weave tries to ensure that the geometry is “valid” before it tries to write it to the database but it can be too restrictive and won’t allow geometry that is supported by the database.

2.6.9.5

Released 2024-05-29

Fixes

  • SQL Server spatial engine still requires host to be set when using url

    • If you use a URL to specify the database connection for a SQL Server spatial engine you should not need to set the host tag in the connection details but that tag was marked as required so would need to be set even though it was ignored.

2.6.9.4

Released 2024-05-02

Fixes

  • ArcGIS returning attributes with parenthesis in their name causes problems

    • ArcGIS can now return attributes for a feature with the names “Shape.STArea()” and “Shape.STLength()” and those are being misinterpreted in the Admin UI as being function calls which results in an error and no data displayed. It also causes problems with spatial data definitions if you don’t explicitly specify the parameters.

  • Spatial edit converting 0 and 1 to F and T for string parameters

    • If a string parameter is submitted with a value of 0 or 1 the value will be treated as a boolean and converted to F or T.

2.6.9.3

Released 2024-04-24

Fixes

  • Weave launcher can not handle array parameters

    • When using launch.html to launch Weave there is currently no support for parameters that can support and array of values.

  • 3D coordinates in GeoJSON can cause upload problems

    • When uploading a shapefile to the redline layer if the original shapefile contains 3D coordinates it will not display on the client.

  • License window conflicts with keyboard navigation fix

    • If a license panel is used in a client its display conflicts with a fix that resolves issues with keyboard navigation when a window is displayed resulting in the client not opening and the user presented with an error.

2.6.9.2

Released 2024-03-05

Fixes

  • A warning is logged when the client access user stored data and the user has none

    • If the browser tries to load some data that can be stored on behalf of the user and that data does not exist the server reports a warning about a Non-JSON response.

  • Map keyboard navigation can interfere with form fields

    • When a popup window with text fields is shown in the client and keyboard navigation is enabled for the map if the mouse cursor is over the map the navigation keys, left, right, home, end, etc are captured by the map rather than moving the cursor within the current field on the form.

  • Coord zoom fails if full extent not set for map view

    • If the zoom to coords tool is used in a map view that does not have a full extent specified it will fail because it tries to chck the entered coordinates against the full map extent.

  • isSameOrigin function not using correct expression

    • The Weave.PerspectiveMgrisSameOrigin method has an error when determining if the provided URL is in the same origin.

  • memd command can take a long time to respond when map has a very large number of CRS's

    • 2.6.9 produces more output related to the supported coordinate reference systems for a map engine, and when map service lists thousands of supported coordinate references systems it can take a very long time to lookup, format and display that information.

  • Indexes no longer support multiple keywords sets

    • Before 2.6.9 Index definition could have multiple keywords sets but this was accidentally removed in 2.6.9.

2.6.9.1

Released 2024-01-05

Fixes

  • Can not handle CQL filters with apostrophes in some situations

    • If a filter contains ' it needs to be changed to '' before being parsed.

  • Redline stops working if polygon tool is active when map is resized

    • If the redline polygon tool is active and the map is resized the redline tools stop working.

  • Not all metric are being reported

    • A change in the caching of metrics has resulted in some metrics not being exposed.

  • Reset button is hidden on search panel when only one search is available

    • Because of a change to the layout of the search panel toolbar if there is only one search available the entire toolbar is hidden, which includes hiding the reset button.

  • Audit Edit Configuration checkbox parameter reference returns wrong value

    • Writing a checkbox value to an audit table does not take care of converting the boolean value to a value supported by the underlying table column type.

  • ToC description overwritten by map engine description

    • Setting the layer description in the toc model should override what the map engine provides.

  • XSS issue in login page

    • If you're using the obsolete Acegi security login plugin there's a possible cross site scripting vulnerability.

  • Fix handling of invalid geometry with raster functions

    • If a user generates invalid geometry raster functions should report an error rather than trying to process the geometry.

2.6.9

Released 2023-11-17

Enhancements

  • Application integration for TechnologyOne ECM

    • Implement a document management system plugin that works with TechnologyOne ECM.

  • Some document api bundles are not using declarative services

    • There are some document api related bundled that should be updated to DS to make them easier to debug.

  • Updated metrics to support client metrics

    • Metrics have been updated to support client side metrics, i.e. recording what tools are used and how long users are using the client.

  • Allow setting default roles for keycloak

    • It should be possible in keycloak.properties to set a defaultRoles property to a list of roles that a user should be given if the SAML server does not provide any roles.

  • Selection collector does not provide a way to specify a limit

    • The SelectionCollector API (when using a spatial mapping to collect keys) does not provide a way for the caller to specify what limit to use when collecting keys, it will always use the limit set in the spatial mapping.

  • Progress monitoring not always using the correct methodology

    • When using the ProgressMonitor API some code is not using the API in the correct manner.

  • Create a Select All map context menu item

    • Enhancement request for context menu item to allow selecting all entities.

  • Allow removal of email domain for keycloak users

    • Rather than making people configure their SAML id provider correctly I'm providing an option, stripDomain, that when set to true in the keycloak.properties file will remove anything after the last @ in the username returned from SAML.

  • Client Geometry API does not support named selections

    • The API allows you to retrieve geometry for a selection, but only the default selection, it should be updated to allow the caller to specify the named selection to use.

  • Add support for retrieving features via the rest geometry api

    • The geometry api can retrieve geometry but it would be useful for it to be able to return features, with properties (obtained from a data definition).

  • Ctrl-S should save editor content in admin ui

    • When editing a file in the admin us pressing Ctrl-S brings up the browser save window, it should just save the file content.

  • Support caching of WMS image format mapping

    • It can take a while to fetch the images to correctly determine the actual image format for a format that a WMS server says that it supports, this becomes a major issue if there are a lot of map services which can make the startup time of the server very long. This update will cache the format mappings per WMS server removing the need to query the same back end multiple times to verify the same information.

  • Support map engines providing a description for a layer

    • Some map engines, like WMS, support a "description" for a layer, it should exposed so a ToC model can reference the text rather than requiring the description to be explicitly set in the toc model entry.

  • Add default toolbar and context menu to ToC panel

    • Out of the box the ToC panel has no toolbar and the no context menu, so I'm going to set a default toolbar and context menu that contains elements that are suitable for all clients, i.e. are not dependant upon something specific being configured on the server. A toolbar or contextmenu tag in the client will override the defaults, so site that have already customised these won't see any change. And they can be removed completely by setting an empty toolbar and/or contextmenu tag in the panel config.

  • BIRT log files are not cleaned up

    • If logging is enabled for BIRT the log files are not removed and can generate a lot of files. During startup old log files should be removed. At the moment I'll keep 10MB of the most recent. I don't want to keep too much because they're now included in a support dump.

  • BIRT log files should be included in a support dump

    • The platform\workspace\.birt\logs directory content should be included in a support dump, if BIRT logging has been enabled then it should be included.

  • JDBC Helper class should support sequences in SQL Server

    • The sequenceExists function currently only support Oracle and Postgres, apparently SQL Server also supports sequences so it should be added to the JDBCHelper class.

  • Support editing features in SQL Server that use a sequence for key generation

    • It's possible in SQL Server to have a table where the key for a new row is generated from a sequence, but GeoTools does not currently recognise this, this update attempts to remedy that.

  • Update YAJSW

    • The YAJSW library use to provide support for running Weave as a service/daemon should be updated to a newly available release.

  • Remove final references to scripting on server

    • Originally the Weave server was able to implement operations written in JavaScript, but that functionality was removed. There are still a small number of places where that can be seen and they will be updated to remove the code.

  • Display more key bindings in the Admin UI editors

    • At the moment only three shortcut keys are displayed in the editors, this will be expanded to display other useful shortcuts keys.

  • Tidy up JSON support library

  • JdbcHelper class should look for column with different case when adjusting column name

  • Keycloak logging warning about insecure SAML request

    • Keycloack security is logging a message saying that authentication is occurring over an insecure connection when all communication should be secure.

  • Client context is too limited in what can be expressed

    • When setting a context for a client it currently only supports a comma separated list of the name of the contexts that items should be included from, along with any item that are not assigned to a context, and this is not flexible enough.

  • Include date/time in generated map image file name

    • The action weave.mapimageexport has been updated to change the default file name from map.png to map.png.

  • Weave Map Engine help page needs a Namespace, Tags / Properties section like the other map engines help topics

    • The Weave Map Engine page needs a Namespace, Tags /Properties  section like the other map engines help topics (eg. Map Engine WMS, as shown in attached image).  .

  • Add support for where clauses in related and table edits in non-spatial editing