Releases: fzyzcjy/flutter_rust_bridge
Releases · fzyzcjy/flutter_rust_bridge
v2.4.0
- Please refer to https://fzyzcjy.github.io/flutter_rust_bridge/guides/miscellaneous/whats-new for what's changed in V2.
- Adds dart fix when generating files #2182 (thanks @AlexV525)
- Fix segfault when passing DartOpaque through ffi boundaries #2259 (thanks @alexlapa)
- Use generated in files to follow rustfmt #2263 (thanks @atezet)
- Fix dart fix command line arg #2288
- Allow pubspec.lock be missing #2289
- Support Clone+Debug+Default for RustAutoOpaque #2293
- Allow RustAutoOpaque inner value to be non-Clone #2293
- Fix struct field does not handle custom serializers #2294
- Remove importing dart:js_util and generalize SSE codec type handling #2295
v2.3.0
- Please refer to https://fzyzcjy.github.io/flutter_rust_bridge/guides/miscellaneous/whats-new for what's changed in V2.
- Support default logging in MacOS #2235 (thanks @wxitcode)
- Support Dart runtime to run mock mode without Rust binaries #2248 #2250 (thanks @Tienisto)
- Make log crate feature enabled by default #2245
v2.2.0
- Please refer to https://fzyzcjy.github.io/flutter_rust_bridge/guides/miscellaneous/whats-new for what's changed in V2.
- Fix geneartion of async functions when default_dart_async: false ; Update frb_example/integrate_third_party #2190 (thanks @Larpoux)
- Don't try to cleanup folders that don't exist #2210 (thanks @Markus43)
- Allow users to override the automatic function rename #2227
- Export more objects to allow custom thread pool without using flutter_rust_bridge::for_generated namespace #2228
v2.1.0
- Please refer to https://fzyzcjy.github.io/flutter_rust_bridge/guides/miscellaneous/whats-new for what's changed in V2.
- Add the ability to generate plugins from the CLI tool #2144 (thanks @mcmah309)
- Fix codegen halt when having boxed trait objects #2180
- Add attribute
#[frb(dart_async)]
#2181 - Fix Dart closures cannot be encoded when using the new Dart JS interop #2191
- Expose Rust executor's async runtime for customization #2151
- Generate methods of Default trait #2150
- Automatically rename function names to avoid keyword conflict #2150
- Improve parsing trait impl in third party crates #2150
- Support more attributes #2140
- Fix generated use statement pointing to self #2140
- Fix linter warning avoid_return_types_on_setters #2140
- Reduce number of generated files #2140
- Add default_dart_async configuration option #2139
- Handle root module scenario in pub use transformer #2124
- Improve hints when fails to parse a struct or enum #2124
v2.0.0
- Please refer to https://fzyzcjy.github.io/flutter_rust_bridge/guides/miscellaneous/whats-new for what's changed in V2.
v2.0.0-dev.42
- Please refer to https://fzyzcjy.github.io/flutter_rust_bridge/guides/miscellaneous/whats-new for what's changed in V2.
- Support brackets and nesting in pub use (such as pub use
a::{b, x::{y,z}}
) #2120 - Support providing configuration both by command line and by config file at the same time #2119
- Tell user reasons when skipping traits #2121
- Update default template comments #2118
- Allow using arbitrary frb attribute as an indicator to include an item #2121
- Improve hints when user specify custom wasm-pack-rustflags but does not contain default one #2122
v2.0.0-dev.41
- Please refer to https://fzyzcjy.github.io/flutter_rust_bridge/guides/miscellaneous/whats-new for what's changed in V2.
- Use dart.library.js_interop rather than dart.library.html #2113 (thanks @aran)
- Auto skip methods in trait definitions that has Self as inputs because it cannot be translated to Dart #2099
- Add type_64bit_int to config #2096
- Improve namespace choices for opaque types #2096
- Hint users when having references in output type, hint when wrong rust_input, and improve docs #2100
- Improve warning message #2098
- Experiment more about translating whole audio crate#2096
- Improve internal code #2096
- Make generated output sorted when using proxy_enum and trait_impl #2115
v2.0.0-dev.40
- Please refer to https://fzyzcjy.github.io/flutter_rust_bridge/guides/miscellaneous/whats-new for what's changed in V2.
- Support returning types with non-static lifetime (i.e. borrowed types / reference types) #2088 #2093
- Loosen config field
rust_input
syntax with delimit,
#2092 (thanks @dbsxdbsx) - Add prefix for automatically generated get/set methods of
#[frb(opaque)]
types to avoid conflicting with existing methods #2090 (thanks @dbsxdbsx) - Support adding arbitrary code in generated Rust file via rust_preamble config #2086
- Support ignoring a whole module by
#[frb(ignore)]
on module #2085 - Support
/// frb:...
#2085
v2.0.0-dev.39
- Please refer to https://fzyzcjy.github.io/flutter_rust_bridge/guides/miscellaneous/whats-new for what's changed in V2.
- Do not create empty logs directory when not in verbose mode #2057
- Automatically strip prefix set_/get_ when it is a setter/getter function #2058
- Support adding errors to stream sink #2059
- Support import statements in dart_code #2061
- Add
#[frb(type_64bit_int)]
to pick preferred Dart big integer type #2065 - Support user-defined custom serializers and deserializers #2067
- Support attributes on impl block ; Improve ignore category message ; Fix external methods are wrong ignored #2069
- Support
#[frb(name)]
on fields to rename them ; Automatically rename Dart field names if they conflict with Dart keywords #2070 - Refactor internal code #2064 #2062
- Migrate to new Dart web package #2063
v2.0.0-dev.38
- Please refer to https://fzyzcjy.github.io/flutter_rust_bridge/guides/miscellaneous/whats-new for what's changed in V2.
- Fix dashed library names #2034 (thanks @vhdirk)
- Refactor internals to base on mods instead of files #2000
- Support code in mod file #2000
- Support code in lib.rs file #2000
- Fix dart_code cannot generate when containing brackets confusing to mod parser #2000
- Support multiple input path prefixes #2000
- Add dart_type_rename to customize Dart names of opaque types #2006
- Support automatic scanning of third party crates (part 1) #2007
- Enhance usize and isize #2008
- Support syntax of
pub use something::*
#2009 - Improve Dart output directory of third party crates #2010
- Support overriding things in third party crate #2011 #2013
- Automatically mark methods of non-pub structs as ignored #2012
- Refactor macros information encoding and decoding #2014
- Detect and skip functions with generics #2015
- Auto detect as opaque when third party struct/enum has non public field #2016
- Auto convert reference type in return type as unit type #2017
- Automatically mirror for scanned third party types #2018
- Skip generating auto accessors for borrowed fields #2018
- Support slices as arguments (such as
&[u8]
,&[Something]
) #2019 - Support non-exhaustive enumerations #2020
- Improve Dart import generation #2021
- Support trait methods and trait default implementations #2024
- Improve pub use parsing and trait definition parsing in third party crates #2025
- Add integrate_third_party example #2027
- Support overriding third party methods #2029
- Support adding new methods to third party structs #2029
- Fix third party pub use scanning problem #2030
- Support multiple
#[frb(external)]
impl blocks for a single struct #2030 - Fix scanning third party pub use concrete type for methods #2031
- Make generated Dart opaque class abstract to improve testability #2032
- Refactor HIR (high-level intermediate representation) #2037
- Add stop_on_error configuration #2037
- Refactor override_priority and refine_namespace #2041
- Support trait definitions and translate to Dart abstract classes #2033
- Support third party overriding traits #2033
- Refactor MIR (mid-level intermediate representation) parser #2044
- Support
#[frb(generate_impl_enum)]
#2046 - Fix overriding attributes in third party crates for traits #2046
- Add RustOpaqueInterface to cleanup generated interface #2047
- Refactor to extract early_generator between high-level intermediate representation and mid-level intermediate representation #2049
- Support
#[frb(proxy)]
#2050 #2052 #2053 - Refactor to extract Lockable #2051
- Support &dyn Trait #2054