Releases: o-murphy/ebalistyka
Releases · o-murphy/ebalistyka
eBalistyka 0.1.17
Fixed
- Sight line look angle — sight line on the trajectory chart now correctly follows the look angle (
h = d × tan(θ)); previously always drawn horizontally at h = 0
Changed
- Flutter — default version bumped to 3.44.1 across all workflows and in
flatpak/flutter.version - build-flatpak.yml - removed checkout step
packages/bclibc_ffi(calculator.dart):Calculator._toBcShotProps()replaced with thin field mapper_toBcShot()— Coriolis trig (_toCoriolis: sin/cos lat/az, range/cross offsets) and atmosphere density (_toAtmo) removed from Dart; all physics conversion delegated toBCLIBC_Shot::to_shot_props()in C++ (Step 3a of bclibc-wrapper-consolidation)packages/bclibc_ffi(bclibc_ffi.dart): addedBcShotDart value class,_FillNativeShotextension, andBcLibC.*Shot()API methods (findApexShot,findMaxRangeShot,findZeroAngleShot,integrateShot,integrateAtShot)packages/bclibc_ffi(bclibc_bindings.g.dart): addedBCShotnative struct andBCLIBCFFI_*_shotlookup bindings (manually updated; regenerate withdart run ffigen --config ffigen.yamlafter building bclibc)external/bclibcsubmodule bumped tocaf42e0— addsBCShotC struct andBCLIBCFFI_*_shot()entry points tobclibc_ffi.h;BcShotProps/BCLIBCFFI_*retained for backwards compatibility;Vacuumhandled correctly (pressure_hpa == 0→ zero density, no drag)- Update
update_sheet.dartandupdate_checker.dart- Add
wingetinstaller detection, and display command to get app update
- Add
Full Changelog: v0.1.16...v0.1.17
eBalistyka 0.1.16
Changed
- App repo name — slug changed from
o-murphy/ebalistyka-apptoo-murphy/ebalistykato unify the app ID across all packaging formats; updatedrepoSlugconstant inlib/shared/constants/app_info.dartand all workflow / CHANGELOG links - Flutter — default version bumped to 3.44.0 across all workflows
- flutpak — bumped to
v0.4.0-beta.4; generates Flathub-compatible manifest andgenerated-sources.json; icon config inpubspec.yamlupdated to referenceapp/share/icons/at all sizes (16 → 1024 px) - App icons — regenerated; icon and shared assets (
metainfo,desktop, icons) moved toapp/share/and reused across all packaging tools (AUR, deb, RPM, AppImage, Flatpak, Snap); Android launcher icons, Android/iOS/macOS/web splash images all regenerated from the new source - objectbox —
objectbox_flutter_libsbumped to 5.3.2; Flatpak manifest, patch, and flutpak config updated accordingly; CRLF line endings in the 5.3.2 pub.dev archive handled viastrip_trailing_cr: true(injects ased -i 's/\r//'step before patching)
Added
app/share/— canonical location for FreeDesktop assets shared by all packaging formats:app/share/applications/io.github.o_murphy.ebalistyka.desktop(moved fromflatpak/)app/share/metainfo/io.github.o_murphy.ebalistyka.metainfo.xml(moved fromflatpak/andaur/)app/share/icons/hicolor/{16,32,64,128,256,512,1024}x.../io.github.o_murphy.ebalistyka.png
scripts/ci-common.sh— shared CI helpers:set_build_metadata,set_arch_suffix, artifact-name derivation; sourced by all build workflowsscripts/copy-icons.sh— copies icons fromapp/share/icons/into package staging directories; eliminates duplicate icon copies inaur/,deb/, etc.scripts/package-flatpak.sh— new Flatpak packaging script exposing reusable shell functions (install_flatpak_builder,lint_flatpak_manifest,lint_flatpak_repo,export_flatpak_bundle) and alocal_buildentry point for full local reproduce of the CI pipelineflatpak/flathub.json— Flathub submission metadataflatpak/patches/flutter/shared.sh.patch— Flutter SDK patch applied byflatpak-builderat build timeflatpak/.gitignore— ignoresflatpak/generated/andbuilddir//repo/build artifacts
Removed
scripts/build-android-aab.sh— merged intobuild-android.sh(--target aab|apk)scripts/setup-linux-deps.sh— no longer needed; deps handled per-workflowscripts/update-flathub.sh,scripts/update-sources.sh— replaced byflutpak generateflatpak/generated-sources.json— now generated at build time byflutpak generate; not committedflatpak/io.github.o_murphy.ebalistyka.metainfo.xml— canonical copy moved toapp/share/metainfo/aur/ebalistyka.desktop,aur/icon.png,aur/io.github.o_murphy.ebalistyka.metainfo.xml— assets now sourced fromapp/share/
Packaging layout
aur/,deb/,rpm/,snap/,winget/file trees moved underpackaging/(e.g.packaging/aur/PKGBUILD,packaging/snap/snapcraft.yaml,packaging/winget/*.yaml)- All packaging scripts updated to pull icons and metadata from
app/share/instead of format-specific copies
CI / Distribution
- Android —
build-aab.yml+build-apk.ymlmerged intobuild-android.yml; target selected via--target aab|apkflag inscripts/build-android.sh - Linux packages —
build-appimage.ymlrenamed tobuild-linux-package.yml;build-deb.ymlandbuild-rpm.ymlfolded in as matrix jobs; reduces workflow count and consolidates Linux packaging triggers - Flatpak — reworked CI using
o-murphy/flutpakcomposite actions:generatejob separated frombuildjob; manifest + sources uploaded as artifact and shared between matrixbuildjobsbuildjob useso-murphy/flutpak/.github/actions/build-flatpak@…composite action (no more inline--privilegedcontainer); supports amd64 + arm64 matrix on every PRdownload-artifactupgraded@v4 → @v8;upload-artifactupgraded@v4 → @v7- Artifact names include arch suffix to avoid collision when triggered via
workflow_call - Flatpak release publishing temporarily disabled until pipeline is fully verified
pin-flatpak-manifest.yml— deleted; manifest generation is now fully automated byflutpak generatepublish-flathub.yml— updated to useflutpak generate; no longer commitsgenerated-sources.json- PR summary — replaced per-workflow inline summary scripts with a shared
.github/actions/pr-summarycomposite action release.yml— reworked to callbuild-android.yml,build-linux-package.yml,build-flatpak.yml,build-snap.yml,build-portable.ymlasworkflow_callwith consistentarch/tag/retention_daysinputs
Fixed
- Flatpak — objectbox 5.3.2 patch —
objectbox_flutter_libs5.3.2 shipslinux/CMakeLists.txtwith CRLF line endings;patch(1)failed even with--ignore-whitespace; fixed by usingstrip_trailing_cr: truein the flutpak config, which strips\rviasedbefore applying the patch - Flatpak — correct HEAD SHA in PR builds — use
github.event.pull_request.head.shainstead ofgithub.sha(which points to the synthetic merge commit) soflutpak generate --commitpins the actual feature branch tip - Flatpak — artifact name collision —
workflow_callfromrelease.ymlnow passesarchtobuild-flatpak.yml; artifact name includes arch suffix, preventing overwrite when both amd64 and arm64 are built - Flatpak local build —
dbus-run-sessionconflict —_dbus_runhelper skipsdbus-run-sessionwhenDBUS_SESSION_BUS_ADDRESSis already set (desktop session), preventing FUSE document-portal mount conflict - Flatpak local build —
FLATPAK_USER_DIRin sandbox — allflatpak run org.flatpak.Builderinvocations now pass--env=FLATPAK_USER_DIR=$HOME/.local/share/flatpaksoflatpak-builder-lintinside the sandbox finds the user-installed flathub remote instead of the empty per-app data dir - Flatpak local build —
rofiles-fusefailure — localflatpak-builderinvocation uses--disable-rofiles-fuse;flathub-buildwrapper does not support this flag and was replaced with a directflatpak run --command=flatpak-buildercall - Flatpak local build — non-fatal manifest lint — manifest lint failure (e.g. flathub user refs not yet populated) prints a warning but does not abort the build; real manifest errors surface at
flatpak-buildertime - Flatpak local build — non-fatal repo lint — repo lint failures (
appstream-external-screenshot-url,appstream-screenshots-not-mirrored-in-ostree) are Flathub CDN requirements irrelevant for local dev builds; made non-fatal with a clear warning
Full Changelog: v0.1.15-beta.1...v0.1.16
eBalistyka 0.1.15
CI / Distribution
- Flatpak — Reworked CI builds: removed the need for
--privilegedcontainers, now building directly viaflatpak-builder --sandbox --user; added amd64 + arm64 matrix builds for every PR - Flatpak —
generated-sources.jsonis now automatically generated and committed tomainon every release tag (for Flathub) - Flatpak — Added OARS rating and metadata required for Flathub submission
- Snap — Added amd64 + arm64 matrix builds for PR builds (same approach as Flatpak)
- Winget — Added publishing support for Windows Package Manager
- AUR — Fixed GPG signing in
publish-aur.yml - CI — Unified artifact retention period to 2 days; upgraded CI action versions
Full Changelog: v0.1.15-beta.1...v0.1.15
eBalistyka 0.1.15-beta.1
Full Changelog: v0.1.14...v0.1.15-beta.1
eBalistyka 0.1.14
eBalistyka 0.1.13
Fixed
- FilePicker API migration — replaced broken
FilePicker.platform.*calls with the staticFilePicker.*API introduced infile_picker@11.0.0(ebcp_service.dart,a7p_service.dart)
Changed
- file_picker updated — upgraded to
file_picker@11.0.2; uses XDG portal (org.freedesktop.portal.FileChooser) exclusively on Linux - flatpak manifest — aligned icon filename and finish-args to be compatible with Flathub requirements
- flatpak runtime — bumped
org.gnome.Platformfrom48to49(GNOME 48 is end-of-life since March 24, 2026)
Removed
- zenity workarounds — removed;
file_picker@11.0.xuses only the XDG portal backend, so zenity is no longer needed
Full Changelog: v0.1.12...v0.1.13
eBalistyka 0.1.12
eBalistyka 0.1.11-dev
Full Changelog: v0.1.10-dev...v0.1.11-dev
eBalistyka 0.1.10-dev
Added
- Linux Snap package —
.snapbuilds for x86_64 and arm64; published to Snap Store on release (stable/betachannel); auto-updates via Snap Store; in-app update sheet links to Snap Store for snap installs - Linux Flatpak package —
.flatpakbuilds for x86_64 and arm64
Full Changelog: v0.1.9-dev...v0.1.10-dev
eBalistyka 0.1.9-dev
Added
- Android OTA update — sideload APK updates directly from GitHub Releases without opening the browser
- Detects the correct ABI-specific APK (
arm64,armeabi-v7a,x86_64) viaAbi.current(); falls back to universal APK, then "View Release" if no APK asset is found - Download progress bar and installing state shown in the update bottom sheet
- Cancel always available — dismissing the sheet cancels the download
- Detects the correct ABI-specific APK (
- Help dialogs - reusable markdown-based help dialogs
- Added help dialogs for screens:
shot info,my profiles - Added help dialogs for collection screens:
ammo,weaponandsightscollections - Added help dialogs for user's data screens:
my ammo,my sightsscreens - Added help dialogs for data table editor screens:
multi bc,custom dragandpowder sensitivity - Added help dialogs for wizard screens:
sight,weapon,ammo
- Added help dialogs for screens:
Changed
- Prerelease updates — long-press "Check for updates" tile to search for prerelease builds; a warning sheet is shown before proceeding so the user acknowledges the risk
- Help button icon - changed help button icon
- ReticleView refactor — extracted
_ReticleGeometry,_ReticleComposer,_ReticleStackas standalone classes;showAdjLinesis now non-nullable (bool, defaulttrue);geometry.targetScale()used for target scaling - Code Quality #15 — naming convention sweep across 14 screen/widget files:
_buildXxx()builder methods extracted as standalone_PascalCasewidget classes (_ReticleStack,_TopBlock,_AnglesInfoTile,_SideControlFab,_AdjustmentsDisplayEmpty,_BcTextetc.)nameCtrl/vendorCtrl→nameController/vendorControllerinWizardFormMixinand all wizard screens- Event handler callbacks renamed to
_onXxxpattern (_onDragTableTap,_onPowderSensTableTap,_onImportFromFile,_onAddTap) // ── Widgets ──section separator added to 5 files missing it- Hard-coded
'Ammo image'→l10n.ammoImage(new l10n key EN/UK)
Full Changelog: v0.1.8...v0.1.9-dev