Mun v0.2.0
Pre-release
Pre-release
The second Mun release includes big new features such as hot reloading support for data structures, garbage collection, and full operator and literal support for fundamental types.
π feature
- Incremental compilation when hot reloading
π docs
- Install instructions in README
π refactor
- Use codecov.io instead of coveralls
π feature
loop
expression
π misc
- Changed crate authors
π feature
break
expression
π feature
while
expression
π feature
struct
declarationsstruct
literals- ABI support for
struct
types
π docs
- LLVM install instructions for Arch Linux in README
π refactor
- Optimised
CStr::from_ptr(ptr).to_str()
tofrom_utf8_unchecked
in ABI
π test
- Test UTF-8 validity of compiler-generated
CStr
π feature
- Tools for manual generation of ABI & runtime CAPI bindings
π feature
- Simple binary operation type checking
π docs
- License, homepage, and repository information in README
π feature
- Compiled libraries use
munlib
extension
π feature
- Improved error messages for missing function signatures
π feature
- Marshalling of
struct
types
π refactor
MunStructInfo
is appended toMunTypeInfo
forstruct
types
π test
- Unit test for
LineIndex::line_str
function
π feature
- Marshalling of fields with the
struct
type
π feature
- Updated Runtime CAPI
- Unit tests for Runtime CAPI
π feature
- Support for
extern
functions in the dispatch table
π feature
- Integration with annotate-snippets crate
π feature
- Restrict symbol generation to
pub
functions
π feature
- Marshalling of
struct(value)
types
π feature
extern
functions
π feature
- Heap-allocated object management using pointer indirection
π feature
- Size and alignment of types in ABI
π feature
- Garbage collection using mark & sweep
π misc
- Code coverage using tarpaulin instead of grcov
π test
- Test for incremental compilation
π misc
- Upgraded parking_lot dependency
π feature
- Performance benchmarks
π improvement
- Upgraded failure dependency
π refactor
- Retrieve
TypeInfo
andStructInfo
during calls in aStructRef
π misc
- Upgraded cbindgen dependency
π docs
- Updated Arch Linux install instructions in README
π refactor
struct
memory mapping
π improvement
- Typed literals
- Hex, binary, and octal literals
- Allow underscores in numeric literals
π refactor
- Use
->
instead of:
for function return types
π feature
i128
andu128
integer types
π misc
- Lock cbindgen dependency
π feature
- Runtime support for
extern
functions without return type
π misc
- Merged
file_ir
andgroup_ir
snapshots
π style
- Missing space in
invoke_fn15
function
π feature
%
and%=
operators
π feature
- Unary
!
and-
operators
π feature
- Cast fundamental types during
struct
memory mapping
π chore
- Split artifact generation and CI tests
π refactor
- Simplified
MemoryMapper
API - Clarified usage of unsafe code
π feature
StructRef
can be cloned
π feature
bool
assignment (=
) operatorstruct
assignment (=
) operatorbool
and (&&
), or (||
) operators- bitwise and (
&
and&=
), or (|
and|=
), xor (^
and^=
) operators - left-shift (
<<
and<<=
), right-shift (>>
and>>=
) operators
π improvement
- Return
Rc<RefCell<Runtime>>
fromRuntimeBuilder
π feature
- Number type inferencing
π misc
- Removed
float
,uint
, andint
types
π misc
- Updated code sample in README
π misc
- Updated badges in README
π feature
- Garbage collection methods in Runtime CAPI
π test
- Test for type conversion during memory mapping
π refactor
- Split
FunctionInfo
into signature, prototype, and definition
π feature
- Support for adding extern functions in Runtime CAPI
π misc
- Removed old snapshots
π feature
- Map fields with different
struct
memory kinds during memory mapping - Zero initialise fields with different
struct
types during memory mapping
π misc
- Buoyancy example
π misc
- Log upon assembly reload
π misc
- Cloning instructions in README
π misc
- Updated code sample in README
π feature
- Mun book in main repository
π misc
- crates.io publishing metadata
π misc
- Updated binaries for Runtime C API
In addition, there were a lot of bug fixes.
Special thanks to @legendiguess and @jakbyte for their contributions to this release.