Releases: gear-tech/sails
Releases · gear-tech/sails
Sails-RS v0.10.2
What's Changed
- feat(rs/cli/program_new): add dependency inheritance from workspace by @StackOverflowExcept1on in #1138
- fix: clippy 1.92
unused_assignmentsby @vobradovich in #1152 - feat(rs/cli/new): add
--ethflag, fix compatibility with Solidity names by @StackOverflowExcept1on in #1162
Full Changelog: rs/v0.10.1...rs/v0.10.2
Sails-RS v0.10.1
What's Changed
- feat(vara.eth): implement #[export(payable)] by @m62624 in #1120
- docs: add section for payable macro by @m62624 in #1130
- fix(vara.eth): use RustType from SolType to decode payload by @vobradovich in #1128
- fix(vara.eth): fix incorrect contract generation by @StackOverflowExcept1on in #1133
- feat(vara.eth): add Solidity keyword validation for identifiers by @m62624 in #1132
- docs(vara.eth): clarify identifier validation by @m62624 in #1141
Full Changelog: rs/v0.10.0...rs/v0.10.1
Sails-RS v0.10.0
Bump up Gear crates to v1.10.0
What's New
- BREAKING CHANGE: New client implementation and code generation by @vobradovich in #1050
What's Changed
- feat: add ping-pong example w/ message stacking by @vobradovich in #1077
- feat(gearexe): remove uint128 value as first parameter in contracts & signatures by @vobradovich in #1081
- feat(sol-gen): add payable modifier, adjust callback modifier by @osipov-mit in #1117
- feat(sol-gen): parse #[indexed] comment from IDL by @m62624 in #1118
- feat(rs/ethexe): add some logic to demonstrate how vara.eth works by @StackOverflowExcept1on in #1113
New Contributors
- @StackOverflowExcept1on made their first contribution in #1113
Full Changelog: js/v0.5.0...rs/v0.10.0
Sails-RS v0.9.2
Bump up Gear crates to v1.9.2
Full Changelog: js/v0.5.0...rs/v0.9.2
Sails-JS v0.5.0
Breaking Changes
- Implemented
QueryBuilderclass that provides a convenient way to build and run Sails queries.
From now query functions in Sails and in the lib generated by sails-js-cli return QueryBuilder class instead of the result of the query.
Previous way:
const alice = 'kGkLEU3e3XXkJp2WK4eNpVmSab5xUNL9QtmLPh8QfCL2EgotW';
// Query function accepted originAddress, value, atBlock as direct parameters
const result = await sails.services.ServiceName.queries.QueryName(alice, null, null, functionArg1, functionArg2);New way:
const alice = 'kGkLEU3e3XXkJp2WK4eNpVmSab5xUNL9QtmLPh8QfCL2EgotW';
// Query function now accepts only function arguments and returns QueryBuilder
const result = await sails.services.ServiceName.queries.QueryName(functionArg1, functionArg2)
.withAddress(alice)
.call();
// All QueryBuilder methods are optional
const result = await sails.services.ServiceName.queries.QueryName(functionArg1, functionArg2).call();
// Full configuration example
const result = await sails.services.ServiceName.queries.QueryName(functionArg1, functionArg2)
.withAddress(alice)
.withValue(1000000000000n) // 1 VARA
.withGasLimit(50000000000n)
.atBlock('0x1234567890abcdef...')
.call();Changes
- Fixed creating messages with a single argument (#1051)
Sails-RS v0.9.1
Bump up Gear crates to v1.9.1
What's New
- Introduce a benchmarking suite for the
sails_rs
What's Changed
- bench: Add benchmarking suite for the
sails_rsby @techraed in #934 - feat: Update to thiserror 2.0 to auto derive core::error::Error trait by @vobradovich in #1014
- fix: conflicting Exposure
Intoimpl by @vobradovich in #1027 - doc: add
payablefeature info by @techraed in #1033 - refactor: use
gtest::System::calculate_reply_for_handlefor queries by @techraed in #1028 - feat: Improve new program generation via cargo sails new by @vobradovich in #1039
Full Changelog: js/v0.4.3...rs/v0.9.1
Sails-JS v0.4.3
Changes
- Skipped type file generation if types are not present in the IDL
- Improved encoding / decoding in the
TransactionBuilderclass - Capitalized enum variant names in generated files
- From now gas can be calculated automatically when using
TransactionBuilder's methodsingAndSend
Sails-RS v0.9.0
Bump up Gear crates to v1.9.0
What's New
- BREAKING CHANGE: the
#[export]attribute must be on all methods that should be accessible via message - BREAKING CHANGE: use
#[sails_rs::event]macro to generate encoding code for event - BREAKING CHANGE: require impl
Defaulttrait on program with no ctors - Improved handling of
syncmethods without gstd async runtime - Changing approach of funcs implementations for services
- Service methods defined in impl Service with #[sails_rs::service] are moved to Exposure and are no longer accessible directly via the Service type.
- Exposure implement DerefMut<Target = Service> to allow transparent access to service internals.
- Event emission (emit_event, emit_eth_event) is permitted only within Exposure methods. This removes the need for statically storing the service route, simplifying event emission logic.
- Base services no longer need to implement
Clone, an extended service must implement Into to destruct into base services
- new Sails program generation via
cargo sails newfrom precompiled template
What's Changed
- chore(sails): display slice as hex w/o alloc by @vobradovich in #953
- chore(sol-gen): rename
_encodeReplyargument into_callReplyby @osipov-mit in #960 - feat(js): skip types generation if it is not needed by @osipov-mit in #961
- refactor: use
gstd::message_looponly for async ctors and service methods by @techraed in #939 - feat: introduce Builder to generate IDL and client from program by @vobradovich in #947
- fix(sol-gen): generated filename starts with capital letter by @osipov-mit in #968
- feat(client): support to send a message for query with gclient by @vobradovich in #952
- fix: demo app gclient test by @techraed in #986
- feat(js): capitalize enum variants, improve TransactionBuilder by @osipov-mit in #983
- perf(macros): use #[sails_rs::event] macro to generate encoding code for event by @vobradovich in #954
- feat: extend Syscalls with reply and signal details getters by @vobradovich in #982
- refactoring(sails-macros-core): Remove
clonefrom theprogrammacro by @techraed in #989 - feat: Changing approach of funcs implementations for services by @vobradovich in #984
- chore(macros): require impl Default on program with no ctors by @vobradovich in #997
- feat(cli): add new program generation and precompiled templates by @vobradovich in #993
- refactor: do not send reply, if returned data is empty by @techraed in #1001
- chore: bump gear crates to v1.9.0 by @breathx in #1006
Full Changelog: js/v0.4.2...rs/v0.9.0
Sails-JS v0.4.2
Sails-RS v0.8.1
Bump up Gear crates to v1.8.1
What's New
- Transfering the value to the program in a message without payload
- Using the stack buffer to optimize the encoding of events and replies
- Added Syscall structure, for proxying and testing system calls
- Support program upgradability with
gr_exitcall to redirect message to new program
What's Changed
- feat(sails-rs): make
with_argsaccept Fn to chain calls by @vobradovich in #897 - feat(macros): accept value to program without a message payload by @vobradovich in #910
- chore(macros): add
handle_replyfn to program impl, remove fromprogramattr by @vobradovich in #917 - feat(sails-rs): Use stack buffer to optimize events encoding by @techraed in #911
- feat(sails-rs,sails-macro): Use stack buffer to optimize reply payloads by @techraed in #918
- feat: add Syscall struct, impl for wasm & tests by @vobradovich in #920
- feat(macros): accept
&mut selfin program service expo by @vobradovich in #927 - feat: Support program upgradability with gr_exit call to redirect message to new program by @vobradovich in #896
Full Changelog: rs/v0.8.0...rs/v0.8.1