====== 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 [[https://directory.fsf.org/wiki/Recode|Recode library]] which is **decomissioned** and had its latest release on 22 January 2001. Even worse, at least according to [[https://www.php.net/manual/en/recode.requirements.php|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 [[https://www.php.net/manual/en/recode.installation.php|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. * Yes * No ===== Patches and Tests ===== No patch required. ===== Implementation ===== - [[http://git.php.net/?p=php-src.git;a=commit;h=58b607c9ea6cdc631a61b18de0cf5c0b3c96c074|applied]] to PHP-7.4 and up - Documentation [[http://svn.php.net/viewvc?view=revision&revision=347728|updated]] ===== References ===== * [[https://externals.io/message/105922|Initial RFC Discussion]]