PHP RFC: Unbundle ext/recode
- Version: 1.0
- Date: 2019-06-14
- Author: Christoph M. Becker, cmb@php.net
- Status: Implemented for PHP 7.4
- First Published at: https://wiki.php.net/rfc/unbundle_recode
Introduction
ext/recode facilitates conversion between different character sets/encodings. This functionality is basically already supported by ext/iconv and ext/mbstring. While the two latter extensions rely on POSIX iconv support or libiconv, and the bundled libmbfl, respectively, ext/recode relies on the Recode library which is decomissioned and had its latest release on 22 January 2001.
Even worse, at least according to our documentation the latest version (3.6.0) has unresolved issues, so we recommend using Recode 3.5, which is unlikely to be still provided by contemporary OS distributions. Furthermore, the PHP manual mentions collisions with some other extensions, which appear to be still unresolved.
Proposal
For the reasons mentionend in the introduction section, I propose to unbundle ext/recode.
Backward Incompatible Changes
Obviously, code using ext/recode would either have to be ported to use ext/iconv or ext/mbstring instead, or such code
Proposed PHP Version(s)
The unbundling should be done for PHP 7.4.
Vote
Voting starts on 2019-06-28 and ends on 2019-07-12.
Patches and Tests
No patch required.