Releases: specta-rs/specta
Releases · specta-rs/specta
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.
2.0.0-rc.5 - Fix compilation error
When compiling Specta with the typescript
feature enabled but not the js_doc
feature Specta would fail to compile. This is now fixed.