<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in opt.rs</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>133a0ef4 - Debugging: add the debug-main world. (#12756)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#133a0ef4</link>
        <description>Debugging: add the debug-main world. (#12756)* Debugging: add the debug-main world.This PR &quot;draws the rest of the owl&quot; for the debug-mainworld (bytecodealliance/rfcs#45). This includes a WIT world that hostsdebug components that have access to &quot;host debug powers&quot; via adebugging API, and the ability to load such a debug-component and giveit control of the main program as a debuggee when using `wasmtimerun`.The WIT is namespaced to `bytecodealliance:wasmtime` and is slightlyaspirational in places: for example, the host does not yet implementinjection of early return values or exception-throws. I intend to fillout a series of TODO issues once this all lands to track followup(&quot;post-MVP&quot;) work.This PR does not include any debug components. I separately have agdbstub component, with which I tested and co-developed this host-sideimplementation. My plan is to land it in a followup PR as a componentthat will be embedded in/shipped with the Wasmtime CLI and availableunder an easy-to-use CLI option. Once we have that gdbstub component,we can also implement end-to-end integration tests that boot up LLDBand run through an expected interaction. (Separately, thoseintegration tests will require a release of wasi-sdk to ship an LLDBbinary that we can use.) As such, there are no real tests in this PR:interesting behaviors only really occur with a full end-to-end flow.The integration with the CLI is a little awkward (we internally buildanother `wasmtime run` command that invokes the debug component, andtie it together with the debuggee via a special `invoke_debugger` API;this seemed less bad than reworking all of the WASI setup to be morereusable). Happy to take more ideas here.* Review feedback.* Review feedback.* Review feedback: update vendor-wit.sh.* Review feedback: -Ddebugger-arg= -&gt; -Darg=.* Review feedback.* Review feedback.* Review feedback: factor host.rs into several submodules.* Review feedback: rename Debugger to Debuggee on host side.* Review feedback: split inherit_stdin_stdout, and add corresponding options for the debug component.* Review feedback.* Review feedback.* Add simple debug-component tests.* Add wasm32-wasip2 target in a few places in CI* Cargo vets for wstd dependency.* Add wasm32-wasip2 in more places* fix debug-component test dependence on componentization byte offsets* Review feedback.* Fix cancel-safety of EventFuture.* Fix: Interrupted events should only occur after interrupt(), not on every epoch yield.* Review feedback.* Review feedback: strip down WASI imports in debugger world.* fold debugger test component back into wasip1 + adapter test artifact compilation flow

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Fri, 13 Mar 2026 18:58:17 +0000</pubDate>
        <dc:creator>Chris Fallin &lt;chris@cfallin.org&gt;</dc:creator>
    </item>
<item>
        <title>b11f8675 - Migrate CLI flags to `wasmtime::error` (#12260)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#b11f8675</link>
        <description>Migrate CLI flags to `wasmtime::error` (#12260)

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Wed, 07 Jan 2026 21:26:10 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>557cc2d6 - Another batch of dependency updates (#11832)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#557cc2d6</link>
        <description>Another batch of dependency updates (#11832)* Another batch of dependency updatesBringing some deps in `Cargo.toml` up-to-date with their latest versionsalong the same lines as #11820 to avoid deps getting too stale/old.Code-wise this updates `anyhow` which enables preexisting Clippywarnings to check more code, so those warnings are fixed here as well.prtest:full* Run rustfmt

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Fri, 10 Oct 2025 17:12:23 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>73de2ee9 - Pull in new regalloc2 with fastalloc fixes for exceptions, and re-enable and add to testing. (#11533)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#73de2ee9</link>
        <description>Pull in new regalloc2 with fastalloc fixes for exceptions, and re-enable and add to testing. (#11533)* Revert &quot;Cranelift/Wasmtime: disable fastalloc (single-pass) allocator for now. (#10554)&quot;This reverts commit d52e23b09191185996792b8ef18e5fca2865ca43.* Upgrade to regalloc2 0.13.1.Pulls in bytecodealliance/regalloc2#233 to update fastalloc to supportthe looser constraints needed by exception-related changes.* cargo-vet update.

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Mon, 25 Aug 2025 19:22:21 +0000</pubDate>
        <dc:creator>Chris Fallin &lt;chris@cfallin.org&gt;</dc:creator>
    </item>
<item>
        <title>698028ce - Add a configuration knob for `PAGEMAP_SCAN` (#11433)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#698028ce</link>
        <description>Add a configuration knob for `PAGEMAP_SCAN` (#11433)* Add a configuration knob for `PAGEMAP_SCAN`This commit adds `PoolingAlloationConfig::pagemap_scan` and additionallyadds `-Opooling-pagemap-scan` to configure on the CLI. This is the sametri-state configuration option as `MpkEnable` so that enum was renamedto just `Enabled` and repurposed for both options.This then additionally turns the option off-by-default instead of theprevious on-by-default-if-able-to to enable more slowly rolling out thisfeature.* Fix broken test

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Thu, 14 Aug 2025 22:07:53 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>3ecb338e - Wasmtime: Add (optional) bottom-up function inlining to Wasm compilation (#11283)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#3ecb338e</link>
        <description>Wasmtime: Add (optional) bottom-up function inlining to Wasm compilation (#11283)* Wasmtime: Add (optional) bottom-up function inlining to Wasm compilationThis commit plumbs together two pieces of recently-added infrastructure:1. function inlining in Cranelift, and2. the parallel bottom-up inlining scheduler in Wasmtime.Sprinkle some very simple inlining heuristics on top, and this gives us functioninlining in Wasm compilation.The default Wasmtime configuration does not enable inlining, and when we doenable it, we only enable it for cross-component calls by default (sincepresumably the toolchain that produced a particular core Wasm module, like LLVM,already performed any inlining that was beneficial within that module, but thattoolchain couldn&apos;t know how that Wasm module would be getting linked togetherwith other modules via component composition, and so it could not have done anycross-component inlining). For what it is worth, there is a config knob toenable intra-module function inlining, but this is primarily for use by ourfuzzers, so that they can easily excercise and explore this new inliningfunctionality.All this plumbing required some changes to the `wasmtime_environ::Compiler`trait, since Winch cannot do inlining but Cranelift can. This is mostlyencapsulated in the new `wasmtime_environ::InliningCompiler` trait, for the mostpart. Additionally, we take care not to construct the call graph, or any otherdata structures required only by the inliner and not regular compilation, bothwhen using Winch and when using Cranelift with inlining disabled.Finally, we add a `disas` test to verify that we successfully inline a series ofcalls from a function in one component, to a cross-component adapter function,to a function in another component. Most test coverage is expected to come fromour fuzzing, however.* Fix dead code warning when not `cfg(feature = &quot;component-model&quot;)`* fix winch trampoline compilation* Move CLI options to codegen* Move parameters into struct* Use an index set for call-graph construction* Smuggle inlining heuristic options through cranelift flags* Remove old CLI flags* set tunables before settings* Only configure inlining options for cranelift in fuzzing

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Tue, 29 Jul 2025 14:32:54 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>90ac295e - Update Wasmtime to the 2024 Rust Edition (#10806)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#90ac295e</link>
        <description>Update Wasmtime to the 2024 Rust Edition (#10806)* Update Wasmtime to the 2024 Rust EditionNow that our MSRV supports the 2024 edition it&apos;s possible to make thisswitch. This commit moves Wasmtime to the 2024 Edition to keepup-to-date with Rust idioms and access many of the edition featuresexclusive to the 2024 edition.prtest:full* Reformat with the 2024 edition

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Mon, 19 May 2025 16:40:55 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>d52e23b0 - Cranelift/Wasmtime: disable fastalloc (single-pass) allocator for now. (#10554)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#d52e23b0</link>
        <description>Cranelift/Wasmtime: disable fastalloc (single-pass) allocator for now. (#10554)Unfortunately, as discovered by a recent fuzzbug [1], the single-passregister allocator is not compatible with the approach to callsitedefs that exception-handling support has forced us to take. Inparticular, we needed to move all call return-value defs onto the callinstruction itself, so calls could be terminators; this unboundednumber of defs is made to be a solvable allocation problem by using`any` constraints, which allow allocation directly into spillslots;but fastalloc appears to error out if it runs out of registers,regardless of this constraint.Long-term, we should fix this, but unfortunately I don&apos;t have cyclesto dive into fastalloc&apos;s internals at the moment, and it&apos;s (I think) atier-3 feature. As such, this PR disables its use for now. I&apos;vefiled a tracking issue in RA2 [2], and referenced this in theCranelift configuration option docs at least.To keep from shifting all fuzzbugs / fuzzing corpii by altering the`arbitrary` interpretation, I opted to keep the enum the same in thefuzzing crate, and remap `SinglePass` to `Backtracking` there. I&apos;mhappy to take the other approach and remove the option (thusinvalidating all fuzzbugs) if we&apos;d prefer that instead.[1]: https://oss-fuzz.com/testcase-detail/5433312476987392[2]: https://github.com/bytecodealliance/regalloc2/issues/217

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Wed, 09 Apr 2025 00:14:27 +0000</pubDate>
        <dc:creator>Chris Fallin &lt;chris@cfallin.org&gt;</dc:creator>
    </item>
<item>
        <title>bda83128 - Remove humantime crate dependency (#10379)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#bda83128</link>
        <description>Remove humantime crate dependency (#10379)Turns out this has been unmaintained for quite some time now. Itadditionally is only a fringe benefit so hand-write a few parsers toreplace it.Closes #10378

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Wed, 12 Mar 2025 05:21:18 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>2a5c141c - Create wasmtime::Config from toml (#9811)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#2a5c141c</link>
        <description>Create wasmtime::Config from toml (#9811)* Create wasmtime::Config from toml, add --config CLI flag* Add cli tests

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Mon, 27 Jan 2025 23:28:22 +0000</pubDate>
        <dc:creator>Ludvig Liljenberg &lt;ludfjig@hotmail.com&gt;</dc:creator>
    </item>
<item>
        <title>ba4e22bc - Make it easier to reuse fuzzing configuration on the CLI (#10123)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#ba4e22bc</link>
        <description>Make it easier to reuse fuzzing configuration on the CLI (#10123)* Make it easier to reuse fuzzing configuration on the CLIDuring fuzzing we emit a debug log of configured options to assist withreproducing fuzz test cases outside of the fuzzing harness. Mappingoptions the fuzzer is using though to CLI flags, for example, is a bitof an art though and not obvious. Just today we&apos;ve got a fuzz bug and Icouldn&apos;t figure out how to reproduce on the CLI and it turns out theissue was that I was forgetting a flag that was being configured inresponse to another flag. I got a bit fed up with constantly trying tomap one to the other, so I&apos;ve decided to fix things.This commit adds a `Display for CommonOptions` implementation to the`wasmtime-cli-flags` crate. This is built on the same macro-constructioninfrastructure of all our flags making it a relatively low one-time-costto implement this. Each option value now implements not only parsing butprinting as well.Next the `wasmtime-fuzzing` crate was updated to create a`CommonOptions` first which is then in turn used to create a`wasmtime::Config`. This provides a layer to insert a log statement withto emit all configuration options in a form that can be easilycopy/pasted to the CLI to reproduce.Overall after doing this I was able to quickly reproduce the bug inquestion (yay!). The CLI flag logging is pretty verbose right now sincethe fuzzing infrastructure sets many settings redundantly to theirdefaults, but reducing flags to a minimum is expected to be relativelyeasy compared to otherwise trying to extract the options.* Fix build and dependencies from wasmtime-fuzzing* Always provide `wasmtime::MpkEnabled`It&apos;s an otherwise very small `enum` which makes it easier toconditionally compile `wasmtime-cli-flags`* Frob some crate features some more* Fix specification of `wasmtime_linkopt_force_jump_veneer` option

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Mon, 27 Jan 2025 21:34:55 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>45b60bd6 - Start using `#[expect]` instead of `#[allow]` (#9696)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#45b60bd6</link>
        <description>Start using `#[expect]` instead of `#[allow]` (#9696)* Start using `#[expect]` instead of `#[allow]`In Rust 1.81, our new MSRV, a new feature was added to Rust to use`#[expect]` to control lint levels. This new lint annotation willsilence a lint but will itself cause a lint if it doesn&apos;t actuallysilence anything. This is quite useful to ensure that annotations don&apos;tget stale over time.Another feature is the ability to use a `reason` directive on theattribute with a string explaining why the attribute is there. Thisstring is then rendered in compiler messages if a warning or errorhappens.This commit migrates applies a few changes across the workspace:* Some `#[allow]` are changed to `#[expect]` with a `reason`.* Some `#[allow]` have a `reason` added if the lint conditionally fires  (mostly related to macros).* Some `#[allow]` are removed since the lint doesn&apos;t actually fire.* The workspace configures `clippy::allow_attributes_without_reason = &apos;warn&apos;`  as a &quot;ratchet&quot; to prevent future regressions.* Many crates are annotated to allow `allow_attributes_without_reason`  during this transitionary period.The end-state is that all crates should use`#[expect(..., reason = &quot;...&quot;)]` for any lint that unconditionally firesbut is expected. The `#[allow(..., reason = &quot;...&quot;)]` lint should be usedfor conditionally firing lints, primarily in macro-related code.The `allow_attributes_without_reason = &apos;warn&apos;` level is intended to bepermanent but the transitionary`#[expect(clippy::allow_attributes_without_reason)]` crate annotationsto go away over time.* Fix adapter buildprtest:full* Fix one-core build of icache coherence* Use `allow` for missing_docsWork around rust-lang/rust#130021 which was fixed in Rust 1.83 and isn&apos;tfixed for our MSRV at this time.* More MSRV compat

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Mon, 02 Dec 2024 17:19:20 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>1e3e5fc1 - Cranelift: add option to use new single-pass register allocator. (#9611)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#1e3e5fc1</link>
        <description>Cranelift: add option to use new single-pass register allocator. (#9611)* Cranelift: add option to use new single-pass register allocator.In bytecodealliance/regalloc2#181, @d-sonuga added a fast single-passalgorithm option to regalloc2, in addition to its existing backtrackingallocator. This produces code much more quickly, at the expense of codequality. Sometimes this tradeoff is desirable (e.g. when performing adebug build in a fast-iteration development situation, or in an initialJIT tier).This PR adds a Cranelift option to select the RA2 algorithm, plumbs itthrough to a Wasmtime option, and adds the option to Wasmtime fuzzing aswell.An initial compile-time measurement in Wasmtime: `spidermonkey.wasm`builds in 1.383s with backtracking (existing algorithm), and 1.065s withsingle-pass. The resulting binary runs a simple Fibonacci benchmark in2.060s with backtracking vs. 3.455s with single-pass.Hence, the single-pass algorithm yields a 23% compile-time reduction, atthe cost of a 67% runtime increase.* cargo-vet audit for allocator-api2 0.2.18 -&gt; 0.2.20.

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Fri, 15 Nov 2024 17:58:31 +0000</pubDate>
        <dc:creator>Chris Fallin &lt;chris@cfallin.org&gt;</dc:creator>
    </item>
<item>
        <title>83bf774d - Add the &quot;null&quot; garbage collector (#9484)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#83bf774d</link>
        <description>Add the &quot;null&quot; garbage collector (#9484)* Add the &quot;null&quot; garbage collectorThe null collector does not actually collect any garbage, it simplybump-allocates until the heap is exhausted, at which point further allocationattempts will fail. It does not require any GC barriers.Users can configure which collector to use via the `wasmtime::Config::collector`method or the `-C collector=drc|null` CLI flag. The `wasmtime::Collector` enumeration,similar to the `wasmtime::Strategy` enumeration but for choosing a collectorrather than a compiler, additionally has a table summarizing the properties andcharacteristics of our current set of collector implementations.Finally, we also run `.wast` tests that exercise GC types under both the DRC andnull collectors. I tried to avoid running tests that are not related to GC underboth configurations just to avoid a combinatorial blow up.* cargo fmt* fix +gc -gc-null -gc-drc build* Fix some warnings in various cargo feature combo builds* Fix some more warnings in certain build configs* Fix unit tests for null GC* Fill in some placeholder comments that I forgot to write* Fix issues where we ask for a GC store when we don&apos;t actually need oneWhich was causing test failures, since we no longer return a GC store with adummy heap.* Add fuzzing config support for different collectors* address review feedback* fix cmake tests* Fix test compilation after rebase* Fix GC tests under MIRI

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Thu, 31 Oct 2024 17:46:17 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>81f9efc0 - feat(cli): allow underscores for numeric options used in wasmtime (#9332)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#81f9efc0</link>
        <description>feat(cli): allow underscores for numeric options used in wasmtime (#9332)This commit allows for underscores to be used in numeric arguments tothe wasmtime CLI.For example, a string like `1_200` will be interpreted as `1200`.Signed-off-by: Victor Adossi &lt;vadossi@cosmonic.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Mon, 30 Sep 2024 14:40:52 +0000</pubDate>
        <dc:creator>Victor Adossi &lt;123968127+vados-cosmonic@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>12fc764d - Integrate wasi-keyvalue into wasmtime-cli (#9032)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#12fc764d</link>
        <description>Integrate wasi-keyvalue into wasmtime-cli (#9032)* Integrate wasi-keyvalue into wasmtime-cli* fix miri check

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Tue, 30 Jul 2024 16:49:52 +0000</pubDate>
        <dc:creator>Xinzhao Xu &lt;z2d@jifangcheng.com&gt;</dc:creator>
    </item>
<item>
        <title>4b842a05 - Integrate wasi-runtime-config into wasmtime-cli (#8970)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#4b842a05</link>
        <description>Integrate wasi-runtime-config into wasmtime-cli (#8970)

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Fri, 19 Jul 2024 14:35:35 +0000</pubDate>
        <dc:creator>Xinzhao Xu &lt;z2d@jifangcheng.com&gt;</dc:creator>
    </item>
<item>
        <title>8c8725e5 - Migrate all existing cranelift-filetest-based wasm tests to `tests/disas/*.wat` (#8140)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#8c8725e5</link>
        <description>Migrate all existing cranelift-filetest-based wasm tests to `tests/disas/*.wat` (#8140)* Support hex numbers in CLI argumentsThis enables `-O static-memory-maximum-size=0x10`, for example.Previously this was a parse error.* Discover `disas` tests in subdirectories* Deny unknown fields when parsing test configsMake sure we don&apos;t accidentally have other configuration. Useful whenporting tests over.* Update `make-load-store-tests.sh` to new syntaxPass various flags and such.* Move all `*.wat` tests from `cranelift/filetests` into `tests/disas`* Migrate all load/store tests* Migrate all other `*.wat` tests to `tests/disas`* Use opt-level=0 with table instructions

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Thu, 14 Mar 2024 23:24:21 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>519808fc - Add compatibility shims for Wasmtime 13 CLI (#7385)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#519808fc</link>
        <description>Add compatibility shims for Wasmtime 13 CLI (#7385)* Add compatibility shims for Wasmtime 13 CLIThis commit introduces a compatibility shim for the Wasmtime 13 CLI andprior. The goal of this commit is to address concerns raised in #7336and other locations as well. While the new CLI cannot be un-shipped atthis point this PR attempts to ameliorate the situation somewhat througha few avenues:* A complete copy of the old CLI parser is now included in `wasmtime` by  default.* The `WASMTIME_NEW_CLI=0` environment variable can force usage of the  old CLI parser for the `run` and `compile` commands.* The `WASMTIME_NEW_CLI=1` environment variable can force usage of the  new CLI parser.* Otherwise both the old and the new CLI parser are executed. Depending  on the result one is selected to be executed, possibly with a warning  printed.* If both CLI parsers succeed but produce the same result, then no  warning is emitted and execution continues as usual.* If both CLI parsers succeed but produce different results then a  warning is emitted indicating this. The warning points to #7384 which  has further examples of how to squash the warning. The warning also  mentions the above env var to turn the warning off. In this situation  the old semantics are used at this time instead of the new semantics.  It&apos;s intended that eventually this will change in the future.* If the new CLI succeeds and the old CLI fails then the new semantics  are executed without warning.* If the old CLI succeeds and the new CLI fails then a warning is issued  and the old semantics are used.* If both the old and the new CLI fail to parse then the error message  for the new CLI is emitted.Note that this doesn&apos;t add up to a perfect transition. The hope is thatmost of the major cases of change at the very least have somethingprinted. My plan is to land this on `main` and then backport it to the14.0.0 branch as a 14.0.3 release.* Wordsmith messages* Update messages* More wording updates* Fix grammar* More updates

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Sat, 28 Oct 2023 00:11:19 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>8995750a - Redesign Wasmtime&apos;s CLI (#6925)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cli-flags/src/opt.rs#8995750a</link>
        <description>Redesign Wasmtime&apos;s CLI (#6925)* Redesign Wasmtime&apos;s CLIThis commit follows through on discussion from #6741 to redesign theflags that the `wasmtime` binary accepts on the CLI. Almost all flagshave been renamed/moved and will require callers to update. The mainmotivation here is to cut down on the forest of options in `wasmtime -h`which are difficult to mentally group together and understand.The main change implemented here is to move options behind &quot;optiongroups&quot; which are intended to be abbreviated with a single letter:* `-O foo` - an optimization or performance-tuning related option* `-C foo` - a codegen option affecting the compilation process.* `-D foo` - a debug-related option* `-W foo` - a wasm-related option, for example changing wasm semantics* `-S foo` - a WASI-related option, configuring various proposals for exampleEach option group can be explored by passing `help`, for example `-Ohelp`. This will print all options within the group along with theirhelp message. Additionally `-O help-long` can be passed to print thefull comment for each option if desired.Option groups can be specified multiple times on the command line, forexample `-Wrelaxed-simd -Wthreads`. They can also be combined togetherwith commas as `-Wrelaxed-simd,threads`. Configuration works as a &quot;lastoption wins&quot; so `-Ccache,cache=n` would end up with a compilationcache disabled.Boolean options can be specified as `-C foo` to enable `foo`, or theycan be specified with `-Cfoo=$val` with any of `y`, `n`, `yes`, `no`,`true`, or `false`. All other options require a `=foo` value to bepassed and the parsing depends on the type.This commit additionally applies a few small refactorings to the CLI aswell. For example the help text no longer prints information about wasmfeatures after printing the option help. This is still available via`-Whelp` as all wasm features have moved from `--wasm-features` to `-W`.Additionally flags are no longer conditionally compiled in, but insteadall flags are always supported. A runtime error is returned if supportfor a flag is not compiled in. Additionally the &quot;experimental&quot; name ofWASI proposals has been dropped in favor of just the name of theproposal, for example `--wasi nn` instead of `--wasi-modulesexperimental-wasi-nn`. This is intended to mirror how wasm proposalsdon&apos;t have &quot;experimental&quot; in the name and an opt-in is requiredregardless.A full listing of flags and how they have changed is:| old cli flag                                  | new cli flag                                    ||-----------------------------------------------|-------------------------------------------------|| `-O, --optimize`                              | removed                                         || `--opt-level &lt;LEVEL&gt;`                         | `-O opt-level=N`                                || `--dynamic-memory-guard-size &lt;SIZE&gt;`          | `-O dynamic-memory-guard-size=...`              || `--static-memory-forced`                      | `-O static-memory-forced`                       || `--static-memory-guard-size &lt;SIZE&gt;`           | `-O static-memory-guard-size=N`                 || `--static-memory-maximum-size &lt;MAXIMUM&gt;`      | `-O static-memory-maximum-size=N`               || `--dynamic-memory-reserved-for-growth &lt;SIZE&gt;` | `-O dynamic-memory-reserved-for-growth=...`     || `--pooling-allocator`                         | `-O pooling-allocator`                          || `--disable-memory-init-cow`                   | `-O memory-init-cow=no`                         || `--compiler &lt;COMPILER&gt;`                       | `-C compiler=..`                                || `--enable-cranelift-debug-verifier`           | `-C cranelift-debug-verifier`                   || `--cranelift-enable &lt;SETTING&gt;`                | `-C cranelift-NAME`                             || `--cranelift-set &lt;NAME=VALUE&gt;`                | `-C cranelift-NAME=VALUE`                       || `--config &lt;CONFIG_PATH&gt;`                      | `-C cache-config=..`                            || `--disable-cache`                             | `-C cache=no`                                   || `--disable-parallel-compilation`              | `-C parallel-compilation=no`                    || `-g`                                          | `-D debug-info`                                 || `--disable-address-map`                       | `-D address-map=no`                             || `--disable-logging`                           | `-D logging=no`                                 || `--log-to-files`                              | `-D log-to-files`                               || `--coredump-on-trap &lt;PATH&gt;`                   | `-D coredump=..`                                || `--wasm-features all`                         | `-W all-proposals`                              || `--wasm-features -all`                        | `-W all-proposals=n`                            || `--wasm-features bulk-memory`                 | `-W bulk-memory`                                || `--wasm-features multi-memory`                | `-W multi-memory`                               || `--wasm-features multi-value`                 | `-W multi-value`                                || `--wasm-features reference-types`             | `-W reference-types`                            || `--wasm-features simd`                        | `-W simd`                                       || `--wasm-features tail-call`                   | `-W tail-call`                                  || `--wasm-features threads`                     | `-W threads`                                    || `--wasm-features memory64`                    | `-W memory64`                                   || `--wasm-features copmonent-model`             | `-W component-model`                            || `--wasm-features function-references`         | `-W function-references`                        || `--relaxed-simd-deterministic`                | `-W relaxed-simd-deterministic`                 || `--enable-cranelift-nan-canonicalization`     | `-W nan-canonicalization`                       || `--fuel &lt;N&gt;`                                  | `-W fuel=N`                                     || `--epoch-interruption`                        | `-W epoch-interruption`                         || `--allow-unknown-exports`                     | `-W unknown-exports-allow`                      || `--trap-unknown-imports`                      | `-W unknown-imports-trap`                       || `--default-values-unknown-imports`            | `-W unknown-imports-default`                    || `--max-instances &lt;MAX_INSTANCES&gt;`             | `-W max-instances=N`                            || `--max-memories &lt;MAX_MEMORIES&gt;`               | `-W max-memories=N`                             || `--max-memory-size &lt;BYTES&gt;`                   | `-W max-memory-size=N`                          || `--max-table-elements &lt;MAX_TABLE_ELEMENTS&gt;`   | `-W max-table-elements=N`                       || `--max-tables &lt;MAX_TABLES&gt;`                   | `-W max-tables=N`                               || `--max-wasm-stack &lt;MAX_WASM_STACK&gt;`           | `-W max-wasm-stack=N`                           || `--trap-on-grow-failure`                      | `-W trap-on-grow-failure`                       || `--wasm-timeout &lt;TIME&gt;`                       | `-W timeout=N`                                  || `--wmemcheck`                                 | `-W wmemcheck`                                  || `--wasi-modules default`                      | removed                                         || `--wasi-modules -default`                     | removed                                         || `--wasi-modules wasi-common`                  | `-S common`                                     || `--wasi-modules -wasi-common`                 | `-S common=n`                                   || `--wasi-modules experimental-wasi-nn`         | `-S nn`                                         || `--wasi-modules experimental-wasi-threads`    | `-S threads`                                    || `--wasi-modules experimental-wasi-http`       | `-S http`                                       || `--listenfd`                                  | `-S listenfd`                                   || `--tcplisten &lt;SOCKET ADDRESS&gt;`                | `-S tcplisten=...`                              || `--wasi-nn-graph &lt;FORMAT::HOST&gt;`              | `-S nn-graph=FORMAT::HOST`                      || `--preview2`                                  | `-S preview2`                                   || `--dir &lt;DIRECTORY&gt;`                           | `--dir ...`                                     || `--mapdir &lt;GUEST_DIR::HOST_DIR&gt;`              | `--dir a::b`                                    |* Be more descriptive with help text* Document `=val` is optional for `-Ccranelift-xxx`* Fix compile after rebase* Fix rebase of `--inherit-network`* Fix wasi-http test* Fix compile without pooling allocator support* Update some flags in docs* Fix bench-api build* Update flags for gdb/lldb tests* Fixup optimization flagsprtest:full

            List of files:
            /wasmtime-44.0.1/crates/cli-flags/src/opt.rs</description>
        <pubDate>Mon, 11 Sep 2023 22:05:35 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
</channel>
</rss>
