Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
0e0cb50
Replace rusqlite with powersync_sqlite_nostd
simolus3 Apr 8, 2026
a1019c0
Fix clippy lints
simolus3 Apr 8, 2026
2fc180e
AI feedback
simolus3 Apr 8, 2026
0536ef3
Retry on failed crud uploads
simolus3 Jul 22, 2026
404321a
Properly prepare release
simolus3 Jul 22, 2026
9b1b626
Update core extension to 0.5.1
simolus3 Jul 28, 2026
4601250
Fix outdated comment
simolus3 Jul 28, 2026
cfe4f82
typo
simolus3 Jul 28, 2026
4d18540
AI review
simolus3 Jul 28, 2026
654bac2
Fix decoding time stamps from core extension
simolus3 Jul 28, 2026
fdaaec8
fix(windows): compile non-Unix database paths
daniel-vacic Jul 29, 2026
20decdf
Update core extension to 0.5.2
simolus3 Aug 3, 2026
a4d16b4
fix(sync): scan queued crud on connect
birdmanmandbir Aug 10, 2026
5a27c42
fix(sync): release writer before async work
birdmanmandbir Aug 10, 2026
6d6eaf9
fix(sync): report connection after successful response
birdmanmandbir Aug 10, 2026
1321851
fix(sync): accept crlf stream framing
birdmanmandbir Aug 10, 2026
9a29df8
fix(http): use rustls without native tls defaults
birdmanmandbir Aug 10, 2026
4af5094
chore(powersync): sync fork with upstream 0.0.7
birdmanmandbir Aug 10, 2026
88cd55b
chore(powersync): reconcile fork history
birdmanmandbir Aug 10, 2026
d51a2bc
fix(powersync): repair SQLite cleanup and binding ownership
birdmanmandbir Aug 10, 2026
411dea6
chore(powersync): align checks with supported targets
birdmanmandbir Aug 10, 2026
8b17f02
fix(sync): apply checkpoint after draining crud
birdmanmandbir Aug 10, 2026
1482501
fix(sync): serialize SQLite leak checks
birdmanmandbir Aug 10, 2026
133f7ea
fix(ci): isolate SQLite test and restrict workflow access
birdmanmandbir Aug 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 25 additions & 35 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,64 +1,54 @@
name: CI
name: Build and test

on:
push:
branches:
- main
pull_request:
branches:
- main

permissions:
contents: read

env:
CARGO_TERM_COLOR: always

jobs:
build:
rust:
name: Build and test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- uses: actions/checkout@v6
with:
persist-credentials: false

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable

- name: Cache cargo
uses: actions/cache@v5
- name: Cache
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- run: rustup update stable && rustup default stable && rustup component add clippy

- name: Run tests
run: cargo test --all-features
- name: Build all features
run: cargo build --workspace --all-features --verbose

- name: Build
run: cargo build --all-features
- name: Test all features
run: cargo test --workspace --all-features --verbose

lint:
runs-on: ubuntu-latest
macos:
name: Check macOS ARM64 build
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v6
- uses: actions/checkout@v6
with:
persist-credentials: false

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy

- name: Cache cargo
uses: actions/cache@v5
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}

- name: Check formatting
run: cargo fmt --check
- name: Install stable Rust
run: rustup update stable

- name: Lint with clippy
run: cargo clippy --all-targets --all-features -- -D warnings
- name: Check PowerSync crate
run: cargo check -p powersync --all-targets --all-features
18 changes: 9 additions & 9 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,20 +34,20 @@ jobs:
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}

- name: Format code
run: cargo fmt
- name: Check formatting
run: cargo fmt --all --check

- name: Lint with clippy
run: cargo clippy --all-targets --all-features -- -D warnings
- name: Lint all targets and features
run: cargo clippy --workspace --all-targets --all-features -- -D warnings

- name: Run tests
run: cargo test --all-features
- name: Test all features
run: cargo test --workspace --all-features

- name: Check for security vulnerabilities
- name: Check dependencies
run: cargo deny check

- name: Build
run: cargo build --all-features
- name: Build all features
run: cargo build --workspace --all-features

osv-scan:
uses: google/osv-scanner-action/.github/workflows/osv-scanner-reusable-pr.yml@v2.3.5
Expand Down
9 changes: 0 additions & 9 deletions .hooks/pre-commit

This file was deleted.

12 changes: 0 additions & 12 deletions .hooks/pre-push

This file was deleted.

17 changes: 16 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@
## 0.0.6 (unreleased)
## v0.0.7-guion.1 (unreleased)

- Rebase the Guion fork on upstream PowerSync Native v0.0.7.
- Scan queued CRUD immediately when the upload actor connects.
- Release the download writer before awaiting connector or network work.
- Report `ConnectionEstablished` only after a successful HTTP response.
- Accept CRLF framing in JSON sync streams.

## 0.0.7

- Update PowerSync core extension to version 0.5.2.

## 0.0.6

- Skip creating `ps_crud` entries when clearing raw tables.
- Call `upload_data` repeatedly if an upload fails.
- Add `PowerSyncError::upload_error`, which can be used to convert any error into PowerSync errors for
`upload_data` callbacks.

## 0.0.5

Expand Down
72 changes: 44 additions & 28 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ _[PowerSync](https://www.powersync.com) is a sync engine for building local-firs
This repository contains code used to build a PowerSync SDK for native development.
PowerSync is available as a Rust crate in `powersync/`, and on crates.io as the `powersync` crate.

Guion release tags add a small, tested compatibility layer for Guion consumers. See
[`docs/guion-patches.md`](docs/guion-patches.md) for the exact upstream delta and patch policy.

## Running the examples

To start an example:
Expand All @@ -23,7 +26,7 @@ To start an example:
3. Compile and run an example here: `cargo run -p egui_todolist`.

```yaml
# Sync-rule docs: https://docs.powersync.com/usage/sync-rules
# Sync Streams docs: https://docs.powersync.com/sync/streams/overview
streams:
lists:
query: SELECT * FROM lists #WHERE owner_id = auth.user_id()
Expand All @@ -32,5 +35,5 @@ streams:
query: SELECT * FROM todos WHERE list_id = subscription.parameter('list') #AND list_id IN (SELECT id FROM lists WHERE owner_id = auth.user_id())

config:
edition: 2
edition: 3
```
Loading
Loading