| name | update-liboqs |
| description | Update liboqs native library version. Use when checking for updates, upgrading liboqs, bumping version, or updating native dependencies. |
Update liboqs Version
Guide for updating the liboqs native library version in this project.
Quick Update (Automatic)
make check
make check ARGS="--update"
This will:
- Check GitHub for latest liboqs release
- Update
pubspec.yaml with new liboqs.native_version
- Update CHANGELOG.md with new entry
Manual Update Process
Step 1: Check Current Version
make version
Or check pubspec.yaml:
liboqs:
native_version: "0.12.0"
Step 2: Update Version
Edit pubspec.yaml:
liboqs:
native_version: "0.13.0"
Step 3: Regenerate FFI Bindings
make regen
This downloads the new liboqs headers and regenerates lib/src/bindings/liboqs_bindings.dart.
Step 4: Run Tests
make test
Step 5: Commit Changes
git add pubspec.yaml lib/src/bindings/ CHANGELOG.md
git commit -m "Update liboqs to 0.13.0"
git push
Merging to main does NOT build anything by itself. After the merge, from an
up-to-date main, trigger the native build with:
make release-native
It creates and pushes the signed tag liboqs-<native_version>-<native_build>,
which triggers build-liboqs.yml to build all platforms and publish the
GitHub Release.
Check Options
make check
make check ARGS="--update"
make check ARGS="--update --version 0.13.0"
make check ARGS="--update --bump major"
make check ARGS="--update --bump minor"
make check ARGS="--update --bump patch"
make check ARGS="--update --no-changelog"
make check ARGS="--json"
Version Locations
| File | Field | Description |
|---|
pubspec.yaml | liboqs.native_version | Native library version |
pubspec.yaml | version | Dart package version |
CHANGELOG.md | Latest entry | What changed |
After CI Builds
When CI completes after pushing:
- Native libraries are built for all platforms
- Artifacts are combined
- FFI bindings are regenerated (if API changed)
- Changes are committed back to repo
Troubleshooting
"No updates available"
"Binding generation failed"
- New liboqs version may have breaking API changes
- Check liboqs release notes
- May need to update wrapper code in
lib/src/
Tests fail after update
- API may have changed
- Check if algorithm names changed
- Review liboqs changelog for breaking changes
Upstream Resources