RSSAmplifier

Blog

Release notes from motoko

github.comRSS feed ↗10 posts

Latest posts

1.14.0

motoko ( moc ) feat: Structural implicit derivation now supports variants via the __variant combiner ( (Text, () -> E) -> R ). The synthesized wrapper switches on the active case and applies the combiner to its (tag, payload thunk) , deriving operations like serialization for any variant whose case payloads have instances ( #6192 ). feat: the default maximum for stable memory ( --max-stable-pages…

1.13.0

motoko ( moc ) feat: import a local Candid file as a types-only Motoko module via the idl: URI scheme — import S "idl:foo.did" exposes S.Self (the service actor type) and named Candid types, PascalCased when unambiguous (e.g. user_id → S.UserId ). No principal or --actor-idl flags required ( #6263 ). chore: multi-value Wasm codegen is now always on; --(no-)experimental-multi-value are kept for CLI…

1.12.0

motoko ( moc ) feat: the excess-precision warning (M0266) now also covers Float (F64) literals, not just Float32 , suggesting the shortest round-trip equivalent ( #6261 ). feat: --stable-baseline <file.most> with --enhanced-migration escalates unexplained "initial actor requires field" cases to error M0267; fields whose baseline type is a stable subtype of the required type keep warning M0254…

1.11.2-stable-baseline-check-compat

feat: `--stable-baseline` turns forgotten EM fields into M0267 ( #6249 ) Tracks [LANG-1348]( https://linear.app/caffeinelabs/issue/LANG-1348/check-time-stable-baseline-for-em-m0267-single-invocation-stable ). Converted legacy→enhanced-migration projects can't promote M0254 to an error: the migration chain often still "requires" fields that already lived on the last deployed canister. Agents then…

1.11.2

motoko ( moc ) bugfix: --implicit-package=<pkg> was incorrectly using all transitively loaded modules for implicit argument and contextual dot resolution instead of restricting to the given package ( #6242 ).

1.11.1

motoko ( moc ) refactor: simplifies bounds checks for candid decoding in the RTS ( #6240 ). fix: fix codegen for nested mixins ( #6223 ). deprecation: removed the legacy -multi-value / -no-multi-value flags; --experimental-multi-value and --no-experimental-multi-value now warn as deprecated — multi-value Wasm codegen is the default ( #6206 ).

1.11.0

motoko ( moc ) feat: moc now emits the standardized target_features Wasm custom section, so binaryen -based tools ( wasm-opt , ic-wasm optimize , dfx 's optimize ) accept and optimize Motoko output without per-tool feature flags. Previously these tools defaulted to MVP and rejected the multivalue / bulk-memory / memory64 features moc relies on ( #6214 ). feat: a Float32 literal written with more…

1.10.1

motoko ( moc ) bugfix: M0223 ("redundant type instantiation") and M0237 ("implicit argument can be omitted") no longer emit suggestions that are individually valid but break compilation when applied together. In nested calls where an inner instantiation or implicit is only inferable thanks to an outer one (e.g. List.fromArray(Array.tabulate(...)) ), only a jointly-applicable subset is now…

1.10.0-autofix-fix

docs(building): drop archived `motoko-base` from release steps ( #6205 ) `motoko-base` is archived. Removes its release step (former step 5) and the TOC entry from Building.md's "Making releases". `motoko-core` (step 4) unchanged. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

1.10.0

motoko ( moc ) feat: M0218 ("redundant stable keyword") now ships a machine-applicable edit, so mops check --fix removes the explicit stable keyword on fields of a persistent actor ( #6175 ). feat: Permitting destructuring patterns against actor types — let { foo } = a , func g({foo} : actor T) {} , etc. ( #6149 ). feat: /// @deprecated M0235 <message> — the caffeine deprecation warning (M0235)…