This is an automated email from the ASF dual-hosted git repository.

sergehuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/unomi.git


The following commit(s) were added to refs/heads/master by this push:
     new 16c1724c6 Update manual and README branding from Unomi 3.x to 4.x 
(#945)
16c1724c6 is described below

commit 16c1724c654ceeca1059e3a55ac97c68b58ee267
Author: Serge Huber <[email protected]>
AuthorDate: Tue Nov 3 06:26:47 2026 +0100

    Update manual and README branding from Unomi 3.x to 4.x (#945)
    
    Co-authored-by: Claude Opus 5.5 <[email protected]>
---
 README.md                                                      | 4 ++--
 manual/src/main/asciidoc/building-and-deploying.adoc           | 6 +++---
 manual/src/main/asciidoc/configuration.adoc                    | 8 +++++---
 manual/src/main/asciidoc/datamodel.adoc                        | 1 +
 manual/src/main/asciidoc/foreword.adoc                         | 4 ++--
 manual/src/main/asciidoc/index.adoc                            | 4 ++--
 manual/src/main/asciidoc/migrations/migrate-3.0-to-4.0.adoc    | 3 ++-
 manual/src/main/asciidoc/migrations/v2-compatibility-mode.adoc | 2 +-
 manual/src/main/asciidoc/scheduler.adoc                        | 1 +
 manual/src/main/asciidoc/shell-commands.adoc                   | 2 +-
 10 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/README.md b/README.md
index 8346fa21c..5ad1e538a 100644
--- a/README.md
+++ b/README.md
@@ -40,9 +40,9 @@ compile and be stable. These are recommended for users that 
prefer to work from
 packaged binaries on the [Apache Unomi website](https://unomi.apache.org). 
 
 
-Apache Unomi 3.x
+Apache Unomi 4.x
 --------------
-Unomi 3.0+ requires **Java 17**, **Karaf 4.4**, and **Elasticsearch 9.x**. 
Unomi 4.0 adds **multi-tenancy**, **OpenSearch 3** support, a cluster-aware 
**task scheduler**, and persistence-based clustering.
+Unomi 4.x requires **Java 17**, **Karaf 4.4**, and **Elasticsearch 9.x** or 
**OpenSearch 3**. It adds **multi-tenancy**, a cluster-aware **task 
scheduler**, and persistence-based clustering on top of the 3.x platform.
 
 * Build and run: see `manual/src/main/asciidoc/building-and-deploying.adoc` or 
`manual/src/main/asciidoc/5-min-quickstart.adoc`
 * Docker: see `docker/README.md`
diff --git a/manual/src/main/asciidoc/building-and-deploying.adoc 
b/manual/src/main/asciidoc/building-and-deploying.adoc
index be6d99452..a56ef8e31 100644
--- a/manual/src/main/asciidoc/building-and-deploying.adoc
+++ b/manual/src/main/asciidoc/building-and-deploying.adoc
@@ -15,7 +15,7 @@
 [#_building]
 === Building
 
-Apache Unomi 3.x provides a convenient `build.sh` script that simplifies the 
build process with
+Apache Unomi 4.x provides a convenient `build.sh` script that simplifies the 
build process with
 enhanced error handling, preflight validation, and deployment options. See the
 <<_using_the_build_script,Using the build.sh script>> section below for 
details. Alternatively, you can build using Maven
 directly as described in this section.
@@ -75,7 +75,7 @@ TIP: On a non-English Windows env, the Asciidoctor Maven 
Plugin may fail to
 [#_using_the_build_script]
 ==== Using the build.sh script
 
-Apache Unomi 3.x provides a unified `build.sh` script that simplifies the 
build, deployment, and execution process.
+Apache Unomi 4.x provides a unified `build.sh` script that simplifies the 
build, deployment, and execution process.
 This script replaces multiple legacy build scripts and provides enhanced error 
handling, colorized output, and
 comprehensive environment validation.
 
@@ -240,7 +240,7 @@ To merge the branch into master.
 
 ==== Installing a Search Engine
 
-Apache Unomi 3.x does not embed a search engine. Install Elasticsearch 9.x or 
OpenSearch 3.x as a standalone service. See <<_migrate_from_2_x_to_3_0,Migrate 
from 2.x to 3.0>> for version requirements.
+Apache Unomi 4.x does not embed a search engine. Install Elasticsearch 9.x or 
OpenSearch 3.x as a standalone service. See <<_migrate_from_2_x_to_3_0,Migrate 
from 2.x to 3.0>> and <<_migrate_from_3_0_to_4_0,Migrate from 3.0 to 4.0>> for 
version requirements.
 
 ===== Option 1: Using Elasticsearch
 
diff --git a/manual/src/main/asciidoc/configuration.adoc 
b/manual/src/main/asciidoc/configuration.adoc
index b5de02ecf..4aa8c00b8 100644
--- a/manual/src/main/asciidoc/configuration.adoc
+++ b/manual/src/main/asciidoc/configuration.adoc
@@ -43,6 +43,7 @@ Docker Compose you can put the environment variables in the 
docker-compose.yml f
 If you want to "save" the environment values in a file, you can use the 
`bin/setenv(.bat)` to setup the environment
 variables you want to use.
 
+[#_changing_the_default_configuration_using_property_files]
 === Changing the default configuration using property files
 
 If you want to change the default configuration using property files instead 
of environment variables, you can perform
@@ -283,6 +284,7 @@ import should start right away.
 Otherwise, import should start at the next startup. Import runs in background, 
but can take about 15 minutes.
 At the end, you should have about 4 million entries in the geonames index.
 
+[#_rest_api_security]
 === REST API Security
 
 The Apache Unomi Context Server REST API is protected using JAAS 
authentication and using Basic or Digest HTTP auth.
@@ -1370,7 +1372,7 @@ If a reverse proxy terminates TLS in front of Unomi, the 
request Unomi sees is p
 * the proxy's address is listed in `org.apache.unomi.ip.trustedProxies` 
(`UNOMI_IP_TRUSTED_PROXIES`). The default list covers every private address 
range; narrow it to your proxies, or any host on those networks can claim HTTPS.
 * the proxy sends `X-Forwarded-Proto: https`. Configure it to overwrite the 
header: if any listed protocol is not `https`, the request is treated as plain 
HTTP.
 
-Changing `org.apache.unomi.ip.trustedProxies` in `custom.system.properties` 
needs a restart. The setting does not apply to `X-Unomi-Peer` keys in 
<<_single_tenant_compatibility_mode,single-tenant compatibility mode>>, which 
keep their Unomi 3.0 behaviour, nor to merges Unomi runs itself outside an HTTP 
request.
+Changing `org.apache.unomi.ip.trustedProxies` in `custom.system.properties` 
needs a restart. The setting does not apply to `X-Unomi-Peer` keys in 
<<_v2_compatibility_mode,single-tenant compatibility mode>>, which keep their 
Unomi 3.0 behaviour, nor to merges Unomi runs itself outside an HTTP request.
 
 ==== Troubleshooting profile merges
 
@@ -1594,7 +1596,7 @@ shell commands in the "Shell commands" section of the 
documentation.
 
 === Search engine authentication and security
 
-Apache Unomi 3.x talks to **Elasticsearch 9** or **OpenSearch 3** using the 
settings below. Prefer `etc/custom.system.properties` (or 
`unomi.custom.system.properties` / environment variables). The persistence OSGi 
configs (`etc/org.apache.unomi.persistence.elasticsearch.cfg` / 
`...opensearch.cfg`) expose the same values as short keys (`username`, 
`password`, `sslEnable`, `sslTrustAllCertificates`) that resolve from those 
system properties.
+Apache Unomi 4.x talks to **Elasticsearch 9** or **OpenSearch 3** using the 
settings below. Prefer `etc/custom.system.properties` (or 
`unomi.custom.system.properties` / environment variables). The persistence OSGi 
configs (`etc/org.apache.unomi.persistence.elasticsearch.cfg` / 
`...opensearch.cfg`) expose the same values as short keys (`username`, 
`password`, `sslEnable`, `sslTrustAllCertificates`) that resolve from those 
system properties.
 
 Elasticsearch security reference: 
https://www.elastic.co/guide/en/elasticsearch/reference/current/security-minimal-setup.html[Elasticsearch
 security].
 OpenSearch security reference: 
https://docs.opensearch.org/docs/latest/security/[OpenSearch Security].
@@ -2077,7 +2079,7 @@ public interface HealthCheckProvider {
 
 Calls to provider are supposed to be done at a regular rate (every 15 seconds 
for example) and should be fast to execute. Feel free to include any caching 
strategy if needed.
 
-===== Health check for another persistence backend
+==== Health check for another persistence backend
 
 A persistence backend that is not packaged with Unomi (PostgreSQL, for 
example) integrates with the health check the same way as Elasticsearch and 
OpenSearch:
 
diff --git a/manual/src/main/asciidoc/datamodel.adoc 
b/manual/src/main/asciidoc/datamodel.adoc
index 947f71172..87cb41661 100755
--- a/manual/src/main/asciidoc/datamodel.adoc
+++ b/manual/src/main/asciidoc/datamodel.adoc
@@ -251,6 +251,7 @@ In the following example, the scope uses the unique 
identifier of a web site cal
 }
 ----
 
+[#_item]
 === Item
 
 Unomi structures the information it collects using the concept of `Item` which 
provides the base information (an identifier and a type) the context server 
needs to process and store the data.
diff --git a/manual/src/main/asciidoc/foreword.adoc 
b/manual/src/main/asciidoc/foreword.adoc
index 2e8767a29..b2d7e2bbf 100644
--- a/manual/src/main/asciidoc/foreword.adoc
+++ b/manual/src/main/asciidoc/foreword.adoc
@@ -15,7 +15,7 @@
 [#_foreword]
 == Foreword
 
-This documentation provides a comprehensive guide to Apache Unomi 3.x, a 
powerful and flexible Customer Data Platform (CDP) that enables organizations 
to collect, manage, and leverage customer data for personalization and 
marketing automation.
+This documentation provides a comprehensive guide to Apache Unomi 4.x, a 
powerful and flexible Customer Data Platform (CDP) that enables organizations 
to collect, manage, and leverage customer data for personalization and 
marketing automation.
 
 Apache Unomi is built on open standards and provides a robust foundation for 
building customer-centric applications. Whether you're implementing 
personalization, running marketing campaigns, or building customer profiles, 
this documentation will help you understand and effectively use Apache Unomi's 
capabilities.
 
@@ -25,4 +25,4 @@ The Apache Unomi community is committed to providing 
comprehensive, accurate, an
 
 Happy reading!
 
-This edition documents Apache Unomi 3.x, which requires Java 17, Elasticsearch 
9.x or OpenSearch 3.x, and (from 4.0) tenant API keys for public endpoints.
+This edition documents Apache Unomi 4.x, which requires Java 17, Elasticsearch 
9.x or OpenSearch 3.x, and tenant API keys for public endpoints.
diff --git a/manual/src/main/asciidoc/index.adoc 
b/manual/src/main/asciidoc/index.adoc
index 36bf630d0..d31b5ec0e 100644
--- a/manual/src/main/asciidoc/index.adoc
+++ b/manual/src/main/asciidoc/index.adoc
@@ -12,7 +12,7 @@
 // limitations under the License.
 //
 
-= Apache Unomi 3.x - Documentation
+= Apache Unomi 4.x - Documentation
 Apache Software Foundation
 :doctype: book
 :toc: left
@@ -60,7 +60,7 @@ ifndef::backend-pdf[]
 Apache Unomiā„¢
 
 ++++
-<h1 class="display-title">Apache Unomi 3.x<br><span 
class="text-hero-accent">Documentation</span></h1>
+<h1 class="display-title">Apache Unomi 4.x<br><span 
class="text-hero-accent">Documentation</span></h1>
 ++++
 
 [.cover-meta.lead]
diff --git a/manual/src/main/asciidoc/migrations/migrate-3.0-to-4.0.adoc 
b/manual/src/main/asciidoc/migrations/migrate-3.0-to-4.0.adoc
index 4cc2fac83..32267c552 100644
--- a/manual/src/main/asciidoc/migrations/migrate-3.0-to-4.0.adoc
+++ b/manual/src/main/asciidoc/migrations/migrate-3.0-to-4.0.adoc
@@ -23,6 +23,7 @@ The key innovation in 4.0 is the introduction of **tenant 
isolation** for all da
 - **Tenant-specific API keys** for secure access control
 - **Backward compatibility** with system administrator access for management 
operations
 
+[#_updating_applications_consuming_unomi]
 === Updating applications consuming Unomi
 
 ==== Authentication Model Changes
@@ -325,7 +326,7 @@ the segment and scoring lists itself instead of leaving it 
to the search engine.
 Paging and sorting follow the 3.0 rules:
 
 * `offset` and `limit` page the merged list. A missing `limit` returns 
`defaultQueryLimit` items, 10 unless
-  configured (see 
<<changing_the_default_configuration_using_property_files,the search engine 
configuration>>), and `-1` returns every item.
+  configured (see 
<<_changing_the_default_configuration_using_property_files,the search engine 
configuration>>), and `-1` returns every item.
   The response echoes the requested `offset` and `limit`.
 * `sortby` takes the same syntax: comma-separated `field` or `field:desc` 
criteria. Any criterion other than an
   exact `:desc` suffix sorts ascending.
diff --git a/manual/src/main/asciidoc/migrations/v2-compatibility-mode.adoc 
b/manual/src/main/asciidoc/migrations/v2-compatibility-mode.adoc
index 38f4eff9d..8da500ef1 100644
--- a/manual/src/main/asciidoc/migrations/v2-compatibility-mode.adoc
+++ b/manual/src/main/asciidoc/migrations/v2-compatibility-mode.adoc
@@ -15,7 +15,7 @@
 [#_v2_compatibility_mode]
 === single-tenant compatibility mode
 
-[[_single_tenant_compatibility_mode]]This document explains how to use 
single-tenant compatibility mode in Apache Unomi 4.0. The mode lets client 
applications
+This document explains how to use single-tenant compatibility mode in Apache 
Unomi 4.0. The mode lets client applications
 written for Unomi 2.x or Unomi 3.x keep working without tenant API keys while 
you move them to the 4.0 authentication model.
 
 ==== Overview
diff --git a/manual/src/main/asciidoc/scheduler.adoc 
b/manual/src/main/asciidoc/scheduler.adoc
index d42806766..4e4881ad3 100644
--- a/manual/src/main/asciidoc/scheduler.adoc
+++ b/manual/src/main/asciidoc/scheduler.adoc
@@ -357,6 +357,7 @@ moment shutdown begins and held locks age out normally for 
peers to recover. And
 `COMPLETED` / `FAILED` write, the heartbeat is stopped (waiting out any 
in-flight tick) so a late renewal
 cannot invalidate the terminal compare-and-set.
 
+[#_renewal_timing_limits_with_the_default_1_s_refresh_interval]
 ===== Renewal timing limits with the default 1 s refresh interval
 
 Renewal is safe with the ES/OS default index refresh batching 
(`refresh_interval` = 1 s) because none of
diff --git a/manual/src/main/asciidoc/shell-commands.adoc 
b/manual/src/main/asciidoc/shell-commands.adoc
index bd25cef41..6a4a216df 100644
--- a/manual/src/main/asciidoc/shell-commands.adoc
+++ b/manual/src/main/asciidoc/shell-commands.adoc
@@ -26,7 +26,7 @@ You can connect to the Apache Karaf SSH Shell using the 
following command:
 
     ssh -p 8102 karaf@localhost
 
-Authenticate with the `karaf` user and the password from `UNOMI_ROOT_PASSWORD` 
(Unomi does not ship a known default password). Set the password before start; 
see <<_getting_started,Getting started>> and 
<<_client_facing_hardening_4_0,client-facing hardening>>.
+Authenticate with the `karaf` user and the password from `UNOMI_ROOT_PASSWORD` 
(Unomi does not ship a known default password). Set the password before start; 
see <<_getting_started_with_unomi,Getting started>> and 
<<_client_facing_hardening_4_0,client-facing hardening>>.
 
 Once connected you can simply type in :
 

Reply via email to