Skip to content

Releases: linuxmatters/jive-visualiser

Jive Visualiser 0.5.0

Choose a tag to compare

@github-actions github-actions released this 05 Jul 15:54
0.5.0

Highlights ✨

  • Renamed to Jive Visualiser. The project is now Jive Visualiser (formerly Jivefire), with matching CLI branding and a new sparkles ✨ emoji.
  • Faster rendering. Reduced memory allocations in the render and preview paths for lower overhead per frame.
  • Updated FFmpeg bindings. Bumped ffmpeg-statigo to v8.1.2.0.
  • More reliable output. Fixed audio encoder error handling, corrected progress-bar copying, and preserved the quit state after the progress view exits.

Under the hood

  • Split CLI setup, Pass 2 orchestration, encoder, and UI helpers into clearer modules.
  • Removed dead wrappers and shared common helpers across audio, encoder, renderer, and CLI.
  • Improved code comments across audio, CLI, config, encoder, renderer, UI, and YUV packages.
  • Addressed multiple rounds of peer review findings.
  • Routine dependency bumps: nixpkgs, GitHub Actions, and golang.org/x/image.

Changes since 0.4.1

  • fix: address peer review findings (c939ee9)
  • chore: update gif (60238ef)
  • chore: rebrand from fire to sparkles emoji (becbe39)
  • refactor: fix peer review findings across audio, encoder, UI, and tooling (9f333a3)
  • fix: preserve quit state after progress view exits (660e5d0)
  • refactor: split CLI setup and pass 2 orchestration (a036789)
  • chore: update gif (529e006)
  • perf: reduce allocations in render and preview paths (1449bdf)
  • chore: update ffmpeg-statigo to v8.1.2.0 (58c8232)
  • chore: drop harper dictionary (a7a5efb)
  • fix: address peer review findings (d7c1236)
  • fix: copy progress bars and check audio encoder errors (f01aa44)
  • refactor: split encoder, pass 2, and UI helpers (77a690d)
  • refactor: remove dead wrappers and share helpers (eac1207)
  • docs: improve comments across audio, CLI, config, encoder, renderer, UI, and YUV packages (db2702c)
  • refactor: fix peer review findings in audio, encoder, renderer, and CLI (d6587ba)
  • refactor(cli): rename project from Jivefire to Jive Visualiser (87f2cf6)
  • fix(go): don't pin point release (28092f0)
  • chore: update ffmpeg-statigo to v8.1.1.3 (1571412)
  • chore(deps): bump the github-actions group across 1 directory with 2 updates (03dfad8)
  • chore(deps): bump nixpkgs from 567a49d to e73de5b (c31076e)
  • chore(deps): bump nixpkgs from 9ae611a to 567a49d (5c1198f)
  • deps(deps): bump golang.org/x/image in the gomod group (52b6c30)

Installation

Download the appropriate binary for your platform below, make it executable, and move it to your PATH:

# Linux (amd64)
chmod +x jive-visualiser-linux-amd64
sudo mv jive-visualiser-linux-amd64 /usr/local/bin/jive-visualiser

# macOS (Apple Silicon)
chmod +x jive-visualiser-darwin-arm64
sudo mv jive-visualiser-darwin-arm64 /usr/local/bin/jive-visualiser

Jivefire 0.4.1

Choose a tag to compare

@github-actions github-actions released this 20 Jun 08:17
0.4.1
a9a0a30

Changes since 0.4.0

  • chore(justfile): add release tasks (a9a0a30)
  • chore(deps): bump nixpkgs from a799d3e to 9ae611a (f5f3121)
  • deps(deps): bump the gomod group with 2 updates (15ef190)
  • doc: update README to match --episode implementation (fad8a18)
  • feat(cli): make --episode flag optional (350bfe8)
  • test(encoder): drop redundant AVAudioFifo benchmarks (c095a71)
  • refactor(encoder): swap AudioFIFO from Go sync.Pool to AVAudioFifo (e09c6e2)
  • refactor(audio): migrate from gofft to FFmpeg av_tx RDFT (4eb5b5a)
  • chore: update ffmpeg-statigo to v8.1.1.2 (2ebe6ca)

Installation

Download the appropriate binary for your platform below, make it executable, and move it to your PATH:

# Linux (amd64)
chmod +x jivefire-linux-amd64
sudo mv jivefire-linux-amd64 /usr/local/bin/jivefire

# macOS (Apple Silicon)
chmod +x jivefire-darwin-arm64
sudo mv jivefire-darwin-arm64 /usr/local/bin/jivefire

Checksums

SHA256 checksums are provided below for verification.

Jivefire 0.4.0

Choose a tag to compare

@github-actions github-actions released this 08 Jun 11:09
0.4.0

Highlights ✨

  • Spring visualiser dynamics are now the default. Spectrum bars snap instantly to new peaks then spring back using harmonica physics, with an amplitude gain for a fuller, livelier look. No flag needed.
  • Rebuilt TUI on Charm v2. The entire progress and summary display has been reworked: fixed-width metric boxes, a live file-size gauge, encoder-name readout, and time/speed/audio figures rendered with proper Unicode glyphs. Dynamic range is now shown in dB.
  • Audio resampling migrated to libswresample. Mono-to-stereo conversion now uses FFmpeg's own downmix coefficients and correctly drains the decoder at end-of-stream, eliminating subtle sample-count mismatches in the final seconds.
  • A/V sync drift corrected. A longstanding offset between audio and video timestamps has been fixed; output MP4s should now stay in lock-step from start to finish.
  • Meaningfully faster encoding. Per-frame heap allocations and goroutine churn in the hot path have been eliminated, and shared YUV conversion primitives are now centralised in an internal package, reducing redundant work per frame.
  • Stability and race-condition fixes throughout. Preview-frame rendering is now double-buffered (no more concurrent-access panics under load), the encoder worker pool cleans up correctly on initialisation failure, and a data race on asset warnings at startup has been resolved.

Changes since 0.3.3

  • fix(ui): double-buffer preview frames to eliminate concurrent access (4666c28)
  • chore: update .gif (5942348)
  • fix(ui): eliminate data race on preview frame buffer (2e08e92)
  • ui: display time, speed, and audio metrics with proper Unicode glyphs (2d4f623)
  • refactor(audio): migrate to libswresample for sample conversion (53d8e5d)
  • refactor: eliminate comment clutter and improve doc clarity (34f464e)
  • chore(deps): bump nixpkgs from 64c08a7 to a799d3e (dd266b7)
  • fix(audio,ui,cli): guard against zero sample rate and eliminate assetWarnings race (73c7922)
  • fix(encoder): defer worker pool cleanup on initialization failure (5383c94)
  • fix(audio,encoder,cli): correct A/V sync drift, surface asset warnings, and eliminate encoder allocations (01e1b3e)
  • refactor: consolidate duplicated code and eliminate redundant operations (e29dd17)
  • perf: eliminate heap allocations and goroutine spawning in per-frame hot paths (f98c428)
  • fix(audio): duplicate mono samples for stereo channel encoding (ea22ab6)
  • refactor: replace custom unsafe helpers with Go standard library utilities (97a3b2b)
  • refactor: consolidate bar rendering loops and remove unused UI state (97e5e1f)
  • refactor(ui): remove redundant timing fields and extract borderless table (407483a)
  • chore: update gif (9836cbf)
  • refactor(ui): make blockClamp generic to accept block array length (691a2b7)
  • style(ui): remove "Video Preview" and "Live Visualisation" labels (8f2b358)
  • refactor(ui): consolidate encoder, duration, and size metrics into finished pass 2 box (8756a31)
  • feat(ui): add encoder name display and refactor frame-source layout (12aba78)
  • feat(ui): add file size gauge and improve spectrum tracking (0bbf17f)
  • refactor(ui): simplify progress labels and remove audio profile rendering (f711f11)
  • feat(ui): refactor progress and summary display with fixed-width boxes and metrics (f55be8f)
  • feat(renderer): make harmonica spring peak-hold bar dynamics the default (4c503a5)
  • feat(ui): add harmonica spring gain for spectrum bar amplitude scaling (2c0f0ca)
  • refactor(ui): extract progress bar construction into newProgressBar helper (a12f196)
  • feat(ui): refactor progress UI with spectrum springs and modular rendering (ae9ef52)
  • docs(agents): document Charm v2 TUI suite and API gotchas (c162367)
  • fix(ci): exempt x/sync and go-runewidth from licence check (52097d9)
  • build(deps): upgrade charm TUI suite to v2 and fix imports (74f4e56)
  • fix(audio): drain decoder at end of stream (5a18c07)
  • fix(audio): reject unsupported channel counts (908bc21)
  • docs: update architecture to reflect yuv extraction and reader refactoring (0b7400c)
  • style(audio): silence gosec G115 false positives in reader (9749286)
  • fix(ui): display dynamic range in decibels (17aba13)
  • refactor(cli): source CLI colours from the shared theme (5950c58)
  • refactor(audio): share the buffer-fill loop between read helpers (308b972)
  • refactor(encoder): dispatch frame writes on the input pixel format (fa0de4c)
  • test(encoder): benchmark the production YUV path (6cd20a1)
  • refactor(audio): drop unused totalFrames from ProgressCallback (ef6f1a8)
  • refactor(audio): drop unused Metadata fields (290f23c)
  • refactor(audio): type sampleDecoder with named sample formats (d56bde1)
  • refactor(renderer): bundle title and episode into PodcastMeta (06c90b7)
  • refactor(ui): let the encoder report hardware mode (29a5709)
  • refactor(audio): drop single-implementor decoder indirection (f6757bb)
  • refactor(audio): name sample formats instead of magic integers (eaac74f)
  • refactor(cmd): group runPass2 encoding parameters into a struct (39b5081)
  • refactor(encoder): extract shared YUV primitives into internal/yuv (f7a8d3d)
  • refactor(encoder): read frame size from the FIFO instead of recomputing (cb92f9f)
  • refactor(encoder): pass channel count to AVChannelLayoutDefault directly (9664d1f)
  • refactor(encoder): derive AudioFIFO length from the buffer (a79bd5f)
  • refactor(cmd): remove redundant ctx no-op assignment (e2b8693)
  • refactor(cmd): drop unreachable multi-channel label branch (d6b8aff)
  • refactor(audio): remove unused NumChannels from decoder (0238485)
  • refactor(audio): drop unused SeekToSample method (62c471b)
  • refactor(encoder): source hwaccel probe dimensions from config (9766fac)
  • refactor(config): derive Framerate from FPS (5679b1b)
  • refactor(config): model overridable colours as a value type (4911f9b)
  • refactor(audio): extract shared raw-magnitude FFT binning (a6c7510)
  • refactor(cmd): pass title and episode as parameters (da323cd)
  • refactor: replace hand-rolled stdlib implementations with standard library (195a1c5)

Installation

Download the appropriate binary for your platform below, make it executable, and move it to your PATH:

# Linux (amd64)
chmod +x jivefire-linux-amd64
sudo mv jivefire-linux-amd64 /usr/local/bin/jivefire

# macOS (Apple Silicon)
chmod +x jivefire-darwin-arm64
sudo mv jivefire-darwin-arm64 /usr/local/bin/jivefire

Checksums

SHA256 checksums are provided below for verification.

Jivefire 0.3.3

Choose a tag to compare

@github-actions github-actions released this 06 Jun 11:31
0.3.3
a87fb8b

Changes since 0.3.2

  • chore(tailor): refit and alter (a87fb8b)
  • docs: improve comments across codebase (2fb4435)
  • chore(deps): bump Go from 1.26.1 to 1.26.3 and sync dependencies (0db8840)
  • docs(claude): reference AGENTS.md (ccd1602)
  • ci: expose GITHUB_TOKEN to ffmpeg-statigo library downloads (7bfe76f)
  • chore: update ffmpeg-statigo to v8.1.1.1 (585620c)
  • chore(deps): bump nixpkgs from 2991645 to 64c08a7 (951e30a)
  • chore(deps): bump the github-actions group across 1 directory with 2 updates (#42) (8471c11)
  • chore(deps): bump nixpkgs from 549bd84 to 2991645 (37f9ec1)
  • deps(deps): bump golang.org/x/image in the gomod group (#40) (54478fc)
  • deps(deps): bump golang.org/x/image in the gomod group (#38) (e838326)
  • chore(deps): bump nixpkgs from b40629e to 549bd84 (3d2e093)
  • chore(deps): bump github/codeql-action (#36) (ef73ad2)
  • ci: add Dependabot Nix updates (af62707)
  • chore(deps): bump the github-actions group across 1 directory with 4 updates (#34) (07c9cf7)
  • deps(deps): bump golang.org/x/image in the gomod group (#33) (3fe1002)
  • deps(deps): bump github.com/alecthomas/kong in the gomod group (#32) (8176b9f)
  • chore(deps): bump github/codeql-action (#30) (86bcf73)

Installation

Download the appropriate binary for your platform below, make it executable, and move it to your PATH:

# Linux (amd64)
chmod +x jivefire-linux-amd64
sudo mv jivefire-linux-amd64 /usr/local/bin/jivefire

# macOS (Apple Silicon)
chmod +x jivefire-darwin-arm64
sudo mv jivefire-darwin-arm64 /usr/local/bin/jivefire

Checksums

SHA256 checksums are provided below for verification.

Jivefire 0.3.2

Choose a tag to compare

@github-actions github-actions released this 31 Mar 12:05
0.3.2

Changes since 0.3.1

  • refactor: code smells remediation across audio and ui packages (9bba424)
  • deps(deps): bump golang.org/x/image in the gomod group (#28) (efcef49)
  • fix(audio): zero-fill FFT buffer tail after partial frame read (89c3be3)
  • refactor(audio): optimize ReadNextFrame to eliminate per-frame allocations (68154fc)
  • refactor: extract three DRY helpers to eliminate duplication (d6e198b)
  • refactor(renderer): extract duplicated image loading and text measurement (c866ac0)
  • refactor(audio): extract common FFmpeg context initialization (0e8e14c)
  • refactor(audio): consolidate duplicated buffer read loops (9ecf322)
  • refactor: remove 14 instances of dead code across codebase (009cd9c)
  • refactor(stdlib): use cmplx.Abs for complex magnitude calculations (f234ee2)
  • refactor(stdlib): replace unsafe.Pointer float32 conversions with math stdlib (85b3e0e)
  • chore(deps): bump the github-actions group across 1 directory with 2 updates (#26) (2b35200)
  • deps(deps): bump golang.org/x/image in the gomod group (#25) (c1a8796)
  • ci(fix): add actionlint problem matcher for GitHub Actions (b347f3c)
  • ci: consolidate CI/CD workflows into unified builder pipeline (bfea46a)
  • refactor: apply linting fixes across codebase (b393f04)
  • feat: fit tailor community help files (6e8b1fa)
  • chore: update to Go 1.26.1 (31d45bb)
  • build(deps): bump actions/upload-artifact from 6 to 7 (8dcc605)
  • build(deps): bump github.com/charmbracelet/bubbles from 0.21.0 to 0.21.1 (6fa478a)
  • build(deps): bump github.com/alecthomas/kong from 1.13.0 to 1.14.0 (1a2801f)
  • build(deps): bump golang.org/x/image from 0.34.0 to 0.35.0 (dbebc89)

Installation

Download the appropriate binary for your platform below, make it executable, and move it to your PATH:

# Linux (amd64)
chmod +x jivefire-linux-amd64
sudo mv jivefire-linux-amd64 /usr/local/bin/jivefire

# macOS (Apple Silicon)
chmod +x jivefire-darwin-arm64
sudo mv jivefire-darwin-arm64 /usr/local/bin/jivefire

Checksums

SHA256 checksums are provided below for verification.

Jivefire 0.3.1

Choose a tag to compare

@github-actions github-actions released this 14 Jan 18:52
0.3.1
09b329a

Changes since 0.3.0

  • chore: update ffmpeg-statigo to v8.0.1.3 (09b329a)
  • chore: update nixpkgs lockfile (d170624)
  • docs: move copilot instructions to AGENTS.md (5555215)
  • build(deps): bump golang.org/x/image from 0.33.0 to 0.34.0 (4d2c1be)
  • build(deps): bump actions/upload-artifact from 5 to 6 (163ee5f)

Installation

Download the appropriate binary for your platform below, make it executable, and move it to your PATH:

# Linux (amd64)
chmod +x jivefire-linux-amd64
sudo mv jivefire-linux-amd64 /usr/local/bin/jivefire

# macOS (Apple Silicon)
chmod +x jivefire-darwin-arm64
sudo mv jivefire-darwin-arm64 /usr/local/bin/jivefire

Checksums

SHA256 checksums are provided below for verification.

Jivefire 0.3.0

Choose a tag to compare

@github-actions github-actions released this 03 Dec 19:06
359b605

Changes since 0.2.0

  • docs: update ARCHITECTURE.md with improved colourspace conversion details (359b605)
  • perf(encoder): optimise NV12 conversion with even/odd row separation (05f046d)
  • perf(encoder): add direct RGBA→YUV420P conversion for software path (0d1e9f6)
  • perf(audio): pre-compute Hanning window coefficients in FFT processor (00aa59a)
  • perf(encoder): add sync.Pool for AudioFIFO slice allocation (bdf1f80)
  • perf(audio): remove redundant FFT buffer copy in analyzer (588ece7)
  • perf(render): pre-allocate buffers in hot render loop (96e7e87)
  • test(config): add RuntimeConfig nil field handling validation (995478a)
  • test(audio): add Hanning window coefficient validation (db9f01d)
  • test(encoder): add AudioFIFO edge case and stress tests (3bec5e9)
  • test(config): add hex colour parsing and runtime config tests (547b908)
  • test(audio): add frequency rearrangement symmetry tests (14c62a7)
  • test(audio): add FFT correctness unit tests for frequency binning (9774b81)
  • refactor(encoder): add checkFFmpeg helper for consistent error handling (06f41f9)
  • refactor(config): extract CAVA sensitivity magic numbers to constants (0a005cb)
  • refactor(encoder): remove stale writeFrameVulkan comment block (5c248db)
  • docs(encoder): document VideoToolbox rate control limitations (897ce35)
  • refactor(cli): consolidate fire theme colours into shared module (3ce34c8)
  • refactor(encoder): remove unused testHardwareAvailable function (f47fa10)
  • refactor(ui): remove unused progress bar rendering functions (9108530)
  • refactor(encoder): remove unused audio processing functions (db9eed3)
  • fix(encoder): correct VideoToolbox hardware frames context setup (1750b65)
  • docs(readme): document GPU acceleration support (9eb4a31)
  • fix(ui): add VA-API to GPU pipeline label detection (cb2d853)
  • refactor(encoder): extract pixel format setup into configurePixelFormat method (89e7a2c)
  • refactor(encoder): use setupTestHWFramesContext for QSV probe (e35b347)
  • refactor(config): extract CAVA gravity formula constants (d34c81a)
  • refactor(encoder): define encoderSpec type for priority lists (92627ad)
  • refactor(encoder): remove dead DetectNVENC function (27bd755)
  • refactor(encoder): extract setupTestHWFramesContext helper (41d7269)
  • refactor(encoder): extract suppressHWProbeLogging helper (f8c4334)
  • feat: add VA-API hardware encoder support (94fe40f)
  • perf(encoder): optimize hardware encoder settings for low latency (5f6d19e)
  • perf(renderer): improve timing measurements and UI progress updates (477e12a)
  • feat(ui): improve terminal UI with alt screen buffer (38e712b)
  • fix(ui): correct progress bar calculation showing ~80% at completion (c881572)
  • feat(encoder): add hardware encoder probe and improve encoder detection (bb36a6c)
  • perf(encoder): refactor colour space conversion with 2% speedup (60547bd)
  • feat(encoder): prepare QSV support infrastructure (bcc95f1)
  • feat(bench): auto-detect available video encoders (94dffc6)
  • feat(encoder): add Vulkan (h264_vulkan) hardware acceleration (6136216)
  • feat(encoder): add automatic NVENC hardware acceleration (a9c1366)
  • docs: polish readme wording and update build instructions (add0c86)

Installation

Download the appropriate binary for your platform below, make it executable, and move it to your PATH:

# Linux (amd64)
chmod +x jivefire-linux-amd64
sudo mv jivefire-linux-amd64 /usr/local/bin/jivefire

# macOS (Apple Silicon)
chmod +x jivefire-darwin-arm64
sudo mv jivefire-darwin-arm64 /usr/local/bin/jivefire

Checksums

SHA256 checksums are provided below for verification.

Jivefire 0.2.0

Choose a tag to compare

@github-actions github-actions released this 28 Nov 17:36
9d29a34

Changes since 0.1.2

  • chore: update flake.lock (9d29a34)
  • refactor(justfile): improve justfile organization and update ffmpeg-statigo handling (880ef9b)
  • deps: update ffmpeg-statigo to v8.0.1.0 (370b75c)
  • style(ui): implement fire theme with improved visualizations (da33ed7)
  • refactor(ui): unify bubbletea TUI for both analysis and rendering phases (2b57fd1)
  • docs: update project overview (5c1e241)
  • perf(ui): improve rendering performance and add thumbnail timing (9b3ec37)
  • refactor(audio): standardize on FFmpeg-based audio decoding (39cb477)
  • refactor(audio): migrate to sample-based audio encoding (7b6ffeb)
  • feat(encoder): add direct audio sample input mode (9929d57)
  • refactor: move ffmpeg-statigo submodule from vendor/ to third_party/ (72bbab3)
  • feat(audio): implement shared audio buffer for multi-consumer access (ed9c7c4)
  • feat(audio): implement FFmpeg-based audio decoder (b3f66c6)
  • docs(benchmark): add performance benchmarks for RGB→YUV conversion (f6399b7)
  • chore: enhance ffmpeg-statigo submodule management (53c404a)
  • feat(customization): add support for custom colors and images (#5) (30a18bf)
  • build(deps): bump golang.org/x/image from 0.32.0 to 0.33.0 (9a9446e)
  • build(deps): bump github.com/alecthomas/kong from 1.12.1 to 1.13.0 (e872d69)
  • feat: migrate from ffmpeg-go to ffmpeg-statigo (1597a44)

Installation

Download the appropriate binary for your platform below, make it executable, and move it to your PATH:

# Linux (amd64)
chmod +x jivefire-linux-amd64
sudo mv jivefire-linux-amd64 /usr/local/bin/jivefire

# macOS (Apple Silicon)
chmod +x jivefire-darwin-arm64
sudo mv jivefire-darwin-arm64 /usr/local/bin/jivefire

Checksums

SHA256 checksums are provided below for verification.

jivefire 0.1.2

Choose a tag to compare

@github-actions github-actions released this 10 Nov 15:59
c812334

Changes since 0.1.1

  • feat(encoder): improve video quality by adjusting CRF value (c812334)
  • perf(renderer): replace alpha blending with intensity-based gradients (8db1c95)
  • refactor(ci): restructure release workflow into separate jobs (51d46a2)

Installation

Download the appropriate binary for your platform below, make it executable, and move it to your PATH:

# Linux (amd64)
chmod +x jivefire-linux-amd64
sudo mv jivefire-linux-amd64 /usr/local/bin/jivefire

# macOS (Apple Silicon)
chmod +x jivefire-darwin-arm64
sudo mv jivefire-darwin-arm64 /usr/local/bin/jivefire

Checksums

SHA256 checksums are provided below for verification.

Jivefire 0.1.1

Choose a tag to compare

@github-actions github-actions released this 09 Nov 08:15
55251aa

Changes since 0.1.0

  • feat(config): centralize appearance constants and add thumbnail styling (55251aa)
  • docs: reorganize feature list and add thumbnail generator (18efe59)
  • style(ui): refine text formatting and labeling in UI components (74f0674)
  • perf(timing): add comprehensive execution time tracking (08bd5eb)
  • perf(renderer): pre-render framing line pixel pattern for better performance (9c24c5c)
  • feat(ui): add audio flush progress tracking and feedback (16d0f31)
  • feat(encoder): implement interleaved audio encoding to eliminate final processing stall (14157c7)
  • improve: enhance UI with real file size and audio processing status (314aa1d)
  • feat(encoder): configure video codec with animation-optimized settings (b58c8e7)
  • perf(ui): remove mirrored spectrum displays (a41c732)
  • feat(renderer): add thumbnail generation for videos (3511f7f)
  • docs: clarify documentation reference in ARCHITECTURE.md (537c576)
  • feat(renderer): add bold font and thumbnail assets (d8fc1b8)
  • feat: add install command to justfile (f21abdc)
  • refactor(workflow): consolidate release jobs into single matrix job (8c14ab4)

Installation

Download the appropriate binary for your platform below, make it executable, and move it to your PATH:

# Linux (amd64)
chmod +x jivefire-linux-amd64
sudo mv jivefire-linux-amd64 /usr/local/bin/jivefire

# macOS (Apple Silicon)
chmod +x jivefire-darwin-arm64
sudo mv jivefire-darwin-arm64 /usr/local/bin/jivefire

Checksums

SHA256 checksums are provided below for verification.