Releases: felldo/JEmoji
Releases · felldo/JEmoji
v1.7.1
v1.7.0
Features
- Added the ability for methods to handle emojis which are not in their
UNICODE
form. For exampleHTML_DECIMAL
,HTML_HEXADECIMAL
,URL_ENCODED
. - Added support for emoji aliases
EmojiManager.extractAliases
EmojiManager.extractAliasesInOrder
EmojiManager.extractAliasesInOrderWithIndex
EmojiManager.replaceAliases
Improvements
- Updated translation files.
Breaking
EmojiManager.getByAlias
now returnsOptional<List<Emoji>>
instead ofOptional<Emoji>
- Renamed
EmojiManager.containsEmoji
toEmojiManager.containsAnyEmoji
as it describes better what it actually does
v1.6.0
Features
- Upgraded to emoji unicode version
16.0
.
Improvements
- The
emojis.json
file now includes a keywords field. - Added a description and keywords for the same emoji no matter their qualification. This means emojis that are
fully-qualified
,minimally-qualified
andunqualified
share the same description and keywords if any emoji of them have this information.
Breaking
- Splitted the library into 2 modules
jemoji
andjemoji-languages
.Emoji#getDescription(EmojiLanguage)
andEmoji#getKeywords(EmojiLanguage)
will no longer work (their nonEmojiLanguage
parameter methods are still fine to use). If you want to add multi language support, please add the new module (see README how to do so)
v1.5.2
Improvements
- Fixed unicode attribute being the same as emoji. Now the unicode attribute contains the emoji as a string representation.
- Removed dependency on third aprty services for emoji generation. instead jemoji now uses own custom script to gather additional information.
v1.5.1
v1.5.0
Features
- Added support for emoji keywords
Emoji#getKeywords(EmojiLanguage)
- Added methods to get emojis mapped to their group/subgroup
- Added a new class
EmojiLoader
for method separation that are associated to loading/initializing emojis. Currently there are 2 helper methodsloadAllEmojiDescriptions
andloadAllEmojiKeywords
to load all language files. - Removed Jackson dependency. Now this library is dependency-less
Breaking
- Renamed
EmojiDescriptionLanguage
enum toEmojiLanguage
v1.4.1
v1.4.0
Features
- Emojis are now auto generated and are directly accessible through a constant. You can now use
Emojis.THUMBS_UP
to directly get an emoji instance - Added emoji description translations from the CLDR
Emoji#getDescription(EmojiDescriptionLanguage)
Breaking
- Renamed EmojiSubGroup
ARTS_CRAFTS
toARTS_AND_CRAFTS
,LIGHT_VIDEO
toLIGHT_AND_VIDEO
,SKY_WEATHER
toSKY_AND_WEATHER
Dependencies
- Updated Jackson to
2.16.1
v1.3.4
v1.3.3
Features
- Emojis are now
Comparable
(compared by their codepoints length and if equal, by their emoji unicode value) #18 - Allowed
build.gradle.kts
to ignore signing of jars (Jitpack support) - Added
EmojiManager#extractEmojisInOrderWithIndex
(thanks to @freya022 for index idea + implementation #22) - The whole library is now annotated non nullable by default to improve usability for other languages like Kotlin #43
Improvements
- Significantly improved the performance of
getBy*Alias
methods (thanks to @freya022 #17) - Improved the performance of comparing emojis (should only have an effect on initialization of the
EmojiManager
) (thanks to @freya022 for hinting out a faster alternative to get the codepoints count #18) - Improved the performance of getting codepoints from a string (thanks to @freya022 #21)
Dependencies
- Updated Jackson to
2.16.0
Performance overview
Benchmark | Mode | Cnt | Old Score | Score** | Error | Units |
---|---|---|---|---|---|---|
getByAlias -> :+1: |
avgt | 10 | No data | 59,509 | ± 0,608 | ns/op |
getByAlias -> nope |
avgt | 10 | No data | 72,004 | ± 0,546 | ns/op |
containsEmoji | avgt | 10 | 4,820 | 1,403 | ± 0,004 | ms/op |
extractEmojisInOrder | avgt | 10 | 4,481 | 1,382 | ± 0,013 | ms/op |
extractEmojisInOrderOnlyEmojisLengthDescending | avgt | 10 | 8,967 | 6,013 | ± 0,022 | ms/op |
extractEmojisInOrderOnlyEmojisRandomOrder | avgt | 10 | 9,364 | 6,614 | ± 0,045 | ms/op |
extractEmojisInOrderWithIndex | avgt | 10 | No data | 1,814 | ± 0,002 | ms/op |
removeAllEmojis | avgt | 10 | 7,813 | 2,264 | ± 0,370 | ms/op |
replaceAllEmojis | avgt | 10 | 7,213 | 2,517 | ± 0,020 | ms/op |
replaceAllEmojisFunction | avgt | 10 | No data | 2,502 | ± 0,023 | ms/op |