Skip to content

Commit c719b27

Browse files
committed
v0.8.0
1 parent d693fb8 commit c719b27

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+1255
-1344
lines changed

CHANGELOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,39 @@
1+
## 0.8.0
2+
- (Breaking) Type parameters provided to BridgeTypeRef are now
3+
`BridgeTypeAnnotation` objects instead of `BridgeTypeRef` objects to allow
4+
for specifying nullability.
5+
- (Breaking) Overhauled filesystem permissions to use bespoke filesystem-based
6+
matching with symlink support instead of RegEx (thanks @MohamedAl-Kainai)
7+
- Support for switch statements (thanks @apps-auth)
8+
- Support for Sets
9+
- Support for record types
10+
- Support for patterns and switch pattern matching
11+
- Fix inability to compile super parameters without an explicit call to
12+
`super()`
13+
- Enable short-circuit evaluation for logical operators `&&` and `||`
14+
- Add basic support for calling functions on `dynamic` types. This is
15+
currently limited to functions without named arguments.
16+
- Update analyzer to v7 (thanks @normidar)
17+
- Binding generator is now stable and is the recommended way to create
18+
bindings for Dart classes. See the README for details.
19+
- Binding generator can now generate bridge bindings in addition to
20+
wrapper bindings.
21+
- Binding generator can now automatically create an EvalPlugin for your
22+
library, which can be used to register the bindings with the runtime.
23+
- Binding generator can now use JSON binding files to allow defining bindings
24+
that rely on an existing plugin.
25+
- Fix bug that could occasionally cause errors when modifying variables in
26+
an `if` branch
27+
- Fix bug when accessing null values from a Map
28+
- Fix tree-shaking of long reference chains within a single library
29+
- Support for extending a class referenced via an import prefix
30+
- Fix referencing a variable via an import prefix
31+
- Binding generator correctly handles type references with generic type
32+
parameters
33+
- Add bindings for `ByteConversionSink` and `ChunkedConversionSink`
34+
- Add bindings for `num.abs()`, `Map.keys` and `Map.values` (thanks @knatola)
35+
- Improve bindings for `Encoding`
36+
137
## 0.7.11
238
- Support for list spreads (`...` operator) (thanks @apps-auth)
339
- New `implicitSupers` option for the binding generator to automatically

CONTRIBUTING.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@ The project structure is as follows:
1515
- stdlib - Exported libraries for builtin 'dart:' library mappings
1616
- src/eval - contains the main project source
1717
- eval.dart - The eval() function
18+
- bindgen - Source for the bindgen functionality, which generates Dart code to bridge from
19+
source code
1820
- bridge - Source for bridge functionality, both runtime and compile-time
21+
- cli - Source for the command line interface
1922
- compiler - Source for the dart_eval compiler
2023
- collection - functionality for compiling lists, maps, etc
2124
- declaration - functionality for compiling top-level declarations like functions and classes
@@ -65,5 +68,5 @@ getting in touch with me first or filing an issue and getting a go-ahead.
6568

6669
## Adding a new feature
6770

68-
If you're adding a new feature, the best place to start is by writing a test in `dart_eval_test.dart`.
69-
This is because, in this project, the error you get when running a failed test will often point you to the right place to start!
71+
If you're adding a new feature, the best place to start is by writing a test.
72+
The error you get when running a failed test will often point you to the right place to start!

0 commit comments

Comments
 (0)