Release Notes / Version 12.2506.0
Table Of ContentsMatured cm jshell for Automation
We matured the Java JShell-wrapper cm jshell. Main
purpose of the adaptations is to pave paths for using
cm jshell in automation scenarios.
Follow Section, “Matured cm jshell for Automation” for upgrade information.
(CMS-27867)
Content Feeder Configuration Changes and Deprecations
Content Feeder configuration properties for indexing blob properties have changed in this release, and may require adapting your configuration.
Follow Section, “Content Feeder Configuration Changes and Deprecations” for upgrade information.
(CMS-27819)
Removal of Deprecated Content Server Code
The following deprecated classes and methods have been removed:
com.coremedia.ldap.OrganizationalUnithox.corem.server.media.S3StoreNote:
hox.corem.server.media.S3BlobStorehandles encryption differently. It uses the buckets default method. If you want to keep the behavior of the removed class, you need to set the encryption mode to AES256 explicitly viacap.server.blobstore.s3.encryption-mode=AES256.
com.coremedia.ldap.LdapUserProvider.defaultLdapProperty(Properties, String, String)com.coremedia.ldap.LdapUserProvider.getExpirationSeconds()com.coremedia.ldap.LdapUserProvider.tokenize(String, String)com.coremedia.ldap.UserProvider.getExpirationSeconds()hox.corem.server.media.CompoundMediaStoreSelector.addSelector(MediaStoreSelector)hox.corem.server.media.CompoundMediaStoreSelector.setSelectors(List)hox.corem.server.media.CompoundMediaStoreSelector()hox.corem.server.media.UploadContextImpl(MimeType, int, String, String, String, boolean)
Follow Section, “Removal of Deprecated Content Server Code” for upgrade information.
(CMS-27560)
Removal of Deprecated Code
The following classes, methods and fields were removed:
com.coremedia.translate.workflow.ValidateTranslationParametersAction.Parameters.targetSiteId(use fieldValidateTranslationParametersAction.Parameters.targetSiteIdsinstead)com.coremedia.translate.workflow.GetDerivedContentsAction.Parameters.getTargetSite()(useGetDerivedContentsAction.Parameters.getTargetSiteIds()andSitesService.getSite(java.lang.String)instead)com.coremedia.translate.workflow.ListDiff.elementEqual(T, T)(instead of overriding this method, pass an equality predicate to the constructor)com.coremedia.translate.workflow.ValidateTranslationParametersAction.Parameters(User, List<ContentObject>, String)(use other constructor instead)
Follow Section, “Removal of Deprecated Code” for upgrade information.
(CMS-27558)
CAE Feeder Configuration Changes and Deprecations
Multiple changes were made to CAE Feeder configuration properties, its defaults and related Java API. This includes changes for configuring indexed blob values and properties by name, that may require adapting your configuration. Other changes deprecate existing configuration properties or API, and introduce suggested replacements. For the latter, it is not necessary but still recommended to switch to new properties and API. Deprecated properties and API will be removed in future releases.
Follow Section, “CAE Feeder Configuration Changes and Deprecations” for upgrade information.
(CMS-27543)
New Options -g/--grpc-endpoint and --http-base-uri for Command Line Tools
The options - grpc-endpoint (short:
-g) and -http-base-uri have been
added to the command line tools. These have been applied to
com.coremedia.cmdline.CommandLineClient, so that
your custom command line clients may inherit them, too.
The command line option
--grpc-endpoint <ENDPOINT> has been added to
support a gRPC-based Unified API Connection. The
ENDPOINT has the format
HOSTNAME:PORT[,HOSTNAME:PORT]*.
Follow Section, “New Options -g/--grpc-endpoint and --http-base-uri for Command Line Tools” for upgrade information.
(CMS-27489)
CAE Feeder Option to Inherit Indexed Valid Time From Navigation Contexts
The CAE Feeder can now be configured to feed
index fields validfrom and
validto not only based on a CMLinkable's own
validFrom and validTo fields,
but by also taking validFrom and
validTo fields of its navigation contexts into
account. If enabled and after corresponding content has been
re-indexed, then website search will not return CMLinkable hits
anymore if their page was marked as invalid for the current time. This
new behavior can be enabled with Blueprint configuration property
caefeeder.valid-time.inherit-from-navigation=true
(default is false). The default behavior is the same as before, but
changes in the CAE Feeder Spring configuration
may require adjustments for project customizations.
Previously, feeding
validfromandvalidtoindex fields was configured in Blueprint Spring configurationapps/cae-feeder/modules/search/caefeeder-blueprint-component/src/main/resources/META-INF/coremedia/caefeeder.xmlusingBeanPropertyFeedableElementMappingelements. This has been replaced with the configuration of a newly introduced dedicatedValidTimeFeedablePopulatorincom.coremedia.blueprint.caefeeder.config.CaeFeederBlueprintAutoConfiguration. If needed, you can still keep custom alternative logic for feeding the valid time using aBeanPropertyFeedableElementMapping. TheValidTimeFeedablePopulatorruns afterward and doesn't do anything, ifvalidfromorvalidtoelements are already set in theFeedable.The Spring bean
navigationPathKeyFactorythat was used in Blueprintcaefeeder.xmlhas been replaced with beannavigationPathContentsFunction. If you called methodTreePathKeyFactory#getPath(Content)of thenavigationPathKeyFactorybean in custom code, then you can replace such usages by calling theFunction#apply(Content)method of the newnavigationPathContentsFunctionbean. For details, see also the API documentation ofcom.coremedia.blueprint.base.caefeeder.navigation.CaeFeederNavigationConfiguration#navigationPathContentsFunction.Public API interface
com.coremedia.cap.feeder.MutableFeedablegot a new default methodsetDateElement(String, java.time.Instant, Map)that works like existing methods but supports values of new typejava.time.Instant.Note, that if you enable property
caefeeder.valid-time.inherit-from-navigation=trueto feed an existing index, then contents need to be re-indexed before changes will become effective for them. Also, automatic re-indexing of many contents may happen once, ifvalidFromorvalidTois already set at transitive navigation contents and the CAE Feeder is re-indexing other content below that navigation.For more details on feeding valid time, have a look at the CAE Feeder Java API documentation in packages
com.coremedia.blueprint.base.caefeederandcom.coremedia.blueprint.base.caefeeder.navigation.
(CMS-27206)
Fix Studio Search Filter "Last Edited By"
Fixed a bug in the Studio Search Filter “Last Edited By”, that caused a content item to not show up as edited by the current user, if its latest modification was a publication that destroyed old intermediate versions. The fix will become effective for newly indexed content items, or after changes were made to content items. The Solr field ‘editor’ was changed as part of the fix.
Follow Section, “Fix Studio Search Filter "Last Edited By"” for upgrade information.
(CMS-27056)
Enhanced translate.xliff.import.ignorableWhitespaceRegex
The pattern
translate.xliff.import.ignorableWhitespaceRegex is
meant to match those strings, that translators may perceive as empty
(and thus, won’t provide a translation for).
Follow Section, “Enhanced translate.xliff.import.ignorableWhitespaceRegex” for upgrade information.
(CMS-26952)
Package 'hox.configuration' removed from public API
The deprecated classes and interfaces of package hox.configuration have been removed without replacement. Use Spring's external configuration API instead.
(CMS-25528)
New Method in ServerImportBuilder
Some internal mime type utilities have been abandoned in favor of the
com.coremedia.mimetype.MimeTypeService. The
serverimport tool needs the
MimeTypeService now, and therefore the
com.coremedia.cap.server.importexport.base.importer.ServerImportBuilder
has been enhanced with a new method
withMimeTypeService. The
MimeTypeService is mandatory for
serverimport. If you use the
ServerImportBuilder, you must set a
MimeTypeService, otherwise the
ServerImportBuilder fails to build the
ServerImport. In the unlikely case that you have
implemented the ServerImportBuilder interface, you
must implement the new method.
(CMS-23764)
Case-insensitive User and Group Search
The default of the content server configuration option
cap.server.case-sensitive-member-search has been
changed to false. This makes the user and group
search in the Studio's User Manager app case-insensitive.
Follow Section, “Case-insensitive User and Group Search” for upgrade information.
(CMS-20282)
Removal of license property "workflow"
The content server license property “workflow” was always enabled. As it does not license any additional features, it has been removed from future licenses.
(CMS-379)


