2019-04-12 17:46:29 +00:00
# Changelog
All PRs to the Wasmer repository must add to this file.
Blocks of changes will separated by version increments.
## **[Unreleased]**
2019-08-07 23:55:03 +00:00
2019-08-05 18:49:23 +00:00
Special thanks to @YaronWittenstein @penberg for their contributions.
2019-09-01 06:15:48 +00:00
- [#656 ](https://github.com/wasmerio/wasmer/issues/656 ) Move CI to Azure Pipelines
2019-08-09 06:40:04 +00:00
- [#650 ](https://github.com/wasmerio/wasmer/issues/650 ) Implement `wasi::path_rename` , improve WASI FS public api, and allow open files to exist even when the underlying file is deleted
2019-08-09 00:32:38 +00:00
- [#643 ](https://github.com/wasmerio/wasmer/issues/643 ) Implement `wasi::path_symlink` and improve WASI FS public api IO error reporting
2019-08-07 23:52:44 +00:00
- [#608 ](https://github.com/wasmerio/wasmer/issues/608 ) Implement wasi syscalls `fd_allocate` , `fd_sync` , `fd_pread` , `path_link` , `path_filestat_set_times` ; update WASI fs API in a WIP way; reduce coupling of WASI code to host filesystem; make debug messages from WASI more readable; improve rights-checking when calling syscalls; implement reference counting on inodes; misc bug fixes and improvements
2019-08-05 18:49:23 +00:00
- [#616 ](https://github.com/wasmerio/wasmer/issues/616 ) Create the import object separately from instance instantiation in `runtime-c-api`
- [#620 ](https://github.com/wasmerio/wasmer/issues/620 ) Replace one `throw()` with `noexcept` in llvm backend
- [#618 ](https://github.com/wasmerio/wasmer/issues/618 ) Implement `InternalEvent::Breakpoint` in the llvm backend to allow metering in llvm
- [#615 ](https://github.com/wasmerio/wasmer/issues/615 ) Eliminate `FunctionEnvironment` construction in `feed_event()` speeding up to 70% of compilation in clif
2019-08-01 06:46:59 +00:00
- [#609 ](https://github.com/wasmerio/wasmer/issues/609 ) Update dependencies
2019-08-05 18:49:23 +00:00
- [#602 ](https://github.com/wasmerio/wasmer/issues/602 ) C api extract instance context from instance
- [#590 ](https://github.com/wasmerio/wasmer/issues/590 ) Error visibility changes in wasmer-c-api
- [#589 ](https://github.com/wasmerio/wasmer/issues/589 ) Make `wasmer_byte_array` fields `public` in wasmer-c-api
2019-07-31 17:35:45 +00:00
## 0.6.0 - 2019-07-31
- [#603 ](https://github.com/wasmerio/wasmer/pull/603 ) Update Wapm-cli, bump version numbers
2019-07-31 00:58:39 +00:00
- [#595 ](https://github.com/wasmerio/wasmer/pull/595 ) Add unstable public API for interfacing with the WASI file system in plugin-like usecases
2019-07-30 22:56:25 +00:00
- [#598 ](https://github.com/wasmerio/wasmer/pull/598 ) LLVM Backend is now supported in Windows
2019-07-30 23:54:30 +00:00
- [#599 ](https://github.com/wasmerio/wasmer/pull/599 ) Fix llvm backend failures in fat spec tests and simd_binaryen spec test.
2019-07-25 01:58:45 +00:00
- [#579 ](https://github.com/wasmerio/wasmer/pull/579 ) Fix bug in caching with LLVM and Singlepass backends.
Add `default-backend-singlepass` , `default-backend-llvm` , and `default-backend-cranelift` features to `wasmer-runtime`
to control the `default_compiler()` function (this is a breaking change). Add `compiler_for_backend` function in `wasmer-runtime`
2019-07-25 01:50:26 +00:00
- [#561 ](https://github.com/wasmerio/wasmer/pull/561 ) Call the `data_finalizer` field on the `Ctx`
- [#576 ](https://github.com/wasmerio/wasmer/pull/576 ) fix `Drop` of uninit `Ctx`
- [#542 ](https://github.com/wasmerio/wasmer/pull/542 ) Add SIMD support to Wasmer (LLVM backend only)
- Updates LLVM to version 8.0
2019-07-23 18:20:59 +00:00
2019-07-25 01:50:26 +00:00
## 0.5.7 - 2019-07-23
2019-07-23 18:20:59 +00:00
- [#575 ](https://github.com/wasmerio/wasmer/pull/575 ) Prepare for release; update wapm to 0.3.6
2019-07-19 20:52:22 +00:00
- [#555 ](https://github.com/wasmerio/wasmer/pull/555 ) WASI filesystem rewrite. Major improvements
- adds virtual root showing all preopened directories
- improved sandboxing and code-reuse
- symlinks work in a lot more situations
2019-07-23 18:20:59 +00:00
- many misc. improvements to most syscalls touching the filesystem
2019-07-16 20:12:21 +00:00
2019-07-25 01:50:26 +00:00
## 0.5.6 - 2019-07-16
2019-07-16 20:12:21 +00:00
- [#565 ](https://github.com/wasmerio/wasmer/pull/565 ) Update wapm and bump version to 0.5.6
2019-07-15 19:48:04 +00:00
- [#563 ](https://github.com/wasmerio/wasmer/pull/563 ) Improve wasi testing infrastructure
- fixes arg parsing from comments & fixes the mapdir test to have the native code doing the same thing as the WASI code
- makes wasitests-generate output stdout/stderr by default & adds function to print stdout and stderr for a command if it fails
- compiles wasm with size optimizations & strips generated wasm with wasm-strip
2019-07-13 23:01:29 +00:00
- [#554 ](https://github.com/wasmerio/wasmer/pull/554 ) Finish implementation of `wasi::fd_seek` , fix bug in filestat
2019-07-30 19:40:39 +00:00
- [#550 ](https://github.com/wasmerio/wasmer/pull/550 ) Fix singlepass compilation error with `imul` instruction
2019-07-10 00:43:04 +00:00
2019-07-25 01:50:26 +00:00
## 0.5.5 - 2019-07-10
2019-07-09 22:31:45 +00:00
- [#541 ](https://github.com/wasmerio/wasmer/pull/541 ) Fix dependency graph by making separate test crates; ABI implementations should not depend on compilers. Add Cranelift fork as git submodule of clif-backend
2019-07-09 00:05:54 +00:00
- [#537 ](https://github.com/wasmerio/wasmer/pull/537 ) Add hidden flag (`--cache-key`) to use prehashed key into the compiled wasm cache and change compiler backend-specific caching to use directories
- [#536 ](https://github.com/wasmerio/wasmer/pull/536 ) ~Update cache to use compiler backend name in cache key~
2019-07-09 19:07:05 +00:00
2019-07-25 01:50:26 +00:00
## 0.5.4 - 2019-07-06
2019-07-05 20:35:55 +00:00
- [#529 ](https://github.com/wasmerio/wasmer/pull/529 ) Updates the Wasm Interface library, which is used by wapm, with bug fixes and error message improvements
2019-07-25 01:50:26 +00:00
## 0.5.3 - 2019-07-03
2019-07-03 21:35:39 +00:00
- [#523 ](https://github.com/wasmerio/wasmer/pull/523 ) Update wapm version to fix bug related to signed packages in the global namespace and locally-stored public keys
2019-07-02 21:13:45 +00:00
## 0.5.2 - 2019-07-02
2019-07-30 19:40:39 +00:00
- [#516 ](https://github.com/wasmerio/wasmer/pull/516 ) Add workaround for singlepass miscompilation on GetLocal
2019-07-02 21:13:45 +00:00
- [#521 ](https://github.com/wasmerio/wasmer/pull/521 ) Update Wapm-cli, bump version numbers
- [#518 ](https://github.com/wasmerio/wasmer/pull/518 ) Update Cranelift and WasmParser
- [#514 ](https://github.com/wasmerio/wasmer/pull/514 ) [#519 ](https://github.com/wasmerio/wasmer/pull/519 ) Improved Emscripten network related calls, added a null check to `WasmPtr`
2019-06-30 23:28:26 +00:00
- [#515 ](https://github.com/wasmerio/wasmer/pull/515 ) Improved Emscripten dyncalls
- [#513 ](https://github.com/wasmerio/wasmer/pull/513 ) Fix emscripten lseek implementation.
2019-06-26 17:12:47 +00:00
- [#510 ](https://github.com/wasmerio/wasmer/pull/510 ) Simplify construction of floating point constants in LLVM backend. Fix LLVM assertion failure due to definition of %ctx.
2019-05-07 01:14:53 +00:00
2019-06-24 19:45:40 +00:00
## 0.5.1 - 2019-06-24
- [#508 ](https://github.com/wasmerio/wasmer/pull/508 ) Update wapm version, includes bug fixes
2019-06-17 19:56:14 +00:00
## 0.5.0 - 2019-06-17
2019-06-13 19:24:39 +00:00
- [#471 ](https://github.com/wasmerio/wasmer/pull/471 ) Added missing functions to run Python. Improved Emscripten bindings
2019-06-12 10:18:41 +00:00
- [#494 ](https://github.com/wasmerio/wasmer/pull/494 ) Remove deprecated type aliases from libc in the runtime C API
2019-06-12 09:39:59 +00:00
- [#493 ](https://github.com/wasmerio/wasmer/pull/493 ) `wasmer_module_instantiate` has better error messages in the runtime C API
2019-06-11 10:31:13 +00:00
- [#474 ](https://github.com/wasmerio/wasmer/pull/474 ) Set the install name of the dylib to `@rpath`
- [#490 ](https://github.com/wasmerio/wasmer/pull/490 ) Add MiddlewareChain and StreamingCompiler to runtime
- [#487 ](https://github.com/wasmerio/wasmer/pull/487 ) Fix stack offset check in singlepass backend
- [#450 ](https://github.com/wasmerio/wasmer/pull/450 ) Added Metering
- [#481 ](https://github.com/wasmerio/wasmer/pull/481 ) Added context trampoline into runtime
2019-06-06 18:55:05 +00:00
- [#484 ](https://github.com/wasmerio/wasmer/pull/484 ) Fix bugs in emscripten socket syscalls
2019-05-30 01:04:55 +00:00
- [#476 ](https://github.com/wasmerio/wasmer/pull/476 ) Fix bug with wasi::environ_get, fix off by one error in wasi::environ_sizes_get
2019-05-29 21:35:58 +00:00
- [#470 ](https://github.com/wasmerio/wasmer/pull/470 ) Add mapdir support to Emscripten, implement getdents for Unix
2019-05-24 12:28:37 +00:00
- [#467 ](https://github.com/wasmerio/wasmer/pull/467 ) `wasmer_instantiate` returns better error messages in the runtime C API
2019-05-22 22:57:12 +00:00
- [#463 ](https://github.com/wasmerio/wasmer/pull/463 ) Fix bug in WASI path_open allowing one level above preopened dir to be accessed
2019-05-22 14:49:08 +00:00
- [#461 ](https://github.com/wasmerio/wasmer/pull/461 ) Prevent passing negative lengths in various places in the runtime C API
2019-05-21 18:46:35 +00:00
- [#459 ](https://github.com/wasmerio/wasmer/pull/459 ) Add monotonic and real time clocks for wasi on windows
- [#447 ](https://github.com/wasmerio/wasmer/pull/447 ) Add trace macro (`--features trace`) for more verbose debug statements
2019-05-20 23:39:02 +00:00
- [#451 ](https://github.com/wasmerio/wasmer/pull/451 ) Add `--mapdir=src:dest` flag to rename host directories in the guest context
- [#457 ](https://github.com/wasmerio/wasmer/pull/457 ) Implement file metadata for WASI, fix bugs in WASI clock code for Unix platforms
2019-05-16 20:09:41 +00:00
## 0.4.2 - 2019-05-16
- [#416 ](https://github.com/wasmerio/wasmer/pull/416 ) Remote code loading framework
2019-05-15 22:16:52 +00:00
- [#449 ](https://github.com/wasmerio/wasmer/pull/449 ) Fix bugs: opening host files in filestat and opening with write permissions unconditionally in path_open
2019-05-14 23:34:41 +00:00
- [#442 ](https://github.com/wasmerio/wasmer/pull/442 ) Misc. WASI FS fixes and implement readdir
2019-05-14 09:54:13 +00:00
- [#440 ](https://github.com/wasmerio/wasmer/pull/440 ) Fix type mismatch between `wasmer_instance_call` and `wasmer_export_func_*_arity` functions in the runtime C API.
2019-05-13 18:44:44 +00:00
- [#269 ](https://github.com/wasmerio/wasmer/pull/269 ) Add better runtime docs
2019-05-13 08:57:32 +00:00
- [#432 ](https://github.com/wasmerio/wasmer/pull/432 ) Fix returned value of `wasmer_last_error_message` in the runtime C API
2019-05-10 17:58:06 +00:00
- [#429 ](https://github.com/wasmerio/wasmer/pull/429 ) Get wasi::path_filestat_get working for some programs; misc. minor WASI FS improvements
2019-05-08 03:46:04 +00:00
- [#413 ](https://github.com/wasmerio/wasmer/pull/413 ) Update LLVM backend to use new parser codegen traits
2019-05-16 20:09:41 +00:00
## 0.4.1 - 2019-05-06
2019-05-07 01:14:53 +00:00
- [#426 ](https://github.com/wasmerio/wasmer/pull/426 ) Update wapm-cli submodule, bump version to 0.4.1
2019-05-06 00:03:49 +00:00
- [#422 ](https://github.com/wasmerio/wasmer/pull/422 ) Improved Emscripten functions to run optipng and pngquant compiled to wasm
2019-04-30 19:05:13 +00:00
- [#409 ](https://github.com/wasmerio/wasmer/pull/409 ) Improved Emscripten functions to run JavascriptCore compiled to wasm
2019-04-29 18:45:52 +00:00
- [#399 ](https://github.com/wasmerio/wasmer/pull/399 ) Add example of using a plugin extended from WASI
- [#397 ](https://github.com/wasmerio/wasmer/pull/397 ) Fix WASI fs abstraction to work on Windows
- [#390 ](https://github.com/wasmerio/wasmer/pull/390 ) Pin released wapm version and add it as a git submodule
2019-04-30 16:59:07 +00:00
- [#408 ](https://github.com/wasmerio/wasmer/pull/408 ) Add images to windows installer and update installer to add wapm bin directory to path
2019-04-29 12:26:31 +00:00
2019-05-16 20:09:41 +00:00
## 0.4.0 - 2019-04-23
2019-04-29 12:26:31 +00:00
2019-04-22 23:49:40 +00:00
- [#383 ](https://github.com/wasmerio/wasmer/pull/383 ) Hook up wasi exit code to wasmer cli.
2019-04-22 23:06:22 +00:00
- [#382 ](https://github.com/wasmerio/wasmer/pull/382 ) Improve error message on `--backend` flag to only suggest currently enabled backends
2019-04-22 22:17:47 +00:00
- [#381 ](https://github.com/wasmerio/wasmer/pull/381 ) Allow retrieving propagated user errors.
2019-04-22 18:44:31 +00:00
- [#379 ](https://github.com/wasmerio/wasmer/pull/379 ) Fix small return types from imported functions.
2019-04-20 19:22:31 +00:00
- [#371 ](https://github.com/wasmerio/wasmer/pull/371 ) Add more Debug impl for WASI types
2019-04-19 23:48:30 +00:00
- [#368 ](https://github.com/wasmerio/wasmer/pull/368 ) Fix issue with write buffering
2019-04-19 21:07:41 +00:00
- [#343 ](https://github.com/wasmerio/wasmer/pull/343 ) Implement preopened files for WASI and fix aligment issue when accessing WASI memory
2019-04-19 20:57:05 +00:00
- [#367 ](https://github.com/wasmerio/wasmer/pull/367 ) Add caching support to the LLVM backend.
2019-04-18 17:18:36 +00:00
- [#366 ](https://github.com/wasmerio/wasmer/pull/366 ) Remove `UserTrapper` trait to fix [#365 ](https://github.com/wasmerio/wasmer/issues/365 ).
2019-04-12 18:31:48 +00:00
- [#348 ](https://github.com/wasmerio/wasmer/pull/348 ) Refactor internal runtime ↔️ backend abstraction.
2019-04-12 21:16:42 +00:00
- [#355 ](https://github.com/wasmerio/wasmer/pull/355 ) Misc changes to `Cargo.toml` s for publishing
2019-04-12 19:27:51 +00:00
- [#352 ](https://github.com/wasmerio/wasmer/pull/352 ) Bump version numbers to 0.3.0
2019-04-12 18:22:01 +00:00
- [#351 ](https://github.com/wasmerio/wasmer/pull/351 ) Add hidden option to specify wasm program name (can be used to improve error messages)
2019-04-12 18:12:46 +00:00
- [#350 ](https://github.com/wasmerio/wasmer/pull/350 ) Enforce that CHANGELOG.md is updated through CI.
2019-04-12 17:48:34 +00:00
- [#349 ](https://github.com/wasmerio/wasmer/pull/349 ) Add [CHANGELOG.md ](https://github.com/wasmerio/wasmer/blob/master/CHANGELOG.md ).
2019-04-29 12:26:31 +00:00
2019-05-16 20:09:41 +00:00
## 0.3.0 - 2019-04-12
2019-04-29 12:26:31 +00:00
2019-04-29 12:29:04 +00:00
- [#276 ](https://github.com/wasmerio/wasmer/pull/276 ) [#288 ](https://github.com/wasmerio/wasmer/pull/288 ) [#344 ](https://github.com/wasmerio/wasmer/pull/344 ) Use new singlepass backend (with the `--backend=singlepass` when running Wasmer)
- [#338 ](https://github.com/wasmerio/wasmer/pull/338 ) Actually catch traps/panics/etc when using a typed func.
- [#325 ](https://github.com/wasmerio/wasmer/pull/325 ) Fixed func_index in debug mode
- [#323 ](https://github.com/wasmerio/wasmer/pull/323 ) Add validate subcommand to validate Wasm files
- [#321 ](https://github.com/wasmerio/wasmer/pull/321 ) Upgrade to Cranelift 0.3.0
- [#319 ](https://github.com/wasmerio/wasmer/pull/319 ) Add Export and GlobalDescriptor to Runtime API
- [#310 ](https://github.com/wasmerio/wasmer/pull/310 ) Cleanup warnings
- [#299 ](https://github.com/wasmerio/wasmer/pull/299 ) [#300 ](https://github.com/wasmerio/wasmer/pull/300 ) [#301 ](https://github.com/wasmerio/wasmer/pull/301 ) [#303 ](https://github.com/wasmerio/wasmer/pull/303 ) [#304 ](https://github.com/wasmerio/wasmer/pull/304 ) [#305 ](https://github.com/wasmerio/wasmer/pull/305 ) [#306 ](https://github.com/wasmerio/wasmer/pull/306 ) [#307 ](https://github.com/wasmerio/wasmer/pull/307 ) Add support for WASI 🎉
- [#286 ](https://github.com/wasmerio/wasmer/pull/286 ) Add extend to imports
- [#278 ](https://github.com/wasmerio/wasmer/pull/278 ) Add versioning to cache
- [#250 ](https://github.com/wasmerio/wasmer/pull/250 ) Setup bors