Alfresco Community Edition 23.1 Release Notes

cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco Community Edition 23.1 Release Notes

angelborroy
Alfresco Employee
6 3 18.7K

Alfresco Content Services 23.1 is a major software update release with improvements to Alfresco Content Services to accelerate use and development for customer solutions for deployment. With Alfresco Content Services 23.1, Alfresco continues to enable open source communities, customers and partners to deliver a highly reliable Content Store upon which to build applications and solutions.

Alfresco Content Services 23.1 delivers functionality to enable customers and developers to install Alfresco created solutions and to customise the product through integrations, APIs and SDKs.

Additionally, customers can purchase an upgrade from Alfresco Community Edition to Alfresco Content Services 23.1 to enable advanced features and purchase Alfresco applications, connectivity and solutions.

This release contains enhancements completed for the release of Alfresco Content Services 23.1. In addition, this release contains an updated stack of supported databases, operating systems and platforms providing up to date support.
Alfresco’s release readiness testing team have successfully completed their regression and upgrade testing cycles to help give you confidence to upgrade to the release. Alfresco Community Edition 23.1 shares much of its code with Alfresco Content Services which adds significant functionality in the release.

Goals for this Release

The main goal of this release is to enable customers, partners and experimenters to create solutions built on top of Alfresco’s content repository. As Alfresco and Hyland have a continuing commitment to Open Source, we value your feedback on the Hyland Community Hub.

New Version Format

  • Instead of the old format (e.g., 7.0, 7.4), we will now use a year-dot-number format (e.g., 23.1).
  • The first number represents the year in which the version was released.
  • The second number represents the sequential release number within that year eg. 23.2, 23.3.
  • We’re starting version 23 with “1” to be aligned with the rest of Hyland products, but you can expect an LTS release once a year.

Benefits for You:

  • Clarity: The year-dot-number format immediately provides information about the release's chronological order. You can easily understand when a particular version was launched and its place in the release cycle.
  • Predictability: With this new scheme, you can anticipate when new versions will be released. For example, in 2024, the next LTS release will be 24.1 and the numbering will continue sequentially.
  • Simplified Upgrades: Planning upgrades will be more straightforward. You can choose to update to a specific version that aligns with your needs and timeline, based on the year of release.
  • Enhanced Communication: This new versioning scheme will facilitate discussions with our support and community forums as everyone will be on the same page regarding the version being discussed.

Highlights

Toggle for more reliable events

A toggle has been introduced in Alfresco Repository to increase the reliability of events on the event queue. If the toggle is set, events are sent right after the database transaction closes, rather than through a separate thread. This increases the chance the events are correctly delivered to the queue, at a small performance cost.

By default this feature is disabled:

# Specifies if messages should be enqueued in in-memory queue or sent directly to the topic
repo.event2.queue.skip=false

ARM64 containers for developers

Our developer experience is strongly built on Docker containers. Containers for the ARM64 architecture are now available on DockerHub, allowing developers using hardware with ARM64 chips (such as Apple’s M1/M2 chips) to use a containerized Alfresco without any extra steps.

Modularized Helm charts

The Helm charts have been broken up into multiple, separate charts. This allows for more customization in deployments, where only part of the configuration can be easily adapted without affecting other parts.

Jakarta EE 10 and Spring 6 support

As part of Jakarta Migration Alfresco Content Services is using now Spring 6 and Jakarta EE 10 instead of javax.

Tomcat 10 support

Alfresco now requires Tomcat 10. Earlier versions of Alfresco supported Tomcat 9. Tomcat 10 is not backwards compatible with Tomcat 9, so changes in existing deployments are required to move to Tomcat 10 and upgrade to Alfresco 23.1.

Additional details can be found in https://tomcat.apache.org/migration-10.html

Ensure to review your mTLS configuration for Repository. Note that Apache Tomcat 10 requires a new notation for secure connector configuration in server.xml file.

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
    connectionTimeout="20000" maxThreads="150"
    SSLEnabled="true" scheme="https" secure="true"
    defaultSSLHostConfigName="localhost">
        <SSLHostConfig hostName="localhost" protocols="TLSv1.2"
            certificateVerification="required"
            truststoreFile="/usr/local/tomcat/keystore/ssl.truststore"
            truststorePassword="truststore" truststoreType="JCEKS">
            <Certificate certificateKeystoreFile="/usr/local/tomcat/keystore/ssl.keystore"
               certificateKeyAlias="ssl.repo" type="RSA"
               certificateKeystorePassword="keystore" certificateKeystoreType="JCEKS"/>
        </SSLHostConfig>
</Connector>

Aditional details are available in: https://github.com/Alfresco/alfresco-docker-installer

 

Please report issues with this Alfresco Community Edition 23.1 using GitHub Issues or by using the discussion tools in the Alfresco Hub for Alfresco Community Edition.

Installation

Alfresco Community Edition 23.1 is available as a distribution zip file for manual installation, or it can be installed using an Ansible playbook (Linux only) for non-containerized environments. It is also available as a set of Docker images that can be deployed in containerized environments using docker-compose or Helm charts (for Kubernetes).

You can find a summary of these options here:

https://www.alfresco.com/products/community/download

ZIP Distribution files

Ansible

Deployment resources available in Alfresco/alfresco-ansible-deployment

Docker Compose

Reference Docker Compose template is available in community-docker-compose.yml

Additional Docker Compose deployment methods:

Kubernetes

Helm charts are available in https://github.com/Alfresco/acs-deployment/tree/master/helm/alfresco-content-services

Upgrading from previous releases

Care should be taken when upgrading from any previous releases of Alfresco Community Edition 23.1. There are some steps that should be reviewed and planned before you upgrade. Please take the time to familiarize yourself with the guidance below and plan your upgrade.

Please refer to the detailed Upgrading documentation, including Alfresco Content Services upgrade paths.

In particular, please ensure that the following steps are completed before you start your upgrade process:

Specific Release Components

REST API

Updated (Nodes)

GET /nodes/{nodeId}/targets
GET /nodes/{nodeId}/sources

Added parameters skipCountParam and maxItemsParam to enable pagination for these endpoints

Added favorites entity (People)

GET  /people/{personId}/favorites
POST /people/{personId}/favorites
GET  /people/{personId}/favorites/{favoriteId}

Updated (Search)

POST /search

Added isFavorite as a possible value to include (if included, response will be enhanced with isFavorite indicator)

REST API Explorer

This release includes an updated of the REST API Explorer to navigate the new REST APIs.

GitHub - rest-api-explorer

Alfresco Share

The latest release of Share is 23.1. For further details please consult the list of issues fixed in this release at the bottom of the page under Issues Addressed.

Search Services

Search Services 2.0.8 with Solr is the legacy search solution for Alfresco Content Services 23.1.

Alfresco Governance Services

AGS 23.1 is the latest release and is compatible with Alfresco Content Services 23.1.

Alfresco Mobile

The latest release of Alfresco Mobile Workspace is 1.8 and is compatible with Alfresco Content Services 23.1. Alfresco Mobile Workspace now allows end users to capture single images with the native camera interaction and end users to capture multiple images and then review them before uploading in bulk.

We have deprecated support for Alfresco Content Services Mobile App.

SDK

The latest release of the Alfresco in-process SDK is SDK 4.7, which is compatible with Alfresco Content Services 23.1.

The latest release of the Alfresco out-of-process SDK is SDK 6.0, which is compatible with Alfresco Content Services 23.1 and the new SDK Event Gateway.

Alfresco Extension Inspector

This utility helps partners and customers better understand the customisations in their existing deployments. The Alfresco Extension Inspector is a utility for AMP inspection for Alfresco Community Edition and Alfresco Content Services 23.x releases. The inspector is recommended for use before installing new integrations of our product to help expose any issues that might impeded success.

The alfresco-extension-inspector is a tool that scans and validates an Alfresco extension (amp or jar) against an alfresco.war file. The tool parses an extension and generates a report on possible overrides, discouraged usage of nonpublic API, Alfresco's 3rd-party libraries and incompatible libraries.

To download Alfresco Extension Inspector from Nexus click here or from GitHub.

Alfresco Transform Service

Alfresco Transform Service in 4.0 was migrated to SpringBoot 3.

Documentation

The documentation has been refreshed for this release: https://docs.alfresco.com/content-services/community/

Localization

The Content Repository supports the following languages: French, German, Italian, Spanish, Japanese, Dutch, Norwegian (Bokmål), Russian, Brazilian Portuguese, Polish, Czech, Danish, Swedish, Finnish and Simplified Chinese.

Share supports the following languages: French, German, Italian, Spanish, Japanese, Dutch, Norwegian (Bokmål), Russian, Brazilian Portuguese and Simplified Chinese.

Alfresco Content Application supports the following languages: French, German, Italian, Spanish, Japanese, Dutch, Norwegian (Bokmål), Russian, Brazilian Portuguese, Polish, Czech, Danish, Swedish, Finnish and Simplified Chinese.

Contents

  • Alfresco Content Repository 23.1.0 (SCM tag)
  • Alfresco Share 23.1.0 (SCM tag)
  • Alfresco Transform Core AIO 5.0.0 (SCM_tag)
  • Alfresco Search Services 2.0.8 (---)
  • Alfresco Content Application 4.3.0 (SCM_tag)
  • Google Docs 4.0.0 (SCM tag)
  • AOS Module 2.0.0 (---)

Images are available on Docker Hub

AMD64 + ARCH64

AMD64 only

The source code for the packaging project that is used to create and run Docker images and build the distribution zip can be found here.

3rd Party Components installed in the docker containers

  • Rocky Linux 8.8 x64
  • OpenJDK 17.0.7 2023-04-18 LTS
  • Apache Tomcat 10.1.10
  • Jetty 9.3.30.v20211001
  • PostgreSQL 14.4

Library changes

A number of underlying libraries have been updated in both the Repository and Share.

Removed libraries

gytheio: 0.18
Apache taglibs: 1.2.5
Jakarta RPC: 1.1.4
commons-fileupload: 1.5
json-schema-validator (com.github.fge): 2.2.6

Added libraries

AspectJ: 1.9.20.1
Guava: 32.1.2-jre
Apache httpclient5: 5.2.1
Apache httpcore5: 5.2.3
pooled-jms: 3.1.2
Jakarta JAXB-IMPL: 4.0.3
Jakarta activation: 2.0.1
Javax activation: 1.2.0
Jakarta JSON-IMPL: 1.1.4
Apache Chemistry OpenCMIS: 1.0.0-jakarta-1
commons-fileupload2-jakarta: 2.0.0-M1
commons-net: 3.9.0
json-schema-validator (com.networknt): 1.0.86

Libraries upgraded between 7.4.0 and 23.1

alfresco-spring-encryptor: 8.17 to 8.96
alfresco-authorised-users: 6.1 to 6.2
alfresco-enterprise-crypto: 6.4 to 7.0
acs-enterprise-event-model: 0.0.56 to 0.0.62
surf-webscripts: 8.47 to 9.0

Spring: 5.3.27 to 6.0.12
Spring security: 5.8.3 to 6.1.4
OJDBC driver: 12.2.0.1 to 21.3.0
Hazelcast: 3.12.13 to 5.31
Jackson: 2.15.0-rc1 to 2.15.2
CXF: 3.5.5 to 4.0.2
BouncyCastle: 1.70 to 1.76
org-json: 20230227 to 20231013
commons-io 2.11.0 to 2.14.0
GSON: 2.8.9 to 2.10.1
Apache http-core: 4.4.15 to 4.4.16
Apache http-client: 4.5.13 to 4.5.14
SLF4J: 2.0.3 to 2.0.9
LOG4J: 2.19.0 to 2.20.0
Groovy: 3.0.16 to 3.0.19
Apache Camel: 3.20.2 to 4.0.0
Netty: 4.1.87.Final to 4.1.96.Final
ActiveMQ: 5.17.4 to 5.18.2
Apache compress: 1.22 to 1.24.0
Swagger parser: 1.0.63 to 1.0.67
Jakarta JAXB-API: 2.3.3 to 4.0.0
Jakarta WS-API: 2.3.3 to 3.0.1
Jakarta SOAP-API: 1.4.2 to 2.0.1
Jakarta transaction-api: 1.3.3 to 2.0.1
Jakarta JWS-API: 2.1.0 to 3.0.0
Jakarta mail-api: 1.6.5 to 2.0.1
Jakarta activation-api: 1.2.2 to 2.0.1
Jakarta JSON-API: 1.1.6 to 2.1.2
Jakarta JSON-SMART: 2.4.10 to 2.5.0
PostgreSQL driver: 42.5.2 to 42.6.0
Commons-codec: 1.15 to 1.16.0
SnakeYAML: 2.0 to 2.2
jsoup: 1.15.3 to 1.16.1
joda-time: 2.12. to 2.12.5

If you’re upgrading from ACS 6.x to ACS 7.x, check out the Migration Guide to find out if your integrations need refactoring actions.

Jakarta Migration

As a part of Jakarta Migration number of javax API used by Alfresco Content Services was replaced by Jakarta EE equivalents.

Table below shown list of changes:

javax.xml.bind:jaxb-api     > jakarta.xml.bind-api
com.sun.xml.bind:jaxb-impl  > org.glassfish.jaxb:jaxb-runtime
com.sun.xml.bind:jaxb-core  > org.glassfish.jaxb:jaxb-core
javax.xml.soap:saaj-api.    > jakarta.xml.soap-api
javax.transaction           > jakarta.transaction-api
javax.mail                  > jakarta.mail-api
javax.activation-api        > jakarta.activation-api
javax.jms-api               > jakarta.jms-api
javax.json                  > jakarta.json-api
org.glassfish:jakarta.json  > org.eclipse.parsson:parsson
javax.servlet:servlet-api   > jakarta.servlet-api
javax.xml.ws:jaxws-api      > jakarta.xml.ws-api
javax.annotation-api        > jakarta.annotation-api

Issues Addressed

  • MNT-24021: With Identity Services, upgrade to ACS 7.4.N from 7.3 makes Share fails to deploy in many practical scenarios
  • MNT-24007: Upgrade to ACS 7.4.N from 7.3 breaks authentication with Identity Services in many practical scenarios and the logs do not detail why it fails
  • MNT-23991: ACS - Enabling contentstore encryption on 7.4.1 leads to a startup error
  • MNT-23964: Certain PDFs do not render in Alfresco Share
  • MNT-23953: Prop cleaner job - Spending considerable amount of time cleaning previously clean records.
  • MNT-23916: Incorrect schema version numbers for both spring beans and hazelcast spring are provided in the custom-slingshot-application-context.xml.sample file
  • MNT-23896: clientAuth is forced to 'want' even if secureComms=secret is being used for Solr Communication
  • MNT-23895: Tag search using Advanced Search is not working
  • MNT-23891: The default Job upgradePasswordHashJobDetail throws an exception
  • MNT-23833: Hover Text of Share page title doesn't display umlauts and special characters correctly
  • MNT-23816: Rules are removed from a Folder when adding / removing Aspects.
  • MNT-23509: Trashcan Cleaner Job can start multiple instances in parallel
  • MNT-23476: Unable to unzip files in Share if it contains a document with a filename containing an accent
  • MNT-23107: The scriptLocation property is not picked up when set in a bean definition

Known Issues

None

About the Author
Angel Borroy is Hyland Developer Evangelist. Over the last 15 years, he has been working as a software architect on Java, BPM, document management and electronic signatures. He has been working with Alfresco during the last years to customize several implementations in large organizations and to provide add-ons to the Community based on Record Management and Electronic Signature. He writes (sometimes) on his personal blog http://angelborroy.wordpress.com. He is (proud) member of the Order of the Bee.
3 Comments