Before version 7.0.26, PHP could parse this string without any problem:
$date = DateTime("Mon Jan 01 20:00:00 BRST 2017");
After that version, PHP returns:
Fatal error: Uncaught Exception: DateTime::__construct(): Failed to
parse time string (Mon Jan 01 20:00:00 BRST 2017) at position 4 (J):
The timezone could not be found in the database in /in/c6K56:5
#0 /in/c6K56(5): DateTime->__construct('Mon Jan 01 20:0...')
thrown in /in/c6K56 on line 5
Process exited with code 255.
I searched in changelogs, but I couldn't find any explanation for that.
I invented the English-language abbreviations, and I also invented the other rows to be consistent with the -3:00 row.
This tz commit in December 2016 (again by Eggert) removes the abbreviations and replaces them with the following text:
These tables use numeric abbreviations like -03 and -0330 for integer hour and minute UTC offsets. Although earlier editions used alphabetic time zone abbreviations, these abbreviations were invented and did not reflect common practice.