What’s new in P4 Server 2024.1

Released: May 2024

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

Sparse streams

To allow you to start working with a new stream quickly, the p4 stream command includes the sparsedev and sparserel stream types.

  • To keep a sparse stream lightweight, the dm.stream.sparse.branchmax configurable allows you to set a limit on the number of files in the sparse stream.

  • If that limit needs to be exceeded, a sparsedev stream can be converted to a development stream, and a sparserel stream can be converted to a release stream. To learn more, see the convertsparse option of p4 stream.

Partitioned client workspace

A new type of client workspace, partitioned-jnl, might have a positive effect on performance and, like the default writeable type of client workspace, is eligible for journaling, checkpointing, and recovery. To learn more, see the Type: field of p4 client.

Configurables that support partitioned-jnl are: client.readonly.dir, db.partition.dropondelete, and db.partition.verify.

Delta transfer

The Delta Transfer feature improves performance of the p4 submit command for large binary files of type +F (see File type modifiers) from remote clients. It is possible to only send the modified portion (delta) of such files. The configurables to enable and control this are:

Ease of administration

Running p4 verify -t on the commit server adds any missing archives to the journal to be replicated to downstream replicas, including edge servers. To learn more, see -t in the Options of p4 verify.

The -a option of p4 depots lists all depots, including hidden depots.

A single command that deletes both a client workspace and its shelves. To learn more, see the -Fd option of p4 client.

To improve the management of configurables:

  • p4 configure show includes the timestamp of the most recent modification of given configurable. To learn more, see show in the Options of p4 configure.

  • Providing a comment when changing the value of a configurable with the p4 configure command can be made mandatory by setting the dm.configure.comment.mandatory configurable.

  • Additional information about each configurable is available from the output of p4 configure help command. See Default value and p4 configure help. (The output of p4 help configurables lists each configurable's Name and Use.)

Various

A new type of client workspace, partitioned-jnl, might have a positive effect on performance and, like the default writeable type of client workspace, is eligible for journaling, checkpointing, and recovery. To learn more, see the Type: field of p4 client.

Configurables that support partitioned-jnl are: client.readonly.dir, db.partition.dropondelete, and db.partition.verify.

For security, consider setting the dm.user.hideinvalid configurable.

Support for adding comments preceded by ## to the View section of p4 client, p4 branch, and p4 label specs, as well as to the Typemap section of p4 typemap specs. (These follow the same pattern as protection table Comments.)

The db.journalrotate.warnthresh can be set to remind admins and users of type operator to rotate the journal.

The dm.change.skipkeyed configurable might improve performance for p4 populate.

The submit.storagefields configurable controls the action of a submit request with regards to the compCksum field in a storage record.