Skip to content

Releases: gear-tech/sails

Sails-JS v1.0.0

22 May 12:12
4e32c09

Choose a tag to compare

What's Changed

Full Changelog: js/v1.0.0-beta.2...js/v1.0.0

Sails-RS v1.0.0

21 May 12:53

Choose a tag to compare

BREAKING CHANGE v1.0.0

  • IDL V2 Introduction: Introduced a new version of the Interface Definition Language (IDL V2) along with its specification, Abstract Syntax Tree (AST), parser, and code generator. This new version provides enhanced capabilities and a more structured approach to defining interfaces.
  • Sails Header for Message Routing: Implemented a standardized Sails Header (v1) for asynchronous messages. This header facilitates deterministic routing, improves off-chain decodability, and enables unique service fingerprinting without altering the underlying Gear message layout. Detailed specifications for the header, interface IDs, and ReflectHash are provided.
  • Client Generation Logic Refinement: Updated the client generation process to align with IDL V2 and the new Sails Header. This includes changes to how service methods and events are identified and encoded/decoded, leveraging new ROUTE_ID and INTERFACE_ID constants for improved clarity and efficiency.
  • Sails Type Registry: Replace scale-info with sails-type-registry.
  • Comprehensive Documentation: Added new documentation files (idl-v2-spex.md, interface-id-spec.md, reflect-hash-spec.md, sails-header-v1-spec.md) to thoroughly explain the new specifications and their implications for developers.

What's Changed

  • feat(idl-v2): intoduce IDL V2 (spec, ast, parser, gen) and Sails Header (spec, routing, code gen) by @vobradovich in #1186
  • feta: add Syscall - ::gas_available, ::read_bytes, ::system_reserve_gas, refine deps, add Syscall spec by @vobradovich in #1247
  • feat: embed IDL in WASM custom sections (sails:idl) by @ukint-vs in #1261
  • feat: replace scale-info with sails-type-registry by @m62624 in #1248
  • feat: Client generation for IDL v1 using sails-rs 1.x.x by @vobradovich in #1286
  • feat: add #[sails_type] attribute macro to simplify dervive by @vobradovich in #1297
  • feat: Extend #[export] with per-function transport/encoding opt-in (scale and ethabi) by @vobradovich in #1303
  • feat: Migrate type registry to IDL AST, add explicit generic type declarations by @vobradovich in #1314
  • feat: #[event] macros codec selection by @vobradovich in #1325
  • feat: State trait, pattern, doc, examples by @vobradovich in #1331
  • feat: Simplify service event listening API by @vobradovich in #1332
  • feat(macros): allow empty init payload for #[program] without constructors, filter program-level dispatch by export codec by @vobradovich in #1357

New Contributors

Full Changelog: rs/v0.10.3...rs/v1.0.0

Sails-JS v1.0.0-beta.2

15 May 12:08
9077b7d

Choose a tag to compare

Pre-release

What's Changed

  • fix(js): validate route_idx in v2 header check; uniform events[x].type by @ukint-vs in #1340
  • fix(js): validate reply prefix in decodeResult by @ukint-vs in #1315
  • feat(js): service-scoped type resolution + generic substitution on TypeResolver by @ukint-vs in #1323
  • feat(js): public user-type accessors on SailsProgram and SailsService by @ukint-vs in #1343

Full Changelog: js/v1.0.0-beta.1...js/v1.0.0-beta.2

Sails-RS v0.10.4

13 May 09:35

Choose a tag to compare

What's Changed

Full Changelog: rs/v0.10.3...rs/v0.10.4

Sails-RS v1.0.0-beta.5

12 May 11:16

Choose a tag to compare

Pre-release

BREAKING CHANGE v1.0.0

  • IDL V2 Introduction: Introduced a new version of the Interface Definition Language (IDL V2) along with its specification, Abstract Syntax Tree (AST), parser, and code generator. This new version provides enhanced capabilities and a more structured approach to defining interfaces.
  • Sails Header for Message Routing: Implemented a standardized Sails Header (v1) for asynchronous messages. This header facilitates deterministic routing, improves off-chain decodability, and enables unique service fingerprinting without altering the underlying Gear message layout. Detailed specifications for the header, interface IDs, and ReflectHash are provided.
  • Client Generation Logic Refinement: Updated the client generation process to align with IDL V2 and the new Sails Header. This includes changes to how service methods and events are identified and encoded/decoded, leveraging new ROUTE_ID and INTERFACE_ID constants for improved clarity and efficiency.
  • Sails Type Registry: Replace scale-info with sails-type-registry.
  • Comprehensive Documentation: Added new documentation files (idl-v2-spex.md, interface-id-spec.md, reflect-hash-spec.md, sails-header-v1-spec.md) to thoroughly explain the new specifications and their implications for developers.

What's Changed

Full Changelog: rs/v1.0.0-beta.4...rs/v1.0.0-beta.5

Sails-RS v1.0.0-beta.4

23 Apr 14:45

Choose a tag to compare

Pre-release

BREAKING CHANGE v1.0.0

  • IDL V2 Introduction: Introduced a new version of the Interface Definition Language (IDL V2) along with its specification, Abstract Syntax Tree (AST), parser, and code generator. This new version provides enhanced capabilities and a more structured approach to defining interfaces.
  • Sails Header for Message Routing: Implemented a standardized Sails Header (v1) for asynchronous messages. This header facilitates deterministic routing, improves off-chain decodability, and enables unique service fingerprinting without altering the underlying Gear message layout. Detailed specifications for the header, interface IDs, and ReflectHash are provided.
  • Client Generation Logic Refinement: Updated the client generation process to align with IDL V2 and the new Sails Header. This includes changes to how service methods and events are identified and encoded/decoded, leveraging new ROUTE_ID and INTERFACE_ID constants for improved clarity and efficiency.
  • Sails Type Registry: Replace scale-info with sails-type-registry.
  • Comprehensive Documentation: Added new documentation files (idl-v2-spex.md, interface-id-spec.md, reflect-hash-spec.md, sails-header-v1-spec.md) to thoroughly explain the new specifications and their implications for developers.

What's Changed

  • fix: cargo sails new error: failed to select a version for the requirement by @vobradovich in #1296
  • fix: strip .wasm/.opt extensions from program name by @m62624 in #1300
  • feat: add #[sails_type] attribute macro to simplify dervive by @vobradovich in #1297
  • feat: migrate metadata from doc-comments to IDL annotations by @m62624 in #1301
  • feat: Extend #[export] with per-function transport/encoding opt-in (scale and ethabi) by @vobradovich in #1303
  • feat: add Address type by @m62624 in #1313
  • fix(IDL): make Annotation ident rust compatible for #[annotate(<ident>)], rename entry-id to entry_id by @vobradovich in #1322
  • feat: Migrate type registry to IDL AST, add explicit generic type declarations by @vobradovich in #1314
  • feat(codegen): filter generated clients by codec annotations by @vobradovich in #1305

Full Changelog: rs/v1.0.0-beta.3...rs/v1.0.0-beta.4

Sails-RS v1.0.0-beta.3

13 Apr 10:57

Choose a tag to compare

Pre-release

BREAKING CHANGE v1.0.0

  • IDL V2 Introduction: Introduced a new version of the Interface Definition Language (IDL V2) along with its specification, Abstract Syntax Tree (AST), parser, and code generator. This new version provides enhanced capabilities and a more structured approach to defining interfaces.
  • Sails Header for Message Routing: Implemented a standardized Sails Header (v1) for asynchronous messages. This header facilitates deterministic routing, improves off-chain decodability, and enables unique service fingerprinting without altering the underlying Gear message layout. Detailed specifications for the header, interface IDs, and ReflectHash are provided.
  • Client Generation Logic Refinement: Updated the client generation process to align with IDL V2 and the new Sails Header. This includes changes to how service methods and events are identified and encoded/decoded, leveraging new ROUTE_ID and INTERFACE_ID constants for improved clarity and efficiency.
  • Sails Type Registry: Replace scale-info with sails-type-registry.
  • Comprehensive Documentation: Added new documentation files (idl-v2-spex.md, interface-id-spec.md, reflect-hash-spec.md, sails-header-v1-spec.md) to thoroughly explain the new specifications and their implications for developers.

What's Changed

  • feat: add git:// support to IDL v2 includes by @m62624 in #1272
  • fix: cargo cargo sails new error: failed to select a version for the requirement by @vobradovich in #1273
  • feat: add entry_id to IDL AST and use it across parser and generators by @vobradovich in #1275
  • feat: replace scale-info with sails-type-registry by @m62624 in #1248
  • feat: Client generation for IDL v1 using sails-rs 1.x.x by @vobradovich in #1286

Full Changelog: rs/v1.0.0-beta.2...rs/v1.0.0-beta.3

Sails-JS v1.0.0-beta.1

13 Apr 10:56
3b5a8d7

Choose a tag to compare

Pre-release

What's Changed

Full Changelog: js/v0.5.0...js/v1.0.0-beta.1

Sails-RS v1.0.0-beta.2

27 Mar 12:56

Choose a tag to compare

Pre-release

BREAKING CHANGE v1.0.0

  • IDL V2 Introduction: Introduced a new version of the Interface Definition Language (IDL V2) along with its specification, Abstract Syntax Tree (AST), parser, and code generator. This new version provides enhanced capabilities and a more structured approach to defining interfaces.
  • Sails Header for Message Routing: Implemented a standardized Sails Header (v1) for asynchronous messages. This header facilitates deterministic routing, improves off-chain decodability, and enables unique service fingerprinting without altering the underlying Gear message layout. Detailed specifications for the header, interface IDs, and ReflectHash are provided.
  • Client Generation Logic Refinement: Updated the client generation process to align with IDL V2 and the new Sails Header. This includes changes to how service methods and events are identified and encoded/decoded, leveraging new ROUTE_ID and INTERFACE_ID constants for improved clarity and efficiency.
  • Comprehensive Documentation: Added new documentation files (idl-v2-spex.md, interface-id-spec.md, reflect-hash-spec.md, sails-header-v1-spec.md) to thoroughly explain the new specifications and their implications for developers.

What's Changed

  • feat(cli): fix template name conflict, remove old templates by @vobradovich in #1245
  • fix: sails-cli idl gen for eth by @vobradovich in #1246
  • feat: add Syscall - ::gas_available, ::read_bytes, ::system_reserve_gas, refine deps, add Syscall spec by @vobradovich in #1247
  • fix: fn returns CommandReply<()> with value must send manual reply by @vobradovich in #1254
  • feat: support type aliases in IDL v2 by @m62624 in #1264
  • feat: add include support to IDL v2 by @m62624 in #1175
  • feat: embed IDL in WASM custom sections (sails:idl) by @ukint-vs in #1261

New Contributors

Full Changelog: rs/v1.0.0-beta.1...rs/v1.0.0-beta.2

Sails-JS v1.0.0-beta

26 Mar 10:40
df23d53

Choose a tag to compare

js/v1.0.0-beta

chore: inline macros to simplify code generation (#1258)