| CARVIEW |
Navigation Menu
-
-
Notifications
You must be signed in to change notification settings - Fork 82
Releases: mun-lang/mun
Mun v0.5.0
3f3055dThe fifth Mun release includes usability improvements, dependency upgrades, and bug fixes.
Added
- Suggestions if an invoked function cannot be found #524
- Script for running and collecting Miri logs #537
- Tests for multi-file hot reloading #522
Changed
- Bump LLVM from 13 to 14 #495
- Use detailed error enums instead of
anyhowin libraries #521 - Bump Inkwell to 0.2.0 #529
- Bump Rust to 1.73 #515 #541
Fixed
Assets 2
Mun v0.4.0
570d386The fourth Mun release includes language-support for dynamically-sized arrays, support for Apple's M1 chips and experimental support for iOS, major refactors of our back-end to support indirect types and recursion - as seen with arrays and pointers - transitions to a monorepo, and solves a range of bugs.
Added
Clonetrait implementation toRootedStruct#323- Private function leak validation #338
- Dynamically-sized arrays #341
- Private struct type leak validation #344
- Mun logo #355
Sendtrait implementation to MunRuntime#370- Use static-crt on Windows #376
- Link type information when loading Mun library #377
- Indirect types to Mun ABI #415
TypeAPI to mitigate cyclic type references #427- Mac M1 Support #444
- Bevy example #475
Changed
- Bump Rust from 1.50.0 to 1.65.0 #325 #327 #334 #346 #350 #357 #360 #369 #378 #406 #432 #474 #477
- Simplified invoke syntax #347
- Bump LLVM from 11 to 13 #351 #491
- Move Mun runtime FFI submodule to monorepo #352
- Bump Rust to 2021 edition #367
- Move Mun ABI submodule to monorepo #404
- Performance optimisations #405
- Reduce workspace target folder size from 10.9 GB to 10.6 GB #457
- Reduce workspace build dependencies from 296 to 270 #457
- Reduce workspace dev dependencies from 502 to 496 #457
- Move Rust examples submodule to monorepo #475
- Switch to LLVM code coverage instead of using Tarpaulin #478
Removed
Fixed
Assets 8
Mun v0.3.0
c73fed0The third Mun release includes big usability improvements; multi-file projects, a language server with diagnostics and autocompletion, and improvements to robustness and developer workflow to name a few.
π feature
- initial LSP support
π improvement
- add benchmarks for and optimise struct field marshalling
π improvement
- shared diagnostics between compiler and language server
π misc
- build binaries for release branches
π improvement
- explicitly specify latest Ubuntu LTS
π improvement
- bump bindgen dependency to 0.54
π fix
- parsing of unmatched right curly braces ('}')
π refactor
- upgrade to salsa 0.15
π fix
- removed outdated comments
π feat
- Implement
mun newandmun init
π feat
- type alias
π refactor
- move library loading logic to separate crate
π refactor
- move test utility functions to separate crate
π refactor
- upgrade to official inkwell
π refactor
- generate C ABI from Rust code
π refactor
- emit and link bitcode files instead of object files
π refactor
- use custom prebuild llvm distribution on ubuntu
π fix
- emit and link bitcode files instead of obj does not work on MacOS
π feat
- add mdbook plugin for testing mun code in book
π fix
- never return type in let initializer
π refactor
- use Idx instead of macro in arena
π misc
- split database and added docs
π bump
- pin rust version to 1.46.0
π bump
- smol_str dependency to 0.1.17
π feature
- refactored RawItems into ItemTree
π feature
- adds fixtures to support multiple files from string
π bump
- actions/core from 1.2.4 to 1.2.6 in /.github/actions/install-llvm
π fix
- dont run mun tests on CI
π bump
- rust 1.47
π fix
- 7zip issues
π feature
- adds modules and visibility
π docs
- fix broken book link and CoC link
π fix
- alignment of struct fields
π feat
- add AsValue macro support for enums
π refactor
- make type-specific data (such as StructInfo) part of TypeInfo
π bump
- rust 1.48
π feature
- use statements language support
π bump
- rust 1.49
π fix
- shorten commit hash with environment file
π feat
- adds lsp document symbol provider
π feat
- integrated new vfs
π feat
- removed async code and switched to lsp_server
π feat
- add option to emit IR
π feature
- adds document symbol provider
π feature
- implements incremental file updates
π feat
- runtime linking
π misc
- adds logging to windows llvm install
π fix
- manually extract llvm release to get more output
π bump
- Inkwell beta.2 and LLVM11
π feat
- describe how to install/build LLVM
π feat
- add mut keyword
π feat
- support for completions
π fix
- parser performance issues
π bump
- bumps Rust to 1.50
π refactor
- generate rust tests for code snippets in book
π misc
- update runtime FFI
π feat
- updated book for 0.3 changes
Special thanks to @emi2k01, @tdejager, @ethanboxx, @sinato, @dependabot, @legendiguess, and @sburris0 for their contributions to this release.
Assets 5
Mun v0.2.1
This patch release for Mun v0.2.0 includes a variety of bug fixes:
π fix
- Remove return-blocking semicolon from ch01 listing 01 of the book
π fix
- Code blocks in ch02-02-functions of the book
π fix
- Replace overly complicated redirection rules with a simple hack
π fix
- Missing argument for
fibonaccifunction in the book
π refactor
- Type-safe inkwell types
π fix
- Replace
floatwithf32in the book
π fix
- Windows libclang issues
π fix
- Rust v1.44
cargo fmtandclippyerrors
π fix
- Crash on missing nested private function
π fix
- Panic when using
mun build
π fix
clippy::many_single_char_namesin macro
π fix
- Compiler panics when accessing a field of a temporary
π fix
- LLVM assertions
π fix
- Proper tarpaulin skip attribute
Special thanks to @RadicalZephyr, @benediktwerner, and @fominok for their contributions to this release; and to @jDomantas and @sigmaSd for the initial discovery and reporting of fixed issues.
Assets 5
Mun v0.2.0
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
loopexpression
π misc
- Changed crate authors
π feature
breakexpression
π feature
whileexpression
π feature
structdeclarationsstructliterals- ABI support for
structtypes
π docs
- LLVM install instructions for Arch Linux in README
π refactor
- Optimised
CStr::from_ptr(ptr).to_str()tofrom_utf8_uncheckedin 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
munlibextension
π feature
- Improved error messages for missing function signatures
π feature
- Marshalling of
structtypes
π refactor
MunStructInfois appended toMunTypeInfoforstructtypes
π test
- Unit test for
LineIndex::line_strfunction
π feature
- Marshalling of fields with the
structtype
π feature
- Updated Runtime CAPI
- Unit tests for Runtime CAPI
π feature
- Support for
externfunctions in the dispatch table
π feature
- Integration with annotate-snippets crate
π feature
- Restrict symbol generation to
pubfunctions
π feature
- Marshalling of
struct(value)types
π feature
externfunctions
π 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
TypeInfoandStructInfoduring calls in aStructRef
π misc
- Upgraded cbindgen dependency
π docs
- Updated Arch Linux install instructions in README
π refactor
structmemory mapping
π improvement
- Typed literals
- Hex, binary, and octal literals
- Allow underscores in numeric literals
π refactor
- Use
->instead of:for function return types
π feature
i128andu128integer types
π misc
- Lock cbindgen dependency
π feature
- Runtime support for
externfunctions without return type
π misc
- Merged
file_irandgroup_irsnapshots
π style
- Missing space in
invoke_fn15function
π feature
%and%=operators
π feature
- Unary
!and-operators
π feature
- Cast fundamental types during
structmemory mapping
π chore
- Split artifact generation and CI tests
π refactor
- Simplified
MemoryMapperAPI - Clarified usage of unsafe code
π feature
StructRefcan be cloned
π feature
boolassignment (=) operatorstructassignment (=) operatorbooland (&&), 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, andinttypes
π 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
FunctionInfointo signature, prototype, and definition
π feature
- Support for adding extern functions in Runtime CAPI
π misc
- Removed old snapshots
π feature
- Map fields with different
structmemory kinds during memory mapping - Zero initialise fields with different
structtypes 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.
Assets 5
Mun v0.1.0
First Mun release with hot reloading support for fundamental types and functions.
π feature
- Auto-generation of Mun ABI for Rust
π feature
- Rust macros for runtime function invocation
π feature
- badges
- licenses
π feature
- Detection of duplicate definition names
π feature
- Runtime builder
- Compiler daemon that detects changed files and recompiles them
- Command-line interface for Mun Compiler and Mun Runtime
π feature
- Function call inferencing
- Generation of function call IR
- Dispatch table
π feature
- Integrate dispatch table in Mun runtime
π feature
- Trait extension of Result type that allows retrying and waiting for a correct result
π feature
- Automatic generation of C bindings for the runtime
π feature
- Comparison operators
π feature
- Parsing of
ifstatements - Testing of type inferencing
- Add cargo husky to enable automatic git hooks
nevertypeifstatement type checkingifexpressions code generation- Diagnostics for mismatching or missing
else - Run clippy on CI and pre-commit
π feature
- C++ bindings for the Mun Runtime
- Error reporting
- Example of hot reloading in the Mun Runtime
π feature
- Update operators and diagnostics
π feature
- Github actions continuous integration
π feature
- Generation and upload of artifacts
π feature
- Statically link against liblld instead of spawning as process
π feature
returnexpressions
π feature
- Support all fundamental types as return types when starting a Mun library from the CLI