Cloud Software Group, Inc. EBX®
TIBCO EBX® Documentation

6.2.3

6.2 service packs

6.2.3

6.2.3 has been built on February 18, 2026. Overview of this service pack:

Java Runtime Environment

JRE 25 LTS is now supported. We recommend upgrading your JRE to this latest supported LTS version.

See Supported application servers for more information.

New user interface (UI) preview

This release includes a preview of the new EBX® user interface, offering an updated navigation experience and new interaction patterns. The preview is optional, administrator-enabled, and operates alongside the current UI. Additional capabilities will be introduced in future updates.

See the Administration Guide and User Guide for more information.

Note

Use of the new UI is optional. It can be evaluated alongside the existing UI, which remains the recommended interface for production use.

Backward compatibility – Repository API behavior

Starting in this release, you must not call the method Repository.deleteHome(AdaptationHome, Session) from a procedure. If you do, the method throws an IllegalStateException. This change prevents transactional inconsistencies and helps ensure data integrity. Previously, this call could lead to internal errors or leave the repository in an inconsistent state when a nested procedure committed changes before its parent.

Attention

This change might impact any custom code that attempts to delete a dataspace (branch or snapshot) from within a procedure. If this is the case with your code, you must move the deletion outside of the procedure context.

Workflow changes

History size reduction

  • Data context variables are now only recorded with a new history entry if they are updated. This change can lead to a significant decrease of the workflow history size over time.

    The total amount of reduction depends entirely on the workflow models and the number of variables updated in each step during their execution. For example: a model of 20 steps with 20 variables defined that updates on average 2 variables per step will reduce the number of stored records by at least 90%.

    Note

    This change applies only to new workflow execution. Existing workflow history will remain as is.

New built-in variable in Message templates

  • Introducing built-in variable 'workflow.workItem.key'. It will be resolved to the work item key in mails.

Workflow user task configuration

You can now set a preference for allocation of the current task to the user who most recently completed an earlier task in the workflow. If the user who completed the earlier task belongs to any profile the current task is offered to, the system allocates (assigns) the task to that user. If that user does not belong to one of those profiles, the system offers the task to users in the eligible profiles as usual. See Setting a user allocation preference for configuration information.

Note

This feature is not available for legacy user tasks.

EBX® Script

The language now:

  • Allows you to create scripted REST services. These services define a REST endpoint in EBX® and its related script. You create and maintain these services in the Script IDE. After compiling and publishing the service from the IDE, it becomes available to REST clients.

  • Supports validation constraints. Use constraints to ensure data consistency within a data model.

  • Allows you to create customized messages with user-defined severity levels. Add the messages to the validation report using EBX® Script.

  • Enables creation, modification, and publishing of localized messages from bundles using the EBX® Script IDE.

Predefined scheduled task to launch workflow

The new SchedulerWorkflowLaunch task schedules the launch of workflows. The task requires input of a workflow launcher to determine which worflow publication is launched.

Built-in LDAP

The caching system has been improved to support high availability. A new property, [request].cache.refreshInSeconds allows cache entries to be refreshed before they expire.

See LDAP directory for more information.

EBX® Metadata Management application

  • Beginning with EBX® version 6.2.0 the Metadata Management application has been available when using EBX® Container Edition. You can now install the EBX® Metadata Management application on a traditional (on-premises) deployment.

  • The EBX® Metadata Classifier database now supports Microsoft SQL Server and Oracle databases.

    See Installation notes for EBX® Container Edition and Building the image for more information.

  • The metadata agent script has been revised following an upgrade to the Spring Framework version. Ensure you use the most recent agent script to connect to Metadata.

    See Installing the TIBCO® Metadata Agent for metadata agent installation instructions.

EBX® Container Edition

The JDK has been upgraded to LTS version 25.

It is now possible to define the EBX® run mode using an environment variable.

The prefix of the environment variable names for metadata has been updated from METADATA_ to EBX_METADATA_CLASSIFIER_. The old variable names are still supported for backward compatibility but will be removed in a future release.

The customization of the Docker image for metadata classifier, when using databases other than SQLite, has been simplified.

To configure a JNDI mail session for EBX®, you’ll need to customize your Docker image.

See Overview, EBX® run mode, Metadata classifier database connectivity, Adding a driver for the Metadata Classifier database and Configuring the mail in JNDI for more information.

Storage and compression

This release introduces a complete rework of the G_BLK format and compression to reduce storage requirements.

  • The new format supports partial content sharing with another block (another G_BLK table row). This reduces data duplication while preserving isolation across dataspaces.

  • Compression can now use dictionaries, which improves efficiency. The improvements are especially noticeable on smaller blocks that are more common with the new sharing mechanism.

The storage savings that result from these updates are expected to range from:

  • 10% to 25% for freshly imported data.

  • Up to 90% for heavily modified data in dedicated dataspaces.

You might experience a performance impact as compression speed can now be significantly slower. However, this is not an issue in most cases as:

  • There is less data to compress (due to sharing).

  • Compression time remains negligible as compared to the full processing pipeline, except for massive initial imports.

If compression performance is an issue, use the following parameters in ebx.properties to adjust it:

  • ebx.compression.dictSize controls the dictionary size and defaults to 16 KB. The recommended range is between 1 KB to 64 KB. However, you should be aware of the following tradeoff that occurs with a larger dictionary: The compression ratio (Logarithmic progression) is better, but compression is slower (linear increase).

    Note

    You must set this value ahead of time. After EBX® creates a dictionary for a given table definitions, it does not create another one. The new value only applies to tables that don't have a dictionary, or to new table definitions.

  • ebx.compression.level controls the compression level. Possible values are FAST, BALANCED, and HIGH (default). Lower the level to speed up compression, but expect a lower compression ratio. This setting immediately applies to the next compression operation. This setting has no noticeable impact on decompression.

For compression performance Java 17 remains fully supported, but running with Java 21 or Java 25 is strongly recommended. The fastest native compression implementation is only available with:

  • Java 21 or later, and

  • Linux or Windows, and

  • x86_64 CPU architecture.

In other environments, compression falls back to a full Java implementation. The fallback is slower and cannot create optimized dictionaries. Both implementations are fully compatible, and you can switch between them.

Developer impact: The optimized compression implementation now uses direct/native memory. This makes it more important to explicitly close RequestResult and QueryResult objects as soon as possible so that memory (index and database resources) is returned promptly.

Public API behavior change:ReverseRelationshipResult.getResult() previously returned the same RequestResult instance. It now always returns a new RequestResult that you must close after each use.

Installation and deployment artifacts: As of this release the ebx-lz4.jar library is no longer needed and has been removed.

Query highlights

Optimizations have been made to the calculation of highlights during searches on linked fields.

Memory consumption has been significantly reduced, especially for large secondary tables. Previously, each search result retained a reference to the full query context, preventing memory cleanup. This could have a major impact when browsing a large number of results pages, as each underlying result was held in memory.

For volumes of several million records, several gigabytes of retained heap could occur, leading to garbage collector blockage.

Key improvements:

  • Highlights computation is now deferred using a lightweight structure instead of retaining the full query context

  • After computation, references are released for immediate garbage collection

  • Retained heap reduction, in some cases, by a factor of 50 to 100x (e.g., from >10 GB to ~100 MB). This depends on each situation.

Supported database

PostgreSQL 18 is now supported and PostgreSQL 13 is no longer supported. The minimum supported version of PostgreSQL is now 14.

Oracle 21c (Innovative Release) is no longer supported; the required version for Oracle is now 19c or 23c.

See Supported databases for more information.

Session timeout redirect property

A new property allows you to declare where to redirect users after their session has timed out.

See Security configuration for more information.

SSO - Data Services

You can now configure which JSON Web Toke (JWT) claims are used to identify the authenticated user.

For additional details, see OpenID Connect and Security.

Known issues

See 6.2.3 Known issues section.

Closed issues

See 6.2.3 Closed issues section.

6.2.2

6.2.2 has been built on September 2, 2025. Overview of this service pack:

New feature: AI Assistant

A new AI Assistant feature has been introduced to support EBX® users using Generative AI. This capability leverages Large Language Models (LLMs) to help users by generating suggestions based on their input and record data. This is especially helpful for tasks such as generating text, summarizing content, translating values and standardizing formats. To use the AI Assistant, administrators must connect EBX® to an external LLM provider and define assistance functions. Each function includes a prompt, which instructs the LLM on how to generate meaningful results for one or more fields within a record.

For more information, see the following documentation resources:

  • AI Assistant includes instructions for administrators on configuring an external LLM connection and defining assistance functions.

  • Editing data provides directions on using the AI Assistant.

EBX® Script

The EBX® Script Language now supports calling external REST services from a script.

Role mapper scripts provide a flexible approach to mapping external roles from identity providers to internal EBX® roles.

For more information, see the following documentation resources:

Synchronized directory

A new synchronized directory has been introduced to handle external users and roles in Single Sign-On (SSO) configurations. To enable integration with a variety of external user directories, the following built-in implementations are provided: LDAP, SCIM and OnLogin.

See Synchronized directory for more information.

Backward compatibility: For LDAP and SCIM, Manual migration is required to import all roles from an external directory and keep using the same permissions.

See Migration for more information.

License keys

The license key manager has been reinstated. Your license key is now aligned with your EBX® instance contract type: subscription, perpetual, or trial. Deployed add-ons are now registered and enabled at system startup.

See Setting an EBX® license key properties file EBX® Container Edition configuration and TestHelper.prepareEnvironment for more information.

Data validation

Optimized validation: the validation of the pattern facet has been optimized. It now benefits of the use of Lucene indexes and then can be used on large tables. That is, if a field defines this facet then the validation process will no longer iterate over all the records to check if the value of the associated field complies with the specified pattern. See data validation for more information about the validation process.

Disable constraint pre-validation: a new method was added to prevent, in the user interface, the constraint from being pre-validated dynamically when the related field is updated at user inputs. This can be useful to improve performance or to avoid unnecessary validation errors during form updates. However, the constraint will still be validated when the form is submitted or when loading the record in the view.

See ConstraintContext.disableAjaxPrevalidation and ConstraintContextOnTable.disableAjaxPrevalidation for more information.

Workflow changes

New changes on workflow views, see details below.

Java API to retrieve table views

It is now possible to get the table views independently of a UI context. It can be useful for retrieving all views related to a table and for a specific user.

See UICustomViewContextFactory.newCustomViewContext for more information.

Java API to retrieve and publish data models

A new Java API has been added to retrieve and publish data models defined in the Data Model Assistant.

See DataModelingManager and DMADataModel for more information.

Data Services

New operations have been added to support the publication of data models defined in the Data Model Assistant.

See Data model operations for more information.

Tomcat 11 support

EBX® version 6.2.0 and later is not compatible with Tomcat 11.

Performance improvements and resource optimizations

  • By reducing intermediate object allocation, CSV import operation speed was increased (throughput +~10%).

  • Improvements to 'onDemand' replication unit refresh and initial synchronization of the 'onCommit' replication unit result in more efficient resource usage and less intermediate objects and round trips with the database:

    • Diffs are not computed but inserts are directly applied if the replica can be assumed empty.

    • Diffs are applied on-demand to the database instead of being stored in memory structures before application.

  • New index pre-loading configuration option: You can specify when to automatically rebuild dataspace indexes at startup as an asynchronous process. Boot isn't blocked but missing indexes are prepared so they can be ready before first access. See Advanced index configuration for more information.

  • Index size on disk:

    • An index rebase and more aggressive merge policy improves index efficiency and shortens the index chain. This makes initialization faster and reduces memory consumption.

    • Indexes for table revisions that are no longer attached to a dataspace are purged. This reduces the number of indexes, their size, initialization time, and object count.

    • IndexWriter and IndexReader lifecycle management was improved to ensure that files which are no longer usable are deleted. Note that by default Lucene considers un-deleted files as non-issues because they can get deleted by an IndexWriter the next time it is open. However, with EBX®, some indexes become read-only. Before this improvement, an IndexWriter was not re-opened and the files were never deleted.

    • Elias-Fano encoding is now used to store live docs. This is used: on-disk as soon as it can save storage and in-memory when it can save at least 50% of the memory. There is a possibility that some queries can be slowed.

  • To save memory, common strings are deduplicated and a more efficient implementation for small, long-live, and nearly immutable collections was applied.

  • Generalization of index pooling on Java heap data structures: This is the equivalent to the 6.2.1 improvement to pool the primary key bloom filter on index leaves, which is applied to all index file types. The indexes on Java heap data structures are much smaller than those on the bloom filter. However, the saved memory can keep more indexes open, and increase how much they are shared (or duplicated if pooling is not applied). This update can also improve initialization time since files do not require a checksum each time they are accessed. Additionally, it can help reduce the load on other resources such as OS memory mapped file descriptors.

  • Lucene was upgraded from 9.4 to version 9.12.1. This upgrade, and the others mentioned above, require a full index rebuild. However, it will be faster than in previous versions due to index rebuild improvements and the new index preloading service. Lucene 9.12 is currently slated to be the last Lucene 9 minor version. Since upgrading to Lucene 10 would require EBX® to be compiled with Java 21, the index format is now stabilized, and new releases will not require a full index rebuild in the near future.

EBX® Container Edition

To configure a JNDI data source for EBX®, you’ll need to customize your Docker image.

See Configuring the database in JNDI for more information.

Closed issues

See 6.2.2 Closed issues section.

Additions to 6.2.1 release notes

The following were included in the EBX® 6.2.1 release, but were not documented in the release notes:

  • Complete table revision rework:

    • A new encoding was introduced that improves storage efficiency without the use of compression. This improves speed and puts less demand on resources.

    • Updates to the G_SHR database table allow sharing between similar (but different) rows. With the new encoding and sharing detection, a combined size for the G_TRV and G_SHR tables was significantly reduced in a production environment (size reduced from 90GB to less than 800MB).

    • A new in-memory data structure is used to represent table revisions on multiple levels. This supports data sharing to reduce the memory consumption. It is lighter to copy, resulting in faster isolation of procedure and query execution.

  • The checksum computation on index files is faster. This results in faster index opening times by avoiding the reading of files one byte at a time.

  • Updates were made to pooling of the primary key bloom filter on index leaves. Previously, structures used to represent the indexes on the Java heap were not shared, even though they represent the same file on the disk used by several dataspaces. A new index format enables sharing this type of file, which consumes the most memory (up to several hundred MB). Although index rebuild is not required when upgrading EBX®, it is required to take advantage of this improvement. In a real-world example, it can save large amounts of memory when the same large file is used in multiple dataspaces (in a heap dump, the same 512MB file opened 22 times previously used 11GB of RAM and now only uses 512MB).

  • There was a reduction in the size of the primary key bloom filter on index leaves by increasing its false positive probability. This doesn't have a big impact on performance, but can divide disk and memory consumption by 2 (in most cases).

  • Index writers on indexes that are assumed to be read-only are no longer opened. With fewer objects, memory consumption and pressure on the GC are reduced.

6.2.1

6.2.1 has been built on March 19, 2025. Overview of this service pack:

Indexing performance improvements

Optimized index rebuild chain: An index rebuild now skips steps to shorten rebuild chains, improving the rebuild duration and index structure by reusing base indexes more effectively. This change reduces rebuild times for intermediate snapshots; however, accessing skipped snapshots might take slightly longer, as their indexes must be rebuilt incrementally from the nearest available point.

Dynamic assessment of incremental rebuild viability: EBX® now estimates the "distance" between table revisions to determine whether to perform an incremental, or a full index rebuild. A full rebuild is initiated when the difference between the base and target index is too large. This adjustment leads to faster rebuilds and more efficient indexing. Accessing a snapshot older than this breaking point can take longer, as a new rebuild chain must be computed from scratch.

Batch processing for index rebuilds: Index rebuild operations are now batched, grouping deletion and creation actions for greater efficiency.

Configurable multi-threaded rebuilds: The ebx.index.threads property allows you to control the number of threads used during index rebuilds. Increasing the number of threads can accelerate index rebuilds, especially in contexts with many large indexes after update, migration, or significant data model changes. However, for normal operations, the default setting of '2' threads is recommended.

For additional details, see Architecture and design in the Performance and tuning chapter.

Core engine

The memory footprint of the probabilistic filter used to speed up primary key lookups has been reduced by raising its false positive probability. The better accuracy was not worth the additional memory consumption and hash functions to check.

Some operations have been improved to avoid loading heavy objects that represent datasets when it is not necessary. This can enhance for instance requests on foreign key and inherited fields that need to access to datasets to resolve the target table of the involved relationships.

Query limitations

Performance was optimized when managing all fields in an inherited dataset.

See Query limitations for more information.

EBX® Script

It's now possible to create dataset triggers. A dataset trigger defines procedures that are implicitly and automatically executed when some operations are performed on the dataset.

See Dataset trigger for more information.

Single Sign-On (SSO)

EBX® now supports both SAML 2.0 and OpenID Connect protocols. To enable these features, EBX® should be declared as an application in the Identity Provider and configured depending on the enabled protocol.

See Single Sign-On (SSO) for more information.

SCIM feature

Built-in support for SCIM (System for Cross-domain Identity Management) was added. The SCIM feature automates the provisioning, management, and synchronization of user identities and roles between an IdP (Identity Provider) and EBX®.

See SCIM directory for more information.

EBX® Container Edition

It's now possible to configure Single Sign-On (SSO), Bearer authentication, the SCIM feature, LDAP built-in directory, and custom directory using environment variables.

See SSO SAML 2.0 connectivity, SSO OpenID Connect connectivity, Bearer Authentication, SCIM directory, LDAP connectivity and Directory connectivity for more information.

Data Services

It's now possible to use 'Bearer Authentication Scheme method' with the built-in RESTful services, SOAP operations and custom REST services (built using REST Toolkit).

The REST Toolkit Exception handling section was updated with the description for a custom exception mapper.

See REST authentication and SOAP authentication for more information.

Supported databases

Support for the following database was added: Microsoft Azure Database for PostgreSQL (compatible with PostgreSQL 16 or higher).

PostgreSQL 17 is now supported and PostgreSQL 12 is no longer supported. The minimum supported version of PostgreSQL is now 13.

See Supported databases for more information.

User interface validation

A new option has been added to customize the behavior of APV.

Security - Login page

When a user logs in or out and a custom URL is provided, EBX® appends a resume query parameter. It is now possible to disable this behavior by using the following properties:

  • ebx.security.loginPage.appendResumeUrl

  • ebx.security.exitPage.appendResumeUrl

  • ebx.security.exitErrorPage.appendResumeUrl

See Security configuration for more information.

Security - HTML headers

New options have been added in order to include additional JavaScript files or to customize the CSP.

  • ebx.security.csp.script-src

  • ebx.security.csp.style-src

  • ebx.security.csp.img-src

  • ebx.html.header.javascript

See Security configuration and HTML headers for more information.

History view of a record on the sidebar

It is now possible to display both simple and complex data types, including multi-valued list types.. Additionally, it is possible to filter the history transactions by field.

HTML input

Previously, CKEditor was the library used for HTML inputs.

For security and licensing reasons, it was replaced by a widget based on the open source tool TipTap.

As a consequence, the look and feel has changed. As outlined below, some features were moved or deleted:

Look & feel

  • Overall style has been reviewed

  • Editor size is not fixed anymore, it now adapts to its content.

    Limits can be customized with the following four new settings in the UI administration's Ergonomics and layout: Forms: minimum width of HTML editor, Forms: maximum width of HTML editor, Forms: minimum height of HTML editor, and Forms: maximum height of HTML editor.

  • Editor height cannot exceed the workspace content height.

  • Typing assistance has been added, for example if a user types "- foo", it transforms the text into an itemized list.

Toolbar

  • Font size menu has been removed in favor of a heading menu in which user can choose between different heading levels.

  • A strike-through text style button was added.

  • The copy/cut/paste toolbar was removed (keyboard shortcuts and contextual menus are still supported).

  • The link toolbar was removed, but links are still supported. This is now transparent for users.

    Links are now created via copy/paste. If a user pastes a link while selecting text, the selection become a link. If the user does not have a text selection, a link is created with its text as the link value.

  • A block quote text style button was added.

  • Text background and foreground color menus were reviewed.

  • The print and preview buttons were removed.

  • The maximize button was removed.

  • The image menu was moved inline with the editor content; it appears when the user clicks on an image.

  • Toolbars can no longer be expanded; it was reduced to a single line.

Background tasks

Configured tasks can now run in the background, which can free up users to continue working in EBX® without having to wait for the task to complete. A centralized user interface (background task sidebar) allows users to view and access these tasks.

See Background tasks for more information.

Validation policy for table view

It is now possible to define a validation policy to be used when displaying records in table view. This option can be specified in the default view of the associated table and/or in the global properties of the data model for all tables.

For more information, see :

Highlight of the quick search results

The quick search results are now highlighted for better visibility.

See Quick search result highlighting for more information.

Performance on highlights with linked fields

Improved behavior when searching with linked fields to limit highlight calculations on linked tables to only the displayed elements.

Performance during the phase of optimal query plan calculation

Some frequency calculations used by the Calcite optimizer, notably to determine the selectivity of Lucene filters, in order to find the best way to execute the query, have been improved.

New software delivery site

You can now download EBX® software from TIBCO eDelivery. If you have an existing eDelivery account, your existing credentials can be used to login to the new software delivery site.

Closed issues

See 6.2.1 Closed issues section.

Java API

The Java API was improved on the following topics:

Note: 6.2.0 has been built on June 21, 2024.

Workflows

Notable points done for workflows:

Workflow views performance

  • Improvement of performance for specific columns in Data workflows views. Specific columns should be sortable and filtering on them is now faster. But a tradeoff was made: Built-in workflow variables are no longer supported, only data context variables are supported. The expression is now evaluated each time the workflow data context is updated, not on display but the result should be seemless for the user with the previous behavior.

  • New property added to replace Label (dwfLabel) for Workflow related tables (Active/Completed workflows and in Workflow administration).

    New property added to replace Current publication name (dwfPublicationLabel) for publication in publication related tables (Publication and in Workflow administration).

    New properties added to replace work item label and description (workItemLabel and workItemDescription) for Work item related tables (Inbox, Work item and in Workflow administration).

    New property added to replace Workflow current step (dwfTokenCurrentStep), Workflow description (dwfDescription), Workflow creator (dwfWorkflowCreator), Current user (dwfProcessInstanceCurrentUser), for (Active/Completed workflows and in Workflow administration).

    New property added to replace User (allocatedTo), Offered to (offeredTo) for Work item related tables (Inbox, Work item and in Workflow administration).

    New property added to replace Comments (dwfComments) for Work item related tables (Inbox, Work item and in Workflow administration). This one is particular, the old property is the one available for display but the one available for filtering is the new property. They share the same label.

    The new properties take the current previous property localized label while the old are added deprecated. The new properties are now correctly filterable but still not sortable. The filtering is now faster.

    Some other properties are impacted by those changes: Data workflows in Inbox/Work item view, Publication label in Inbox,Work item, Active/Completed Workflows and Workflow Parent in Active/Completed Workflows views. They are mapped on the new properties and are faster to filter but sorting is still not resolved, for the time being the sort is done by primary key by default.

    When using a filter like contains that search a part of label you might try doing a AND filter with the second filter being a search filter with the same value. It might return a result faster.

Workflow optimizations

  • Inbox counter optimization: The workflow inbox counter has been refactored to cache its value more efficiently, significantly reducing database load and improving response time. The new implementation leverages advanced caching mechanisms and optimized queries, resulting in faster loading of the inbox and a more responsive user interface, especially in environments with a large number of workflow tasks.

  • Deadline calculation improvements: The deadline calculation process has been enhanced to be more efficient. Previously, deadlines were calculated dynamically, requiring recalculation for each deadline at every refresh of the counter. Now, deadlines are calculated at workitem creation and cached appropriately, which reduces system resource usage when many workflows with deadlines are running simultaneously. This optimization eliminates the need for dynamic recalculation, particularly improving performance in environments with complex requirements.

  • Adaptation filters enhancements: The adaptation filters used in workflow contexts have been optimized to improve performance. Their usage for deadline calculations has been reduced and they are now applied less systematically, as the new batched calculation approach replaces the previous dynamic filtering system.

Workflow history

Fixed the service "clear from workflows selected" and "Clean from a date" available in Workflow history administration. Only records in workflow table were cleared since 6.0, some related data to it were ignored causing the history to grow bigger without the knowledge of the users. We still recommend to regularly launch a standard purge task as mentioned in workflow administration documentation.

Performance

A prefilter can now be defined for an AdaptationFilter or TableRefFilter to improve query performance or table reference validation.

See their Java documentation or the Improving the performance with prefilters section for more information.

Data validation

This service pack improves the performance of creating a child dataspace from a dataspace that contains many datasets with validation reports. As part of this improvement, the validation report metadata schema was changed. As a result, all validation reports will be reset when upgrading from EBX® 6.0, or 6.1 to 6.2 or later. The stale data in the reset validation reports will be removed during the next purge.

Application servers

This section describes application servers changes for architecture modernization.

Servlet and JSP container

EBX® now supports Jakarta EE 9 or above. This change will require an upgrade to several third party libraries, such as Servlet 5.0 or greater, JSP 3.0 or greater, JMS 3.0 or greater, and Mail 2.0 or greater. See the links below for more information on requirements for specific components.

Developers of EBX® 6.2.x onwards should be aware that, as a result of the move from Java EE to Jakarta EE, the primary package name for all implemented APIs has changed from javax.* to jakarta.*. This will almost certainly require code changes to enable modules or other libraries to migrate from EBX® 6.1 and earlier to EBX® 6.2 and later.

See Supported application servers, Java Message Service (JMS), JMS for distributed data delivery (D3) and Installation notes for more information.

Java Compile time Environment

EBX® sources are now compiled with JDK 17. JRE 11 is no longer compatible. We recommend upgrading your JRE to a recent LTS version to take advantage of its performance improvements.

See Supported application servers for more information.

Data services

The following sections describe new feature and improvement to data services.

REST Toolkit APIs

The REST Toolkit now supports Jakarta RESTful Web Services 3.1.

Built-in RESTful services

The built-in RESTful services were improved in the following area:

Business Object

Improves select business object operation using data-bo and data-compact-bo and now returns content of one to many relation ship of business objects. As the response may be large, the maximum size can be overloaded on the EBX® server using the ebx.dataservices.rest.bo.maxResponseSizeInKB property. In fact, if the response approaches or exceeds the max size value a HTTP 206 Partial Content response is returned with a number of records lower than requested, including a consistent paging context, all are in a well-formed JSON response.

See ebx.dataservices.rest.bo.maxResponseSizeInKB, backward compatibility for built-in RESTful services, Performance and Select operation for more information.

Built-in LDAP directory

A built-in support for LDAP (Lightweight Directory Access Protocol) has been added and designed as a custom directory implementation. This feature enables integration of an existing LDAP directory with EBX®.

See LDAP directory and Configuring built-in LDAP directory, for more information.

Improving the performance with prefilters

Programmatic filters can include a combination of simple checks and more complex Java code. Under certain conditions, the simple checks can be converted to a prefilter in the form of an XPath predicate. The prefilters can then be used by EBX® to optimize queries. The prefilter must satisfy a consistency condition and it should satisfy certain other conditions for performance reasons. See the Java documentation of the relevant functions.

The interface PrefilteredAdaptationFilter has been added for adding a prefilter to an AdaptationFilter.

A TableRefFilter can define an XPath prefilter during the setup of the table reference filter. See TableRefFilterContext.setPrefilter

EBX® Container Edition

The Container Edition was improved on the following topic:

EBX® Metadata management

It is now possible to build an image including EBX® Metadata components.

See Building the image for more information.

Java SE Development Kit

The JDK has been upgraded to LTS version 21.

See Overview for more information.

EBX® Script IDE

This release introduces the Script IDE, a web-based development environment that allows you to create and manage scripts written in the EBX® Script Language (ESL). The web-based IDE simplifies scripting tasks such as writing functions and procedures applied to basic data manipulation, automated triggers, and even complex workflow tasks.

The Script IDE helps avoid the overhead associated with writing, compiling, and deploying custom modules. The combination of ESL and the new Script IDE make programmatic data management tasks more accessible to those without a Java programming background.

The Script IDE provides many of the features you would expect to find in an IDE, such as:

Home page

This release introduces the home page, a new customizable entry point to EBX®.

See also

Metadata management

This release introduces support for metadata management, offering a suite of new features:

Additionally, you can connect to and integrate with a variety of external data sources to extract, discover, and manage your metadata. These enhancements aim to improve your ability to manage data efficiently and make informed decisions based on reliable, well-governed data.

Business user and administrative features are accessible from two pre-defined perspectives: Metadata and Metadata administration. These built-in perspectives are available only if the metadata module is deployed.

Attention

As of this release, metadata management features are only available for the TIBCO EBX® Container Edition.

History view of a record on the sidebar

Users can now view record transaction history on the sidebar. This view shows a list of transactions, modified field values, the record modifier, and timestamp. Transactions are sortable by date and time.

Product migration

This release contains an updated Migration Guide that provides instructions for migrating from EBX® version 5.9.x to 6.x.

Limitations for this release

Hierarchy limitations

On allowed dimension for new dependencies:

Query limitations

The performance of these features is not yet optimized:

The following cases do not rely on Lucene indices. This has two consequences: first, performance is not optimized; second, Quick search behaves like a 'contains', rather than a full-text search:

More specific cases not benefiting from index optimization are described in the following section.

Value-labeling limitations

Search and sort using the value-labeling feature have a few limitations described in section Value-labeling.

Data validation limitations

Version upgrade

In addition to the information provided in this release note, the chapter 6.2 Java API changes provides an exhaustive list of the new Java APIs published since the release of the 6.1 version.

New Web Application Resource (WAR) files

ebx-assistant.war

This is the WAR for the new AI Assistant.

ebx-ide.war

This is the WAR for the new Integrated Development Environment.

ebx-hub.war

This is the WAR for the new Hub web application.

See also

Compilation and build environments

Your compilation and build environments must now use the following new development JAR libraries, instead of ebx.jar:

Note

Java types in ebx.jar are no longer obfuscated.

Note

At runtime, development JAR libraries should not be deployed, continue to only use the ebx.jar library.

Changes on supported environments

The chapter Supported environments has been updated to reflect the necessary upgrades detailed below.

JVM Support

Starting with EBX® version 6.2.3 you can use JRE 25. Use of one of the following Java Runtime Environment is required: JRE 25, 21, or 17 LTS.

Supported databases

Backward compatibility - SAP HANA as a back-end database engine for EBX® is discontinued as of this release; the inter-database migration provides a way to export the full content of a repository to another database.

Oracle 21c (Innovative Release) is no longer supported; the required version for Oracle is now 19c or 23c.

Microsoft SQL Server 2014 will come out of support in an upcoming release. We advise that you upgrade the database to a recent supported version.

See Inter-database migration for more information.

WebLogic AS support

Currently, no version of WebLogic AS supports JDK 17, or 21 LTS and Jakarta EE 9. Please be aware that, according to Oracle's Statement of Direction, future versions of supported software might not be compatible with EBX®.

Upgrading from an existing EBX® 6 environment

The internal versioning mechanism of indices has been improved and the Lucene library version has been bumped to 9.9.1, causing modifications to the index format. As a consequence, the directory holding the indices is going to be automatically deleted during the product upgrade. Thus, a delay at the first access to each table can be expected to rebuild the indices. Some minor changes in search behavior can also be observed.

The upgrade process crawls all the records in the G_BLK database table to ensure their size is optimal by removing potential wasted space and splitting entries that became bigger than necessary. This one-shot process may significantly delay the first startup on large repositories.

Backward compatibility

Nested procedure use of its parent's ProcedureContext

A nested procedure now cannot use the ProcedureContext of its parent procedure to alter the parent's dataspace. Modifications made by the nested procedure are confined to its own dataspace. This restriction is in place due to concerns about data consistency, as changes made in the nested procedure might rely on unfinalized or cancelled changes in the parent procedure.

Attempts to operate on the ProcedureContext of the parent procedure will now result in an IllegalStateException.

Data validation

Internal validation framework has been enhanced to minimize the number of snapshots created to validate data. It now uses as-of transaction time to compute the delta between records, tables, datasets or dataspaces. This simplifies the validation process by avoiding to create snapshots for functional dataspaces involved in this process. This optimization also improves purge execution time by considerably reducing the number of snapshots that will be deleted.

As a consequence, theses changes will have the following impacts:

  • The validation reports created by EBX® versions prior to 6.2.1 are not compatible and will be reset. The stale data for the reset validation reports will be removed during the next purge.

  • The validation reports are no longer copied when a dataset is duplicated. It will therefore be fully validated for the first time.

  • An error can be raised if a constraint that is being checked during the validation of a dataset or a table execute a procedure in the same dataspace.

Optimization of matches predicate

As a consequence of the bug fix CP-26571 related to the processing of matches and matches-case-insensitive predicates, certain operations with these predicates are no longer optimized using Lucene. The reason for this is that Lucene's regular expression engine does not support certain Java regex constructs, such as ^ (beginning of line) or $ (end of line). Predicates using these operators were incorrectly optimized and returned incorrect results in previous versions. Therefore if the matches pattern contains such unsupported features, or if it cannot be determined (e.g. the pattern is a dynamic parameter whose actual value is unknown at the optimization phase), then the operation cannot be optimized using Lucene and the performance can be impacted.

Association with inconsistent definition

If an association is not consistent in the context of a specific dataset then it is now considered as read-only from a permissions standpoint, instead of being hidden as in previous versions. The association is read-only in the user interface and it is not possible to create, delete, attach, detach or move an associated record. It is possible to modify an existing associated record.

As a consequence of this change an exception is no longer raised in the existing API that compute the result of the association.

See AssociationLink.getAssociationResult and AssociationLink.getTargetTable

For more information, see Association.

Built-in RESTful services

In business objects selection, the one to many relationship is no longer navigable through HATEOAS links, but is directly included in the JSON response.

Redirection to HTTPS is based on a new option

Since EBX® 6.1.3 HF-1, when users accessed the login screen using HTTP and the property ebx.servlet.http.useHttpsSettings was set to true, they could be redirected to the HTTPS page. This behavior is now disabled by default because it could cause issues if EBX® is behind a reverse proxy. To re-enable this behavior, you need to set the new property ebx.servlet.http.authentication.redirectToHttps to true.

See TIBCO EBX® main configuration file for more information.

Logs to the console are more verbose

All logs, that are not for monitoring or auditing, sent to files are now also sent to the console.

Disable constraint pre-validation

A new method was added to prevent, in the user interface, the constraint from being pre-validated dynamically when the related field is updated at user inputs. This can be useful to improve performance or to avoid unnecessary validation errors during form updates. However, the constraint will still be validated when the form is submitted or when loading the record in the view.

See ConstraintContext.disableAjaxPrevalidation and ConstraintContextOnTable.disableAjaxPrevalidation

6.2.3 Known issues

User Interface

6.2.3 Closed issues

Assistants

Core Engine

Data Modeling

Data Services

Data Validation

Data Workflows

Distributed Data Delivery

Documentation

Hierarchies

Infrastructure

User Interface

Users & Permissions

6.2.2 Closed issues

Container Edition

Core Engine

Data Modeling

Data Services

Data Validation

Data Workflows

Documentation

Hierarchies

Infrastructure

Scripting

User Interface

Users & Permissions

6.2.1 Closed issues

Container Edition

Core Engine

Data Modeling

Data Services

Data Workflows

Documentation

Hierarchies

Import/Export

Infrastructure

Metadata

Scripting

Staging

User Interface

Users & Permissions

6.2.0 Closed issues

Container Edition

Core Engine

Data Modeling

Data Services

Data Validation

Data Workflows

Hierarchies

Infrastructure

Scripting

Team Up

User Interface

Users & Permissions