Skip to main content

5.9 Release Notes

Release date

Cinchy version 5.9 was released on January 10th, 2024.

Upgrade guides


Breaking changes

Discontinuation of support for 2012 TSQL

As of version 5.9, Cinchy will cease support for 2012 TSQL. This change aligns with Microsoft's End of Life policy. For further details, refer to the SQL Server 2012 End of Support page.

Removal of GraphQL API (Beta)

The beta version of our GraphQL API endpoint has been removed. If you have any questions regarding this, please submit a support ticket or email support@cinchy.com.


Enhancements

Platform

Data Polling: {NEXTOFFSET} and {MAXOFFSET} keywords

We enhanced our data polling source with the introduction of {NEXTOFFSET} and {MAXOFFSET} keywords. These features streamline data synchronization by optimizing search ranges within queries, improving performance and efficiency.

{MAXOFFSET} fetches the highest column value from a query, while {NEXTOFFSET} retrieves the largest column value from prior queries, essential for effective batch processing. For further details on using these new features in data polling, please visit the {MAXOFFSET} and {NEXTOFFSET} section on our Data Polling documentation page.

Time Zone configuration update

We updated our time zone handling to improve compatibility and user experience. This change affects both PostgreSQL (PGSQL) and Transact-SQL (TSQL) users, with significant changes in options, discontinuation of support for older TSQL versions, and manual time zone migration. This enhancement does the following:

  1. PGSQL Time Zone support:

    • PGSQL now offers an expanded range of time zone options. These options may not have direct equivalents in TSQL.
  2. Discontinuation of TSQL 2012 Support:

    • We're discontinuing support for TSQL 2012. Users must upgrade to a newer version to ensure compatibility with the latest time zone configurations.
  3. System Properties Update:

    • Time zone settings will continue to be supported in TSQL 2016 and later versions.

Manual Time zone migration

Due to differences in time zone naming between TSQL and PGSQL, Cinchy will manually migrate users to a matching time zone. To verify your time zones, you can do the following:

  1. Personal preferences:

    • All users should check their time zone settings post-migration.
    • For personal settings, select My Profile and set the preferred time zone.
    • For system settings, access the system properties table (ADMIN), manually copying the PGSQL name into the Value column.
  2. Database Access Requirements: The Cinchy application must have application READ access to the following tables depending on the database in use:

    • PGSQL: pg_timezone_names
    • TSQL: sys.time_zone_info

Breaking changes for time zones

  • This update is related to the breaking change for SQL Server 2012 users.
  • Time zone values will be changed and mapped during the upgrade process.
  • In case of mapping failure, the default time zone will be set to Eastern Standard Time (EST).

For more information on setting PostGreSQL time zones for Cinchy, please see the System properties page.

Expanded CORS policy for Cinchy Web API endpoints

Cinchy Web API endpoints now feature a more permissive Cross-Origin Resource Sharing (CORS) policy, allowing requests from all hosts. This update enhances the flexibility and integration capabilities of the Cinchy platform with various web applications.

caution

Make sure to use robust security measures in your applications to mitigate potential cross-origin vulnerabilities.

Integration with AWS and Azure in External Secrets Manager

With the External Secrets Manager table, Cinchy now offers comprehensive integration capabilities with AWS and Azure. This enhancement allows for streamlined management and integration of external secrets within the Cinchy environment and expands the supported authentication types from AWS and Azure, providing a more versatile approach to managing external secrets.

For AWS, Cinchy now supports the following secret types:

  • AWS access keys for IAM users.
  • IAM roles.

For Azure, Cinchy now supports the following secret types:

  • Managed identities.
  • Registered applications.

For more information, please see the External Secrets Manager guide.

Post-Sync script capabilities for CDC with Kafka topics

You can now execute post-sync scripts when performing Change Data Capture (CDC) operations with Kafka Topics as the destination. This enhancement enables developers to implement custom actions after data synchronization, such as setting status flags or recording timestamps. This allows for more flexible post-operation scripting in CDC workflows.

Cinchy DXD 2.0: Consistent column ordering in model table export and import

When exporting a model table from an environment with CinchyDXD, the column order in the Manage Data - View All now remains consistent after import. The in-memory reference and the output JSON now reflect the correct column order, improving the Manage Data screen user experience.

Cinchy DXD 2.0: Model differentiation

We made a significant enhancement in model management for CinchyDXD 2.0. Models now feature an optional attribute to distinguish between dependency tables and primary tables. This attribute, when applied, categorizes tables as either dependencies or primaries:

  • Dependency Tables: Identified by the model but remain unaffected during model loading.
  • Primary Tables: Subject to modifications or creation during model loading.

Enhanced Model Syntax:

  • Current: <Table name="Table" domain="Domain" guid="Guid" icon="fa fa-table" iconColour="#002060">
  • Updated: <Table name="Table" domain="Domain" guid="Guid" icon="fa fa-table" iconColour="#002060" isDependency="true">

This update ensures more precise control over table management, enhancing the efficiency and effectiveness of data operations.

Change notifications on System Tables

You can now enable change notifications and related features on system tables within the Cinchy domain. Administrators and users now have better visibility into the use and modification of these tables. This includes additions, deletions, or updates to the table data.

System Table Considerations

  • If you are on PostgreSQL, please restart the web application pod to enable change notifications.
  • Some tables, such as the Listener State table, are excluded from this feature due to their high-volume nature.
  • Change Data Capture (CDC) can't be enabled on tables that aren't versioned, specifically the Listener State table.
  • When you enable CDC a system table, the model loader can't disable it.

Enhanced error messaging for model loader failures

We improved the error messaging for model loader failures. Before, loading a model with a duplicate name and version in the Models table showed unclear error messages. Users had to check logs to identify the failure cause. The error screen now shows clear, detailed messages. This change makes troubleshooting easier and offers context into model loader failures.

Serilog.Sinks.Files and Serilog.Expressions added to Cinchy Web

We now include Serilog.Sinks.Files and Serilog.Expressions libraries in Cinchy Web. This update aligns Cinchy Web with the enhancements previously made to the Identity Provider (IDP), ensuring consistency across platforms.

Enhanced CDC observability with Kafka and Redis log integration

We integrated Kafka and Redis logs into OpenSearch, offering improved insight and quicker debugging for Change Data Capture (CDC) processes. This enhancement improves issue resolution and a streamlines monitoring.

Real-time sync improvements for listener operational status

This enhancement improves the data synchronization feature in Cinchy. The Enabled/Disabled setting now more effectively controls the start and stop of data synchronization. Key enhancements include:

  • Lifecycle Phases: The synchronization process now clearly follows distinct phases: Starting, Running, Failed, and Disabled. This structured approach enhances monitoring and debugging capabilities.

  • Automatic Retry Mechanism: In the Failed state, due to synchronization errors, the system logs detailed error messages and remains in the Enabled state. It automatically retries synchronization every 60 seconds until you set the status to Disabled.

  • Automatic Disable Feature: The system now intelligently sets itself to Disabled under two specific conditions:

    • Detection of an invalid configuration (such as erroneous Topic JSON).
    • Validation error during synchronization (such as a missing mandatory field in the Topic JSON).

Operations for Cinchy Builders Group

We introduced a new feature that allows members of the Cinchy Builders group to perform truncate table operations. This enhancement enables Builders to effectively manage and manipulate table data. Key features include:

  • Truncate Table Capability: Members of the Cinchy Builders group now have the authority to execute TRUNCATE operations on tables.

  • Design Table Access: To perform a truncate operation, the user must have access to the Design Table of the table they intend to truncate. If the user lacks this access, the system will give an error stating Design Table Access required to execute Truncate command.

Selecting a link to a PDF stored in Cinchy via a Link column associated with Cinchy\Files now respects your browser settings and opens the PDF in your browser, if you've set it to do so.

caution

If you are receiving an access error related to viewing the PDF in your browser, you must clear your browser cache and restart a new session.

Improved Oracle source read performance

We implemented a significant enhancement to the read performance of Oracle data sources. This improvement targets scenarios involving tables with a large number of columns or large-sized columns, as well as networks experiencing higher latency.

New login page

The login page has been redesigned for improved user experience. It now displays the current Cinchy platform version within the login box, allowing easy identification of the version in use.

Connections

Connections UI listener status UI updates

Connections UI now includes several new elements to improve the monitoring and control of listener statuses:

  • A toggle switch to display the listener's current status.
  • A direct link to a filtered view of records in the Execution Errors table where errors have occurred.
  • An indicator of the listener's running state, which can be Disabled, Starting, Running, or Failed.
  • A message is displayed when the listener isn't active and has failed, providing information on possible next steps.

UI enhancements for dropdown menus

We've made enhancements to the UI for certain dropdown menus in Connections.

  • Type ahead style dropdowns: We changed the table and query dropdowns to type ahead style, aligning with the existing Source and Destination dropdowns for a smoother UI.
  • Uniform dropdown heights: We adjusted the Destination dropdown to match the Source dropdown in height, ensuring a consistent and visually appealing UI.
  • Alphabetical Query sorting: We implemented alphabetical sorting for queries in the dropdown list.
  • Consistent navigation links: We added navigation links next to the Table and Queries. dropdown for a uniform and intuitive user experience.

Additional filter support for Cinchy Event Triggered Sources

In the latest update, we've expanded the conditional filtering capabilities introduced in Cinchy v5.7. This enhancement is now available on the following sources:

  • Kafka
  • SOAP (Cinchy Event Triggered)
  • REST API (Cinchy Even Triggered)

Enhanced DevOps automation for Connections

We've upgraded the DevOps automation script for the Connections app. This improvement allows the script to seamlessly integrate new commands and parameters, enhancing deployment efficiency and configuration accuracy. It now supports dynamic generation of critical commands for each Cinchy instance, ensuring tailored configurations for different environments.

Batch processing update

We enhanced the batch processing system to ensure all records in the queue are fully processed before a batch job is marked as complete.

Registered application for Azure

For file-based syncs, we've added "Registered Application" as an authentication mechanism for Azure Blob Storage. This is an addition to S3 support for file-based syncs.

Improved validation for Delete Sync configuration

We've enhanced the validation process for delete synchronization configurations. The system now checks the configuration at the start of the sync, ensuring the ID Column is defined and matches the Dropped Record behavior. This update prevents errors and confusion, leading to a smoother and more intuitive sync operation.

Meta-Forms

PDF export in landscape

We've added the ability to export a Form PDF in landscape mode.

Fixes

Platform

  • We enhanced the batch processing system to ensure all records in the queue are fully processed before a batch job is marked as complete.
  • You can now export up to the first 250,000 records from a View using the Export button on a table.
  • We fixed the character limit in the Secrets table for Aurora databases. The Secret Value column capacity has increased from 500 to 10,000 characters, ensuring adequate space for storing secret data.
  • We resolved an issue in the Collaboration Log Revert function where date-time values in unrelated columns were incorrectly altered.
  • We resolved a security issue that removes the logging of Connection Attributes in the Event Listener.
  • We resolved an issue where altering metadata for date columns in PostgreSQL led to exceptions during operations.
  • We added a retry mechanism to address a transient connection issue for PostgreSQL databases, where listeners in the production environment encountered errors due to invalid client_encoding and TimeZone parameters. The update enhances connection stability and reliability.
  • We increased the request limit size for the Connections Job API, enabling the processing of larger files without encountering size restrictions.
  • We improved messaging in CQL Saved Queries to provide clearer error messages when required parameters are missing in saved queries, aiding in self-debugging.
  • We fixed an issue in batch synchronization (CSV to table) where data was incorrectly updated on subsequent syncs without any actual changes. This fix ensures data integrity and accurate update behavior in the synchronization process.
  • We resolved an issue that caused binary columns to drop when editing the Users and Files system tables. This fix ensures that binary data types are now correctly recognized and retained during table modifications.

Connections

  • We fixed an issue where line breaks in the Listener Topic JSON would cause the Listener UI to not display any settings. Cinchy now removes any formatting from the Topic column of the Listener Config table.
  • We resolved an issue where CDC to ADO.net syncs weren't using a single sync for all operations. The following changes have been made:
    • Sync Key Flexibility: Any standard Cinchy data type can be used as a sync key or ID field.
    • ID and Sync Key Compatibility: Setting both to the same field won't cause failure.
    • Unified Sync Operations: Insert, Update, and Deletes work in the same sync when specified.
    • Auto offset Reset: Consistent behavior for all settings.
    • Error Messaging: Clear error messages for missing operation info.
  • We fixed a regression issue with the DB2 connector.
  • We fixed a visual instability within the Filter text field.
  • We resolved an issue where existing sync configurations in Cinchy Event Broker incorrectly displayed empty query dropdowns.
  • We fixed an issue where data syncs from pipe-delimited files failed to process text fields containing quotes.
  • We fixed a bug that was causing the unsaved changes dialog to be displayed in scenarios where there were no unsaved changes
  • We resolved an issue in changelog tables where updates that weren't batched and timeouts occurred during large record set processing. This fix ensures efficient handling of cache callbacks across all nodes.
  • We resolved an issue where the order of multi-selects affected reconciliation in Connections.

Meta-Forms

  • We resolved a bug that prevented saving Date values in child forms during creation and editing.
  • We fixed a bug where the Add… link in the forms sidebar failed to load the correct form in the modal.
  • We fixed an issue where multi-select columns linked to large tables didn't display selected values and allowed accidental overwriting of existing selections.
  • We fixed an issue where creating new records in Forms failed if a text field contained a single quote, ensuring successful record creation regardless of text field content.
  • We fixed a bug where child forms weren't saved due to multi-select columns getting their values set to empty if they weren't changed by the user.