All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Droptrait implementation — contexts are automatically freed whenAbieosgoes out of scope.as_ptr()method to access the raw context pointer for FFI interop.- Thread-safety documentation on the
Abieosstruct explainingSendbut notSync.
- Breaking:
contextfield is now private. Useas_ptr()for raw pointer access. - Breaking:
from_context()now creates a non-owning wrapper (won't free the context on drop). - Breaking:
destroy()method removed — replaced by automaticDrop.
- Removed
is_destroyedfield (was set but never checked). - Removed
Optionwrapper on context (was alwaysSome).
delete_contractanddelete_contract_nativemethods onAbieosto remove a loaded contract from the context.JsonToBinerror variant for accurate error reporting fromjson_to_bin.impl std::error::Error for AbieosError— enablesanyhow,thiserror,eyrecompatibility.- Upstream abieos support for
bitsetABI type. - Upstream abieos support for fixed-size array types (e.g.
uint8[32]). - Upstream abieos support for nested array types (array of arrays, optional arrays).
- Upstream abieos
abieos_delete_contractC API function.
- Breaking: All methods now accept
&strinstead ofStringfor JSON/HEX inputs. - Breaking: All methods now accept
&[u8]instead ofVec<u8>for binary inputs. - Updated
abieosC++ submodule fromae6854etof7d5b45(latest upstream main). - Bumped
bindgenbuild dependency from0.69.4to0.72.1.
- Bug:
hex_to_json,bin_to_json,get_type_for_action,get_type_for_table, andget_type_for_action_resultno longer panic on invalid names — they now propagate errors viaResult. - Bug:
json_to_binnow returnsAbieosError::JsonToBininstead ofAbieosError::JsonToHex. - Bug:
get_type_for_table_nativenow returnsAbieosError::GetTypeForTableinstead ofAbieosError::GetTypeForAction. - Upstream fix for
to_jsonconversion ofdoublevalues. - Upstream fix for integer overflow in serialization.
- Upstream fix for
memcpy()with NULL source pointer.
- Removed
fpconvC library compilation (upstream removed it). - Removed deprecated
.static_flag(true)calls inbuild.rs.
- Initial tracked release on crates.io.
- Rust wrapper for abieos C library with support for:
- Name conversion (
string_to_name,name_to_string) - ABI loading (JSON, HEX, binary formats)
- JSON ↔ HEX ↔ binary serialization/deserialization
- Action and table type lookups
- ABI format conversion (
abi_bin_to_json,abi_json_to_bin)
- Name conversion (