Releases: specta-rs/specta
v2.0.0-rc.22
This release comes with many fixes contributed by the community and the removal of the Language
trait along with moving the export feature back into the core which will help with supporting the next release of rspc.
Changes:
Warning: If your are using the release with Tauri you will likely need to wait to the next minor release before it works.
Thanks to @0HyperCube, @cAttte, @Raicuparta and @bgschiller for contributing to this release.
v2.0.0-rc.17 - General upgrades
This release comes with a handful of small incremental improvements primarily targeted at the next release of Tauri Specta including:
specta-jsdoc
crate for JSDoc exporting. This crate is still a work in progress.- Move
function::fn_datatype
andfunction::collect_functions
from proc macros tomacro_rules
- Remove
pub use datatype::*
from the crates root. Imports must be updated to be fromspecta::datatype::...
instead. - Merge
specta_typescript::ExportConfig
intospecta_typescript::Typescript
- Handle removing
r#
from the function name directly in Specta (previously we handled this at the Tauri Specta level) - Add aditional time types (#275) thanks @agasparovic
v2.0.0-rc.14 - Restructure
With this release we have undergone a complete restructure of the repository and many functionality that was previously in the core has been more out into external crates.
- You must now enable the
derive
feature onspecta
to get thespecta::Type
macro. specta::ts
is nowspecta_typescript
specta::export
has been moved tospecta_util
DataTypeFrom
is now in the unreleasedspecta-datatype-from
crate
Note: v2.0.0-rc.15 was done quickly after due to a bug I missed in the macros.
v2.0.0-rc.13 - Handle `r#` escaping with `specta::command`
v2.0.0-rc.12 - Fix bugs with enums
This release fixes a bug where the following type would cause Specta to crash:
#[derive(Type)]
#[serde(tag = "type", content = "data")]
pub enum SkippedFieldWithinVariant {
A(#[serde(skip)] String),
B(String),
}
v2.0.0-rc.10 - Fix bugs in function handling
Changes:
- Empty
collect_commands
would throw error "unable to infer type for Vec". collect_commands
using a module path (Eg.some_module::function
) would not work due to macro visibility
v2.0.0-rc.9 - Nit
Changes:
- Rename
functions
module tofunction
. So it's nowspecta::function::*
. - Rename
functions
feature tofunction
.
v2.0.0-rc.8 - Steady Steady
Changes:
- Rename
SpectaFunction
,SpectaFunctionArg
andSpectaFunctionResult
toFunction*
- Drop
tauri
feature - Make
FunctionArg
public - Add
Type
implementation forBox<str>
- Bump
bevy
andglam
versions. - Drop
Type::definition
in favor ofType::inline(type_map, Generics::Definition)
- Fix #196
- Fix #205
- Fix #202
- Fix #201
- Fix #191
- Fix #198
- Fix #189
- Fix #194
Thanks to @0HyperCube, @bennoinbeta and @mawallace for contributing to this release!
2.0.0-rc.7 - General improvements
Fixes:
- Fix internally tagged enums with certain children types - #174
serde_json::Value
is now an enum of possible value - #176- Fix recursive types - #179
[T; N]
is now a Typescript fixed-size tuple - 7039fba- Lock the version of Specta macros correctly. - #173
- Lazily process
#[specta(skip)]
types - #167 - Make transparent + skip work correctly together - #170
New Features:
DataTypeFrom
now supports#[specta(rename = "")]
- #186- Adding some new remote impls for glam and bevy - Thanks @bennoinbeta
- Added support for ulid - #155 Thanks @beanow-at-crabnebula
Breaking Changes:
- Remove
Type::definition_generics
function - Remove
DefOpts
- Change
TypeMap
from a type alias of aBTreeMap
to a custom type. - Move
specta::ts::prettier
tospecta::ts::formatters::prettier
2.0.0-rc.6 - Minor fixes
Fixes:
- Fix regression in
#[specta(skip)]
handling leading to compilation errors - Fix incorrect Typescript from an enum in vector.