What's Changed
- [wasi-interp] fix integer overflow in wasi getMemPtr size calculation by @aizu-m in #2752
- Use unsigned shift in GetAlignment to avoid signed overflow by @aizu-m in #2755
- [wasm2c] Avoid size_t overflow in wasm_rt_grow table reallocation by @aizu-m in #2756
- parse decimal float literals independent of the C locale by @aizu-m in #2757
- [wasm-decompile] Avoid out-of-range shift in load/store rewrite by @aizu-m in #2758
- [wasm2c] Use locale-independent ctype in GenerateHeaderGuard by @aizu-m in #2759
- Avoid unbounded alloca in FloatParser::ParseFloat by @aizu-m in #2754
- [interp] Use u64 table operands so out-of-range table64 indices trap by @aizu-m in #2760
- Avoid string_view underflow in ParseCodeMetadataAnnotation by @aizu-m in #2761
- Avoid Var::name() on function-level branches in decompiler by @aizu-m in #2762
- Update man pages and html docs by @sbc100 in #2763
- Avoid front() on an empty element expression in the validator by @aizu-m in #2765
- Add ruff python linter. NFC by @sbc100 in #2770
- Remove wasm-decompile by @sbc100 in #2769
- Support 64 bit limits for tables by @zherczeg in #2767
- [binary-reader] Templatize LEB reading functions. NFC by @sbc100 in #2771
- Update from C++17 to C++20 by @sbc100 in #2772
- Add -Wno-gnu-folding-constant when compiling c api examples by @sbc100 in #2774
- Use C++20 standard bit utilities and std::bit_cast. NFC by @sbc100 in #2773
- [wasm2c] Write float constants independent of the host locale by @aizu-m in #2768
- Avoid out-of-bounds section_starts_ read on invalid reloc index by @aizu-m in #2777
- Remove ReadLeb128 type argument by @zherczeg in #2776
- [interp] Stop on first error in the binary reader fuzzer by @aizu-m in #2778
- [cpp20] Modernize binary reader and writer APIs to use std::span by @sbc100 in #2775
- Fix DecodeInvalidOpcode for 9-bit opcode codes by @sbc100 in #2781
- wasm2c: (Security) fix runtime overflows when running Wasm modules with memory64 by @shravanrn in #2783
- [validator] Allow call_indirect/return_call_indirect table elements to be subtypes of funcref by @6d6f6d656e746f in #2780
- Check size overflow and calloc failure in wasm_rt_allocate_memory by @aizu-m in #2786
- wasm2c: fix errors in atomic ops implementation by @shravanrn in #2784
- wasm2c: fix to check address + offset addition for memory64 by @shravanrn in #2785
- Bounds-check function index in name section local handlers by @aizu-m in #2787
- wasm2c: Move to O3 optimizations for wasm2c spec compliance tests by @shravanrn in #2788
- Zero-init an InitInst to avoid accessing unintialized memory by @lexi-nadia in #2789
- Mark Result as [[nodiscard]] and fix associated errors by @lexi-nadia in #2791
- Add WABT_USE annotations for Result values only used in assertions by @lexi-nadia in #2793
- Fix WABT_PRINTF_TYPE_CODE to correctly handle INT_MIN by @lexi-nadia in #2792
- Check memory64 addr+offset overflow in wasm2c store/atomic/simd ops by @aizu-m in #2790
- Fix operand arity of v128.storeN_lane in GetExprArity by @aizu-m in #2764
- Fix out-of-bounds read in BinaryReaderLogging::WriteIndent by @aizu-m in #2795
- Fix out-of-bounds write in MakeTypeBindingReverseMapping by @aizu-m in #2796
- Avoid out-of-bounds imports read in wasm_instance_new by @aizu-m in #2797
- Fix out-of-bounds type stack read after rethrow in c-writer by @aizu-m in #2798
- [interp] Pop memory.copy/table.copy length using the minimum index type by @aizu-m in #2800
- Fix out-of-bounds read when tracing global.set and table ops by @aizu-m in #2802
- wasm2c: Extend segue to simd and unshared atomics by @shravanrn in #2803
- Fix memory64 offset truncation in the interp istream by @aizu-m in #2799
- Fix use-after-free resolving reference type names in wast-parser by @aizu-m in #2805
- wasm2c: Optimize call indirect code footprint for better performance by @shravanrn in #2807
- Fix float argument types in wasm-interp --run-export by @XX-Q in #2811
- wasm2c: Remove unnecessary force_read in bounds check mode for performance by @shravanrn in #2814
- [binary-reader] Fix out-of-bounds read on invalid name sub-section by @aizu-m in #2801
- Fix validation of typed select with empty result types (#2708) by @ANAMASGARD in #2810
- Give the tools an 8MB stack on msvc by @Nishuuzz in #2815
- Assert that ReadBinaryIr is not used with skip_function_bodies by @Nishuuzz in #2817
- [interp] Fix out-of-bounds read tracing call_ref and return_call_ref by @aizu-m in #2819
- wasm2c: optimize performance of float handling by @shravanrn in #2822
- Don't abort on an empty input file by @Nishuuzz in #2821
- interp: assert stop_on_first_error in ReadBinaryInterp by @ANAMASGARD in #2816
- wasm2c: Optimize force_read performance by @shravanrn in #2808
- wasm2c: reject contradictory imports instead of aborting by @ANAMASGARD in #2813
- wasm2c: Save memory base/size locally as a perf optimization by @shravanrn in #2804
- Write init expressions folded so they can be parsed back by @Nishuuzz in #2830
- Support (module definition ...) constructs by @zherczeg in #2829
- Propagate parse errors out of instruction and expression lists by @Nishuuzz in #2824
- Don't generate a bare "$" from an empty export name by @Nishuuzz in #2832
- wasm2c: missing guard force_read error with escape hatch by @shravanrn in #2826
- Enable supported stage 5 proposals by default by @sbc100 in #2837
- Support u64 limits for wasm 3.0 by @zherczeg in #2836
- Reject delegate depth overflow in TypeChecker::OnDelegate by @aizu-m in #2841
- [cmake] Require Python 3.8 to run tests by @sbc100 in #2843
- wasm2c: Re-enable s390x CI with some tests disabled (Fix #2655) by @shravanrn in #2855
- [interp] Fix operand types when tracing table.set by @aizu-m in #2825
- Update ruff version from 0.15.7 -> 0.16.6 by @sbc100 in #2844
- [interp] Fix wasm-interp stack cleanup for tail calls by @KKiiim in #2835
- ci: add -y to apt-get commands and unify cross-build install by @kevmoo in #2717
- Fix validating imported global refs by @zherczeg in #2848
- Support (module instance ...) constructs by @zherczeg in #2847
- Bump version to 1.0.42 by @sbc100 in #2859
New Contributors
- @aizu-m made their first contribution in #2752
- @6d6f6d656e746f made their first contribution in #2780
- @lexi-nadia made their first contribution in #2789
- @XX-Q made their first contribution in #2811
- @ANAMASGARD made their first contribution in #2810
- @Nishuuzz made their first contribution in #2815
Full Changelog: 1.0.41...1.0.42