Releases: dfinity/motoko
0.14.14
0.14.13
-
motoko (
moc
)-
Introduce
await?
to synchronizeasync
futures, avoiding the commit point when already fulfilled (#5215). -
Adds a
Prim.Array_tabulateVar
function, that allows faster initialization of mutable arrays (#5256). -
optimization: accelerate IR type checking with caching of sub, lub and check_typ tests (#5260).
Reduces need for-no-check-ir
flag.
-
0.14.12
-
motoko (
moc
)- optimization: for
--enhanced-orthogonal-persistence
, reduce code-size and compile-time by sharing more static allocations (#5233, #5242). - bugfix: fix
-fshared-code
bug (#5230). - bugfix: avoid stack overflow and reduce code complexity for large eop canisters (#5218).
- Added the
rootKey
primitive (#4994).
- optimization: for
0.14.11
0.14.10
0.14.9
0.14.8
-
motoko (
moc
)-
Add random-access indexing to
Blob
, support special methodsget
andkeys
(#5018). -
Officializing enhanced orthogonal persistence (EOP) after a successful beta testing phase (#5035).
EOP needs to be explicitly enabled by the
--enhanced-orthogonal-persistence
compiler flag or viaargs
indfx.json
:"type" : "motoko" ... "args" : "--enhanced-orthogonal-persistence"
-
Add support for parser error recovery to improve LSP (Serokell, Milestone-2) (#4959).
-
We now provide a proper
motoko-mode
foremacs
(#5043). -
bugfix: Avoid generating new Candid
type
s arising from equal homonymous Motokotype
(if possible)
in service definitions (#4309, #5013). -
bugfix: Provide a more consistent framework for dealing with internally generated type indentifiers,
fixing caching bugs, e.g. in the VSCode plugin (#5055).
-
0.14.7
-
motoko (
moc
)-
Preserve and infer named types both to improve displayed types in error messages, and to preserve function signatures when deriving Candid types (#4943).
The names remain semantically insignificant and are ignored when comparing types for subtyping and equality.For example,
func add(x : Int, y : Int) : (res : Int) = x + y;
now has inferred type:
(x : Int, y: Int) -> (res : Int)
Previously, the type would be inferred as:
(Int, Int) -> Int
-
Refine the
*.most
stable signature file format to distinguish stable variables that are strictly required by the migration function rather than propagated from the actor body (#4991).
This enables the stable compatibility check to verify that a migration function will not fail due to missing required fields.
Required fields are declaredin
, notstable
, in the actor's pre-signature. -
Added improved LSP cache for typechecking (thanks to Serokell) (#4931).
-
Reduce enhanced-orthogonal-persistence memory requirements using incremental allocation within partitions (#4979).
-
-
motoko-base
- Deprecated
ExperimentalCycles.add
, use a parenthetical(with cycles = <amount>) <send>
instead (dfinity/motoko-base#703).
- Deprecated
0.14.6
-
motoko (
moc
)-
To prevent implicit data loss due to upgrades, stable fields may no longer be dropped or promoted to lossy supertypes (#4970).
Removing a stable variable, or promoting its type to a lossy supertype by, for example, dropping nested record fields,
now requires an explicit migration expression.
Promotion to non-lossy supertypes, such asNat
toInt
or{#version1}
to{#version1; #version2}
, is still supported. -
Now we detect (and warn for) fields in literal objects and record extensions,
(as well aspublic
fields or types inobject
andclass
) that are inaccessible
due to a user-specified type constraint (#4978, #4981). -
We now provide release artefacts for
Darwin-arm64
andLinux-aarch64
platforms (#4952).
-