{"version":"2.1.239","anchor":"look-alike-character-table-widened-and-ascii-letters-protect","canonical_anchor":"look-alike-character-table-widened-and-ascii-letters-protect","heading":"Look-alike character table widened, and ASCII letters protected","tier":"notice","area":"Path Safety","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.239\/e\/look-alike-character-table-widened-and-ascii-letters-protect","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.239","markdown":"### Look-alike character table widened, and ASCII letters protected\n\nAround eighty more look-alike characters are detected, and genuine ASCII letters are no longer rewritten.\n\n**What**\n\nAbout eighty more look-alike code points (Latin small capitals, Cherokee, Yi radicals, Armenian, Coptic, Cyrillic) now map to their ASCII letters. A bug where the table's uppercase-derivation step could rewrite genuine ASCII characters is fixed by refusing any mapping whose uppercase form is itself a plain ASCII letter.\n\n**Details**\n\n- The guard is `!\/^[A-Za-z]$\/.test(n)` in the loop that extends the table.\n\n**Evidence**\n\n`!\/^[A-Za-z]$\/.test(n)`\n\n- Area: Path Safety\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 2\/5"}