This release brings minor changes to snapshot testing by adding an additional option to remove version headers from generated code. This will make our snapshot tests more robust by preventing test breakage that used to occur when updating our version.
typeshare-core
- Each language implementation now has an additional public variable that can be set to remove version headers from generated code.
This release brings Scala functionality to the CLI, support for Apple Silicon as a pre-built binary, and refactors how we handle language variants internally to be more type-safe.
typeshare-cli
- Scala is now a language generation target! Try it out with
typeshare --lang=scala --scala-package=com.your.package.here some/file.rs
- Future releases (including this one) now support aarch64-apple-darwin as an additional architecture.
- Scala is now a language generation target! Try it out with
typeshare-core
- Language variants are now represented as enums instead of strings.
Thank you to the following community contributors for your work on this release:
This release brings major new additions, the largest of which is support for Scala as a language generation target. Additionally, the code generation API has been expanded/revised, and many bugs have been fixed.
-
typeshare-cli
- Kotlin now uses
val
consistently for defining fields. - Some issues with the command line options have been corrected.
- Unit structs that don't use bracket syntax are now supported.
- Typescript can now handle type aliases of optional types.
- Empty structs are now represented as objects in Kotlin.
- You can now define read-only Typescript properties with
#[typeshare(typescript(readonly))]
. - Doubly-nested option types (
Option<Option<T>>
) are now supported in Typescript.
- Kotlin now uses
-
typeshare-core
- The
Language
trait now takesself
mutably for more flexibility in implementations. - Scala is now a supported language for code generation, though the CLI does not use it yet.
- The attribute parser has been reworked to be more robust and flexible for future additions.
- The
-
Miscellaneous
- We now have a proper release system and prebuilt binaries for anyone to download 🎉
- Releases will be weekly on every Thursday.
Thank you to the following community contributors for your work on this release:
exoego, Czocher, ccouzens, McAJBen, adriangb, kareid, nihaals, ChrisMcKenzie, justintime4tea, prestontw, and julienfouilhe!