Skip to content

Commit 3f79711

Browse files
authored
v0.1.5 prep (#93)
Update doc: * aarch64 support is automatically enabled since Rust 1.61 * changelog * update library doc from readme Cargo release config: * cargo-release: remove replacements that are no longer needed * only allow releases from main branch
1 parent 523c37d commit 3f79711

File tree

4 files changed

+11
-26
lines changed

4 files changed

+11
-26
lines changed

CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
# Changelog
22
## [Unreleased]
33

4+
### Bug fixes
5+
* Fix Undefined Behavior in WebAssembly SIMD128 (#86) (thanks @CryZe)
6+
* Documentation and clippy fixes (thanks @rtfeldman, @jqnatividad, @rhysd)
7+
8+
### Performance
9+
* WASM: Don't use u8x16_bitmask for ASCII Check (#79) (thanks @CryZe)
10+
411
## [0.1.4] - 2022-04-02
512

613
### New features
@@ -72,4 +79,3 @@
7279
[0.0.3]: https://github.com/rusticstuff/simdutf8/compare/v0.0.2...v0.0.3
7380
[0.0.2]: https://github.com/rusticstuff/simdutf8/compare/v0.0.1...v0.0.2
7481
[0.0.1]: https://github.com/rusticstuff/simdutf8/releases/tag/v0.0.1
75-

README.md

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ This library has been thoroughly tested with sample data as well as fuzzing and
1414
* `basic` API for the fastest validation, optimized for valid UTF-8
1515
* `compat` API as a fully compatible replacement for `std::str::from_utf8()`
1616
* Supports AVX 2 and SSE 4.2 implementations on x86 and x86-64
17-
* 🆕 ARM64 (aarch64) SIMD is supported with Rust 1.59 and 1.60 (use feature `aarch64_neon`) and Nightly (no extra feature needed)
17+
* 🆕 ARM64 (aarch64) SIMD is supported since Rust 1.61
1818
* 🆕 WASM (wasm32) SIMD is supported
1919
* x86-64: Up to 23 times faster than the std library on valid non-ASCII, up to four times faster on ASCII
2020
* aarch64: Up to eleven times faster than the std library on valid non-ASCII, up to four times faster on ASCII (Apple Silicon)
@@ -31,11 +31,6 @@ Add the dependency to your Cargo.toml file:
3131
[dependencies]
3232
simdutf8 = "0.1.4"
3333
```
34-
For ARM64 SIMD support on Rust 1.59 and 1.60:
35-
```toml
36-
[dependencies]
37-
simdutf8 = { version = "0.1.4", features = ["aarch64_neon"] }
38-
```
3934

4035
Use `simdutf8::basic::from_utf8()` as a drop-in replacement for `std::str::from_utf8()`.
4136

@@ -85,11 +80,7 @@ the targeted CPU. Use `RUSTFLAGS="-C target-feature=+avx2"` for the AVX 2 implem
8580
for the SSE 4.2 implementation.
8681

8782
### ARM64
88-
The SIMD implementation is only available on Rust Nightly and Rust 1.59 or later. On Rust Nightly it is now turned on
89-
automatically.
90-
To get the SIMD implementation with Rust 1.59 and 1.60 the crate feature `aarch64_neon` needs to be enabled.
91-
For Rust Nightly this will no longer be required (but does not hurt either). It is expected that the SIMD implementation
92-
will be enabled automatically starting with Rust 1.61.
83+
The SIMD implementation is used automatically since Rust 1.61.
9384

9485
### WASM32
9586
For wasm32 support, the implementation is selected at compile time based on the presence of the `simd128` target feature.
@@ -176,4 +167,3 @@ simdjson itself is distributed under the Apache License 2.0.
176167

177168
## References
178169
John Keiser, Daniel Lemire, [Validating UTF-8 In Less Than One Instruction Per Byte](https://arxiv.org/abs/2010.03090), Software: Practice and Experience 51 (5), 2021
179-

release.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ pre-release-replacements = [
22
{file="CHANGELOG.md", search="## \\[Unreleased\\]", replace="## [Unreleased]\n\n## [{{version}}] - {{date}}", exactly=1},
33
{file="CHANGELOG.md", search="\\[Unreleased\\]: https://github\\.com/rusticstuff/simdutf8/compare/v[0-9.]+\\.\\.\\.HEAD", replace="[Unreleased]: https://github.com/rusticstuff/simdutf8/compare/v{{version}}...HEAD\n[{{version}}]: https://github.com/rusticstuff/simdutf8/compare/v{{prev_version}}...v{{version}}", exactly=1},
44
{file="README.md", search="simdutf8 = \"[0-9.]+\"", replace="simdutf8 = \"{{version}}\"", exactly=1},
5-
{file="README.md", search="simdutf8 = \\{ version = \"[0-9.]+\"", replace="simdutf8 = { version = \"{{version}}\"", exactly=1},
65
{file="src/lib.rs", search="simdutf8 = \"[0-9.]+\"", replace="simdutf8 = \"{{version}}\"", exactly=1},
7-
{file="src/lib.rs", search="simdutf8 = \\{ version = \"[0-9.]+\"", replace="simdutf8 = { version = \"{{version}}\"", exactly=1},
86
]
9-
7+
allow-branch = ["main"]

src/lib.rs

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,6 @@
2828
//! [dependencies]
2929
//! simdutf8 = "0.1.4"
3030
//! ```
31-
//! For ARM64 SIMD support on Rust 1.59:
32-
//! ```toml
33-
//! [dependencies]
34-
//! simdutf8 = { version = "0.1.4", features = ["aarch64_neon"] }
35-
//! ```
3631
//!
3732
//! Use [`basic::from_utf8()`] as a drop-in replacement for `std::str::from_utf8()`.
3833
//!
@@ -83,11 +78,7 @@
8378
//! for the SSE 4.2 implementation.
8479
//!
8580
//! ### ARM64
86-
//! To get the SIMD implementation with Rust 1.59 on ARM64 the crate feature `aarch64_neon` needs to be enabled. For Rust Nightly
87-
//! this is no longer required (but does not hurt either). Once [Rust PR #90621](https://github.com/rust-lang/rust/pull/90621)
88-
//! lands in a stable version, this is no longer required.
89-
//!
90-
//! CAVE: If this features is not turned on with Rust 1.59 the non-SIMD std library implementation is used.
81+
//! The SIMD implementation is used automatically since Rust 1.61.
9182
//!
9283
//! ### WASM32
9384
//! For wasm32 support, the implementation is selected at compile time based on the presence of the `simd128` target feature.

0 commit comments

Comments
 (0)