Releases: fzyzcjy/flutter_rust_bridge
Releases · fzyzcjy/flutter_rust_bridge
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
v2.0.0-dev.37
- Please refer to https://fzyzcjy.github.io/flutter_rust_bridge/guides/miscellaneous/whats-new for what's changed in V2.
- Support positional parameters (in addition to named parameters) #1988
- Support overriding environment variable for build-web #1984
- Hint users when a function is not public and is ignored #1985
- Rename generated functions that are not to be used by end users explicitly #1983
- Improve generated user-facing API #1988
v2.0.0-dev.36
- Please refer to https://fzyzcjy.github.io/flutter_rust_bridge/guides/miscellaneous/whats-new for what's changed in V2.
- Automatically generate getters and setters for public fields of opaque types #1975
- Support Dart setters #1972
- Support i128 and u128 #1964
- Improve RustAutoOpaque's API and codegen handling #1970
- Fix when users do not have explicit dependency on anyhow #1967
- Hint users when using opaque types inside non opaque structs #1978
- Hint users when using getters of opaque types #1976
v2.0.0-dev.35
- Please refer to https://fzyzcjy.github.io/flutter_rust_bridge/guides/miscellaneous/whats-new for what's changed in V2.
- Support Result type when Rust calls Dart back #1945
- Support type char #1957
- Support renaming functions and methods #1958
- Re-enable MemorySanitizer #1959
- Show hints when functions or methods are ignored #1956
- Add hints to deliberate Exception in RustLib.init in Chrome #1955
- Support when struct type definition is in one file, struct impl is in another file, and the impl needs extra import #1953
v2.0.0-dev.34
- Please refer to https://fzyzcjy.github.io/flutter_rust_bridge/guides/miscellaneous/whats-new for what's changed in V2.
- Add preamble for dart generated files #1949 (thanks @Krysl)
- Support same function name in different files #1944
- Support dart_format_line_length on generated .freezed.dart #1939
- Improve hints when Flutter hot restarts with Streams #1942
- Fix name conflict when using C++ keywords #1943
- Fix warning use of deprecated associated function chrono::NaiveDateTime::from_timestamp_micros #1941
- Bump Dart SDK source #1940
v2.0.0-dev.33
- Please refer to https://fzyzcjy.github.io/flutter_rust_bridge/guides/miscellaneous/whats-new for what's changed in V2.
- Automatically wait when concurrent mutable access, while still preventing deadlocks #1920
v2.0.0-dev.32
- Please refer to https://fzyzcjy.github.io/flutter_rust_bridge/guides/miscellaneous/whats-new for what's changed in V2.
- Support self in non-opaque case (&self already supported before) #1880
- Support &SomeStructOrEnum in non-opaque case (SomeStructOrEnum already supported before) #1880
- Support &str type (String already supported before) #1880
- Support instance and static methods for enums without fields #1879
- Revert stream default semantics to not wait for Rust function execution #1877
- Allow users to customize whether to await for Rust function for streams #1877
- Hint users when a type is automatically inferred as both opaque and non-opaque #1876
- Add check to ensure Rust and Dart has in-sync generated code #1878
v2.0.0-dev.31
- Please refer to https://fzyzcjy.github.io/flutter_rust_bridge/guides/miscellaneous/whats-new for what's changed in V2.
- Support methods in external crates #1861
- Support inserting arbitrary Dart code #1860
- Support disabling default Hash/Eq generation #1860
- Support passing stream object at arbitrary location and arbitrary amount #1867
- Let Rust function finish execution before returning stream object #1867
- Support cases when using Rust conditional compilation #1856
- Fix not exporting some struct types needed for customizing handlers #1865
- Fix ignoring user-provided custom handler objects #1865
- Fix ReceivePort is not closed when subscription is cancelled before Rust closes the stream #1857