11 Release Notes for
22 P4PHP, Perforce's script API for PHP
33
4- Version 2019.2
4+ Version 2020.1
55
66Introduction
77
@@ -36,7 +36,7 @@ Unix and Mac: Building the P4PHP Extension
3636 subdirectory and look in the bin.tools directory for a release which
3737 matches your php version (5 or 7) (for example,
3838 ftp://ftp.perforce.com/perforce/r19.2/bin.tools/p4php-php7.tgz) for
39- the 2019.2 P4PHP.
39+ the 2020.1 P4PHP.
4040
4141 2. Download the Perforce C++ API from the Perforce FTP site at
4242 "ftp://ftp.perforce.com/perforce". The API archive is located
@@ -99,7 +99,7 @@ Unix and Mac: Building the P4PHP Extension
9999 SSL support
100100 -----------
101101
102- Perforce Server 2019.2 supports SSL connections and the C++ API has
102+ Perforce Server 2020.1 supports SSL connections and the C++ API has
103103 been compiled with this support. This means that in order to build
104104 P4PHP, the underlying PHP framework must include OpenSSL.
105105
@@ -175,27 +175,25 @@ Compatibility Statements
175175
176176 API Compatibility
177177
178- The 2019.2 release of P4PHP requires the 2019.2 Perforce API.
179- Older releases (down to 2008.2) will not work and will fail to compile.
178+ The 2020.1 release of P4PHP requires the 2020.1 Perforce API.
179+ Older releases will not work and will fail to compile.
180180
181181 OpenSSL compatibility
182182
183183 The minimum version of OpenSSL libraries required is driven
184- by the 2019.2 server; the minimum version needed is 1.0.0.
185- Please note that many distributions provide OpenSSL version
186- 0.9.8, which is not compatible.
184+ by the 2020.1 server; the minimum version needed is 1.0.0.
187185
188186 PHP compatibility
189187
190- The 2019.2 release of P4PHP is compatible with PHP versions: 7.0.x - 7.3 .x
188+ The 2020.1 release of P4PHP is compatible with PHP versions: 7.0.x - 7.4 .x
191189
192190 Platform compatibility
193191
194192 Though P4PHP is generally portable, this release is certified
195193 only on the following platforms:
196194
197195 Linux 2.6 Intel (x86, x86_64)
198- Windows 7, 10, 2012R2, 2016 Intel (x86, x86_64)
196+ Windows 10, 2016, 2019
199197
200198 Compiler compatibility
201199
@@ -215,12 +213,28 @@ Key to symbols used in change notes below.
215213 ** -- requires P4PHP built with new P4API
216214 *** -- requires new p4d server program
217215
216+ --------------------------------------------------------------------------
217+
218+ New functionality in 2020.1
219+
220+ #1993685 (Job #102864) * ** ***
221+ Updated the stored spec templates to match the 2020.1 server
222+ specs. This ensures new features are present in specs which are
223+ accessed offline.
224+
225+ #1928845, #1992229, #1992308 (Jobs #101673, #102863) * **
226+ Added support for PHP 7.4
227+
228+ Bugs fixed since 2020.1/1997425
229+
230+ #880735 (Job #66537) * **
231+ Fixed parameter processing in run_submit() method.
218232
219233--------------------------------------------------------------------------
220234
221235New functionality in 2019.2
222236
223- #1922953 (Bug #101550) * ** ***
237+ #1922953 (Job #101550) * ** ***
224238 Updated the stored spec templates to match the 2019.2 server
225239 specs. This ensures new features are present in specs which are
226240 accessed offline.
@@ -238,58 +252,58 @@ New functionality in 2018.2
238252
239253New functionality in 2016.2
240254
241- #1487051 (Bug #86758) *
255+ #1487051 (Job #86758) *
242256 Add support for PHP7. Since PHP5 and PHP7 are so different in their
243257 implementation, two separate releases will be provided. P4PHP will continue
244258 to support PHP5, while P4PHP7 is a release dedicate to PHP7.
245259
246- #1478705, 1478790 (Bug #89654) * ** ***
260+ #1478705, 1478790 (Job #89654) * ** ***
247261 Add support for proxy-like connections for both PHP5 and PHP7
248262
249263Bugs fixed since 2014.1/880729
250264
251- #880735 (Bug #66537) *
265+ #880735 (Job #66537) *
252266 Fixed an array inconsistency issue with 'run_filelog'. It will
253267 also now return the right depotpath as well.
254268
255269--------------------------------------------------------------------------
256270
257271New functionality in 2013.1
258272
259- #491487, #499320, #499365 (Bug #57838) *
273+ #491487, #499320, #499365 (Job #57838) *
260274 Added support for PHP 5.4.
261275
262276Bugs fixed since 2013.1/617119
263277
264- #643056 (Bug #65572)
278+ #643056 (Job #65572)
265279 Fixed a problem in the P4 Map Lhs, Rhs and ToA methods that
266280 could cause a crash when under load.
267281
268- #631971 (Bug #65805)
282+ #631971 (Job #65805)
269283 Correctly set the program version if specified.
270284
271285Bugs fixed in 2013.1
272286
273- #597731 (Bug #63968) *
287+ #597731 (Job #63968) *
274288 Fixed memory leak in the output handler code. The memory leak
275289 was particularly noticeable when using output handlers with large
276290 files.
277291
278- #567338 (Bug #62248)
292+ #567338 (Job #62248)
279293 Test 013 'Identity' will now work correctly on Windows.
280294
281- #541820, #541832 (Bug #60875) *
295+ #541820, #541832 (Job #60875) *
282296 Correctly determines the kernel version for Linux builds.
283297
284- #541502 (Bug #60865) *
298+ #541502 (Job #60865) *
285299 Fixed a problem that caused a runtime error when running on
286300 Ubuntu 12.10.
287301
288302--------------------------------------------------------------------------
289303
290304New functionality in 2012.1
291305
292- #408393 (Bug #51084) * ** ***
306+ #408393 (Job #51084) * ** ***
293307 Added support for SSL connections to SSL-enabled servers. No
294308 build changes are needed to include SSL support, as PHP itself
295309 is dynamically linked against OpenSSL libraries.
@@ -304,18 +318,18 @@ New functionality in 2012.1
304318
305319Bugs fixed since 2012.1/442152
306320
307- #469976, #469763 (Bugs #55524, #56332) *
321+ #469976, #469763 (Jobs #55524, #56332) *
308322 Fixed a problem where the run_filelog() method could emit
309323 warnings and/or fail to populate revision objects correctly
310324 under some conditions.
311325
312326Bugs fixed in 2012.1
313327
314- #439393 (Bug #54125) *
328+ #439393 (Job #54125) *
315329 Setting the 'prog' property of the P4 class now actually takes
316330 effect.
317331
318- #429067 (Bug #51901) *
332+ #429067 (Job #51901) *
319333 Updated the stored spec templates to match the 2012.1 server
320334 specs. This ensures new features are present in specs which are
321335 accessed offline.
@@ -324,7 +338,7 @@ Bugs fixed in 2012.1
324338
325339New functionality in 2011.1
326340
327- #339007 (Bug #42252) * **
341+ #339007 (Job #42252) * **
328342 P4PHP supports a callback interface by providing a P4.handler
329343 property. Set P4.handler to an instance of a
330344 P4_OutputHandlerInterface implementor to enable callbacks. When
@@ -335,7 +349,7 @@ New functionality in 2011.1
335349 large results are expected.
336350 See the documentation for details on the Output Handler.
337351
338- #332692 (Bug #45863) * ** ***
352+ #332692 (Job #45863) * ** ***
339353 Enable streams in P4PHP by default. With this change, streams
340354 specific specs such as streams depots are listed. To disable the
341355 listing of streams specific specs either set the api_level to a
@@ -344,41 +358,41 @@ New functionality in 2011.1
344358
345359Bugs fixed in 2011.1
346360
347- #424881 (Bugs #42375, #51886, #51917) *
361+ #424881 (Jobs #42375, #51886, #51917) *
348362 Fixed issues where p4 filelog could produce an erroneous result
349363 or cause a segmentation fault to occur.
350364
351- #385159 (Bug #49324) **
365+ #385159 (Job #49324) **
352366 On Windows Vista, Windows 7, or Windows 2008, a client running
353367 as Administrator would fail to properly process file names in
354368 non-ASCII character sets (such as Shift-JIS).
355369
356- #359248 (Bug #48691) *
370+ #359248 (Job #48691) *
357371 Fixed a dangling pointer issue that caused memory segmentation
358372 faults when P4PHP was run on Windows platforms.
359373
360- #359180 (Bug #49040) *
374+ #359180 (Job #49040) *
361375 Minor adjustments done to make P4PHP run properly on Mac OS X
362376 Lion.
363377
364- #342679 (Bug #47726) *
378+ #342679 (Job #47726) *
365379 Fixed a bug where P4PHP would not compile on Windows platforms
366380 due to the tsrm_ls variable not being present.
367381
368- #339053 (Bug #47423) *
382+ #339053 (Job #47423) *
369383 Made command arguments and the input property support binary
370384 values which contain null bytes.
371385
372- #308036, #337730 (Bugs #44695, #47235) *
386+ #308036, #337730 (Jobs #44695, #47235) *
373387 Adjusted the version string to be consistent with other APIs.
374388 Added API patch level and made OS names consistent.
375389
376- #333583 (Bug #45521) *
390+ #333583 (Job #45521) *
377391 Fixed a bug where P4PHP would erroneously convert custom spec
378392 fields which ended in a digit into an array. They are now passed
379393 through unchanged.
380394
381- #332681 (Bug #47529) *
395+ #332681 (Job #47529) *
382396 Updated the stored spec templates to match the 2011.1 server
383397 specs. This ensures new features such as streams are present in
384398 specs which are accessed offline.
@@ -387,32 +401,32 @@ Bugs fixed in 2011.1
387401
388402New functionality in 2010.2
389403
390- #262640 (Bug #39740) * ** ***
404+ #262640 (Job #39740) * ** ***
391405 New methods 'GetStreams' and 'SetStreams' have been added to enable
392406 Streams support.
393407
394408Bugs fixed in 2010.2
395409
396- #289739 (Bug #43685) *
410+ #289739 (Job #43685) *
397411 Fixed a bug where P4PHP could segfault when attempting to use the
398412 'P4' instance during the late stages of a PHP process shutdown
399413 (via object destructors), where the instance being referenced may
400414 no longer be present in the zend_object_store. We guard against
401415 this scenario and emit a fatal zend_error.
402416
403- #273229 (Bug #41378) *
417+ #273229 (Job #41378) *
404418 Fixed a pointer management bug that was causing crashes under
405419 Windows 64-bit.
406420
407- #264526 (Bugs #38248, #38488, #39008, #39471) *
421+ #264526 (Jobs #38248, #38488, #39008, #39471) *
408422 P4PHP now properly picks up the version string set in config.w32
409423 when compiled on a Windows platform.
410424
411425--------------------------------------------------------------------------
412426
413427New functionality in 2010.1
414428
415- #238024 (Bug #38089) *
429+ #238024 (Job #38089) *
416430 A new property, 'expand_sequences' enables scripts to control
417431 whether keys with trailing numbers are expanded into arrays
418432 in tagged output. By default, 'expand_sequences' is true to
@@ -421,12 +435,12 @@ New functionality in 2010.1
421435
422436Bugs fixed in 2010.1
423437
424- #238014 (Bug #38084) *
438+ #238014 (Job #38084) *
425439 Tagged output with numeric sequences (e.g. foo0, foo1, ...)
426440 could conflict with tags that are not numbered (e.g. foo).
427441 This could cause P4PHP to crash. This change detects the
428442 conflict and skips expansion.
429443
430- #237983 (Bug #38074) *
444+ #237983 (Job #38074) *
431445 Text output could be truncated if it contained null characters.
432446 This change makes handling of text output binary-safe.
0 commit comments