Skip to content

Commit 680c305

Browse files
authored
chore: prepare 10.1.0 release (#431)
* chore: release 10.1.0 * ci: boot iOS simulator before Harness initialization
1 parent d51cd54 commit 680c305

7 files changed

Lines changed: 59 additions & 13 deletions

File tree

‎.github/workflows/test-harness-ios.yml‎

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,25 @@ jobs:
6060
- name: Select Xcode 26.2
6161
run: sudo xcode-select -s "/Applications/Xcode_26.2.app/Contents/Developer"
6262

63+
- name: Start iOS simulator
64+
run: |
65+
set -euo pipefail
66+
67+
simulator="$(xcrun simctl list devices available --json | node -e '
68+
const { readFileSync } = require("node:fs")
69+
const runtime = `com.apple.CoreSimulator.SimRuntime.iOS-${process.env.IOS_SIMULATOR_OS.replaceAll(".", "-")}`
70+
const devices = JSON.parse(readFileSync(0, "utf8")).devices[runtime] ?? []
71+
const device = devices.find((candidate) => candidate.name === process.env.IOS_SIMULATOR_NAME && candidate.isAvailable)
72+
if (!device) throw new Error(`Simulator ${process.env.IOS_SIMULATOR_NAME} on ${runtime} is unavailable`)
73+
console.log(`${device.udid} ${device.state}`)
74+
')"
75+
read -r simulator_udid simulator_state <<< "$simulator"
76+
echo "IOS_SIMULATOR_UDID=$simulator_udid" >> "$GITHUB_ENV"
77+
78+
if [[ "$simulator_state" == "Shutdown" ]]; then
79+
xcrun simctl boot "$simulator_udid"
80+
fi
81+
6382
- name: Install Pods
6483
working-directory: example
6584
run: bun pods
@@ -80,8 +99,14 @@ jobs:
8099
build \
81100
CODE_SIGNING_ALLOWED=NO
82101
102+
- name: Wait for iOS simulator
103+
timeout-minutes: 10
104+
run: xcrun simctl bootstatus "$IOS_SIMULATOR_UDID" -b
105+
83106
- name: Run react-native-harness on iOS
84107
uses: callstackincubator/react-native-harness@v1.5.0
108+
env:
109+
HARNESS_DEBUG: "1"
85110
with:
86111
app: ios/build/Build/Products/Debug-iphonesimulator/NitroSQLiteExample.app
87112
runner: ios

‎bun.lock‎

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎docs/releases/v10.1.0.md‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
NitroSQLite 10.1.0 adds opt-in SQLite SEE encryption support and a Node.js mock backed by better-sqlite3. We've improved repeated batch execution and query-result conversion, upgraded bundled SQLite to 3.53.4, and enabled RTree indexes by default. This release includes the connection ownership fix shipped in 10.0.1, along with the newer changes on main.
2+
3+
## Encryption and Node.js testing
4+
5+
You can now pass an encryption key when opening a database built with the licensed SQLite Encryption Extension. SEE source is not bundled with NitroSQLite; enabling it requires your licensed source and a native rebuild. See the [encryption guide](https://sqlite.margelo.com/docs/guides/encryption) for setup and key handling. [#410](https://github.com/margelo/react-native-nitro-sqlite/pull/410)
6+
7+
The new `react-native-nitro-sqlite/mock` entry point runs against better-sqlite3 in Node.js. It supports independent connections, prepared statements, transactions, and batches for tests that need a real SQLite engine. Install better-sqlite3 separately when using the mock. [#395](https://github.com/margelo/react-native-nitro-sqlite/pull/395), [#420](https://github.com/margelo/react-native-nitro-sqlite/pull/420)
8+
9+
## Query performance and SQLite support
10+
11+
Grouped batch parameters reuse a prepared statement for repeated executions of the same SQL. Query results also avoid an extra native row copy during conversion to JavaScript. [#387](https://github.com/margelo/react-native-nitro-sqlite/pull/387), [#389](https://github.com/margelo/react-native-nitro-sqlite/pull/389)
12+
13+
Bundled SQLite is now 3.53.4, and its symbols are isolated from other SQLite engines linked into the same app. RTree is enabled by default for spatial and range indexes. See the [queries and indexes guide](https://sqlite.margelo.com/docs/concepts/queries-and-indexes). [#392](https://github.com/margelo/react-native-nitro-sqlite/pull/392), [#390](https://github.com/margelo/react-native-nitro-sqlite/pull/390), [#425](https://github.com/margelo/react-native-nitro-sqlite/pull/425)
14+
15+
## Reliability and upgrading
16+
17+
Connections close with the NitroSQLite owner that opened them, so replacing a runtime can reopen the same database. We've also improved transaction cleanup and error reporting, restored `undefined` parameters as SQL NULL, preserved embedded NUL bytes in text results, and corrected column metadata types. Android temporary files now use the app cache. The changelog below links each fix.
18+
19+
Update both packages to 10.1.0 if you use sqlite-vec, install Pods again on Apple platforms, and rebuild your native app. SQLite 3.53 changes floating-point-to-text conversion from 15 to 17 significant digits, so check code that depends on exact SQL text formatting. The TypeORM dependency is now 1.1.1. [#426](https://github.com/margelo/react-native-nitro-sqlite/pull/426)
20+
21+
The [documentation website](https://sqlite.margelo.com/docs) now includes guides and a generated API reference.

‎example/package.json‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-native-nitro-sqlite-example",
3-
"version": "10.0.0",
3+
"version": "10.1.0",
44
"private": true,
55
"nitroSQLite": {
66
"threadSafe": true,
@@ -33,8 +33,8 @@
3333
"react": "19.2.3",
3434
"react-native": "0.87.1",
3535
"react-native-nitro-modules": "*",
36-
"react-native-nitro-sqlite": "10.0.0",
37-
"react-native-nitro-sqlite-vec": "10.0.0",
36+
"react-native-nitro-sqlite": "10.1.0",
37+
"react-native-nitro-sqlite-vec": "10.1.0",
3838
"react-native-quick-base64": "^3.0.0",
3939
"react-native-quick-crypto": "^1.1.5",
4040
"react-native-safe-area-context": "^5.10.0",

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-native-nitro-sqlite-workspace",
3-
"version": "10.0.0",
3+
"version": "10.1.0",
44
"packageManager": "bun@1.3.1",
55
"private": "true",
66
"workspaces": [

‎packages/react-native-nitro-sqlite-vec/package.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-native-nitro-sqlite-vec",
3-
"version": "10.0.0",
3+
"version": "10.1.0",
44
"description": "Vector search (sqlite-vec) for react-native-nitro-sqlite. Native sqlite-vec is statically linked into the core's single sqlite3 — no second SQLite, no runtime extension loading.",
55
"source": "./src/index",
66
"react-native": "./src/index",
@@ -46,7 +46,7 @@
4646
"react-native-nitro-sqlite": ">=9.0.0"
4747
},
4848
"devDependencies": {
49-
"react-native-nitro-sqlite": "10.0.0",
49+
"react-native-nitro-sqlite": "10.1.0",
5050
"typescript": "^5.8.3"
5151
},
5252
"jest": {

‎packages/react-native-nitro-sqlite/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-native-nitro-sqlite",
3-
"version": "10.0.0",
3+
"version": "10.1.0",
44
"description": "Fast SQLite library for React Native built using Nitro Modules",
55
"main": "./lib/module/index",
66
"module": "./lib/module/index",

0 commit comments

Comments
 (0)