Skip to content

Releases: jeffhuen/encoding_rs

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 29 Aug 05:45

Changed

  • Removed global application configuration. The default dirty-scheduler threshold remains 64KB, and the default input limit remains 100MB. Pass options to each operation, stream, or decoder when different limits are needed.
  • Removed the unused Logger startup declaration. EncodingRs has no application callback, supervision tree, or shared process state.
  • Released the streaming decoder lock before compacting its output buffer.
  • Added a 0.3 to 0.4 migration guide.

Public function arities, return values, and default limits are unchanged.

See the full changelog.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 16 Aug 21:20

Changed

  • Added validated per-operation options while preserving existing arities and application configuration as a compatibility fallback.
  • Added detailed decode results, a non-raising native availability check, and scheduler-aware batch operations.
  • Updated Elixir, Rust, and GitHub Actions dependencies. The minimum supported Elixir version is now 1.15.
  • Added a 0.2 to 0.3 migration guide.

Fixed

  • Kept no-option calls on the direct scheduler path and resolved stream options once per enumeration.
  • Encode operations now reject decode-only labels instead of silently emitting UTF-8.
  • Replaced panic-capable streaming output allocation with checked reservation and an :allocation_failed error.

See the full changelog.

v0.2.4

Choose a tag to compare

@github-actions github-actions released this 16 Feb 22:59
Bump version to 0.2.4, update CHANGELOG

v0.2.3

Choose a tag to compare

@github-actions github-actions released this 30 Jan 01:33
Fix workflow: remove tag trigger that caused duplicate builds

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 29 Jan 21:58
Bump version to 0.2.2, fix encode_batch panic, DRY refactors, doc fixes

- Fix .unwrap() in encode_batch that could crash the BEAM on allocation failure
- Extract decoder_decode_chunk_impl to DRY up Rust NIF code
- Extract route_nif/4 and normalize_result/1 to DRY up Elixir layer
- Remove unsupported HZ encoding from docs
- Clarify encoding count (40 encodings, 200+ aliases)
- Fix stream/2 docs incorrectly claiming 1:1 output correspondence
- Add stream flush tests for incomplete trailing sequences
- Bump Cargo.toml version to match mix.exs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 23 Jan 05:44
Bump version to 0.2.1, add benchmarks and comparison guide

- Fix precompiled binary checksum mismatch from 0.2.0
- Add comparison guide with benchmarks vs codepagex and iconv
- Add benchmark script (bench/comparison_bench.exs)
- Update README with benchmark results

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 23 Jan 04:19
Add v0.2.0 checksums for all NIF versions

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 23 Jan 01:30
Initial commit: encoding_rs v0.1.0

Elixir bindings for encoding_rs providing fast character encoding conversion.

Features:
- Decode text from various encodings (Shift_JIS, GBK, EUC-KR, etc.) to UTF-8
- Streaming decoder with BOM sniffing support
- Precompiled NIFs via rustler_precompiled

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>