Changelog
1.0
1.7.3
Release date: 20.11.2024
Improvements & Bug Fixes
- Fixed a bug where sometimes the io.Manager Server would fail to load environment variables from a file.
1.7.2
Release date: 19.11.2024
Improvements & Bug Fixes
- Added consistency validation for apps:
name
anddefinition.name
must be the same;name
anddefinition.appId
(if present) must be the same;- Added consistency validation for Layouts:
name
anddefinition.name
must be the same;type
anddefinition.type
must be the same;
1.7.1
Release date: 07.11.2024
New Features
- Exposed
appsV2
andlayoutsV2
via theServer
interface for custom scripts.Improvements & Bug Fixes
- Fixed a bug where some PostgreSQL queries wouldn't use the correct schema.
1.7.0
Release date: 01.11.2024
New Features
- Added OpenTelemetry support.
- Added new environment variable
API_MONITORING_SENTRY_DSN
- custom Sentry DSN to use when using monitoring via Sentry.- Added new environment variable
API_AUTH_AUTH0_ISSUER_BASE_URL
for Auth0 authentication - base URL for the Auth0 issuer.- Added database connectivity health check as well as Docker health checks for the io.Manager Server and Admin UI Docker images.
- Added a
purgeAtStartupEnabled
optional Boolean property to thePurgeConfig
object. If set totrue
(default), will run the purge task at startup of the io.Manager Server. You can also use theAPI_PURGE_AT_STARTUP_ENABLED
environment variable to configure the purge behavior.- Added database column
others
to thelast_updated
table (for PostgreSQL and MSSQL only).⚠️ Note that users who don't use automatic schema migration must create the
others
column manually by running the following scripts:For PostgreSQL:
ALTER TABLE last_updated ADD COLUMN IF NOT EXISTS others JSON NULL;
For MSSQL:
IF NOT EXISTS ( SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[last_updated]') AND name = 'others' ) ALTER TABLE last_updated ADD others NVARCHAR(MAX);
1.6.4
Release date: 11.09.2024
Improvements & Bug Fixes
- Fixed a bug where io.Manager would fail to save a crash dump generated by io.Connect Desktop.
1.6.3
Release date: 10.09.2024
Improvements & Bug Fixes
- Fixed a bug where invoking controllers directly via the
RestServer
class would throw an error.
1.6.2
Release date: 05.09.2024
Improvements & Bug Fixes
- Moved
dotenv
package from"devDependencies"
to"dependencies"
to fix a bug introduced in v1.6.0.
1.6.1
Release date: 04.09.2024
Improvements & Bug Fixes
- Fixed a bug where the total record count wasn't calculated correctly for data requests to PostgreSQL and MSSQL.
1.6.0
Release date: 29.08.2024
New Features
- Implemented automatic failover when using PostgreSQL databases with io.Manager. To specify multiple PostgreSQL hosts, use the
hosts
property of thestore
object for configuring the connection to a PostgreSQL database. Thehosts
property accepts an array of objects describing PostgreSQL database hosts that will be tried in the order they are provided.The following example demonstrates configuring io.Manager Server to use multiple PostgreSQL hosts:
import { start } from "@interopio/manager"; // Configuration for the io.Manager Server. const config = { name: "my-server", port: 4242, token: { secret: "my-secret" }, // Configuration for connecting to a PostgreSQL database. store: { type: "postgresql", // Specifying multiple PostgreSQL hosts to which to connect. hosts: [ { connection: "postgresql://my_user:password@localhost:5432", dbName: "my_db", schemaName: "my_schema" }, { connection: "postgresql://my_user:password@localhost:5433", dbName: "my_db", schemaName: "my_schema", // io.Manager won't attempt to execute write operations on this host. isReadOnly: true } ] } }; // Initializing the io.Manager Server. const server = await start(config);
Improvements & Bug Fixes
- Added database column
browser
to themachines
table (for PostgreSQL and MSSQL only). Users who don't use automatic schema migration must create the column manually by running the following scripts:For PostgreSQL:
ALTER TABLE machines ADD COLUMN IF NOT EXISTS browser JSON NULL;
For MSSQL:
IF NOT EXISTS ( SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[machines]') AND name = 'browser' ) ALTER TABLE machines ADD browser NVARCHAR(MAX);
- Fixed a bug that would prevent MongoDB users from seeing feedback in the feedback list in the io.Manager Admin UI.
- Layouts can now be filtered by the
id
field using the Admin API.
1.5.0
Release date: 16.08.2024
New Features
- New REST API endpoints have been added:
New Endpoint Description GET /v2/server/info
Returns information about the io.Manager Server, such as server version and available capabilities. POST /v2/apps/add
Creates a new app definition or returns status code 400
if an app definition with the samename
property already exists. Returns the created app definition.POST /v2/apps/add-or-update
Creates a new app definition or updates an existing one if an app definition with the same name
property already exists. Returns the created or updated app definition.POST /v2/apps/update
Updates an app definition or returns status code 404
if an app definition with the specifiedname
property isn't found. Returns the updated app definition.POST /v2/layouts/add
Creates a new Layout definition or returns status code 400
if a Layout definition with the same combination ofname
,type
andowner
properties already exists. Returns the created Layout definition.POST /v2/layouts/add-or-update
Creates a new Layout definition or updates an existing one if a Layout definition with the same id
property (or the same combination ofname
,type
andowner
properties ifid
isn't provided) already exists. Returns the created or updated Layout definition.POST /v2/layouts/update
Updates a Layout definition or returns status code 404
if a Layout definition with the specifiedid
property (or the specified combination ofname
,type
andowner
properties ifid
isn't provided) isn't found. Returns the updated Layout definition.Deprecated Endpoints
The following REST API endpoints have been deprecated:
Deprecated Endpoint New Endpoint POST /apps
Use POST /v2/apps/add-or-update
instead.POST /apps/:name
Use POST /v2/apps/update
instead.POST /layouts
Use POST /v2/layouts/add-or-update
instead.POST /users/:name/layouts
Use POST /v2/layouts/add
instead.
1.4.0
Release date: 15.05.2024
New Features
- Support for Okta authentication.
- Implemented
"empty"
DataRequest
filter type for all filter types where applicable.Improvements & Bug Fixes
- Added
inRange
filters support for MongoDB.- Fixed preferences upsert.
1.3.0
Release date: 26.04.2024
New Features
- DB purge operation now happens at startup.
- Exposed extra MSSQL options.
Improvements & Bug Fixes
- Fixed inconsistent group resolution between apps and Layouts in io.Manager.
- Fixed broken last updated timestamps in io.Manager leading to unnecessary database requests and hashing operations when configured with PostgreSQL or MSSQL.
- Fixed summary endpoint on MSSQL and PostgreSQL.
- DB purge interval is stopped when
server.stop()
is called.- Remove server-x token groups usage in sessions service.
1.2.0
Release date: 22.03.2024
New Features
- Added a configurable purge job for purging old audit logs, feedback and crashes in order to reduce database usage.
- Added
API_STORE_POSTGRESQL_NATIVE_PG_DRIVER
andAPI_STORE_MSSQL_DOMAIN
environment variables.Improvements & Bug Fixes
- Implemented ORFilters and excludeFields for PG and MSSQL.
- User groups defined in database are considered when using custom auth provider and the data store.
- Rebuilt the Data Request functionality for PG and MSSQL to use SQL parameters, fixed - various related bugs.
- Added migration for missing constraints in layouts and prefs tables in PG and MSSQL.
1.1.1
Release date: 06.03.2024
Improvements & Bug Fixes
- When a user saves a shared Layout, a new private copy of that Layout is created. Previously, the shared Layout was transferred to the user that had saved it.
1.1.0
Release date: 24.02.2024
New Features
- Added support for
pg-native
driver.⚠️ Note that
pg-native
isn't a dependency of the@interopio/manager
package and you must install it separately in your project.Improvements & Bug Fixes
- Microsoft SQL Server support: fixed a bug where the
accessList
column of theapps
table wasn't written if empty.- Updated dependencies.
1.0.0
Release date: 17.01.2024
Breaking Changes
- Users can now be compared in a case-insensitive way. Added new a configuration property
username_case_sensitive
and a new environment variableAPI_USERNAME_CASE_SENSITIVE
that can be used to switch between case-sensitive and case-insensitive modes. Defaults to case-insensitive.- Removed status endpoint, because the
express-status-monitor
package is deprecated.Improvements & Bug Fixes
- Updated dependencies.
0.1
0.21.0
Release date: 15.11.2023
New Features
- Added ability to provide custom store implementation through configuration.
0.20.1
Release date: 20.10.2023
Improvements & Bug Fixes
- Updated dependencies.
0.20.0
Release date: 09.10.2023
New Features
- Added option for controlling audit logs.
Improvements & Bug Fixes
- Stopped recreating controllers on every request.
- Disabled auditing for opening sessions open and creating users.
0.19.2
Release date: 05.09.2023
Improvements & Bug Fixes
- Fixed updating a Layout without a Layout ID.
0.19.1
Release date: 14.07.2023
Improvements & Bug Fixes
- Moved several types from development dependencies to dependencies.
0.19.0
Release date: 14.07.2023
New Features
- Added support for Microsoft SQL Server databases.
0.18.0
Release date: 15.06.2023
New Features
- Added explicit Layouts support for PostgreSQL.
- Auth0 authentication now uses permissions.
Improvements & Bug Fixes
- Fixed rejecting hello request from io.Connect Browser.
0.17.1
Release date: 30.05.2023
Improvements & Bug Fixes
- Moved some of the libraries into the codebase for better control over the dependencies.
0.17.0
Release date: 22.05.2023
New Features
- Exposed APIs (e.g., for users, apps, Layouts and more) attached to the initialized
server
object.
0.16.0
Release date: 19.05.2023
New Features
- Added ability to set explicit Layouts for users.
0.15.2
Release date: 18.05.2023
Improvements & Bug Fixes
- Optimized fetching of user Layouts.
0.15.1
Release date: 11.05.2023
Improvements & Bug Fixes
- Exposed all options for Auth0 configuration.
0.15.0
Release date: 11.05.2023
New Features
- Restored Auth0 authentication support.
0.14.0
Release date: 11.04.2023
New Features
- Added an extra pool setting for PostgreSQL connections.
0.13.0
Release date: 31.03.2023
Improvements & Bug Fixes
- Updated to latest
@interopio/schemas
.
0.12.1
Release date: 16.03.2023
Improvements & Bug Fixes
- Updated dependencies.
0.12.0
Release date: 26.01.2023
New Features
- Allow a single default Layout entry in the database.
Improvements & Bug Fixes
- Prevented users from overwriting common Layouts.
0.11.0
Release date: 25.11.2022
New Features
- Added HTTPS support.
0.10.0
Release date: 28.10.2022
New Features
- Added support for PostgreSQL databases.
0.9.11
Release date: 12.10.2022
Improvements & Bug Fixes
- Added option to disable
express-status-monitor
.
0.9.10
Release date: 10.10.2022
Improvements & Bug Fixes
- Fixed always converting the port in the server configuration to a number. Now, if a string is passed, it's treated as a path that might be a named pipe.
0.9.9
Release date: 21.09.2022
New Features
- Added a
/status
endpoint usingexpress-status-monitor
.- Added a
/db
endpoint for database info.
0.9.8
Release date: 19.09.2022
Improvements & Bug Fixes
0.9.7
Release date: 19.09.2022
Improvements & Bug Fixes
- Removed sort memory limit.
0.9.6
Release date: 19.09.2022
Improvements & Bug Fixes
- Improved the shutdown process.
0.9.5
Release date: 07.09.2022
Improvements & Bug Fixes
- Improved Sentry monitoring routes.
0.9.4
Release date: 24.08.2022
New Features
- Added Sentry monitoring.
0.8.4
Release date: 07.06.2022
Improvements & Bug Fixes
- Updated to latest
@interopio/server-api
.
0.8.3
Release date: 07.06.2022
Improvements & Bug Fixes
- Hashed passwords (only used in Basic authentication).
- Updated dependencies.
0.8.2
Release date: 23.03.2022
Improvements & Bug Fixes
- Handled schema validator errors.
0.8.1
Release date: 23.03.2022
Improvements & Bug Fixes
- Fixed schema path.
0.8.0
Release date: 22.03.2022
New Features
- Added a
/schema
endpoint.
0.7.0
Release date: 21.03.2022
New Features
- Added a flow for Basic authentication.
- Added a
/whoami
endpoint.
0.6.0
Release date: 17.03.2022
New Features
- Added a default route.
- Added a stop route that is registered only if an environment variable is present in the configuration.
0.5.0
Release date: 13.03.2022
New Features
- Added a
/capabilities
endpoint for exposing the features of Groups.
0.4.1
Release date: 13.03.2022
Improvements & Bug Fixes
- Included the tests as pre-publish step.
0.4.0
Release date: 13.03.2022
New Features
- Added the option to provide a custom Groups service.