Releases: Tahaa-Dev/ResExt
Releases · Tahaa-Dev/ResExt
Release v1.4.0
Changelog
v1.4.0 - 2026-03-20
Summary
- Internal changes: Removes syn from crate dependencies
Details
Removed syn from dependencies and implemented a manual enum TokenStream parser for proc-macro for faster compile times, more control and smaller binaries, here are the results:
- 1.2x faster project builds
- ~25% smaller binary size
Release v1.3.3
Changelog
v1.3.3 - 2026-03-14
Removed
Res!()macro from generated items
Added
ResErr::from_args()method to generated items
Migration guide
Use this command in your project's root after replacing <ALIAS> with your result type alias:
Note: requires GNU sed (Linux default; macOS: brew install gnu-sed and use gsed instead of sed)
find . -type f -name "*.rs" -exec sed -i 's/<ALIAS>!(\([^,]*\?\),[\s\n\r]*\([^)]*\?\));/return Err(<ALIAS>Err::from_args(ctx!(\2), \1));/g' {} +Release v1.3.2
Changelog
v1.3.2 - 2026-03-13
Improved
ctx!macro now doesn't generate a newtype struct wrapper on every call
No changes to the public API
Release v1.3.1
Changelog
v1.3.1 - 2026-03-08
Fixed
- Added docs for
ctx!()macro
Release v1.3.0
Changelog
v1.3.0 - 2026-03-07
Added
- New
ctx!()macro - Support for no-alloc lazily evaluated context with
ctx!()macro
Removed
ToContexttrait- Support for
core::fmt::Arguments<'_> - Support for
impl FnOnce() -> impl core::fmt::Display
Migration Guide
- Change resext version to 1.3.0 in your project's Cargo.toml
- Change
.context(FnOnce() -> impl Display)and.context(core::fmt::Arguments<'_>)to.context(ctx!()), here's a command for refactoring your entire project you can run in your project root for format! and format_args! context:
find . -type f -name "*.rs" -exec sed -i -e '/^\/\/!/!{1s/^/use resext::ctx;\n/}' -e 's/\.context(\s*format_args!/.context(ctx!/g' -e 's/\.context(\s*||\s*format!/.context(ctx!/g' {} +Release v1.2.0
Changelog
v1.2.0 - 2026-03-02
Added
- Support for closures in
.context()method via takingimpl FnOnce() -> impl core::fmt::Display
Fixed
- Private module being visible in docs
Release v1.1.0
Changelog
v1.1.0 - 2026-02-17
BREAKING CHANGES:
- Made
.context()and.with_context()a single method - Made the proc-macro not work without the main crate for better docs and util support in the future
Release v1.0.2
Changelog
v1.0.2 - 2026-02-16
Fixed
#[cfg(not(doc))]making docs fail by changing it to#[doc(hidden)]
Release v1.0.1
Changelog
v1.0.1 - 2026-02-13
BREAKING CHANGES:
- Removed all methods from extension trait except for context traits (
.context()and.with_context()) - Removed
stdattribute as it is useless now
Release v1.0.0
Changelog
v1.0.0 - 2026-02-13
BREAKING CHANGES:
- Removed
.byte_context()method - Replaced feature flags for std and alloc to attributes in the macro
Added
- Heap spilling if context exceeds
buf_size - New methods:
.fmt_log()and.write_log() - Full no-std support