Skip to content
logoBack to home screen

tribefire 2.2 - 17/11/2021

Update Instructions

To update to the new release adjust your repository settings to use the respective release repository https://artifactory.server/artifactory/core-stable-20211117. Furthermore, check whether any of the versions of your dependencies have changed and adjust your dependencies accordingly. For example, most likely your group depends on tribefire.setup.classic.env, e.g. env-aware-standard-setup. In that case please switch from version 2.1 to 2.2. The full list of branched artifact groups can be found below.

Branched Artifact Groups

Several artifact groups are branched with each release, which means the respective major.minor versions change. Please find below the list of groups and the respective versions that belong to this tribefire release.

Standard Setups

  • tribefire.setup.classic 2.2
  • tribefire.setup.classic.env 2.2

Clients

  • tribefire.app.explorer 2.2
  • tribefire.app.modeler 2.2
  • tribefire.app.web-reader 2.2

Extensions

  • tribefire.extension.activemq 2.3
  • tribefire.extension.audit 1.1
  • tribefire.extension.aws 2.6
  • tribefire.extension.conversion 3.0
  • tribefire.extension.demo 2.2
  • tribefire.extension.document.common#3.0
  • tribefire.extension.documents 3.0
  • tribefire.extension.elastic 6.0
  • tribefire.extension.email 3.1
  • tribefire.extension.etcd 1.2
  • tribefire.extension.gcp 2.6
  • tribefire.extension.html-marshalling 2.1
  • tribefire.extension.jdbcdriver 2.2
  • tribefire.extension.js 2.1
  • tribefire.extension.kubernetes 2.2
  • tribefire.extension.ldap 4.2
  • tribefire.extension.okta 1.0
  • tribefire.extension.shiro 3.3
  • tribefire.extension.simple 2.2
  • tribefire.extension.spreadsheet 1.1
  • tribefire.extension.tracing 1.1
  • tribefire.extension.vitals.jdbc 2.2
  • tribefire.extension.wopi 2.5

Cartridges

In case you are still using cartridges please don't forget to re-build all cartridges against the release repository (after switching to a new release).

Landing Page

  • Landing Page shows releases now, if given. It still defaults to setupAsset.
  • Improved error resilience in HomeServlet

DDSA

  • Support for detached AccessDataRequest analogue to QueryDetached when executing a request via session.

Processing Engine

  • ProcessTraces are now displayed with format ${event} @ ${state} (${fromState}:${toState})

Marshallers

JSON

  • The JSON-Marshaller supports type-inference overrides now that allow to instantiate a sub type of a property type without having an explicit type defined on the JSON object.
  • JSON date/time formats also allow the ISO format where only "Z" is at the end (JsonStreamMarshaller)

YAML

  • Fixed marshalling of maps with complex keys.
  • Property placeholder support by using the value-descriptor-model.
  • Introduction of configuration API that allows the unmarshalling of entities with:
    • property default values
    • root type inference
    • property placeholder resolutions (value descriptors)

Utils

  • Adding ConsoleOutputs.joiningCollector() (hopefully self-explanatory).
  • Adding DeprecatedCode class which logs a warning for a usage of a deprecated method with info about who is calling this method.
  • Adding pause/resume to StopWatch.
  • Fixing symbolic links treatment when copying with FileTools.copy().
  • The ZipTools are now hardened against ZIP bombs
  • Added a convenience method to create a secure temporary file by changing the access flags
  • XmlTools now allow to use an empty target for xinclude

Type Reflection

  • Adding TypeReflection.findModel(), i.e. a method which doesn't throw an exception.

Queries

  • Hiding confidential properties in Query.stringify().
  • Fixed Query.orderBy methods which were not accumulating multiple orderings.

DCSA

  • Fixing reset-collaborative-stage.
  • New JDBC-based shared storage which loads manipulations faster and stores resources in a separate table to avoid blob copying when doing a cleanup.
  • Shared storage migration via UpgradeSharedStorage and PollSharedStorageState and possible revert with DowngradeSharedStorage.

DDSA

  • Improving general support for PushRequests.

REST

  • depth parameter now means what you'd expect, i.e. the underlying cloning uses breadth-first order.

Core

  • Added CallerAcceptedLocales aspect to service request attribute context
  • Ensuring a model is now quicker by preventing the same model being ensured over and over again
  • Added the distinct option to count method in Queries
  • Allowing a fixed expiry date when creating a new user session
  • Increased max pool size of Master Multicast Consumer
  • Made several changes to improve the startup time of TF
  • Added convenience services to upload a license via REST
  • Added flush() to the BasicTemplateBasedServlet to make sure the response is committed to the client
  • Fixed the encoding of the filename in the Content-Disposition header (from URL encoding to RFC 5987 encoding)
  • Added a codec for storing custom properties in the user session
  • Changed some DEBUG log lines to TRACE log lines to improve readability of the log file

Tomcat

  • Added support for environment variables in the Tomcat configuration file with a default value
  • Added option to hide the Tomcat version and stacktrace when there is a Tomcat error page displayed

CORS

  • Allowing to set the CORS configuration via environment properties
  • Automatically adding the public services base URL to not lock out the explorer when a URL is set

Logging

  • Added support for the MODULE field, allowing to specify which module produced the log entry
  • Added support for the thread name in the log entry
  • Added the possibility to add alternative packages to the list of managed packages (by default com.braintribe.* and tribefire.*)

Hibernate

  • Removed the DTD preamble from the hbm.xml files to reduce loading time of the XML files later
  • Changed the warning in case of a long-running transaction to show only the first lines instead of thousands of lines
  • Dyncamically adapting the long-running threshold depending on the size of the manipulation stack

JWT

  • Supporting to read a JWT claim into session properties
  • Adding original token to token information so that it can be stored in the user session

Tribefire Modules

  • Resources are being loaded from an Eclipse project in debug, so not install is necessary in that case.
  • Adding option to extend configuration of a model via HardwiredDeployablesContract (see #bindOnConfigurationModel()).
  • Every Module has now it's own ClassLoader class, thus it's possible to tell which is the relevant module from an error message only stating the ClassLoader type.

Tribefire.js

  • Adding ServiceRequest.andGetReasoned(evaluator)
  • Adding AttributeAccessor, which allow for configuring aspects on say EvalContext without the need for a Class object.
  • Many improvements in TypeScript .d.ts generator.
  • Extending ServicesSession with methods to get a session factory for an access or a service domain.
  • Support for native JS iteration with adding iterable() method on java Iterable interface, which returns an object iterable in plain JS.
  • Adding $tf.util.newUuid().

Tribefire Explorer

  • Improved German localization;
  • Prepared a new normalized view for queries/serviceRequest with pagination support;
  • Prepared new UI for the reasons exceptions;
  • Fixed issues regarding the use of Embedded properties (including group assignment issues);
  • Fixed problem when using scripts in query templates;
  • Fixed auto commit issues and improved its activation;
  • Improved Validation;
  • Improvements to the QuickAccess handling of typed keys;
  • Improvements to the About page;
  • Adding context information for the Notifications view;
  • Added multi query ordering support and other improvements to the query editor view;
  • Added support for using DetailWithUiComponent metadata for configuring external views to be displayed inside the Details view;
  • Added search (and filter) capabilities to some dropdown menus;
  • Improvements to the Preview of documents;
  • Added support for configuring and displaying KeyConfiguration for actions;
  • Added support for configuring to open external components in a new modal dialog instead of a new tab within the explorer;
  • Addes support for the new EditAsHtml metadata, which provides the configuration for using an WYSIWYG editor for string properties;
  • Fixed password configured metadata in conjunction with the Outline metadata;
  • Various bug fixes;

Optimizations

  • ITW was tweaked slightly to reduce its memory footprint.
  • Smood indices re-implemented to reduce memory footprint.

Jinni

  • help output now respects line-breaks.
  • Adding CreateHydruxProject.
  • Module dependency resolution errors now render the resolution tree with all the errors.
  • UpdateDevrockAntTasks now uses devrock profile to look for the artifact in the right repository.
  • When setting up a platform, logging libraries are either auto-excluded or detected and causing the setup to fail.

Setup Processing

  • Fixed setup-info folder path

Misc

  • Telling ITW to use it's own class-loader can be achieved by adding com.braintribe.gm:itw-gm-own-cl artifact as a dependency.
  • Converted a few BinaryRetrievals to plain ServiceProcessors.
  • Fixing collection manipulation normalizing on properties of type Object.
  • Model.globalId() now also considers the value specified in ModelDeclaration.xml
  • DdraConfigurationStateChangeProcessor is now updating the DdraConfiguration.lastChangeTimestamp just once per session commit, not once per relevant manipulation, which lead to a huge number of operations being stored in DCSA.
  • Updated or removed dependencies on 3rd party libraries after a vulnerabilities review
    • accessors-smart-1.2
    • ant-1.8.2
    • apache-mime4j-dom-0.8.3
    • bcprov-jdk15on-1.65
    • bsh-2.0b4
    • commons-compress-1.19
    • commons-compress-1.20
    • commons-io-2.4
    • commons-io-2.6
    • cron-utils-9.0.2
    • dom4j-2.1.1
    • guava-27.1-jre
    • guava-28.2-jre
    • hibernate-core-5.4.8.Final
    • httpclient-4.5.9
    • jackson-databind-2.9.9
    • jdom-1.1.3
    • jdom2-2.0.6
    • json-smart-2.3
    • jsoup-1.11.3
    • jsoup-1.13.1
    • junit-4.10
    • okhttp-3.11.0
    • pdfbox-2.0.19
    • preflight-2.0.19
    • shiro-core-1.5.3
    • tika-core-1.24.1
    • velocity-engine-core-2.1
    • velocity-engine-core-2.1
    • xercesImpl-2.8.1
    • xmpbox-2.0.19

AWS/S3 Module

  • The Mime-type of the Resource will be stored with the file object
  • Added services to create pre-signed and static URLs for S3 and CloudFront
  • Added stream tracking to get statistics of data transferred between the server and S3
  • The HealthCheck shows combined statistics over all connections
  • Improved reflection on error codes from S3

GCP Module

  • Added stream tracking to get statistics of data transferred between the server and S3
  • The HealthCheck shows combined statistics over all connections

Email Module

  • Refactored services to provide better support for email operations
  • Added language to provide complex search terms for email lookups

Spreadsheet Module

  • Fixed a bug where a stream was not closed properly
  • Entity filter support
  • Proper assignment of ImportReport and TransientImportReport depending on request boolean transient

Shiro Module

  • Updated the latest version to require a minimum of Java 11 because of new 3rd party dependencies