Gentics .Node Changelog Summary

Gentics .Node 2.4.3


Bugfix

The version of the logging library has been updated to log4j 2.17.1.


Gentics .Node 2.4.2


Bugfix

A possible error when writing binary data into a Content.Repository has been fixed.


Gentics .Node 2.4.1


Enhancement

Some wrapper methods have been added to the NodeLogger.


Gentics .Node 2.4.0


The java source code for this project will now be compiled for JDK 1.8. Gentics .Node classes are no longer executable with JDK 1.7 and older JDKs.


Manual Change

The version of the logging library has been updated to log4j 2.17.0.

This also requires a dependency on Jackson for YAML databinding.
This requires the following changes:

  • log4j Configuration files need to be migrated to log4j2. It is recommended to use the YAML format.
  • Projects, which depend on node-lib and directly use any classes from log4j1 need to be migrated to use the corresponding classes from log4j2 (where possible).

Please see Log4j 1.x Migration for details.


Gentics .Node 2.3.17


Bugfix SUP-10561

Fetching versioned data for lots of records used SQL statements which possibly performed poorly on newer versions of MariaDB. These statements have been split into multiple statements now to improve the overall performance.


Gentics .Node 2.3.16


Bugfix SUP-10575

Writing objects into a ContentRepository has been optimized by batching SQL Statements.


Gentics .Node 2.3.15


Bugfix SUP-10314

Using MariaDB Connector/J Versions > 2.2, caused NPEs because the database vendor could not be detected. This has been fixed. The tested MariaDB Connector/J Version has been updated to 2.7.0.


Gentics .Node 2.3.14


Bugfix SUP-10194

Improperly detected MIME type of an uploaded file is fixed.


Gentics .Node 2.3.13


Bugfix SUP-8056

The GenticsImageStoreServlet supports a new init parameter “loadTimeout” to specify the timeout when loading the original image from a URL. The timeout defaults to 60000ms (1 minute).


Gentics .Node 2.3.12


Bugfix SUP-9323

The version of the mailapi has been changed to 1.6.2.


Bugfix SUP-9323

The MailSender class was enhanced with additional capabilities:

  • Authentication
  • startTls
  • debug output
  • Fluent API

Gentics .Node 2.3.11


Bugfix SUP-8786

When sanitizing file/folder names, the whitespace character was not replaced properly, this has been fixed.


Gentics .Node 2.3.10


Bugfix GTXPE-440

The License Key Management has been made more flexible.


Gentics .Node 2.3.9


Bugfix SUP-5855

Enhanced the sanitizing of filenames to avoid multiple replacement characters.


Gentics .Node 2.3.8


Bugfix SUP-7992

Updated the dependency Sanselan (security vulnerabilities) and removed all dependencies on axis 1.4 because they are not used.


Gentics .Node 2.3.7


Bugfix

The sanitycheck2 for ContentRepositories using MariaDB has been made more flexible regarding the check for default values.


Bugfix SUP-7617

When accessing a ContentRepository, some ResultSets were not properly closed, which could lead to problems both in the client and on the database server (like e.g. too many open cursors). This has been fixed now.


Gentics .Node 2.3.6


Bugfix SUP-7301

The sanitycheck2 and autorepair2 have been fixed to support the JDBC Driver for Oracle DB 12.2.


Gentics .Node 2.3.5


Bugfix SUP-7325

It is now possible to set a semaphore to the GenticsImageStore to limit the number of parallel resize operations.


Gentics .Node 2.3.4


Bugfix SUP-4077

When using datasources with persistent caches and automatic sync-checking, the background sync check sometimes failed to invalidate objects from the cache. This has been fixed now, so that the cache will be cleared completely on the very first run of the background sync check (e.g. after a restart).


Gentics .Node 2.3.3


Bugfix SUP-6561

Gentics Image Store now provides original filename of an resized image when this image is downloaded.


Gentics .Node 2.3.2


Bugfix GTXPE-165

A missing method to transform float values was added to the ObjectTransformer class.


Gentics .Node 2.3.1


Bugfix SUP-5023

Some multithreading issues with the cache for objects and attributes of contentrepositories have been fixed.


Gentics .Node 2.3.0


Enhancement

The MariaDB JDBC connector 2.2.0 is now included and MariaDB JDBC URLs are supported.


Gentics .Node 2.2.2


Bugfix SUP-5195

The image mimetype detection in the GenticsImageStore has been enhanced.


Gentics .Node 2.2.1


Bugfix SUP-5429

Fixed a bug where the colors of images resized with the GenticsImagestore (jpg) were inverted when using a newer Oracle Java 8 version. As a side effect of this bug fix, image resize operations are faster now and JPG images use less disk space.


Gentics .Node 2.2.0


Enhancement

Updated Log4J library.


Gentics .Node 2.1.2


Bugfix SUP-3917

When using filesystem attributes in a multichannelling aware Content Repository, and missing attributes were recreated, they were not created as hardlinks even if this would have been possible. This caused the filesystem attributes to consume more disk space than necessary and has been fixed now.


Bugfix SUP-4003

The scheduler for the background jobs for datasources (sync checking and handling future updates) has been modified to no longer depend on quartz.


Gentics .Node 2.1.1


Bugfix

A bug within the GenticsImageStore which could lead to inverted images has been fixed. This issue only affected YCCK or CMYK encoded source images.


Gentics .Node 2.1.0


Enhancement

Added the GenticsImageStore as a new webapp


Gentics .Node 2.0.46


Bugfix SUP-3711

When checking/repairing the structure of a Content Repository where additional indices were defined, a NullPointerException might occur. This has been fixed now, additional indices will just be ignored.


Gentics .Node 2.0.45-SNAPSHOT


Bugfix sup-3695

Fixed the initialization of the JSC caches not being synchronized. This caused exceptions like a NPE.


Gentics .Node 2.0.45


Gentics .Node 2.0.44


Enhancement

The following internal libraries have been updated:

  • xalan:xalan
  • xalan:serializer
  • mailapi:mailapi
  • commons-collections:commons-collections

Gentics .Node 2.0.44-SNAPSHOT


Gentics .Node 2.0.43


Bugfix SUP-2318

The activation mechanism for Gentics products has been changed, so that the activated license key no longer depends on the hardware checksum. Already activated license keys, that still include the hardware checksum are still valid, this change only affects new activations.


Bugfix SUP-3567

Several Javadoc errors have been fixed.


Gentics .Node 2.0.42


Gentics .Node 2.0.42-SNAPSHOT


Bugfix SUP-3347

When the expressionparser was used to evaluate an expression using if, AND, OR or ! (not) with null as one of the operands, this caused a NullPointerException. This has been changed now, so that null is treated as false.


Gentics .Node 2.0.41-SNAPSHOT


Bugfix SUP-3392

The internal Image Utils will now return 0 instead of 72 as DPI for images, where the DPI cannot be determined.


Gentics .Node 2.0.41


Gentics .Node 2.0.40


The Apache Commons Fileupload Library is updated to version 1.3.2 which contains important security and bug fixes.


Bugfix SUP-3193

Accessing attributes in MCCR objects has been improved to use the prepared data, if available.


Gentics .Node 2.0.40-SNAPSHOT


Gentics .Node 2.0.39


Bugfix SUP-2922

The classes PortalCache and JCSPortalCache where initialized using static code blocks. This has been changed: both classes will now be initialized when they are used the first time (by using the constructor or when calling the static PortalCache#getCache method). This change makes it possible to change the “com.gentics.portalnode.confpath” system property dynamically before using the caches the first time. Additionally, getting the cache attributes of elements put into caches has been fixed to not return null (but the default element attributes) if the object was put into the cache without custom attributes before.


Gentics .Node 2.0.38


Bugfix SUP-2833

Fixed possible access to DB while clearing caches for MCCR Datasources.


Gentics .Node 2.0.37


Bugfix SUP-2787

Fixed a possible threading issue in the StatsItems.


Gentics .Node 2.0.36


Bugfix SUP-2488

Resizing an image with the GenticsImagestore could fail with a NullPointerException. This has been fixed. This bug was introduced with Bugfix SUP-2371 in Node version 2.0.34.


Gentics .Node 2.0.35


Bugfix SUP-2381

Some jpeg images had inverted colors after resizing with the GenticsImageStore. This has been fixed.


Gentics .Node 2.0.34


Bugfix SUP-2371

Raised version of the org.apache.httpcomponents httpclient lib to 4.5.1.


Gentics .Node 2.0.33


Bugfix SUP-2097

When the configuration parameters for a datasource handle contain “cachedbmetadata”, an error message like ‘Configuration parameter {cachedbmetadata} could not be set for handle {[ID]}‘ was logged, although setting the parameter worked. This has been fixed now.


Gentics .Node 2.0.32


Enhancement

The PortalConnectorFactory has a new method unregisterUnusedHandles that will unregister and close handles, that are not used by any datasources.


Bugfix

When using the deprecated sanitycheck for checking the validity of datasource handles, it was possible that more than one connection was fetched from the connection pool at the same time. This has been fixed now. The check will only use one connection.


Bugfix

Datasources using only a single handle will not use the RoundRobinHandlePool implementation that checks the validity of the handle when it is passed to a consumer.


Bugfix SUP-1908

Due to an error in the maven dependency resolution the final packages contained the same java libraries twice with different version numbers. This has been fixed.


Bugfix SUP-1851

When using a datasource with multiple handles, it could happen that threads would fetch another database connection while already holding one. Under heavy load, this could lead to exhaustion of the pool ending in a deadlock situation. This has been fixed now.


Gentics .Node 2.0.31


Bugfix SUP-1851

Fixed an error, where broken database connections were not returned to the pool properly, which could permanently exhaust the database connection pool.


Bugfix SUP-1518

Improve check of Database Connections while using a Database-Handle Pool


Bugfix SUP-1575

When using the 12c version of the Oracle database, some database operations involving BLOB or CLOB values could fail (with the error message ORA-22275: invalid LOB locator specified). This has been fixed.


Gentics .Node 2.0.30


Bugfix SUP-1425

The method to sanitize filenames incorrectly added a . when sanitizing a filename ending with e.g. _en.html when the default extension was .en.html. This has been fixed now.


Bugfix SUP-1523

The implementation of the cache for MCCR Datasources has been fixed to use less memory and to avoid possible endless loops when accessing cached data.


Gentics .Node 2.0.29


Bugfix SUP-1256

Reduce DB-Queries while fetching attributes from MultiChanneling Contentrepository. Also fix possible NullPointerException when using JCS with MultiChanneling Contentrepository


Gentics .Node 2.0.28


Bugfix SUP-918

The internal handling of DB connections has been improved.


Gentics .Node 2.0.27


Bugfix SUP-965

The fix in the previous version for the datasource handle synchronization could cause problems, because the access to the handle map was not synchronized. This has been fixed now.


Gentics .Node 2.0.26


Bugfix SUP-965

When creation of a new Datasource Handle was blocked (e.g. due to invalid connection settings), the access to other (already registered and valid) datasource handles was also blocked due to a very restrictive synchronization setting. This has been fixed now. The access to already registered datasource handles will no longer be affected by a blocked creation procedure.


Gentics .Node 2.0.25


Bugfix SUP-271

The GenticsImageStore could sometimes get Status “304 – not modified” when requesting images from servers. Now the headers for requesting images are modified in order to prevent this.


Gentics .Node 2.0.24


Gentics .Node 2.0.23


Bugfix SUP-187

The algorithm to create a new version for an object in a versioned contentrepository has been improved to use less sql statements.


Bugfix SUP-479-SUP-488

Changed Contentrepository DB connection pool to be more resilient in cases of reset DB Connections.


Gentics .Node 2.0.22


Bugfix SUP-415

The memory consumption while accessing attributes for objects from a multichannelling aware contenrepository has been reduced.


Gentics .Node 2.0.21


Bugfix RT58702

A minor bug in versioning has been fixed: It was not possible to fetch versioned data for records, that did not have a current entry.


Gentics .Node 2.0.20


Bugfix RT58649

GenticsImagestore: Resizing failed sometimes when resizing an image without a proper file name extension. This has been fixed.


Bugfix RT58663

The version of the library commons-dbcp has been updated from 1.2.1 to 1.2.2 which includes a fix for https://issues.apache.org/jira/browse/DBCP-64. This bug caused database connections to content repositories, that were fetched from a connection pool and died (e.g. because the server was not reachable any more) not being returned into the pool. This subsequently could cause the pool to exhaust.


Gentics .Node 2.0.19


Bugfix RT58687

Added SQL Executor classes needed for GCN SQL deadlock fix RT#58687


Gentics .Node 2.0.18


Bugfix RT58575

In some cases a jmage.log file would be created in the root directory of the java process. A bugfix has been applied to the jmage library in order to prevent such files from being created.


Gentics .Node 2.0.17


Bugfix RT58613

Fixes for filename sanatizing:

  • Filenames containing dots are now correctly handled
  • The filename extension is now also sanitized

Gentics .Node 2.0.16


Bugfix RT58613

Enhanced sanitizing of file names. Now truncating filenames and folderpaths that exceed the maximum length works correctly.


Gentics .Node 2.0.15


Bugfix RT58596

When updating the mother object of an object in a non MCCR contentrepository, sometimes the data would not get updated. This has been fixed now.


Gentics .Node 2.0.14


Gentics .Node 2.0.13


Enhancement

In preparation for the Gentics Content.Connector Release 2.0.0 the following interface was moved from Gentics Content.Connector to node-lib.

  • com.gentics.cr.template.ITemplateManage

Bugfix RT58554

GenticsImageStore: A bugfix which was introduced version 2.0.9 could cause the colors of a resized image to be wrong. The bugfix has been updated in order to prevent such wrong colors.


Gentics .Node 2.0.12


Bugfix RT58491

Datasource Attribute Prefilling: In some cases the datasource prefilling of attributes could fail with an SQL Exception ORA-01745 when the Oracle Database was used. Prefilling of more than 64 thousand objects failed since the Oracle Database can‘t handle that many bind variables. Now multiple smaller statements will be used instead of a single large statement. The prefilling behaviour for MySQL and MSSQL have not been changed.


Gentics .Node 2.0.11


Bugfix RT58468

GenticsImageStore: Fixed the GenticsImageStore not being able to resize .gif images. Instead of the resized image, the original image was returned. This bug was introduced with GCN 5.15.34 / 5.16.20 / 5.17.7.


Gentics .Node 2.0.10


Bugfix RT58244

When writing filesystem attributes into a multichannelling aware content repository, sometimes exceptions like “Error while putting fs attribute file in [basepath] starting with [prefix] into cache” where logged. Those errors, which had no functional consequences, were fixed now.


Gentics .Node 2.0.9


Bugfix RT58330

When using filesystem attributes for multichannelling aware content repositories, reading the attribute value could fail in situations, where the content was changed but the cache still contained the reference to the old file path. This has been fixed now. When the file path found in the cache references a file, that does not exist, the file path is re-read from the database.


Gentics .Node 2.0.8


Bugfix RT58372

The GenticsImageStore webapp used to forward the Host-header from the client‘s request when fetching a source image via HTTP. This behavior was not conforming to the HTTP specification. Now, the Host-header is derived from the actual URL used to retrieve the source image.


Gentics .Node 2.0.7


Bugfix RT58345

An erroneous locking mechanism could provoke a deadlock situation in PortalConnectorFactory This has been fixed.


Bugfix RT58211

GenticsImageStore: On some occasions, when resizing a JPEG image with sRGB colorspace the resulting image has wrong colors. This has been fixed.


Gentics .Node 2.0.6


Bugfix RT58278

It is now possible to continue writing objects into a Content Repository, even if the file that contains the data to be written into a filesystem attribute is not found any more.


Gentics .Node 2.0.5


Bugfix RT58293

Registering mccr datasources with the old sanitycheck (which is used by default) failed, because sanitycheck is not compatible with mccr datasources. The behaviour has been changed now, sanitycheck will not be used for mccr datasources any more. If checking the database is required for mccr datasources, sanitycheck2 should be used instead.


Gentics .Node 2.0.4


Bugfix RT58236

MCCR: Fixed error “Error while setting value for attribute” that occured in GPN 4.6.0 when cache warming is enabled or a frontend page was loaded.


Gentics .Node 2.0.3


Bugfix RT58194

GenticsImageStore: A StringIndexOutOfBoundsException was fixed when processing an image Url with a very long filename.


Bugfix RT58193

GenticsImageStore: A StringIndexOutOfBoundsException was fixed when processing an image Url with a missing file extension. The mimetype-detection for the image is now done by looking up the file content.


Gentics .Node 2.0.2


Bugfix RT58202

An StringIndexOutOfBoundsException was fixed inside the non-api fileutils.


Gentics .Node 2.0.1


Enhancement

Some no longer needed third party dependencies were removed. Previously the org.eclipse.core.runtime dependency was included. We now only include the org.eclipse.equinox.common dependency.


Bugfix RT51435

When creating a datasource using the PortalConnectorFactory based on handle properties and datasource properties fails, no open handle will be left behind.


Gentics .Node 2.0.0


Java Project Structure Changes
Various changes to the internal Gentics .Node project structure have been made. These changes might affect existing build setups that make use of the provided maven artifacts.

  • The java source code for this project will now be compiled for JDK 1.7. Gentics .Node classes are no longer executable with JDK 1.6 and older JDKs.
  • Various maven dependencies were moved from node-lib to contentnode-lib and portalnode-lib.
  • The restapi-lib module was removed. It is now a part of contentnode.

Enhancement

When creating a new datasource using the PortalConnectorFactory, the datasource will no longer be checked with autorepair by default if neither the autorepair nor the autorepair2 flags are set for the datasource. It is recommended to always use the autorepair2 flag for the datasource to check and repair datasources.