11 Release Notes for
2- P4Python, Helix Core API for Python
2+ P4Python, P4 API for Python
33
4- Version 2024.2
4+ Version 2025.1
55
66Introduction
77
@@ -23,11 +23,22 @@ Introduction
2323
2424--------------------------------------------------------------------------
2525
26+ Important Product Rebrand Notice
27+
28+ Helix Core is now P4
29+ Perforce has a new look and logo that reflects our place in DevOps
30+ workflows. As part of these changes, Helix Core is now P4. Name updates
31+ and new icons to align with the P4 branding will be rolled out soon.
32+ To learn more, see:
33+ https://www.perforce.com/blog/vcs/introducing-the-p4-platform
34+
35+ --------------------------------------------------------------------------
36+
2637Important End-of-Life Notice
2738
28- This major release of P4Python would be the last to provide wheels for and
29- test against Python 3.8 . This is part of our commitment to focus on
30- supported technology platforms
39+ This release of P4Python would be the last to support and test against
40+ Python 3.9, which is in EOL status . This is part of our commitment to
41+ focus on supported technology platforms.
3142
3243--------------------------------------------------------------------------
3344
@@ -47,9 +58,10 @@ Installation
4758
4859 python3 -m pip install --upgrade p4python
4960
50- P4Python is distributed as a binary wheels for Python 3.8, 3.9, 3.10,
51- 3.11, 3.12 and 3.13. In order for the binary wheel to be used, the ABI tag needs to
52- match.This often requires updated pip, to do so issue:
61+ P4Python is distributed as a binary wheels for Python 3.9, 3.10,
62+ 3.11, 3.12 and 3.13. In order for the binary wheel to be used, the ABI
63+ tag needs to match. This often requires updated pip, to do so issue:
64+
5365 python3 -m pip install --upgrade pip
5466
5567 Installation using Linux binary packages
@@ -112,24 +124,23 @@ Compatibility Statements
112124
113125 Server Compatibility
114126
115- You can use any release of P4Python with any release of the
116- Perforce server later than 2001.1
127+ This release of P4Python supports the 2025.1 P4 Server.
128+ Older releases might work but are not supported.
117129
118130 API Compatibility
119131
120- This release of P4Python requires at least 2024.2 Perforce API
121- (2024.2/2675662 ). Older releases will not compile and are not supported.
132+ This release of P4Python requires at least 2025.1 P4 C/C++ API
133+ (2025.1/2761706 ). Older releases will not compile and are not supported.
122134
123135 Python Compatibility
124136
125137 This release of P4Python is supported building from source with
126- Python 3.8, 3. 9, 3.10, 3.11, 3.12 and 3.13.
138+ Python 3.9, 3.10, 3.11, 3.12 and 3.13.
127139
128140 For detailed compatibility, please check the following table:
129141
130142 Python Release | P4Python Release
131143 ======================================
132- 3.8 | 2020.1 or later
133144 3.9 | 2021.1 or later
134145 3.10 | 2022.1 or later
135146 3.11 | 2022.2 or later
@@ -139,11 +150,11 @@ Compatibility Statements
139150 OpenSSL Compatibility
140151
141152 To build P4Python with encrypted communication support, you must use the
142- version of OpenSSL that Perforce C/C++ API has been built against.
153+ version of OpenSSL that P4 C/C++ API has been built against.
143154
144- Beginning with the 2017.1 release of the Helix C/C++ API, the dependency on
155+ Beginning with the 2017.1 release of the P4 C/C++ API, the dependency on
145156 OpenSSL is now enforced and the SSL stub library has been removed.
146- Executables linked against the P4API libraries must also be linked against
157+ Executables linked against the P4 C/C++ API libraries must also be linked against
147158 real OpenSSL libraries: The latest 3.0.x or 1.1.1 patch is recommended
148159
149160 Platform Compatibility
@@ -172,33 +183,29 @@ Compatibility Statements
172183 Compiler Compatibility
173184
174185 To build P4Python from source, you must use a version of P4Python that has
175- been compiled with the same compiler used to build the Perforce C++ API.
186+ been compiled with the same compiler used to build the P4 C/ C++ API.
176187 For most platforms, use gcc/g++.
177188
178- On Linux since the 2019.1 P4API release, due to a change in library
189+ On Linux since the 2019.1 P4 C/C++ API release, due to a change in library
179190 dependencies, the source code requires gcc 6 or above to be used.
180191
181192 Attempting to use a different compiler or a different version of the
182193 compiler will cause link errors due to differences in name handling.
183194
184- For more information about P4API compiler requirements, please see this link:
195+ For more information about P4 C/C++ API compiler requirements, please see this link:
185196 https://www.perforce.com/manuals/p4api/Content/P4API/client.programming.compiling.html
186197
187- On Windows platforms, the P4Python installer is build with Python from
188- python.org. The installer for Python 3.x was built with Visual Studio 2017
189- and Visual Studio 2008 for Python 2.
190-
191198 To run Python 3.x on Windows, it might be necessary to install the
192199 redistributable version of the 2017 libraries, vc_redist.x64.exe or
193200 vc_redist.x86.exe, respectively for 64 bit and 32 bit.
194- Without these libraries the DLL for P4API will not load into Python and
201+ Without these libraries the DLL for P4 C/C++ API will not load into Python and
195202 the command 'import P4' will fail.
196203
197204 Known Limitations
198205
199- The Perforce client-server protocol is not designed to support
206+ The P4 client-server protocol is not designed to support
200207 multiple concurrent queries over the same connection. For this
201- reason, multi-threaded applications using the C++ API or the
208+ reason, multi-threaded applications using the P4 C/ C++ API or the
202209 script APIs (P4Perl, P4Ruby, etc.) should ensure that a
203210 separate connection is used for each thread or that only one
204211 thread may use a shared connection at a time.
@@ -212,7 +219,7 @@ Compatibility Statements
212219
213220Attributes
214221
215- Perforce P4Python provides the attributes listed below. Attributes
222+ P4Python provides the attributes listed below. Attributes
216223 can be set in the P4() constructor or by using their setters and
217224 getters. For example:
218225
@@ -277,7 +284,7 @@ Attributes
277284
278285Tagged mode and form parsing
279286
280- In Perforce P4Python 2007.3 and later, form parsing and tagged
287+ In P4Python 2007.3 and later, form parsing and tagged
281288 output are enabled by default. (In Public Depot P4Python,
282289 tagged output and form parsing mode were disabled by default,
283290 but most scripts enabled them immediately.)
@@ -297,8 +304,36 @@ Tagged mode and form parsing
297304Key to symbols used in change notes below.
298305
299306 * -- requires new P4Python
300- ** -- requires new p4d server program
301- *** -- requires new P4API
307+ ** -- requires new P4 server program
308+ *** -- requires new P4 C/C++ API
309+
310+ --------------------------------------------------------------------------
311+
312+ New functionalities in 2025.1 (2025.1/2767466) (2025/05/21)
313+
314+ #2757777 (Job #125785)
315+ Built P4Python with P4 C/C++ API 2025.1 (2025.1/2761706)
316+
317+ Bugs fixed in 2025.1
318+
319+ #2744582 (Job #123978)
320+ Eliminated hardcoded bash paths, improving portability and flexibility.
321+ Replaced shell=True with safer subprocess calls using command lists.
322+
323+ #2743827 (Job #124153)
324+ Updated P4Python build behavior to disable silent OPENSSL installation.
325+ Users must now explicitly set the env variable "P4PYTHON_BUILD_SSL=yes"
326+ to enable OPENSSL support during build.
327+ If enabled, OPENSSL sources will be downloaded from the HTTPS-based
328+ URL: https://www.openssl.org/source.
329+ Added the support to build P4Python with OPENSSL 3.x.
330+
331+ #2705918 (Job #124154)
332+ Change auto_ptr into unique_ptr as auto_ptr is obsoleted from C++11.
333+
334+ #2743928 (Job #124332)
335+ Fixed exponential rise of the time needed to run p4.run_print() with
336+ growing file size.
302337
303338--------------------------------------------------------------------------
304339
0 commit comments