Skip to content

Releases: icerpc/slicec

Slicec 0.4.0

Choose a tag to compare

@InsertCreativityHere InsertCreativityHere released this 02 Jun 20:20
0b4dcd0

What's Changed

This is a major release which changes the model of slicec from being a pure library, to a binary executable (#705).
Instead of writing executables which use the slicec library to generate code, you now call the slicec executable
and supply code-generator plugins to it using the --generator (-G for short) command-line option (#752, #767).
Run cargo run -- --help for a full explanation of the new command-line interface.

Enhancements

  • Duplicate diagnostic messages are now filtered out (#778).

Breaking

  • Dropped Slice1 support. slicec now only accepts what were formerly called Slice2-mode files.
    • Dropped support for class types and the AnyClass builtin type (#749).
    • Dropped support for exception declarations, throws clauses, and @throws tags in doc-comments (#750).
    • Dropped mode statements; since slicec now supports only one mode (formerly known as Slice2) (#751).
  • @link and @see tags in doc-comments can no longer reference parameters or return members (#757).
  • Removed all helper functions that were only used by downstream crates, and not slicec itself (#751, #753, #756).

Changed

  • Changed the API for reporting and printing diagnostics, and added a new Info diagnostic level (#770, #772, #774).
  • Changed the error codes to account for many errors which were removed (#766).

by @InsertCreativityHere, @externl, and @pepone

Full Changelog: v0.3.3...slicec-0.4.0
Crate: https://crates.io/crates/slicec/0.4.0
Docs: https://docs.icerpc.dev/

v0.3.3

Choose a tag to compare

@InsertCreativityHere InsertCreativityHere released this 01 Dec 15:19
523a350

What's Changed

Changed

  • Updated dependencies and bumped MSRV to 1.82 (#704).

by @InsertCreativityHere

Full Changelog: v0.3.2...v0.3.3
Crate: https://crates.io/crates/slicec/0.3.3
Docs: https://docs.icerpc.dev/

v0.3.2

Choose a tag to compare

@InsertCreativityHere InsertCreativityHere released this 11 Sep 14:34
6d4e991

What's Changed

Added

  • Added support for computing source-hashes of Slice files, for tools to utilize (#696).

Fixed

  • Fixed redefinition errors on containers triggering false-positives for their contents (#700).

Changed

  • The compiler no longer emits a build summary message when using JSON formatted output (#702).

by @InsertCreativityHere

Full Changelog: v0.3.1...v0.3.2
Crate: https://crates.io/crates/slicec/0.3.2
Docs: https://docs.icerpc.dev/

v0.3.1

Choose a tag to compare

@InsertCreativityHere InsertCreativityHere released this 27 Mar 18:24

What's Changed

Enhancements

  • Input files are now loaded and parsed in the order they're passed (#694).

by @InsertCreativityHere

Full Changelog: v0.3.0...v0.3.1
Crate: https://crates.io/crates/slicec/0.3.1
Docs: https://docs.icerpc.dev/

v0.3.0

Choose a tag to compare

@InsertCreativityHere InsertCreativityHere released this 07 Feb 16:02

What's Changed

Added

  • Added a new built-in generic type: Result<S, F> (#687).
  • Added support for compact enums (#686).
  • Added support for specifying explicit discriminants on enumerators with fields (#688).

Enhancements

  • Allow @param tags to be used for documenting enumerator fields.
  • Implemented the Default trait for Ast and CompilationState.
  • Implemented the Hash trait for SliceOptions and DiagnosticFormat.

Fixed

  • Improved the cycle detection logic to correctly check fields in enumerators (#689).

Breaking

  • Enums with fields can no longer be used as dictionary keys (#685).
  • CompilationState no longer implements Send (so we have greater freedom to evolve it).

Changes

  • The files code_gen_util.rs and code_block.rs were moved out of this crate (into slicec-cs).

by @InsertCreativityHere

Full Changelog: v0.2.1...v0.3.0
Crate: https://crates.io/crates/slicec/0.3.0
Docs: https://docs.icerpc.dev/

v0.2.1

Choose a tag to compare

@InsertCreativityHere InsertCreativityHere released this 29 Nov 16:27
ab9d4ea

What's Changed

Enhancements

  • Added default no-op implementations to Visitor to make it easier to implement (#678).

Fixed

  • Fixed crash caused by some syntax errors when the parser expected EOL (#677).

Full Changelog: v0.2.0...v0.2.1
Crate: https://crates.io/crates/slicec/0.2.1
Docs: https://docs.icerpc.dev/

v0.2.0

Choose a tag to compare

@InsertCreativityHere InsertCreativityHere released this 29 Nov 16:22

What's Changed

Added

  • Added support for enums with associated fields (#664).
  • Added support for specifying scoped exceptions in @throws doc comment tags (#662).
  • Added is_within to check if a Location is within a Span (#668).

Enhancements

  • Added improve location tracking to messages and tags in doc comments (#670).
  • Improved the Visitor to automatically skip unpatched type references by @externl (#672).
  • Implemented the Send and Sync trait for some of the compiler's types.

Fixed

  • Fixed crash caused by compiling a Slice file with no module declaration.

Breaking

  • Interfaces can no longer be used a type in Slice definitions (#675).
  • Removed unused is_numeric_or_bool function from Primitive.

Full Changelog: v0.1.1...v0.2.0
Crate: https://crates.io/crates/slicec/0.2.0
Docs: https://docs.icerpc.dev/

v0.1.1

Choose a tag to compare

@externl externl released this 05 Oct 18:46
d5a3a9e

What's Changed

Full Changelog: v0.1.0...v0.1.1
Crate: https://crates.io/crates/slicec/0.1.1
Docs: https://docs.icerpc.dev/

0.1.0

Choose a tag to compare

@bernardnormier bernardnormier released this 06 Sep 20:20