@@ -170,6 +170,29 @@ onward and will be removed in a future version.
170170You can use [ Stream Transactions] ( ../../develop/transactions/stream-transactions.md )
171171instead in most cases, and in some cases AQL can be sufficient.
172172
173+ ## Default server language changed
174+
175+ ArangoDB initializes its storage (the so called database directory) when running
176+ for the first time, typically when creating a new deployment. You can specify
177+ a locale for the initialization with the ` --icu-language ` startup option (or with
178+ the deprecated ` --default-language ` startup option). The server language that
179+ you set this way affects the sorting and comparison behavior for text globally,
180+ with a few exceptions like the [ ` collation ` Analyzer] ( ../../index-and-search/analyzers.md#collation ) .
181+
182+ If you don't specify a language using a startup option, the ` LANG ` environment
183+ variable is checked. If it's not set or has an invalid value, the effective
184+ fallback locale used to be ` en_US ` in ArangoDB v3.11 and older versions.
185+ From v3.12.0 onward, the default is ` en_US_POSIX ` (also known as the C locale).
186+ It has a slightly different sorting behavior compared to ` en_US ` .
187+
188+ When upgrading existing deployments to v3.12, the database directory is already
189+ initialized and has the server language locked in. If the locale is ` en_US `
190+ before the upgrade, it is also ` en_US ` after the upgrade. Therefore, the sorting
191+ behavior remains unchanged. However, new deployments use the ` en_US_POSIX ` locale
192+ by default. If you, for instance, restore a v3.11 dump into a new v3.12 instance,
193+ the sorting behavior may change. You may want to set a server language explicitly
194+ when initializing the v3.12 instance to retain a specific sorting behavior.
195+
173196## Incompatibilities with Unicode text between core and JavaScript
174197
175198ArangoDB 3.12 uses the ICU library for Unicode handling in version 64 for its core
0 commit comments