First non-prerelease release. The interfaces alpha.1–alpha.4 iterated on — the CLI command surface, connections.toml schema, offline library layout, and the parse_metadata API — are now treated as stable within 0.1.x.
New this release: package-manager distribution. The CLI installs via cargo install sap-odata-cli (builds from source — no SmartScreen involved), and both the CLI and the portable desktop app install via Scoop (scoop bucket add kts982 https://github.com/kts982/scoop-bucket). A winget submission of the MSI (kts982.SAPODataExplorer) is in review.
Warning
Binaries are unsigned. Windows SmartScreen will warn — click More info → Run anyway. Or skip SmartScreen entirely with cargo install / Scoop above.
What's new
Distribution channels
- crates.io:
cargo install sap-odata-cli→sap-odataon yourPATH. The shared engine ships alongside assap-odata-core. - Scoop (Windows):
scoop install sap-odata(CLI) /scoop install sap-odata-explorer(desktop portable) after adding thekts982bucket. - winget: MSI submitted as
kts982.SAPODataExplorer(install line lands in the README once the winget-pkgs PR merges).
Offline library polish
- Per-service delete in the sidebar — rows in an offline bucket get a
✕that removes one cached service (confirmation + status-bar result). GUI parity withoffline delete --service-id; the bucket itself is kept. - Save-offline options modal — the header "Save offline" button now opens a small dialog with target-bucket / label / note overrides. Submitting with everything blank matches the old one-click behavior.
- Boot-time integrity sweep — at desktop startup, a background thread reconciles the offline index against the files on disk and logs orphaned EDMX files / missing-file services. Non-destructive.
Fixes & hardening
- Crash-safe
connections.tomlwrites —save_confignow uses the same atomic temp-file + rename + parent-dir-sync discipline as the offline store, so a crash mid-save can no longer leave a torn config. - Dependency advisory fix — transitive
quick-xml0.38.4 (viaplist→tauri, macOS-target-only; not compiled into these Windows binaries) carried RUSTSEC-2026-0194/0195; bumped to the patched line. - Weekly scheduled
cargo auditin CI so advisories are caught between releases, not only on push.
Full changelog: CHANGELOG.md.
Verification
VirusTotal scans of the published artifacts (run 2026-07-05):
| Asset | SHA256 | Detections | Report |
|---|---|---|---|
sap-odata.exe (7.1 MB) |
5990cb2a9f98… |
0/70 | VT report |
SAP-OData-Explorer_0.1.0_portable.exe (15.2 MB) |
4b2cd6d37788… |
1/70 | VT report |
SAP-OData-Explorer_0.1.0_x64-setup.exe (3.6 MB) |
d77c2fd2092e… |
2/70 | VT report |
SAP-OData-Explorer_0.1.0_x64_en-US.msi (5.4 MB) |
fc1f9229fb06… |
0/62 | VT report |
Microsoft Defender returned clean across all artifacts. Detections at scan time were single-vendor low-signal ML/reputation noise (Trapmine on portable, APEX + Cylance on NSIS — the same noise-floor pattern as alpha.3 and alpha.4).
Full SHA256 hashes:
sap-odata.exe:5990cb2a9f9805fb1242d2a82bb49a2bb4a3529297a5f728a904531e6a369a5dSAP-OData-Explorer_0.1.0_portable.exe:4b2cd6d377882223d0eac4de1eba0fd977681a6921dcb7c78add00ab110c16c1SAP-OData-Explorer_0.1.0_x64-setup.exe:d77c2fd2092ed890e9a002009767cd93ecb0b7d400088964effa240f33c25e3dSAP-OData-Explorer_0.1.0_x64_en-US.msi:fc1f9229fb065b4b066c189491998d2bbaccf7bb0aee61caf6dda4844b205381
SHA256SUMS.txt is attached for Get-FileHash verification.
Assets
| Asset | When to use |
|---|---|
SAP-OData-Explorer_0.1.0_x64_en-US.msi |
Easiest path — double-click installer (MSI). |
SAP-OData-Explorer_0.1.0_x64-setup.exe |
Alternative installer (NSIS). |
SAP-OData-Explorer_0.1.0_portable.exe |
Locked-down environments (Citrix, no-admin laptop, customer VM). No installer, no admin. |
sap-odata.exe |
CLI tool. Put on PATH, run sap-odata setup. |
SHA256SUMS.txt |
Verify with Get-FileHash <file> -Algorithm SHA256 and compare. |
The CLI and the desktop app share the same connections.toml and Windows Credential Manager entries — no need to duplicate profiles between them.