Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 24 additions & 23 deletions ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ See docs/process.md for more on how version tagging works.
`__cpp_exception` tag) independently of C++ linking, so Wasm EH objects from
non-C++ frontends (e.g. rustc, which links via `emcc`) link without
requiring `em++` or `-sDEFAULT_TO_CXX`. (#27496)
- FreeType was updated to 2.14.3 (#27518)
- FreeType was updated to 2.14.3 (#27526)
- The oldest supported Safari version (`MIN_SAFARI_VERSION`) was raised from
14.1 to 15.0, making 15.0 the minimum version that can be targeted. This
allows assuming `bulk-memory`, `nontrapping-fptoint`, and `WASM_BIGINT`
Expand Down Expand Up @@ -329,7 +329,7 @@ See docs/process.md for more on how version tagging works.
~500 bytes (in the same way that declaring ~500 bytes of TLS data would).
(#26757)
- The filesystem opteration that create new files now honor the global umask,
which defaults for 0o222 and can be updated by calling `umask()`. (#50739)
which defaults to 0o222 and can be updated by calling `umask()`. (#26763)

5.0.6 - 04/14/26
----------------
Expand Down Expand Up @@ -435,7 +435,8 @@ See docs/process.md for more on how version tagging works.
rather then EAGAIN. (#26105)
- A new `-sEXECUTABLE` setting was added which adds a #! line to the resulting
JavaScript and makes it executable. This setting defaults to true when the
output filename has no extension, or ends in `.out` (e.g. `a.out`) (#26085)
output filename has no extension, or ends in `.out` (e.g. `a.out`) (#26085,
#26088)
- Embind now supports the JS iterable protocol on bound classes via
`class_<T>::iterable()`. `register_vector` uses this so bound `std::vector`
works with `for...of`/`Array.from()`/spread. (#25993)
Expand Down Expand Up @@ -620,7 +621,7 @@ See docs/process.md for more on how version tagging works.
ignored. (#24849)
- emcc will now error if `MINIMAL_RUNTIME_STREAMING_WASM_COMPILATION` or
`MINIMAL_RUNTIME_STREAMING_WASM_INSTANTIATION` are used with `SINGLE_FILE`.
These are fundamentally incompatible but were previously ignored. (#24849)
These are fundamentally incompatible but were previously ignored. (#24859)
- `--export-es6` flag was added to `file_packager.py` available when run
standalone, to enable ES6 imports of generated JavaScript code (#24737)

Expand Down Expand Up @@ -721,7 +722,7 @@ See docs/process.md for more on how version tagging works.
`count_emval_handles`) and from `libbrowser.py` (`requestFullscreen`,
`requestFullScreen`, `createContext`, `getUserMedia`, `setCanvasSize`) are no
longer exported by default. They can be exported using
`-sEXPORTED_RUNTIME_METHODS=requestFullscreen`, for example. (#24223, #24269)
`-sEXPORTED_RUNTIME_METHODS=requestFullscreen`, for example. (#24259, #24269)
- Embind: fixed support for unsigned 64-bit integers, which were previously
returned to JavaScript as their signed counterparts. (#24285)
- Added handing for 64-bit integer access to AddressSanitizer, `-sSAFE_HEAP` and
Expand Down Expand Up @@ -1083,7 +1084,7 @@ See docs/process.md for more on how version tagging works.
-----------------
- Fix the location of the dummy `.worker.js` file that is now generated as part
of pthread builds so that is generated alongside the main JavaScript file.
See #21701. ()
See #21701. (#21830)
- `-sASYNCIFY=2` is setting now deprecated, use `-sJSPI` instead. (#21824)

3.1.58 - 04/23/24
Expand Down Expand Up @@ -1179,7 +1180,7 @@ See docs/process.md for more on how version tagging works.
now zero. This allows `EMSCRIPTEN_WEBGL_CONTEXT_HANDLE` to hold a pointer
to memory even in 2GB+ mode. Since `emscripten_webgl_create_context` never
returns anything except zero for its errors today this change should not
require any action. (#21268)
require any action. (#21281)
- Added `--use-port` option to `emcc`. This option allows ports to be enabled
by name and is designed to replace all existing `-sUSE_XXX` settings for
ports. You can use `--show-ports` to get the list of available ports that
Expand Down Expand Up @@ -1254,7 +1255,7 @@ See docs/process.md for more on how version tagging works.
-----------------
- Support for explicitly targeting the legacy Internet Explorer or EdgeHTML
(edge version prior to the chromium-based edge) browsers via
`-sMIN_EDGE_VERSION/-sMIN_IE_VERSION` was removed. (#20881)
`-sMIN_EDGE_VERSION/-sMIN_IE_VERSION` was removed. (#20881, #20887)
- Emscripten is now more strict about handling unsupported shared library
inputs. For example, under the old behaviour if a system shared library
such as `/usr/lib/libz.so` was passed to emscripten it would silently re-write
Expand Down Expand Up @@ -1462,7 +1463,7 @@ See docs/process.md for more on how version tagging works.
address zero that is normally done when `STACK_OVERFLOW_CHECK` is enabled.
(#19487)
- compiler-rt updated to LLVM 16. (#19506)
- libcxx and libcxxabi updated to LLVM 16. (#)
- libcxx and libcxxabi updated to LLVM 16. (#19515)

3.1.40 - 05/30/23
-----------------
Expand Down Expand Up @@ -1530,7 +1531,7 @@ See docs/process.md for more on how version tagging works.
IDBFS filesystem for folks that want persistence. (#19049)
- `allocateUTF8` and `allocateUTF8OnStack` library function moved to
`library_legacy.js`. Prefer the more accurately named `stringToNewUTF8` and
`stringToUTF8OnStack`. (#19089)
`stringToUTF8OnStack`. (#19089, #19092)
- `SDL_image` port was updated to version 2.6.0.
- `-z` arguments are now passed directly to wasm-ld without the need for the
`-Wl,` prefix. This matches the behaviour of both clang and gcc. (#18956)
Expand Down Expand Up @@ -1662,7 +1663,7 @@ See docs/process.md for more on how version tagging works.
- Emscripten will now search your PATH for binaryen, llvm, and node if the
corresponding config file settings (`BINARYEN_ROOT`, `LLVM_ROOT`, `NODE_JS`)
are not set. Allows emscripten to run with an empty config file given the
right tools in the PATH. (#18289)
right tools in the PATH. (#18289, #18344)

3.1.27 - 11/29/22
-----------------
Expand Down Expand Up @@ -1928,7 +1929,7 @@ See docs/process.md for more on how version tagging works.
- Fix crash, introduced in 3.1.11, which occurred when using pointer types
(types ending in `*`) with getValue/setValue library functions. (#17028)
- Fix possible deadlock in multi-threaded builds that use EXIT_RUNTIME=0 with
ASSERTIONS enabled. This was introduced in 3.1.3 as part of #16130. (#17044)
ASSERTIONS enabled. This was introduced in 3.1.3 as part of #16130. (#17046)

3.1.11 - 05/21/2022
-------------------
Expand Down Expand Up @@ -3155,7 +3156,7 @@ v1.39.5: 12/20/2019
Note that going forward, we will use these settings in more places, so if
you do need very old legacy browser support, you may need to set either
`LEGACY_VM_SUPPORT` or the fine-grained options. For more details see #9937
- Default `DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR` to 1. See #9895.
- Default `DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR` to 1. (#9946)
With this change the old deprecated HTML5 API event target lookup behavior is
disabled. There is no "Module.canvas" object, no magic "null" default handling,
and DOM element 'target' parameters are taken to refer to CSS selectors, instead
Expand Down Expand Up @@ -3402,7 +3403,7 @@ v1.38.32: SKIPPED
v1.38.31: 04/24/2019
--------------------
- Change `ino_t/off_t` to 64-bits. (#8467)
- Add port for bzip2 library (`libbz2.a`). (#8349)
- Add port for bzip2 library (`libbz2.a`). (#8353)
- Add port for libjpeg library. (#8361)
- Enable `ERROR_ON_MISSING_LIBRARIES` by default (#8461)

Expand Down Expand Up @@ -3507,7 +3508,7 @@ v1.38.16: 11/02/2018
you can manually enable EXPORT_ALL yourself (which returns to the exact
same behavior as before). This change brings us in line with more standard
dynamic linking, and will match what the LLVM wasm backend will have.
See #7312.
(#7371)
- Invalid -s flags on the command line are now treated as errors.
- Remove BUILD_AS_SHARED_LIBRARY setting.

Expand Down Expand Up @@ -3959,7 +3960,7 @@ v1.36.12: 10/20/2016
- Improved WebGL support with closure compiler (#4619)
- Improved Binaryen WebAssembly support
- Added support for GL_disjoint_timer_query extension (#4575)
- Improved Emscripten compiler detection with CMake (#4129, #4314, #4318)
- Improved Emscripten compiler detection with CMake (#4129, #4134, #4571)
- Added support for int64 in wasm.
- Optimize small constant length memcpys in wasm.
- Full list of changes:
Expand Down Expand Up @@ -4126,7 +4127,7 @@ v1.36.2: 4/22/2016
- Optimize Emscripten for large asm.js projects.
- Added sdl2_net to Emscripten ports.
- Updated to latest version of the SIMD polyfill (#4165)
- Fixed an issue with missing texture formats support in GLES 3 (#4176)
- Fixed an issue with missing texture formats support in GLES 3 (#4169)
- Added a new WebAssembly linker option -s BINARYEN_IMPRECISE=1 (default=0)
which mutes potential traps from WebAssembly int div/rem by zero and
float-to-int conversions.
Expand Down Expand Up @@ -4747,7 +4748,7 @@ v1.32.3: 5/15/2015
- Improved dynamic linking support.
- Added new option to file_packager.py to store metadata externally.
- Improved CMake support with CMAKE_CROSSCOMPILING_EMULATOR (#3447).
- Added support for `sysconf(_SC_PHYS_PAGES)` (#3405, 3442).
- Added support for `sysconf(_SC_PHYS_PAGES)` (#3405, #3442).
- Full list of changes:
- Emscripten: https://github.com/emscripten-core/emscripten/compare/1.32.2...1.32.3
- Emscripten-LLVM: https://github.com/emscripten-core/emscripten-fastcomp/compare/1.32.2...1.32.3
Expand Down Expand Up @@ -4840,7 +4841,7 @@ v1.30.6: 4/14/2015
------------------
- Removed support for the deprecated jcache functionality (#3313).
- Added support to emscripten_GetProcAddress() to fetch symbols with the ANGLE
suffix (#3304, #3315).
suffix (#3304, #3316).
- Added immintrin.h header file to include all SSE support.
- Added an async option to ccall (#3307).
- Stopped from using 0 as a valid source ID for OpenAL (#3303).
Expand Down Expand Up @@ -5303,7 +5304,7 @@ v1.25.0: 9/30/2014

v1.24.1: 9/27/2014
------------------
- Fixed issues with the tmpnam and tmpfile functions (#2797, 2798)
- Fixed issues with the tmpnam and tmpfile functions (#2797, #2798)
- Fixed CMake package find code to not search any system directories, because
Emscripten is a cross-compiler.
- Improved support for the proposed solution for heap resizing.
Expand Down Expand Up @@ -5480,7 +5481,7 @@ v1.22.2: 8/19/2014
- Optimized the size of intermediate generated .o files by omitting LLVM debug
info from them when not needed. (#2657)
- Fixed WebSocket connection URLs to allow a port number in them, e.g.
"server:port/addr" (2610)
"server:port/addr" (#2610)
- Added support for void* to the WebIDL binder, via the identifier VoidPtr.
- Optimize emcc to not copy bitcode files around redundantly.
- Fix stat() to correctly return ENOTDIR when expected (#2669).
Expand Down Expand Up @@ -6165,7 +6166,7 @@ v1.10.0: 1/29/2014
- Improved OpenAL library support.
- Fixed an issue where loading side modules could try to allocate from sealed
heap (#2060).
- Fixed safe heap issues (2068).
- Fixed safe heap issues (#2068).
- Added new EM_ASM variants that return a value but do not receive any inputs
(#2070).
- Add support for simultaneously using setjmp and C++ exceptions in fastcomp.
Expand Down Expand Up @@ -6484,7 +6485,7 @@ v1.6.4: 9/30/2013
- Improved compilation times at link stage.
- Added support for new "NODEFS" filesystem that directly accesses files on the
native filesystem. Only usable with node.js when compiling to JS.
- Added support for new IDBFS filesystem for accessing files in IndexedDB storage (#1601.
- Added support for new IDBFS filesystem for accessing files in IndexedDB storage (#1601).
- Full list of changes: https://github.com/emscripten-core/emscripten/compare/1.6.3...1.6.4

v1.6.3: 9/26/2013
Expand Down
Loading