Repository navigation
Releases: bridge-craftwork/Dealer3
Releases · bridge-craftwork/Dealer3
Release list
dealer3 v1.1.0
dealer3 v1.1.0
A Rust implementation of dealer, the bridge hand generator, compatible with its script language and command line, and with the DealerV2_4 extensions.
Highlights
- Double-dummy that is fast enough to use.
tricks(),dds()andpar()now go throughbridge-solver, at around ten milliseconds a deal instead of minutes, andscore()andimps()turn the answers into results. - Pre-solved deals.
--input-dealsreads Richard Pavlicek's library of 10,485,760 solved deals, so double-dummy questions are lookups. A library is read as the run goes, so a run can look through all ten million deals without holding them in memory, and-spicks where in the library to start. - Levelling.
--levelcharacterizes a scenario'sHandType_categories and deals an even mix (or the oneHandType_X_Shareasks for).--write-leveledwrites the levelled scenario out, andLevelType_levels on a decomposition of its own. - More of DealerV2_4's language. Script parameters (
$0–$9,--param), François Dellacherie'sshape{...}notation,printrpt,csvrptwithtrix(...),printns,printside, two-dimensionalfrequency, decimal literals, andpredealon several seats. - Faster. Dealing is about 1.6× faster, generating a deal nearly 3×, and every run uses all cores (
-R/--threads). --stats-json, for tools that read a run's statistics.- In the browser. Everything here also runs at https://bridge-craftwork.com/dealer3/, with nothing to install, including the pre-solved library.
Breaking changes
- A seed no longer reproduces dealer.exe's deals.
--legacyand the ported GNUrandom()are gone; a seed reproduces a dealer3 run. The script language and command line are still dealer.exe's. score()'s numeric contract code now follows the references' own encoding.
See docs/CHANGELOG.md for everything since 1.0.0.
Downloads
Pre-built binaries are attached below for Linux, Windows and macOS (Intel and Apple Silicon). The macOS builds are signed and notarized. Or use https://bridge-craftwork.com/download/dealer3, which picks the right one for your machine.
v1.0.0
dealer3 v1.0.0
First stable release of dealer3 — a Rust implementation of dealer.exe (bridge hand generator) with full compatibility for the original dealer.exe command-line interface.
Highlights
- Full dealer.exe compatibility — same RNG, same output, same CLI switches
- Filter language — hcp, controls, shape, losers, suit_quality, cccc, predeal, average, frequency
- Output formats — oneline, printall, printew, printpbn, printcompact
- Cross-platform — Linux, Windows, macOS (x86_64 + Apple Silicon)
- macOS signed and notarized — passes Gatekeeper without warnings
--input-dealsmode — replay deals from a file through any filter- Parallel mode — fast multi-threaded generation (default) with
--legacyfor exact RNG match
Downloads
Pre-built binaries are attached below for all platforms.
v0.4.0
Release v0.4.0 - Add solver-diag binary for bridge solver debugging - Refactor solver CLI with clap-based argument parsing - Fix -v/--verbose behavior (stats hidden by default, -v shows them) - Fix average/frequency output to stdout (matches dealer.exe) - Add PBN file format specification documentation
v0.3.0 - Fast Parallel Mode
Highlights
- 5x+ faster than C dealer.exe with parallel execution
- New xoshiro256++ RNG enables stateless deal generation
--legacyflag preserves dealer.exe compatibility
New Features
- Fast parallel mode (default) with xoshiro256++ RNG
--legacyflag for dealer.exe-compatible single-threaded modedeal-validatorbinary for validating deals against filters- Chained comparison support (
a == b == c) - Positional input file argument
-gand-pcan now be used together
Performance
| Implementation | Time | Speedup |
|---|---|---|
| C dealer.exe | 16.1s | 1.0x (baseline) |
| Rust legacy | 14.0s | 1.15x |
| Rust fast (12 threads) | 3.1s | 5.2x |
- 3.9x speedup with 12 threads vs single-threaded
- FxHashMap and reference-based evaluation (9.6x eval speedup)
Bug Fixes
- Predeal parsing for suit-only holdings
- Parser compatibility with dlr test suite
- dealer.exe generate limit (10M) and average format (%g)
Usage
# Fast mode (default) - uses all CPU cores
dealer -p 1000 -s 42 filter.dlr
# Legacy mode - exact dealer.exe compatibility
dealer --legacy -p 1000 -s 42 filter.dlr
# Validate deals against filter
./dealer -p 100 -s 42 -f oneline filter.dlr | ./deal-validator filter.dlrSee CHANGELOG.md for full details.
v0.2.0
v0.2.0 Release Release highlights: - Add bridge-solver binary (double-dummy solver) to releases - Add 125 upstream test cases for solver verification - Remove dead code and fix clippy lints - Update CI/CD to build and test solver for all platforms
v0.1.0
Update release workflow to use action-gh-release Modernize the release workflow following current best practices: **Removed deprecated actions**: - Removed actions/create-release@v1 (deprecated) - Removed actions/upload-release-asset@v1 (deprecated) - Removed separate create-release job **Modern replacements**: - Use softprops/action-gh-release@v2 for release creation and asset uploads - Use Swatinem/rust-cache@v2 instead of manual cache steps - Added workflow-level permissions: contents: write **Platform improvements**: - Added macOS ARM64 (aarch64-apple-darwin) support - Strip only on Linux to avoid macOS compatibility issues - Use shell: bash consistently for cross-platform compatibility **Asset handling**: - Set fail_on_unmatched_files: false to handle platform-specific archives - Conditional README.md inclusion (if present) - Single upload step per platform (uploads all assets at once) **Build matrix** (4 targets): - Linux: x86_64-unknown-linux-gnu - Windows: x86_64-pc-windows-msvc - macOS Intel: x86_64-apple-darwin - macOS ARM: aarch64-apple-darwin All existing asset naming preserved: - dealer-linux-x86_64.tar.gz + standalone binary - dealer-windows-x86_64.exe.zip + standalone binary - dealer-macos-x86_64.tar.gz + standalone binary - dealer-macos-aarch64.tar.gz + standalone binary 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>