0.6.0-alpha
Pre-releaseHarbour Rust 0.6.0-alpha
English
Harbour Rust is an independent, community-led, open source compiler project written in Rust and designed for compatibility with CA-Clipper and Harbour.
This release publishes the first 0.6.0-alpha line and completes the first release slice of phase 16: focused runtime fidelity through small, tested Harbour runtime/library builtins.
Highlights
- Added the first
hb_JsonDecode()runtime slice for one-argument JSON decoding into the currentValuemodel. - Added
hb_gzCompressBound()for string or numeric-length compressed-size estimates. - Added focused
hb_gzCompress()coverage for direct gzip output,@nResultwriteback, numericnDstBufLen, and too-small-bufferNIL/-5behavior. - Added minimal
hb_processRun( cCommand )support returning normalized shell exit status. - Preserved documented limits for broader zlib/process APIs instead of claiming untested Harbour compatibility.
- Kept the executable C backend, CLI, regression harnesses, compatibility fixtures, benchmark smoke, fuzz scaffold, and release automation in the validation baseline.
Release assets
This release publishes:
harbour-rust-cli-0.6.0-alpha-linux-x86_64.zipharbour-rust-cli-0.6.0-alpha-macos-aarch64.zipharbour-rust-cli-0.6.0-alpha-windows-x86_64.zipbenchmark-report.mdSHA256SUMS.txt
Known limitations
This is still alpha software. The runtime fidelity added here is intentionally narrow:
hb_JsonDecode()does not yet cover the full Harbour by-reference/codepage/hash behavior.hb_gzCompress()does not yet cover@cBuffer, explicit compression levels, or byte-for-byte zlib parity claims.hb_processRun()does not yet cover stdin, stdout/stderr capture by reference, detach/async behavior, custom environment, or advanced quoting.- sockets and threading remain deferred until cross-platform IO, ownership, and concurrency semantics are explicitly designed.
Validation used for this release
cargo fmt --all --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace
cargo check --manifest-path fuzz/Cargo.toml
cargo run -p harbour-rust-tests --bin benchmark-suite -- --fixture examples/hello.prg --iterations 1
cargo build --release -p harbour-rust-cli
The release workflow is expected to validate and package Ubuntu/Linux, Windows, and macOS assets from the 0.6.0-alpha tag.
Português do Brasil
Harbour Rust é um projeto de compilador open source, independente e orientado pela comunidade, escrito em Rust e voltado à compatibilidade com CA-Clipper e Harbour.
Esta release publica a primeira linha 0.6.0-alpha e fecha o primeiro slice publicável da fase 16: fidelidade de runtime com builtins pequenos, testados e alinhados a comportamento observável do Harbour.
Destaques
- Adicionado o primeiro slice de
hb_JsonDecode()para decodificação JSON de um argumento no modelo atual deValue. - Adicionado
hb_gzCompressBound()para estimativas de tamanho comprimido a partir de string ou comprimento numérico. - Ampliada a cobertura focada de
hb_gzCompress()para saída gzip direta, writeback de@nResult,nDstBufLennumérico e comportamentoNIL/-5quando o buffer é pequeno demais. - Adicionado suporte mínimo a
hb_processRun( cCommand )retornando exit status normalizado do shell. - Mantidos limites explícitos para APIs zlib/process mais amplas, sem alegar compatibilidade Harbour não testada.
- Mantidos backend C executável, CLI, harnesses de regressão, fixtures de compatibilidade, benchmark smoke, scaffold de fuzz e automação de release no baseline de validação.
Assets da release
Esta release publica:
harbour-rust-cli-0.6.0-alpha-linux-x86_64.zipharbour-rust-cli-0.6.0-alpha-macos-aarch64.zipharbour-rust-cli-0.6.0-alpha-windows-x86_64.zipbenchmark-report.mdSHA256SUMS.txt
Limitações conhecidas
Este ainda é um software alpha. A fidelidade de runtime adicionada aqui é deliberadamente estreita:
hb_JsonDecode()ainda não cobre todo o comportamento Harbour de by-reference, codepage e hash.hb_gzCompress()ainda não cobre@cBuffer, níveis explícitos de compressão ou alegações de paridade byte-a-byte com zlib.hb_processRun()ainda não cobre stdin, captura de stdout/stderr por referência, detach/async, ambiente customizado ou quoting avançado.- sockets e threading continuam adiados até haver desenho explícito de IO, ownership e concorrência multiplataforma.
Validação usada para esta release
cargo fmt --all --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace
cargo check --manifest-path fuzz/Cargo.toml
cargo run -p harbour-rust-tests --bin benchmark-suite -- --fixture examples/hello.prg --iterations 1
cargo build --release -p harbour-rust-cli
O workflow de release deve validar e empacotar assets para Ubuntu/Linux, Windows e macOS a partir da tag 0.6.0-alpha.