- Add
REGEX_TEXT_PRESENTATION
to be able to match for raw default-text Emoji codepoints
- Remove emoji-test.txt from Rubygems package
- Directly use
RbConfig::CONFIG["UNICODE_EMOJI_VERSION"]
to detect Ruby's Emoji version, drop unicode-version dependency
- Breaking change: Regexes now include single skin tone modifiers (
🏻
) and hair components (🦰
). They were previously considered to be invalid partial Emoji, however since they are supposed to be displayed as Emoji in isolation, they are now part of the regexes (see ED-20 in UTS51). - Breaking change: Drop
REGEX_ANY
in favor ofREGEX_PROP_EMOJI
- Expose regexes for Emoji props (
REGEX_PROP_*
). The advantage over using the native regex properties directly is that you will be able to use the Emoji support level of this gem instead of Ruby's. For example, as of releasing this, the current Emoji version is 16.0, while Ruby is at 15.0. Also see README for a table listing the regexes that match Emoji properties. - Add
REGEX_EMOJI_KEYCAP
for matching specifically Emoji keycaps - Use character class instead of lookbehind for native text emoji and non-emoji pictographic regexes
- Add new RGI-based regexes
REGEX_INCLUDE_MQE
andREGEX_INCLUDE_MQE_UQE
which allows to match for minimally-qualified and unqualified RGI sequences (Emoji that lack some VS16) - Add specs running through
emoji-text.txt
and classify qualification statuses per regex - Improve documentation and add detailed table about which regex has which features
- Native regexes: Use native Emoji props for Emoji text presentation
- Update CLDR to v46 (valid subdivisions)
- Further improvements (see commit log)
- Bump required Ruby slightly to 2.5
- Introduce new
REGEX_POSSIBLE
which contains the regex described in https://www.unicode.org/reports/tr51/#EBNF_and_Regex - Fix that some valid subdivisions were not decompressed (
REGEX_VALID
) - Be stricter about selection of tag characters in
REGEX_WELL_FORMED
- Only U+E0030..U+E0039, U+E0061..U+E007A allowed
- Max tag sequence length
- Use native
/\p{RI}/
regex for regional indicators - Separately autoload emoji list, so it can be loaded when other indexes are not needed
Unicode::Emoji::REGEX_TEXT
now matches non-emoji keycaps like "3⃣" (U+0033 U+20E3)- Minor refactorings
- Emoji 16.0
- Emoji 15.1
- Update valid subdivisions to CLDR 43 (no changes) -> there won't be any new RGI subdivision flags in Emoji
- Update valid subdivisions to CLDR 42 (no changes)
- Emoji 15.0
- Update valid subdivisions to CLDR 41
- Fix
REGEX
to be able to match complete family emoji, instead of sub-matching partial families, thanks @matt17r
- Update valid subdivisions to CLDR 40
- Vastly improve memory usage, patch by @radarek
- Emoji regexes are now pre-generated and bundled with the release
- Regexes use character classes instead of unions when possible
- Most constants (e.g. regexes) now get autoloaded
- See #9 for more details
- Emoji 14.0
- Update valid subdivisions to CLDR 39
- Update valid subdivisions to CLDR 38.1
- Update valid subdivisions to CLDR 38
- Loosen Ruby dependency to allow Ruby 3.0
- Emoji 13.1
- Use native Emoji regex properties when current Ruby's Emoji support is the same as our current Emoji version
- Update valid subdivisions to CLDR 37
- Emoji 13.0
- Fix index to actually include Emoji 12.1
- Emoji 12.1
- Update subdivisions to CLDR 36
- Add
REGEX_PICTO
which matches codepoints with the Extended_Pictographic property - Add
REGEX_PICTO_NO_EMOJI
which matches codepoints with the Extended_Pictographic property, but no Emoji property
- Emoji 12.0 data (including valid subdivisions)
- Introduce new
REGEX_WELL_FORMED
to be able to match for invalid tag and region sequences - Introduce new
*_INCLUDE_TEXT
regexes which include matching for textual presentation emoji - Refactoring: Update Emoji matching to latest standard while keeping naming close to standard
- Issue warning when using
#list
method to retrieve outdated category - Change matching for ZWJ sequences: Do not limit sequence to a maximum of 3 ZWJs
- Emoji 11.0
- Do not depend on rubygems (only use zlib stdlib for unzipping)
- Explicitly load rubygems/util, fixes regression in 1.2.1
- Use
Gem::Util
forgunzip
, removes deprecation warning
- Actually set required Ruby version to 2.3 in gemspec
- Drop support for Ruby below 2.3, use 0.9 if you need to
- Internal refactorings, no API change
- Implement native Emoji regex matchers, but do not activate or document, yet
- REGEX_TEXT: Do not match if the text emoji is followed by a emoji modifier
- Include a categorized list of recommended Emoji
- Initial release (Emoji version 5.0)