v0.4.0
First release from flatpak-minimal/appstream_dart. Scores 160/160 on pana.
Breaking (dependency resolution)
hooks ^1.0.2 → ^2.1.0 and code_assets ^1.0.0 → ^1.2.1. Consumers pinned to hooks 1.x will no longer resolve. This is why the release is 0.4.0 rather than 0.3.1 — in 0.x semver a breaking change bumps the minor.
The public Dart API is unchanged. The build hook API is identical across the hooks major bump, so hook/build.dart needed no edits, and the SDK constraint stays ^3.10.0. The old bound was pinning code_assets to 1.0.0 and holding native_toolchain_c and record_use at 1.x-era versions.
Repository move
repository and issue_tracker now point at github.com/flatpak-minimal/appstream_dart. The previously published 0.3.0 still advertises the old meta-flutter/appstream URL on pub.dev; this release corrects the listing.
Fixes
scripts/test.shnever built the C++ suite. It passed-DBUILD_TESTING=ON, but the gate has been-DAPPSTREAM_BUILD_TESTS=ONsince 0.2.2. CMake was warningManually-specified variables were not used by the project, andctestsilently ran whatever stale binary was left in the build directory — locally, one still linked against a since-removed gtest 1.15.2. CI already passed the correct flag, so only local runs were affected.- clang-tidy cleanups in
AppStreamParserandXmlScanner, all semantics-preserving: explicit parentheses in mixed*/+accumulator arithmetic,contains()in place of afind() != nposmembership test, and consistent braces across theprovidesif/else chain. Nobugprone-*,cert-*,clang-analyzer-*, orperformance-*findings.
Verification
dart analyze --fatal-infos clean, both format gates clean against CI's toolchain, 149/149 C++ tests (including asan and ubsan), 45/45 Dart tests, dart pub publish --dry-run reports 0 warnings.
Full changelog: https://github.com/flatpak-minimal/appstream_dart/blob/v0.4.0/CHANGELOG.md