Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[0.2.1] - 2026-08-12
Fixed
- docs.rs Build Failure: Added
cargo-args = ["--bin", "opc-cli"]to[package.metadata.docs.rs]inopc-cli/Cargo.tomlso docs.rs explicitly targets the binary executable (src/main.rs) instead of defaulting to a non-existent--libtarget.
[0.2.0] - 2026-08-12
Added
- crates.io Publication: Published
opc-cliandopc-da-clienttocrates.io. - Standalone
windows-rsIntegration:opc-da-clientfully internalized rawwindows-bindgenCOM definitions intosrc/bindings/, eliminating external unmaintained bindings crates. - Windows 7 / Server 2008 R2 Polyfill Bundle: Built legacy release packaging pipeline (
package-win7) producing static PE binaries bundled with#![no_std]polyfills (WaitOnAddress,RtlGenRandom, WinRT error stubs). - Quality Pipeline & Automation: Added PowerShell-driven automated quality verification (
verify.ps1), release packager (package.ps1), and clean merge workflow (Merge-ToMain.ps1).
Changed
- Synchronized workspace versions for
opc-cliandopc-da-clientat0.2.0. - Internalized
ComGuardintoopc-da-clientcrate-private scope. COM MTA apartment initialization and thread affinity are managed transparently by a background worker thread. - Enforced LF line endings across Rust source files with
.gitattributesandrustfmt.toml. - Replaced machine-specific MSVC linker overrides in
.cargo/config.tomlwith standard Cargo MSVC toolchain auto-discovery.
Fixed
- Fixed phantom
E_POINTERerror cascades from null PWSTR values inStringIterator(OPC-BUG-001). - Prevented potential silent array truncation in OPC DA tag read/write handling.