Chapter 8. Dynamic programming languages, web servers, database servers


Review the most notable changes to dynamic programming languages, web servers, and database servers between RHEL 9 and RHEL 10.

Initial versions available in RHEL 10

RHEL 10 provides the following dynamic programming languages:

  • Python 3.12
  • Ruby 3.3
  • Node.js 22
  • Perl 5.40
  • PHP 8.3

RHEL 10 includes the following version control systems:

  • Git 2.47
  • Subversion 1.14

The following web servers are distributed with RHEL 10:

  • Apache HTTP Server 2.4.63
  • nginx 1.26

The following proxy caching servers are available:

  • Varnish Cache 7.6
  • Squid 6.10

RHEL 10 offers the following database servers:

  • MariaDB 10.11
  • MySQL 8.4
  • PostgreSQL 16
  • Valkey 8.0
Additional Application Streams available in RHEL 10
When planning to adopt or upgrade to RHEL 10, review the Red Hat Enterprise Linux Application Streams Life Cycle for any additional streams that you plan to use. Verify that their supported lifetime matches the lifecycle of your workloads.
Change of currency symbol for Bulgaria and Croatia in glibc locales

In RHEL 10.2, the C libraries now configure the glibc locales for Bulgaria and Croatia to use the euro currency symbol. The relevant interfaces are not versioned, so the currency symbol changes immediately for all data that uses these locales, including existing data.

If your applications rely on currency formatting or parsing for the Bulgarian or Croatian locales, review their behavior after upgrading to RHEL 10.2. Verify that:

  • User interfaces correctly display the euro symbol instead of the previous currency symbol.
  • Any parsing, validation, or reporting logic that assumes the old currency symbol continues to work as expected or is updated accordingly.
PCP archive format change between RHEL 9 and RHEL 10
From RHEL 10, PCP 7.x changes the default archive version from v2 to v3, introducing 64-bit offsets and nanosecond precision. Both PCP 7.x and the older PCP 6.x, which is available in RHEL 9, can read v2 and v3 archives transparently, ensuring a seamless transition when you upgrade from RHEL 9 to RHEL 10.
RHEL 10 provides the MariaDB, MySQL, and PostgreSQL services as RPM packages instead of modules

In previous RHEL versions, Red Hat used module streams to provide multiple versions of MariaDB, MySQL, and PostgreSQL in parallel. RHEL 10 provides the MariaDB, MySQL, and PostgreSQL services as RPM and alternative streams will also be provided as RPM packages instead of modules. The new concept incorporates the stream version into the package name, for example postgresql16. If Red Hat adds a new stream of MariaDB, MySQL, or PostgreSQL in a future RHEL version, you can then also install them also by using the package name.

For further details, see The new era of packaging parallel database streams in RHEL 10.

libdb has been removed

RHEL 8 and RHEL 9 provide Berkeley DB (libdb) version 5.3.28, which is distributed under the LGPLv2 license. The upstream Berkeley DB version 6 is available under the AGPLv3 license, which is more restrictive. Therefore, the libdb package is not available in RHEL 10. Users of libdb are advised to migrate to a different key-value database. For more information, see the following Red Hat Knowledgebase articles:

Therefore, the libdb package is not available in RHEL 10. Users of libdb are advised to migrate to a different key-value database. For more information, see the Knowledgebase article Available replacements for the deprecated Berkeley DB (libdb) in RHEL.

Session extension is now available in SQLite
RHEL 10 enables session extension in SQLite. With this feature, you can now work in sets of changes that can later be applied to different databases. Additionally, you can revert all changes in the set at once.
PHP 8.4 available

RHEL 10.2 provides PHP in version 8.4. This version provides many enhancements and bug fixes over version 8.3, most notably:

  • Property hooks provide support for computed properties natively understood by IDEs and static analysis tools.
  • Asymmetric visibility controls the scope to write to a property independently from the scope to read the property.
  • The #[\Deprecated] attribute makes the existing deprecation mechanism available to user-defined functions, methods, and class constants.
  • A new DOM API is available within the Dom namespace, which includes standards-compliant support for parsing HTML5 documents.
  • The BcMath\Number object enables object-oriented usage and standard mathematical operators when working with arbitrary precision numbers.
  • The array_find(), array_find_key(), array_any(), and array_all() functions are available.
  • You can access properties and methods of a newly instantiated object without wrapping the new expression in parentheses.
MariaDB 11.8 was added

MariaDB 11.8 packages are available in RHEL 10.2.

Notable changes over the previously available version 10.11 include:

  • By default, MariaDB 11.8 uses the utf8mb4 character set instead of latin1 and legacy utf8 to ensure full Unicode support.
  • Vector support was added to support machine learning. This includes the VECTOR(N) data type and the following functions:

    • VEC_DISTANCE()
    • VEC_DISTANCE_EUCLIDEAN()
    • VEC_DISTANCE_COSINE()
    • Vec_FromText(json_array)
    • Vec_ToText(vector_column)
  • The mariadb-dump and mariadb-import utilities natively support parallel operations. Specify the --dir and --parallel options to dump or load multiple databases simultaneously.
  • The upper limit of the TIMESTAMP data type was increased from 2038-01-19 to 2106-02-07 while still using 4 bytes of storage.
  • The UUID_v4() and UUID_v7() functions were added.
  • The JSON handling was improved. This includes new functions, such as JSON_SCHEMA_VALID().
  • The following system variables were added to define the maximum storage for temporary tables and other internally created temporary files:

    • max_tmp_session_space_usage limits the disk space used per session
    • max_tmp_total_space_usage limits the total disk space used by the MariaDB server instance
  • The des_encrypt and des_decrypt configuration file parameters are deprecated and will be removed in a future MariaDB release.

Notable breaking differences:

  • The following utilities were renamed but symbolic links were created for backward compatibility:

    • mysql > mariadb
    • mysqldump > mariadb-dump
    • mysqladmin > mariadb-admin

    If you still use the previous names of these utilities, they display deprecation warnings.

  • The innodb_defragment configuration parameter is no longer supported. Remove it from your configuration files.

For more information about MariaDB, see Using MariaDB.

To install the new packages, enter:

# dnf install mariadb11.8-server

If you want to upgrade from MariaDB 10.11, see Upgrading from a RHEL 9 version of MariaDB 10.11 to MariaDB 11.8.

For information about the length of support for the mariadb module streams, see Red Hat Enterprise Linux Application Streams Life Cycle.

PostgreSQL 18 was added

PostgreSQL 18 packages are available.

Notable changes:

  • The new Asynchronous I/O (AIO) subsystem provides up to three times faster data reads. You can enable this subsystem by setting the io_method variable.
  • The MD5 authentication method is deprecated and will be removed in a future major PostgreSQL release.
  • By default, data page checksums are enabled in PostgreSQL 18. If you upgrade from a previous version with data page checksums disabled, you must either enable the feature before the update or disable it during the upgrade. For further details, see Upgrading from a RHEL 9 version of PostgreSQL 16 to PostgreSQL 18.
  • PostgreSQL 18 supports native OAUth 2.0 single sign-on authentication.
  • The database service supports Federal Information Processing Standards (FIPS) mode validation for regulated environments.
  • The pg_upgrade utility preserves statistics during major release upgrades and significantly faster reaches full performance after an upgrade.
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat Documentation

Legal Notice

Theme

© 2026 Red Hat
Back to top