mirror of https://github.com/svaarala/duktape.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.8 KiB
43 lines
1.8 KiB
=========================
|
|
Duktape 2.3 release notes
|
|
=========================
|
|
|
|
Release overview
|
|
================
|
|
|
|
Main changes in this release (see RELEASES.rst for full details):
|
|
|
|
* TBD.
|
|
|
|
* DUK_USE_ALIGN_BY now always defaults to 8 (natural alignment) to avoid any
|
|
potentially unsafe assumptions about compiler behavior for unaligned memory
|
|
accesses and pointers (which may be an issue even on x86).
|
|
|
|
Upgrading from Duktape 2.2
|
|
==========================
|
|
|
|
No action (other than recompiling) should be needed for most users to upgrade
|
|
from Duktape v2.2.x. Note the following:
|
|
|
|
* TBD.
|
|
|
|
* If you're working with a low memory target or any other target where memory
|
|
usage matters, you may want to force DUK_USE_ALIGN_BY to a lower value
|
|
(4 or 1) to reduce memory overhead. For most targets the memory overhead
|
|
is not important.
|
|
|
|
* Base-64 and hex encoding/decoding support is now configurable and disabled
|
|
by default in the example low_memory.yaml configuration. Enable them
|
|
manually if necessary using DUK_USE_BASE64_SUPPORT and DUK_USE_HEX_SUPPORT.
|
|
|
|
* Several -fsanitize=undefined warnings have been fixed in the default
|
|
configuration using explicit checks to avoid undefined behavior. For
|
|
example, floating point division by zero is avoided and behavior in that
|
|
case is implemented explicitly, at some cost in footprint and performance.
|
|
For many compilers the undefined behavior assumptions in Duktape source
|
|
are fine, and you can remove the extra overhead by enabling the
|
|
DUK_USE_ALLOW_UNDEFINED_BEHAVIOR option in configure.py (this option is
|
|
enabled in the low_memory.yaml and performance_sensitive.yaml example
|
|
configurations). Note, however, that recent gcc/clang versions are
|
|
optimizing around undefined behavior so while relying on undefined behavior
|
|
may work in one version, it may break with newer compiler versions.
|
|
|