Releases: wcodesoft/please-rules
Releases · wcodesoft/please-rules
Release list
[Kotlin] v0.3.3
Kotlin Rules v0.3.3
Added
- Native
wasm-wasiWebAssembly target support forkt_wasm_binaryand
kotlin_wasm_binary, enabling standalone execution under standard WASI
runtimes (such as Wasmtime) without Node.js or JavaScript shims. - Hermetic bundling of
kotlin-stdlib-wasm-wasi.klib(v2.1.10) in
kotlin_toolchainwith automatic fallback resolution in the
please_kotlin_wasmorchestrator. - End-to-end integration test
//test/kotlin/wasm:disjoint_set_wasivalidating
WASI module compilation and execution.
[Kotlin] v0.3.2
Kotlin Rules v0.3.2
Changed
- Separate package generation: WIT interface is emitted into its declared WIT package (
iface.Package), and bridge is emitted intotargetPkgimportingiface.Package.*. - Auto-detect class implementation: automatically discovers class in sources matching WIT interface name when
imploption is not explicitly specified. - Enforce strict hermeticity: removed non-hermetic Homebrew fallback candidate path from Wasm stdlib resolution.
[WIT] v0.3.1
WIT Rules v0.3.1
Added
- Support for WIT
resourcedeclarations in AST parser (tools/please_wit/ast). - Support for
constructor, instance methods, andstaticfunctions inside resource blocks. - Resource interface generation across Kotlin, Swift, TypeScript, Python, Rust, Go, and C++ code generators.
[WIT] v0.3.0
WIT Rules v0.3.0
Removed
- Removed external toolchain dependencies and precompiled binaries across all
targets and rules. - Removed
wit_toolchainrule; code generation is now 100% self-contained in
pure Go.
Added
- Pure Go AST lexer and recursive-descent parser (
tools/please_wit/ast). - Pure Go code generators for Kotlin, Swift, TypeScript, Python, Rust, Go, and
C++ (tools/please_wit/generate). - Support for AST-driven interface definitions across all 7 supported target
languages.
[TypeScript] v0.2.1
TypeScript Rules v0.2.1
Changed
- Defaulted
ts_bundleto useesbuildvia hermetic Deno for bundling,
minification, and module resolution. - Synthesize import maps directly into
esbuild--aliasflags to accurately
resolve bare specifiers and subpath package mappings.
Removed
- Removed naive regex-based
minifyJSand sequential file concatenation in
please_ts bundlethat corrupted code containing URLs and regular
expressions.
[Swift] v0.1.3
Swift Rules v0.1.3
Added
- Support for internal Swift Testing JSON Event Streaming (
eventStreamOutputPath) parsed directly in Go (parseEventStream). - Detailed failure descriptions and issue records extracted directly from structured event stream payloads into JUnit XML test reports.
Changed
- Transitioned primary test result extraction from text/xUnit output to internal NDJSON event stream processing while keeping intermediate JSON files private to temporary run directories.
[Swift] v0.1.2
Swift Rules v0.1.2
Added
- Native JUnit/xUnit XML test report generation for
swift-testingviaTesting.__CommandLineArguments_v0.xunitOutput. - Support for skipped test reporting and detection of test suite names.
Fixed
- Correct quantity of tests reported for Swift tests with spaces, backticks, or custom display names in
swift-testing. - Robust fallback test output parsing for quoted test names, skipped tests, and execution status.
[Kotlin] v0.3.1
Kotlin Rules v0.3.1
Precompiled hermetic binaries and build definitions for Kotlin.
[Kotlin] v0.3.0
Kotlin Rules v0.3.0
Added
- Support WebAssembly compilation via
kt_wasm_binary(and
kotlin_wasm_binary) build rules targetingwasm-wasiandwasm-js. - Dedicated
please_kotlin_wasmcompiler orchestrator handling multi-phase
compilation, Wasm klib linking, and artifact generation. - Automated WIT bridge generation in
please_kotlin_wasmproducing
@WasmExporttrampolines and typed interfaces from WIT definitions. - Integration tests and comprehensive guides for Kotlin WebAssembly architecture
and multi-language interop.
[WIT] v0.2.0
WIT Rules v0.2.0
Added
- Auto-discovery of companion filenames (
<PascalName>.swift,<PascalName>.kt,<name>.d.ts) based on the WIT target label or world/package name. - Automatic Clang
module.modulemapgeneration for Swift to enable zero-configimport <Module>. - Full
packagepropagation fromwit_libraryto language generators (package <ns>.<name>in Kotlin,--pkg-namefor Go library packages,--internal-prefixfor C++). - Added
filename,module_name, andpackageparameter overrides across language rules (swift_wit_bindgen,kt_wit_bindgen,go_wit_bindgen, etc.). - Added
--package,--companion-filename, and--module-nameflags to theplease_wit generateCLI.