Skip to content
This repository was archived by the owner on Aug 11, 2026. It is now read-only.

Releases: Desert-Ant-Labs/emo

Emo 0.10.2

Choose a tag to compare

@github-actions github-actions released this 27 Jul 18:00

Packages

  • SwiftPM: .package(url: "https://github.com/Desert-Ant-Labs/emo.git", from: "0.10.2")
  • Android: ai.desertant:emo:0.10.2 (Maven Central)
  • Android bundled model resources: ai.desertant:emo-tflite-resources:0.10.2
  • npm: @desert-ant-labs/emo@0.10.2

What's Changed

  • Bump desert-ant-core to 0.5.3 and release 0.10.2 by @finnvoor in #13

Full Changelog: v0.10.1...v0.10.2

Emo 0.10.1

Choose a tag to compare

@github-actions github-actions released this 27 Jul 17:07

Packages

  • SwiftPM: .package(url: "https://github.com/Desert-Ant-Labs/emo.git", from: "0.10.1")
  • Android: ai.desertant:emo:0.10.1 (Maven Central)
  • Android bundled model resources: ai.desertant:emo-tflite-resources:0.10.1
  • npm: @desert-ant-labs/emo@0.10.1

What's Changed

  • Android: depend on ai.desertant:core instead of vendoring HostBridge.kt by @finnvoor in #6
  • node: build on @desert-ant-labs/core instead of vendoring the JS runtime by @finnvoor in #7
  • node: pass directory=null for the shared managed model cache by @finnvoor in #8
  • mise: consume the shared model-SDK build catalog by @finnvoor in #9
  • kotlin: use the ai.desertant.model-sdk Gradle convention plugin by @finnvoor in #10
  • ci: tag-driven releases via the shared model-SDK workflow by @finnvoor in #11
  • Bump desert-ant-core to 0.5.1 and release 0.10.1 by @finnvoor in #12

Full Changelog: v0.8.0...v0.10.1

Emo 0.8.0

Choose a tag to compare

@finnvoor finnvoor released this 22 Jul 11:27

Emo 0.8.0 release.

  • SwiftPM: https://github.com/Desert-Ant-Labs/emo.git, from 0.8.0
  • Android: ai.desertant:emo:0.8.0
  • Android bundled model resources: ai.desertant:emo-tflite-resources:0.8.0
  • npm: @desert-ant-labs/emo@0.7.0 (unchanged this release)

Highlights:

  • Android minimum lowered from API 31 to API 24 (Android 7.0). NFKC normalization now runs through the host's java.text.Normalizer instead of the platform libicu, removing the API 31 floor. Validated on real hardware.
  • On-device multilingual emoji suggestion with a small bundled model, consistent APIs across Swift, Kotlin, and JavaScript.

v0.7.0

Choose a tag to compare

@finnvoor finnvoor released this 21 Jul 15:39

Unified cross-platform Emo SDK: one Swift pipeline shipping to Apple (Core ML), Android (LiteRT), and JavaScript/Node (LiteRT.js in the browser, native Core ML/LiteRT in Node). Small model bundled by default on every platform; on-demand download from desert-ant-labs/emo@v0.7.0 available. Validated on macOS Core ML, Linux LiteRT, headless-Chromium, Node (linux-x64/arm64 + darwin-arm64), and Android on-device.

0.6.0

Choose a tag to compare

@finnvoor finnvoor released this 07 Jul 08:24

Emo 0.6.0 - transformer-pool model, ~800-emoji curated vocab.

  • New architecture: a tiny 2-layer transformer encoder + attention pool over the semantic token sequence (order-aware; composes phrases/idioms instead of averaging).
  • Curated ~800-emoji everyday vocab (foods, animals, objects, instruments, ...), near-duplicates merged.
  • Independent held-out top-1 (judged by an independent model): ~75% (0.5.0) -> ~78%.
  • On-device size ~5.0 MB (4-bit palettized).

0.3.0

Choose a tag to compare

@finnvoor finnvoor released this 23 Jun 15:51
8fe54c7

Release 0.3.0 with the Danish-enabled bundled model.

  • Adds Danish support as the 23rd language.
  • Updates the bundled Core ML model, tokenizer, and metadata.
  • Keeps the public API unchanged.

0.2.0

Choose a tag to compare

@finnvoor finnvoor released this 23 Jun 10:05
6715a04

What's new

Preferred emoji skin tone

Emo.suggestions(for:) now accepts an optional skinTone to request a preferred skin tone for skin-tone-capable emoji. The model predicts the default (yellow) presentation; this is applied as post-processing.

try await Emo.suggestions(for: "go for a run", limit: 1, skinTone: .medium) // 🏃🏽
  • New EmojiSkinTone enum: .default, .light, .mediumLight, .medium, .mediumDark, .dark.
  • New String.applyingSkinTone() helper, handling ZWJ sequences and existing modifiers/VS16.
  • Defaults to .default (no modifier) — fully backwards compatible.

0.1.0

Choose a tag to compare

@finnvoor finnvoor released this 22 Jun 17:24

On-device emoji suggestions — 22 languages, ~300 emojis, ~5 MB.