Skip to content

Releases: SUSTechHSAS/sumzle-hpc-solver

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 24 Jun 02:27
8ad944e

Combined release archives

Each archive bundles the backend binary AND the pre-built web
frontend — unpack and run, no build step required.

Platform Archive
Linux x86_64 sumzle-solver-linux-x86_64.tar.gz
Linux ARM64 sumzle-solver-linux-aarch64.tar.gz
Windows x86_64 sumzle-solver-windows-x86_64.zip
macOS x86_64 sumzle-solver-macos-x86_64.tar.gz
macOS ARM64 sumzle-solver-macos-aarch64.tar.gz

Quick start

Unix (Linux / macOS):

tar -xzf sumzle-solver-<platform>.tar.gz
cd sumzle-solver-<platform>
./run.sh

Windows:

Expand-Archive sumzle-solver-windows-x86_64.zip
cd sumzle-solver-windows-x86_64
run.bat

Then open http://localhost:3000 in your browser. The backend
automatically serves the bundled frontend from frontend/dist.

See the in-archive README.md for CLI usage and advanced options.

What's Changed

  • ci: trigger workflow on tag pushes for automatic releases by @SUSTechHSAS in #6
  • fix: correct factorial '!' operator enumeration with empty constraints by @SUSTechHSAS in #7
  • feat(ci): add benchmark comparison with main branch for PR checks by @SUSTechHSAS in #8
  • Add streaming + top-N output to bound memory and scale parallelism by @Kibiandkimi in #10
  • chore: remove accidentally committed skills directory by @SUSTechHSAS in #13
  • Add CodeQL workflow for code analysis by @Kibiandkimi in #14
  • Optimize solver hot paths and fix distributed constraint handling by @SUSTechHSAS in #9
  • ci: benchmark PR9 top-N and streaming modes against main by @SUSTechHSAS in #16
  • ci: bundle backend + frontend in release archives by @SUSTechHSAS in #17
  • Fix top-N char probabilities to use full solution set; remove length cap by @Kibiandkimi in #15
  • ci: grant contents:write to release job (hotfix for v1.0.0-beta release) by @SUSTechHSAS in #18
  • Refactor frontend with Impeccable design pass by @SUSTechHSAS in #24
  • Add MIT License to the project by @SUSTechHSAS in #25
  • fix: top-N total found count (#19) + server memory release via mimalloc (#20) by @SUSTechHSAS in #26
  • fix: serve -h debug panic, memory regression test, allocator in lib by @SUSTechHSAS in #28
  • fix(frontend): cap expression length to prevent UI freeze (#29) by @SUSTechHSAS in #30
  • fix(frontend): keep row buttons in place when length error shows (#31) by @Kibiandkimi in #32
  • fix(frontend): take length error out of flow so buttons never shift (#33) by @SUSTechHSAS in #34

New Contributors

Full Changelog: v0.2.0...v1.0.0

v1.0.0-beta

v1.0.0-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Jun 02:12
07c611a

Combined release archives

Each archive bundles the backend binary AND the pre-built web
frontend — unpack and run, no build step required.

Platform Archive
Linux x86_64 sumzle-solver-linux-x86_64.tar.gz
Linux ARM64 sumzle-solver-linux-aarch64.tar.gz
Windows x86_64 sumzle-solver-windows-x86_64.zip
macOS x86_64 sumzle-solver-macos-x86_64.tar.gz
macOS ARM64 sumzle-solver-macos-aarch64.tar.gz

Quick start

Unix (Linux / macOS):

tar -xzf sumzle-solver-<platform>.tar.gz
cd sumzle-solver-<platform>
./run.sh

Windows:

Expand-Archive sumzle-solver-windows-x86_64.zip
cd sumzle-solver-windows-x86_64
run.bat

Then open http://localhost:3000 in your browser. The backend
automatically serves the bundled frontend from frontend/dist.

See the in-archive README.md for CLI usage and advanced options.

What's Changed

  • ci: trigger workflow on tag pushes for automatic releases by @SUSTechHSAS in #6
  • fix: correct factorial '!' operator enumeration with empty constraints by @SUSTechHSAS in #7
  • feat(ci): add benchmark comparison with main branch for PR checks by @SUSTechHSAS in #8
  • Add streaming + top-N output to bound memory and scale parallelism by @Kibiandkimi in #10
  • chore: remove accidentally committed skills directory by @SUSTechHSAS in #13
  • Add CodeQL workflow for code analysis by @Kibiandkimi in #14
  • Optimize solver hot paths and fix distributed constraint handling by @SUSTechHSAS in #9
  • ci: benchmark PR9 top-N and streaming modes against main by @SUSTechHSAS in #16
  • ci: bundle backend + frontend in release archives by @SUSTechHSAS in #17
  • Fix top-N char probabilities to use full solution set; remove length cap by @Kibiandkimi in #15
  • ci: grant contents:write to release job (hotfix for v1.0.0-beta release) by @SUSTechHSAS in #18

New Contributors

Full Changelog: v0.2.0...v1.0.0-beta

v0.2.0

Choose a tag to compare

@SUSTechHSAS SUSTechHSAS released this 31 May 08:31
8b81c4f

What's New in v0.2.0

🎯 Character Probability

  • Compute character probabilities across all solutions
  • Visual probability bars in the frontend
  • Sorted by probability descending

⭐ Recommended Solution

  • Algorithm scores solutions by character probability
  • Top 5 most probable characters get a bonus
  • Recommended solution highlighted in blue

📊 High-Performance Result List

  • Virtual scroll rendering for large result sets
  • 500 item display limit for smooth scrolling
  • Instant search/filter within results

📥 Result Download

  • Download results in JSON, CSV, or TXT format
  • Client-side Blob generation (no server re-computation)
  • Server /api/download endpoint accepts pre-computed results

🎨 Frontend Redesign

  • Two-column layout matching the reference design
  • Dark/Light theme toggle
  • Animated gradient title
  • Virtual keyboard for on-screen input
  • Game state import from JSON
  • Responsive CSS with custom properties

🔧 Backend Improvements

  • compute_char_probabilities() public function
  • compute_recommended() public function
  • /api/download refactored to use DownloadRequest
  • 48 Rust tests passing
  • 45 frontend tests passing

🏗️ CI Improvements

  • Fixed Criterion benchmark CI (--bench benchmark flag)
  • All checks pass: Check, Test (Ubuntu/macOS/Windows), Frontend, Benchmark

📦 Artifacts

  • sumzle-solver-linux-x86_64 — Linux x86_64 binary
  • frontend-dist.tar.gz — Pre-built frontend static files

Note: Cross-compiled binaries (ARM Linux, Windows, macOS) are not included in this manual release due to build environment limitations. Use the CI workflow with tag triggers for full multi-platform builds.

v0.1.0

Choose a tag to compare

@SUSTechHSAS SUSTechHSAS released this 30 May 07:27
88e484a

sumzle-hpc-solver v0.1.0

Initial release with web frontend support.

Features

  • Rust solver backend with Axum web server
  • React + TypeScript + Vite frontend
  • REST API endpoints: /api/solve, /api/validate, /api/eval
  • Static file serving for frontend assets
  • Configurable thread count for parallel solving

Bug Fixes

  • Fixed JSON deserialization mismatch between frontend and backend (#3)
  • Fixed empty string handling for tile characters (#3)

v0.1.0-alpha

v0.1.0-alpha Pre-release
Pre-release

Choose a tag to compare

@SUSTechHSAS SUSTechHSAS released this 30 May 06:49
fix: handle empty string char from frontend blank tiles

Frontend sends char: "" for blank/empty tiles, but the Rust char type
requires exactly one character. Changed SolveTile.char from char to String,
and handle conversion in to_guess_row() by mapping empty strings to null
character with Empty state.

Fixes: rows[0].tiles[0].char: invalid value: string "", expected a character

Added tests:
- test_solve_with_blank_tiles: exact scenario from bug report
- test_solve_with_partial_blank_tiles: mixed filled/blank tiles
- test_solve_tile_empty_char: unit test for empty char deserialization
- test_solve_row_with_blank_tiles_to_guess_row: conversion logic