0.7.0-alpha
Pre-releaseHarbour Rust 0.7.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 0.7.0-alpha line and completes the second release slice of phase 16: expanded runtime fidelity through small, tested Harbour runtime/library slices.
Highlights
- Kept the
hb_JsonDecode()one-argument runtime slice from the current phase 16 baseline. - Expanded zlib-family coverage with
hb_ZCompressBound()and focusedhb_ZError()message mapping. - Expanded
hb_gzCompress()coverage with observable@nResult, numericnDstBufLen, and@cBufferdestination-buffer writeback behavior. - Expanded
hb_processRun()coverage from exit-status handling tohb_processRun( cCommand, NIL, @cStdOut )stdout capture. - 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, site release links, and release automation in the validation baseline.
Release assets
This release publishes:
harbour-rust-cli-0.7.0-alpha-linux-x86_64.zipharbour-rust-cli-0.7.0-alpha-macos-aarch64.zipharbour-rust-cli-0.7.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 explicit compression levels, byte-for-byte zlib parity claims, or the full compression/decompression API family.hb_ZCompressBound()covers only the raw-zlib bound calculation for string or numeric-length input.hb_ZError()covers a focused table of common zlib status codes, not host-zlib-specific undefined behavior.hb_processRun()does not yet cover stdin, stderr capture, merged streams, 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.7.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 linha 0.7.0-alpha e fecha o segundo slice publicável da fase 16: fidelidade de runtime ampliada por slices pequenos, testados e alinhados a comportamento observável do Harbour.
Destaques
- Mantido o slice de runtime de
hb_JsonDecode()com um argumento dentro do baseline atual da fase 16. - Ampliada a cobertura da família zlib com
hb_ZCompressBound()e mapeamento focado de mensagens emhb_ZError(). - Ampliada a cobertura de
hb_gzCompress()com comportamento observável de@nResult,nDstBufLennumérico e writeback em buffer de destino@cBuffer. - Ampliada a cobertura de
hb_processRun()do exit status para captura de stdout emhb_processRun( cCommand, NIL, @cStdOut ). - 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, links de release do site e automação de release no baseline de validação.
Assets da release
Esta release publica:
harbour-rust-cli-0.7.0-alpha-linux-x86_64.zipharbour-rust-cli-0.7.0-alpha-macos-aarch64.zipharbour-rust-cli-0.7.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 níveis explícitos de compressão, alegações de paridade byte-a-byte com zlib ou a família completa de APIs de compressão/descompressão.hb_ZCompressBound()cobre apenas o cálculo de bound zlib bruto para entrada string ou comprimento numérico.hb_ZError()cobre uma tabela focada de códigos comuns de status zlib, não comportamento indefinido específico da zlib do host.hb_processRun()ainda não cobre stdin, captura de stderr, merge de streams, 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.7.0-alpha.