Skip to content

Releases: felldo/JEmoji

v1.7.1

13 Feb 22:16
Compare
Choose a tag to compare

Improvements

  • Emoji#getUnicode has been deprecated in favor of Emoji#getUnicodeText to not confuse it with Emoji#getEmoji
  • Initialization time has been greatly improved (#57)

v1.7.0

03 Feb 15:49
Compare
Choose a tag to compare

Features

  • Added the ability for methods to handle emojis which are not in their UNICODE form. For example HTML_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 returns Optional<List<Emoji>> instead of Optional<Emoji>
  • Renamed EmojiManager.containsEmoji to EmojiManager.containsAnyEmoji as it describes better what it actually does

v1.6.0

20 Nov 16:08
Compare
Choose a tag to compare

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 and unqualified share the same description and keywords if any emoji of them have this information.

Breaking

  • Splitted the library into 2 modules jemoji and jemoji-languages. Emoji#getDescription(EmojiLanguage) and Emoji#getKeywords(EmojiLanguage) will no longer work (their non EmojiLanguage 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

06 Sep 21:02
Compare
Choose a tag to compare

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

13 Aug 12:35
Compare
Choose a tag to compare

Features

  • Fixed mixed up order of github and slack alias in static Java code generation

v1.5.0

12 Aug 22:00
Compare
Choose a tag to compare

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 methods loadAllEmojiDescriptions and loadAllEmojiKeywords to load all language files.
  • Removed Jackson dependency. Now this library is dependency-less

Breaking

  • Renamed EmojiDescriptionLanguage enum to EmojiLanguage

v1.4.1

11 May 18:30
Compare
Choose a tag to compare

Features

  • Added support for emoji variations

Dependencies

  • Updated Jackson to 2.17.1

v1.4.0

09 Mar 19:59
Compare
Choose a tag to compare

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 to ARTS_AND_CRAFTS, LIGHT_VIDEO to LIGHT_AND_VIDEO, SKY_WEATHER to SKY_AND_WEATHER

Dependencies

  • Updated Jackson to 2.16.1

v1.3.4

26 Jan 19:16
Compare
Choose a tag to compare

Improvements

  • Fixed a bug when jemoji is included via module-info.java (thanks to @Terge3141 #45)

v1.3.3

02 Dec 16:29
Compare
Choose a tag to compare

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