Skip to content

Commit 304505b

Browse files
Merge branch 'release-4.2.0'
2 parents 14ae034 + e45c24c commit 304505b

File tree

22 files changed

+75
-57
lines changed

22 files changed

+75
-57
lines changed

CONTRIBUTING.md

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
1-
Contributing
2-
------------------
3-
This project is completely managed on GitHub using its [issue tracker](https://github.com/objectbox/objectbox-dart/issues).
1+
# Contributing
42

5-
Anyone can contribute, be it by coding, improving docs or just proposing a new feature.
3+
For public issues see the [GitHub issue tracker](https://github.com/objectbox/objectbox-dart/issues).
4+
5+
We welcome smaller contributions, be it by coding, improving docs or just proposing a new feature.
66
Look for tasks having a [**"help wanted"**](https://github.com/objectbox/objectbox-dart/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) tag.
7-
When picking up an existing issue, please let us know in the issue comment.
7+
When picking up an existing issue, please talk to us beforehand by commenting in the issue.
88
Don't hesitate to reach out for guidance or to discuss a solution proposal!
99

10-
### Code contributions
10+
## Code contributions
11+
1112
When creating a Pull Request for code changes, please check that you cover the following:
12-
* Include tests for the changes you introduce. See the [test folder](objectbox/test) for examples.
13-
* Formatted the code using `dartfmt -l 120`. You can configure your IDE to do this automatically,
14-
e.g. VS Code needs the project-specific settings `"editor.defaultFormatter": "Dart-Code.dart-code"` and `"dart.lineLength": 120`.
15-
* Update the `## latest` section in the `CHANGELOG.md` - add a single-line comment what changes.
16-
This only applies if the change is "external", i.e. it affects objectbox-dart library users.
1713

18-
### Basic technical approach
14+
- Include tests for the changes you introduce. See the [test package](objectbox_test) for examples.
15+
- Formatted your changes using `dart format`.
16+
- If the change affects users of this library, update the `## latest` section in the `CHANGELOG.md`
17+
by adding a single-line comment what changes.
18+
19+
## Basic technical approach
20+
1921
ObjectBox offers a [C API](https://github.com/objectbox/objectbox-c) which can be called by [Dart FFI](https://dart.dev/server/c-interop).
2022
The C API is also used by the ObjectBox language bindings for [Go](https://github.com/objectbox/objectbox-go), [Swift](https://github.com/objectbox/objectbox-swift), and [Python](https://github.com/objectbox/objectbox-python).
2123
These languages may serve as an inspiration for this Dart implementation.
22-
Internally, ObjectBox uses [FlatBuffers](https://google.github.io/flatbuffers/) to store objects.
24+
Internally, ObjectBox uses [FlatBuffers](https://google.github.io/flatbuffers/) to store objects.

README.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
</p>
1313

1414
<p align="center">
15-
<a href="https://github.com/objectbox/objectbox-dart/actions/workflows/dart.yml">
16-
<img src="https://github.com/objectbox/objectbox-dart/actions/workflows/dart.yml/badge.svg" alt="Build and test">
15+
<a href="https://github.com/objectbox/objectbox-dart/actions/workflows/test.yml">
16+
<img src="https://github.com/objectbox/objectbox-dart/actions/workflows/test.yml/badge.svg" alt="Build and test">
1717
</a>
1818
<a href="https://pub.dev/packages/objectbox">
1919
<img src="https://img.shields.io/pub/v/objectbox.svg?label=pub.dev&logo=dart&style=flat-square" alt="pub.dev package">
@@ -25,8 +25,6 @@
2525

2626
# Flutter database with vector support - easy to use & fast Dart object persistence, plus on-device vector search 💙
2727

28-
29-
3028
Very first on-device vector database for Flutter / Dart AI apps. Intuitive APIs, simply fast.
3129
Persist local Dart objects with ease & speed, efficiently manage vectors.
3230

@@ -63,6 +61,7 @@ final query = box // Query
6361
final List<Person> people = query.find();
6462
query.close();
6563
```
64+
6665
Ready? Continue with the ➡️ **[Getting Started guide](https://docs.objectbox.io/getting-started)**.
6766

6867
## Why use ObjectBox
@@ -78,6 +77,7 @@ Plus: We built a data synchronization solution that allows you to keep data in s
7877
and servers, both online and offline.
7978

8079
### Features
80+
8181
🏁 **Very first [on-device vector database](https://docs.objectbox.io/on-device-ann-vector-search)** - for AI apps that work any place.\
8282

8383
🏁 **High performance** - superfast response rates enabling real-time applications.\
@@ -95,7 +95,6 @@ Oh, and there is one more thing...
9595

9696
😮 [**Data Sync**](https://objectbox.io/sync/) - keeps data in sync offline or online, between devices and servers.
9797

98-
9998
## Getting Started
10099

101100
Continue with our ➡️ **[Getting Started guide](https://docs.objectbox.io/getting-started)**. It has resources and video tutorials on how to use ObjectBox in your Flutter or Dart app.
@@ -110,7 +109,7 @@ Continue with our ➡️ **[Getting Started guide](https://docs.objectbox.io/get
110109

111110
We tested across the four main database operations, CRUD (create, read, update, delete). Each test was run multiple times and executed manually outside of the measured time. Data preparation and evaluation were done outside of the measured time.
112111

113-
Here are the benchmarks for ObjectBox vs sqflite vs Hive 👇
112+
Here are the benchmarks for ObjectBox vs sqflite vs Hive (last updated 2021-09-11) 👇
114113

115114
![](https://raw.githubusercontent.com/objectbox/objectbox-dart/main/.github/benchmarks.png)
116115

@@ -135,19 +134,21 @@ For general news on ObjectBox, [check our blog](https://objectbox.io/blog)!
135134
Do you want to check out the ObjectBox code itself? E.g. see in action, run tests, or even contribute code?
136135
Great! Clone/check out this repository and run this to generate code and get you started quickly:
137136

138-
./tool/init.sh
137+
```bash
138+
./tool/init.sh
139+
```
139140

140141
Also, make sure to have a look at the [contribution guidelines](CONTRIBUTING.md) - we are looking forward to your contribution.
141142

142143
## Packages
143144

144145
This repository holds all ObjectBox Dart/Flutter packages as separate directories:
145146

146-
* [objectbox](objectbox) - main library code
147-
* [objectbox_generator](generator) - code generator
148-
* [objectbox_flutter_libs](flutter_libs) - core binary library dependency for Flutter (Android/iOS) - no dart/flutter code
149-
* [objectbox_sync_flutter_libs](sync_flutter_libs) - core binary library dependency with [**ObjectBox Sync**](https://objectbox.io/sync/) enabled
150-
* [benchmark](benchmark) - used internally to microbenchmark and compare various implementations during development of objectbox-dart
147+
- [objectbox](objectbox) - main library code
148+
- [objectbox_generator](generator) - code generator
149+
- [objectbox_flutter_libs](flutter_libs) - core binary library dependency for Flutter (Android/iOS) - no dart/flutter code
150+
- [objectbox_sync_flutter_libs](sync_flutter_libs) - core binary library dependency with [**ObjectBox Sync**](https://objectbox.io/sync/) enabled
151+
- [benchmark](benchmark) - used internally to microbenchmark and compare various implementations during development of objectbox-dart
151152

152153
There's also a separate repository benchmarking objectbox (and other databases) in Flutter:
153154
[objectbox-dart-performance](https://github.com/objectbox/objectbox-dart-performance). And another one testing and
@@ -157,11 +158,10 @@ comparing the performance of our FlatBuffers fork vs the upstream version: [flat
157158

158159
ObjectBox supports multiple platforms and languages:
159160

160-
* [Java Database](https://github.com/objectbox/objectbox-java) (+ Kotlin): runs on Android, desktop, and servers.
161-
* [Swift Database](https://github.com/objectbox/objectbox-swift): build fast mobile apps for iOS and macOS.
162-
* [Go Database](https://github.com/objectbox/objectbox-go): great for data-driven tools and embedded server applications.
163-
* [C / C++ Database](https://github.com/objectbox/objectbox-c): native speed with zero copy access to FlatBuffer objects.
164-
161+
- [Java Database](https://github.com/objectbox/objectbox-java) (+ Kotlin): runs on Android, desktop, and servers.
162+
- [Swift Database](https://github.com/objectbox/objectbox-swift): build fast mobile apps for iOS and macOS.
163+
- [Go Database](https://github.com/objectbox/objectbox-go): great for data-driven tools and embedded server applications.
164+
- [C / C++ Database](https://github.com/objectbox/objectbox-c): native speed with zero copy access to FlatBuffer objects.
165165

166166
## License
167167

benchmark/README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,11 @@ Also see the full-application benchmark in https://github.com/objectbox/objectbo
1111
which provides a better picture of the potential "real world" performance.
1212

1313
## Compile for production
14+
1415
To get the most optimized version, build executables instead of running on Dart VM, for example:
1516

16-
`dart compile exe bin/basics.dart`
17+
```bash
18+
dart compile exe bin/basics.dart
19+
```
1720

1821
See https://dart.dev/tools/dart-compile for more options.

flutter_libs/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ description: Superfast NoSQL Flutter / Dart database. This package contains Flut
33
# Link to actual directory in repository so file links on pub.dev work.
44
repository: https://github.com/objectbox/objectbox-dart/tree/main/flutter_libs
55
homepage: https://objectbox.io
6-
version: 4.1.0
6+
version: 4.2.0
77

88
environment:
99
sdk: '>=2.18.0 <4.0.0'
@@ -14,7 +14,7 @@ dependencies:
1414
sdk: flutter
1515
# This is here just to ensure compatibility between objectbox-dart code and the libraries used
1616
# You should still depend on objectbox directly in your Flutter application.
17-
objectbox: 4.1.0
17+
objectbox: 4.2.0
1818
path_provider: ^2.0.0
1919

2020
dev_dependencies:

generator/lib/src/version.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ class Version {
44
///
55
/// This string is updated by the /tool/set-version.sh script
66
/// as part of the release process.
7-
static const String current = "4.1.0";
7+
static const String current = "4.2.0";
88
}

generator/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ description: ObjectBox Flutter / Dart database binding code generator - finds an
33
# Link to actual directory in repository so file links on pub.dev work.
44
repository: https://github.com/objectbox/objectbox-dart/tree/main/generator
55
homepage: https://objectbox.io
6-
version: 4.1.0
6+
version: 4.2.0
77

88
environment:
99
sdk: '^3.5.0' # analyzer 6.5.0 requires meta 1.14.0 requires Flutter SDK 3.24.0 requires 3.5.0
1010

1111
dependencies:
12-
objectbox: 4.1.0
12+
objectbox: 4.2.0
1313
analyzer: '>=6.5.0 <8.0.0' # dart_style 2.3.7 requires 6.5.0
1414
build: ^2.4.1
1515
collection: ^1.18.0 # Would require 1.19.1, but Flutter 3.24.0 has 1.18.0 pinned

objectbox/CHANGELOG.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
## latest
22

3-
* Allow analyzer 7, dart_style 3, source_gen 2 and pointycastle 4.
3+
## 4.2.0 (2025-04-15)
4+
5+
* Requires at least Dart SDK 3.4 or Flutter SDK 3.22.
6+
* Allow analyzer 7, dart_style 3, source_gen 2 and pointycastle 4. [#705](https://github.com/objectbox/objectbox-dart/issues/705)
47
* Examples: demos are compatible with JDK 21 included with Android Studio Ladybug or later, require
58
Flutter SDK 3.24 (with Dart SDK 3.5) or newer.
6-
* Requires at least Dart SDK 3.4 or Flutter SDK 3.22.
79
* Update ObjectBox database for Flutter Linux/Windows, Dart Native apps to [4.2.0](https://github.com/objectbox/objectbox-c/releases/tag/v4.2.0).
810
* Update ObjectBox database for Flutter Android apps to 4.2.0.
911
If your project is [using Admin](https://docs.objectbox.io/data-browser#admin-for-android), make

objectbox/README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
</p>
1111

1212
<p align="center">
13-
<a href="https://github.com/objectbox/objectbox-dart/actions/workflows/dart.yml">
14-
<img src="https://github.com/objectbox/objectbox-dart/actions/workflows/dart.yml/badge.svg" alt="Build and test">
13+
<a href="https://github.com/objectbox/objectbox-dart/actions/workflows/test.yml">
14+
<img src="https://github.com/objectbox/objectbox-dart/actions/workflows/test.yml/badge.svg" alt="Build and test">
1515
</a>
1616
<a href="https://pub.dev/packages/objectbox">
1717
<img src="https://img.shields.io/pub/v/objectbox.svg?label=pub.dev&logo=dart&style=flat-square" alt="pub.dev package">
@@ -49,6 +49,7 @@ Oh, and there is one more thing...
4949
😮 [**Data Sync**](https://objectbox.io/sync/) - sync only when and where needed.
5050

5151
## On this page
52+
5253
- [Sneak peek](#sneak-peek---persist-dart-objects-with-objectbox)
5354
- [Getting Started](#getting-started)
5455
- [Flutter Database Performance Benchmarks](#flutter-database-performance-benchmarks)
@@ -102,6 +103,7 @@ Read the ➡️ **[Getting Started guide](https://docs.objectbox.io/getting-star
102103
It has resources and video tutorials on how to use ObjectBox in your Flutter or Dart app.
103104

104105
We also have some video tutorials, each featuring a different example app:
106+
105107
- [Shop order app](https://youtu.be/AxYbdriXKI8)
106108
- [Restaurant: chef and order apps](https://youtu.be/r9Lc2r22KBk)
107109
- [Task-list app (in Spanish)](https://youtu.be/osUq6B92-BY)
@@ -111,7 +113,7 @@ We also have some video tutorials, each featuring a different example app:
111113

112114
We tested across the four main database operations, CRUD (create, read, update, delete). Each test was run multiple times and executed manually outside of the measured time. Data preparation and evaluation were also done outside of the measured time.
113115

114-
Here are the benchmarks for ObjectBox vs sqflite vs Hive 👇
116+
Here are the benchmarks for ObjectBox vs sqflite vs Hive (last updated 2021-09-11) 👇
115117

116118
![](https://raw.githubusercontent.com/objectbox/objectbox-dart/main/.github/benchmarks.png)
117119

@@ -140,8 +142,8 @@ See the [FAQ](https://docs.objectbox.io/faq) and [Troubleshooting](https://docs.
140142

141143
## See also
142144

143-
* [Changelog](CHANGELOG.md)
144-
* [Contribution guidelines](../CONTRIBUTING.md)
145+
- [Changelog](CHANGELOG.md)
146+
- [Contribution guidelines](../CONTRIBUTING.md)
145147

146148
## License
147149

objectbox/example/dart-native/vectorsearch_cities/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ environment:
66
sdk: ^2.18.6
77

88
dependencies:
9-
objectbox: ^4.1.0
9+
objectbox: ^4.2.0
1010

1111
dev_dependencies:
1212
build_runner: ^2.4.9

objectbox/example/flutter/event_management_tutorial/event_manager/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ dependencies:
1212
flutter:
1313
sdk: flutter
1414

15-
objectbox: ^4.1.0
15+
objectbox: ^4.2.0
1616
objectbox_flutter_libs: any
1717
intl: any
1818

0 commit comments

Comments
 (0)