Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

P4 API for Ruby Documentation | 2025.2

# System Requirements and Release Notes

P4 API for Ruby is supported on Windows and Linux.

For system requirements, see the P4 API for Ruby Release notes.

## Platform Compatibility

P4 API for Ruby is certified and regression-tested on the following platforms

Windows (x64)

- Windows Server: 2016, 2019, 2022

- Windows Desktop: 10, 11

Linux (x86_64)

- Ubuntu: 20.04, 22.04, 24.04

- CentOS 8

- Rocky Linux 9, 10

Linux (ARM64)

- Ubuntu: 20.04, 22.04, 24.04

- CentOS 8

- Rocky Linux 9, 10

Platforms not listed above are not actively tested by Perforce. P4 API for Ruby may still run on other platforms, but issues on unlisted platforms are not prioritized for fixes.

## Ruby Compatibility

The following versions of P4 API for Ruby can be built from source using the following Ruby versions:

Ruby Version | Minimum P4 API for Ruby Release
--- | ---
3.2 | 2023.1 or later
3.3 | 2024.2 or later
3.4 | 2024.2.1 or later

## Server compatibility

P4 API for Ruby 2025.2 supports P4 Server 2025.2.

Older releases might work but are not supported.

## P4 API for C/C++ compatibility

P4 API for Ruby 2025.2 requires P4 API for C/C++ 2025.2 or later.

Older API versions will not compile and are not supported.

## OpenSSL Compatibility

To enable encrypted communication, P4 API for Ruby must be built using the same OpenSSL version as the P4 API for C/C++.

Since P4 API for C/C++ 2017.1, OpenSSL is a mandatory dependency (SSL stub library removed).

Preferred OpenSSL versions:

- OpenSSL 3.x.x

- OpenSSL 1.1.1

## Compiler Compatibility

P4 API for Ruby must be built with the same compiler used to build the P4 API for C/C++. The preferred compilers are `gcc` or `g++`.

Using mismatched compiler versions may cause linker errors due to symbol name differences.

## Known Limitations

The P4 client-server protocol does not support concurrent queries over the same connection.

Multi-threaded applications using P4 API for Ruby (or other script APIs like P4 API for Perl) must either:

- Use separate connections per thread.

- Ensure only one thread accesses a shared connection at a time.

Your search for returned results