@@ -5,40 +5,96 @@ Dart won't error on C function signature mismatch, leading to obscure memory bug
5
5
6
6
## C libraries
7
7
8
+ For each:
9
+
10
+ - Update versions below
11
+ - Run update script
12
+ - Add [ CHANGELOG] ( ../objectbox/CHANGELOG.md ) entry
13
+ - Commit changes
14
+
15
+ ### Desktop, Scripts
16
+
8
17
For Dart Native and unit tests ([ install.sh] ( ../install.sh ) ),
9
18
for the binding update script (see below) and
10
- for Flutter (` flutter_libs ` and ` sync_flutter_libs ` plugins) on Linux and Windows:
11
- ```
19
+ for Flutter (` flutter_libs ` and ` sync_flutter_libs ` plugins) on Linux and Windows:
20
+
21
+ ``` bash
12
22
./tool/set-c-version.sh 4.0.2
13
23
```
14
24
15
- For the Flutter plugins on Android ([ view releases] ( https://github.com/objectbox/objectbox-java/releases ) ):
25
+ ``` text
26
+ * Flutter for Linux/Windows, Dart Native: update to [objectbox-c 4.0.2](https://github.com/objectbox/objectbox-c/releases/tag/v4.0.2).
27
+ ```
28
+
29
+ ``` text
30
+ Update C library [4.0.1 -> 4.0.2]
16
31
```
32
+
33
+ ### Android
34
+
35
+ For the Flutter plugins on Android ([ view releases] ( https://github.com/objectbox/objectbox-java/releases ) ):
36
+
37
+ ``` bash
17
38
./tool/set-android-version.sh 4.0.3
18
39
```
19
40
20
- For the Flutter plugins on iOS/macOS ([ view releases] ( https://github.com/objectbox/objectbox-swift/releases ) )
41
+ ``` text
42
+ * Flutter for Android: update to [objectbox-android 4.0.3](https://github.com/objectbox/objectbox-java/releases/tag/V4.0.3).
43
+ If your project is [using Admin](https://docs.objectbox.io/data-browser#admin-for-android), make sure to
44
+ update to `io.objectbox:objectbox-android-objectbrowser:4.0.3` in `android/app/build.gradle`.
45
+ ```
46
+
47
+ ``` text
48
+ Update objectbox-android [4.0.2 -> 4.0.3]
49
+
50
+ Bundled with C API 4.0.1 and ObjectBox 4.0.2-2024-10-15
21
51
```
52
+
53
+ Note: the embedded C API and ObjectBox version can be looked up
54
+ from the relevant objectbox repository release tag (like ` java-4.0.3 ` ).
55
+
56
+ ### Apple OSs
57
+
58
+ For the Flutter plugins on iOS/macOS ([ view releases] ( https://github.com/objectbox/objectbox-swift/releases ) )
59
+
60
+ ``` bash
22
61
./tool/set-swift-version.sh 4.0.1
23
62
```
24
63
25
- For each, add an entry (see previous releases) to the [ CHANGELOG] ( ../objectbox/CHANGELOG.md ) .
64
+ ``` text
65
+ * Flutter for iOS/macOS: update to [objectbox-swift 4.0.1](https://github.com/objectbox/objectbox-swift/releases/tag/v4.0.1).
66
+ For existing projects, run `pod repo update` and `pod update ObjectBox` in the `ios` or `macos` directories.
67
+ ```
68
+
69
+ ``` text
70
+ Update ObjectBox Swift [4.0.0 -> 4.0.1]
71
+
72
+ Bundled with C API 4.0.2 and ObjectBox 4.0.2-2024-10-15
73
+ ```
74
+
75
+ Note: the embedded C API and ObjectBox version can be looked up
76
+ from the objectbox-swift release tag (like ` v4.0.1 ` ) and
77
+ the objectbox commit it points to (see ` external/objectbox ` ).
26
78
27
79
## Dart C API bindings
80
+
28
81
To download the C library header files and generate bindings with ffigen (requires LLVM libraries,
29
82
see [ ffigen docs] ( https://pub.dev/packages/ffigen#installing-llvm )
30
83
and the ffigen section in [ pubspec.yaml] ( ../objectbox/pubspec.yaml ) ):
31
- ```
84
+
85
+ ``` bash
32
86
./tool/update-c-binding.sh
33
87
```
34
88
35
89
Then manually:
90
+
36
91
- Copy/update enums that need to be exposed to users
37
92
from [ objectbox_c.dart] ( ../objectbox/lib/src/native/bindings/objectbox_c.dart )
38
93
to [ enums.dart] ( ../objectbox/lib/src/modelinfo/enums.dart ) .
39
94
- Check the changed files, make any required changes in the Dart library (like method signature changes).
40
95
- ⚠️ Update minimum C API and core version and notes as needed in [ bindings.dart] ( ../objectbox/lib/src/native/bindings/bindings.dart ) .
41
-
42
- Note: the embedded C API and core version can be looked up
43
- for Android from the relevant core repository release tag and
44
- for Swift from its repos release tag and the core commit it points to.
96
+ - Commit as
97
+
98
+ ``` text
99
+ Update C-API [4.0.1 -> 4.0.2]
100
+ ```
0 commit comments