SKOOR Webservice Changelog
8.1.0
- Uses pagination when getting data from CashPilot
- Provides endpoint to automatically translate using DeepL. To activate this feature a DeepL API key has to
be provided in
/etc/opt/eranger/eranger-webservice.cfg
using thei18n.deeplApiKey
property.
8.0.10
- Fixes bug that causes
/alarmrecipients
to fail.
8.0.9
- Data Queries
- Fixes bug that causes not updating data query columns immediately after publishing it.
- Fixes bug that sometimes causes data queries to fail if a data source or data query is referenced multiple times.
- Data Source
- Allows to filter data using a single wildcard
%
- Fixes bug that causes scopes not to work properly.
- Allows to filter data using a single wildcard
8.0.8
- Data Queries
- Fixes bug that prevents deleting multiple data query groups in a row.
- Allows to export data queries that reference data source scopes with deleted users.
- Fixes bug that breaks selection of data source when creating data query.
8.0.7
- Data Sources
- Removes password when exporting list of data sources.
8.0.6
- Data Sources
- Better error handling when importing from XLSX files
- Fixes bug that causes legacy config migration to fail if updated from 7.2.x instead of 7.3.x version.
8.0.5
- Supports arabic text in PDF report footer.
- Adds CashPilot data source.
- Allows common table expressions (WITH queries) in data queries.
8.0.4
- Fixes bug that causes legacy configurations not to be converted properly in case of multiple tenants.
8.0.3
- Fixes broken config DB connections in case of multiple tenants.
8.0.2
- Data Sources
- Provides better error messages when importing data from XLS/XLSX files.
8.0.1
- Data Sources
- Uses RFC4180 compliant CSV parser when parsing import data.
- Fixes bug that causes multi tenency configurations not to work properly in case of no default tenant.
8.0.0
- Adds
dataSources/{id}/tables/{table}/distinctValues
anddataSources/{id}/tables/{table}/distinctValues
which allow getting distinct values for column combinations. - Fixes bug that breaks sorting in data source preview if we sort by a columns containing duplicated values.
- Moves the configuration from File System to Database. which includes (Files, Styles, Translations, DataSources, DataQueries)
- Data Queries
- Imporves renaming of Data Queries. Renaming a data query will change its name also in the dependent queries.
- Improves Export/Import of DataQueries.
- Optimizes caching of DataQueries.
- Updates to Spring Boot 3.3.0.
- Updates to Java 21.0.3.
- Adds new aggregate function 'distinct_count'
- GIS Controller: Geographic Information System
- Adds
/dataQuery/{id}/cluster
which adds support to Geo Maps using data queries. - Adds
gis/cluster
which adds support for Geo Links in Geo Maps. - Filters empty addresses before geo coding.
- Adds
7.3.21
- Fixes bug that causes a "No mime type found for *.csv" error message on some systems when exporting a data source table.
7.3.20
- Fixes import of data source table data.
7.3.19
- Fixes bug that sometimes causes selects to fail if query contains an empty argument.
7.3.18
- Does not throw away dynamic data query caches upon Web Service restart anymore.
7.3.17
- Fixes bug that breaks table annotations.
- Does more caching to speed up data queries even more.
7.3.16
- Fixes bug that causes error when sub data query is referenced multiple times on different levels.
7.3.15
- Even more fixes to improve data query performance.
7.3.14
- Various fixes to improve data query performance.
7.3.13
- Optimizes caching of static SKOOR Dashboard assets.
- Fixes bug that prevents API calls to be cached.
7.3.12
- Increases performance of distinct values endpoints.
- Avoids materialized data queries with very large result sets blocking the whole webservice.
7.3.11
- Uses the new
stablenet_permission_hash
table from StableNet FDW. This allows to highly optimize materialized data queries and caching in general.
7.3.10
- Reuses Java HTTP client instances.
- Does not invalidate StableNet Auth tokens anymore after selects, as this is now done automatically by SKOOR Auth. This saves one roundtrip to the SKOOR Auth Service.
- Do not try to use unlogged tables for materialized data queries on MySQL backends.
7.3.9
- Caches some database table metadata to reduce database access.
7.3.8
- Reduce number of concurrently refreshed materialized data queries to 10.
7.3.7
- The Data Query cache refresher no longer discards cached data if there's a temporary failure in refreshing StableNet authentication tokens.
7.3.6
- Decreases data query dynamic cache limit from 100'000 to 10'000 rows. This should reduce writes to the disk for unmaterialized data queries.
7.3.5
- Replaces deprecated
server.tomcat.max-threads
withserver.tomcat.threads.max
.
7.3.4
- Increases number of concurrent connections to SKOOR Engine server.
7.3.3
- Fixes a bug that prevents data query run to make use of materialized data.
- Adjusts materialized data query refresh timeouts based on refresh interval.
- none: 600s
- daily: 600s
- hourly: 60s
- minutely: 10s
- Limits materialized data query maximum row count based on refresh interval.
- none: 10'000'000
- daily: 10'000'000
- hourly: 1'000'000
- minutely: 100'000
7.3.2
- Fixes bug that prevents data source tables from being exported.
7.3.1
- Increases the Spring Boot max threads to 400.
- Optimizes concurrency when refreshing materialized data queries.
7.3.0
- Adds StableNet Data source type which uses the StableNet Foreign Data Wrapper.
- Fixes bug that causes mismatch between Engine values and value definitions.
- Fixes a bug that causes very bad database performance on big datasets when filtering for integer values.
- Various other performance optimizations for big datasets.
- New export / import endpoints for dashboards and data queries.
7.2.15
- Fixes Data Source data import of XLS(X) files with missing trailing cells on some rows.
7.2.14
- Fixes bug that causes the
PUT /{parentType}/{parentId}/children
to fail if parent is a SLC.
7.2.13
- Increases inprocess database connection pool from 8 to 30 to allow more parallel requests.
7.2.12
- Improves timeout behaviour on MySQL Data Sources.
7.2.11
- More accurate result row estimate function for data sources and data queries.
- Supports date trunc functions like
month()
andday()
on MySQL as well.
7.2.10
- Fixes time zone and daylight saving time issues on MySQL connections.
- Provides ISO-8601 formatted times in the timezone of the web service instead of UTC (e.g. 2023-01-02T08:00:00+01:00 instead of 2023-01-02T07:00:00Z). This is much easier to read when working with the webservice and should not affect existing clients as those should always factor in the offset.
7.2.9
- Also estimates row count on MySQL to improve query performance.
7.2.8
- Correctly handles JSON operators ?, ?| and ?& in data queries.
7.2.7
- Fixes handling of zoned date time params.
7.2.6
- Fixes a bug that breaks PDF reports containing special characters in the footer fields.
7.2.5
- Fixes broken position marker if data query contains errors.
7.2.4
- Fixes deadlock when a slow data query is accessed multiple times in parallel.
7.2.3
- Limit columns in data source
/columns
to current schema. - Fixes loading of data source scopes.
7.2.2
- Fixes a bug that breaks requests to data sources and data queries that contain quotes in search query values.
- Fixes data queries on databases that do not allow creating the cache schema.
7.2.1
- Listens on all IPv4 and IPv6 addresses instead of only IPv4.
7.2.0
- Allows to modify table schemas of data sources
- Allows to change data of data sources
- Implements annotations
- Changes representation of revaluation active time that
begin
only contains the local time component instead of a full ISO-8601 string. - Refresh interval for materialized data queries.
7.1.3
- Fixes a bug that causes
/{type}/{id}/children
requests to fail in case an object containsAlarmrecepients
.
7.1.2
- Data Sources
- Fixes row number estimate in case of query contains IN() conditions.
7.1.1
- Script data source
- Fixes bug that causes error if offset is greater than number of returned rows.
7.1.0
- Rejects values provided to
/webcollector
that are too far in the future - Estimates number of rows fetched from PostgreSQL databases instead of calculating it if the number of fetched rows is greater than 1'000'000. This massively increases query performance on big datasets.
- Fixes bug that causes fetching job messages to fail if an object is not scheduled on a collector.
7.0.7
- Data Queries
- Fixes deadlock when refreshing nested data queries.
- Fixes a bug that causes dependency resolution to find the same dependent multiple times.
7.0.6
- Provides
defaultParams
in/dashboards/groups/nested
request
7.0.5
- Fixes bug that causes a
select
request on a script data source to crash if nooffset
andlimit
params are provided. - Fixes parsing of data queries containing
with
7.0.4
- Inventory Controller
- Fixes handling of
tree
request with empty objects.
- Fixes handling of
7.0.3
- PDF Reports
- Also fixes page wrap for tables
7.0.2
- PDF Reports
- Fixes page wrap
- Fixes doubled table headers
7.0.1
- Allows to export single data query
- Fixes a bug that sometimes prevented detecting already materialized data queries upon service restart.
7.0.0
- Improves data queries
- Allows to materialize data queries similar to materialized views.
- Remove Semver versions in favour of just dates.
- Improves reference detection.
- Enforces permissions from data source in dmvn testata query as well.
- Caches data query results for better performance.
- Pools PDF report rasterizers to improve performance.
- Updates MySQL JDBC connector. Requires MySQL >= 8.
- Adds InventoryController which provides optimized endpoints for the SKOOR Dashboard Inventory widget
6.4.3
- Mainteneance release to incorperate changes from 6.3.4.
6.4.2
- Supports PostgreSQL
citext
type and (more) other special types as well.
6.4.1
/files
endpoint now defaults mime type of unknown files toapplication/octet-stream
instead of returningnull
.
6.4.0
- Allows to delete files using
DELETE /files/filename.extension
- Increases maximum upload file size from 1 MB to 10 MB
6.3.4
- Ensures that PostgreSQL connections always use the external connection pooler.
6.3.3
- Ensures that the current user has full permissions on a newly created dashboard group.
6.3.2
- Speeds up Webservice startup by triggering migrations only once during update.
6.3.0
- Allows operators like AND(), OR() when doing text search on data sources
- Sorts reasons naturally when getting origin (drilldown)
6.2.5
- Fixes creation of dashboard groups
6.2.4
- Normalizes Dashboard permissions
- Makes root "Dashboards" readable by any
- Adds "Deny Any" to root "Dashboards" group for referenced objects
- Removes "deny" rules fom all dashboard objects
6.2.3
- Forces init permissions of dashboards to parent object
6.2.2
- Fixes Dashboard fetching when user is moved into other groups or changes role.
6.2.1
- Fixes Header Tile migration in case og only right header tile.
6.2.0
- New Dashboard permission endpoints
6.1.4
- Fixes Data Queries using aggregate functions without alias (e.g. count(*), sum(foo), ...)
6.1.3
- Does dashboard migrations once per tenant instead of only once globally.
6.1.2
- Data Queries
- Fixes data queries that have deleted user as author.
- Fixes Data Queries with null query strings
6.1.1
- Data Queries
- Does not use Commont Table Expressions on MySQL because old version of MySQL do not support those. Probably there will be a detection for this feature in a later Webservice version.
6.1.0
- Data Queries
- Usees Common Table Expressions (WITH queries) for sub queries instead of nested sub queries. No need to add an alias to a sub query anymore.
- Strips comments before processing sub queries and params.
- Measures query execution time and return duration
- Allows default values for parameters and simplify parameter syntax (no more "params.")
- Data Queries / Data Sources
- Sub aggregates
- Styles endpoint for storing custom CSS styles
- Returns children in reason call
6.0.5
- Fixes reading config from environment variables
6.0.4
- Data Queries
- Removes pinning logic
- Always deletes groups recursively
- Simplifies and fixes export/import
6.0.3
- Returns a 404 instead of 500 HTTP status code in case of invalid dashboard
6.0.2
- Allows to save invalid data queries. Return errors when getting data query instead
- Does not add version markers anymore when publishing data queries
- Fixes circular reference detection for sub data queries
6.0.1
- Single request for dashboards including its children (/dashboards/{id}/nested)
6.0.0
- Config from ENV
- Allows to set darkmode on user
- Many changes when getting dashboards
- Removes some stuff now done by SKOOR Auth
- Uses connection pool from PGPool-II if available