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

P4 CLI Documentation | 2026.1

# What’s new in P4 Server 2025.1

Released: May 2025

For a complete list of what’s new in this release, see the following resources:

- Release notes

- What’s new in P4 administration in the P4 Server Administration Documentation

- What’s new in the P4 Virtual File Service (P4 VFS) Documentation

## Helix Core is now P4

Perforce has a new look and logo that reflects our place in DevOps workflows. As part of these changes, Helix Core is now P4. Name updates and new icons to align with the P4 branding will be rolled out soon. To learn more, see Re-Introducing P4.

## Performance improvements

- To avoid the unnecessary transfer of an entire file when only a portion of the file content has changed, delta transfer now supports replication with the p4 pull -u command. To adjust the behavior, you can use the net.delta.rpl.minsize and net.delta.rpl.threshold configurables. To learn more, see Delta Transfer of large binary files in P4 Server Administration Documentation.

- For possible improved performance of the p4 reconcile, p4 move, and p4 status commands, combine -M with --parallel=N. The p4 move command has new syntax to support the new option: p4 move -M [-c changelist]. This finds matching moves in the existing pending changelist and reopens the added and deleted files as moves. To learn more, see -c change.

- Two configurables that might help performance by improving network efficiency. To learn more, see net.nagle and net.quickack.

## Automatic user log out based on inactivity

For increased security, automatically log out users from P4 Server based on inactivity. This minimizes security risk while a ticket is still valid and a user leaves their computer. If an authenticated user remains active, the session is not interrupted due to ticket expirations. To learn more, see the IdleTimeout field of p4 group.

## Monitoring enhancements

- To improve replica communication transparency and monitoring, the track.log file now includes the unique identifier for a command and command group for the p4 -ztag monitor -e command. This requires setting the server configurable to 4 or higher. To learn more, see p4 monitor.

- To enhance the readability of real-time monitoring data, p4 pull -ls now has the -v and -h suboptions:

  - p4 pull -lsv shows separate numbers for files in the Active, Queued, Failed, and Retry categories.

  - p4 pull -lsvh provides a human-readable format to the byte numbers output by the p4 pull -lsv command.

  - p4 pull -lsh provides a human-readable format to the byte numbers output by the p4 pull -ls command.

  - p4 pull -l has the new -C suboption that purges the records of archive files Versioned files that users submitted to a depot. that are already in place or no longer referenced by the database. This reduces the number of records listed.

  To learn more, see p4 pull.

- New counters provide additional information for real-time monitoring of journal recovery, three counters have been added:

  - rtv.jnl.recover.buffered

  - rtv.jnl.recover.in

  - rtv.jnl.recover.out

  To learn more, see p4 monitor realtime.

## Other enhancements

- To improve the reliability of server startup, you can enable server startup commands set by startup.N to automatically restart if terminated for any reason. To enable this, set the server.startup.autorestart configurable.

- To evaluate the progress of commands that take a long time to run, use the progress indicator, which is available for the following commands:

  - p4 -I move

  - p4 -I reconcile

  - p4 -I status

  - p4 -I submit

  - p4 -I sync -q

To learn more, see the -I option of Global options.

## Behavior changes

- Starting with the 2025.1 release, the p4 reconcile command will only find matching added and deleted files and reopen them as move/adds and move/deletes when the new -M or --match-moves option is specified.

- Passwords stored by P4 are now hashed with the scrypt key derivation function. For users with passwords stored with the stronger hashing algorithm, plaintext and prehashed passwords will no longer be accepted by means of the -P global flag, the P4PASSWD environment variable, or setters in the P4 API for C/C++. These were previously only accepted up to security level 2. Users with passwords stored prior to upgrading to 2025.1 or above will be unaffected. The legacy password storage and behaviors at low security levels will continue to work until the users reset their passwords. To force all users with legacy passwords to reset their passwords and upgrade to scrypt storage, a super user can run the p4 admin resetpassword -a -l command. The password storage type is now shown in the output of the p4 -ztag users -l command. To learn more, see p4 admin resetpassword.

Your search for returned results