Browse Source

Merge branch 'v1.3.0-release-prep'

pull/344/head v1.3.0
Sami Vaarala 9 years ago
parent
commit
675165f35e
  1. 2
      Makefile
  2. 45
      RELEASES.rst
  3. 2
      dist-files/Makefile.dukdebug
  4. 4
      dist-files/README.rst
  5. 8
      doc/release-checklist.rst
  6. 3
      doc/testcase-known-issues.yaml
  7. 2
      examples/cmdline/duk_cmdline.c
  8. 2
      src/duk_api_public.h.in
  9. 10
      tests/api/test-external-buffer.c
  10. 3
      tests/ecmascript/test-bi-typedarray-nan-handling.js
  11. 2
      util/make_dist.sh

2
Makefile

@ -193,6 +193,8 @@ CCOPTS_FEATURES += -DDUK_OPT_SELF_TESTS
#CCOPTS_FEATURES += -DDUK_OPT_NO_AUGMENT_ERRORS
#CCOPTS_FEATURES += -DDUK_OPT_GC_TORTURE
#CCOPTS_FEATURES += -DDUK_OPT_SHUFFLE_TORTURE
#CCOPTS_FEATURES += -DDUK_OPT_REFZERO_FINALIZER_TORTURE
#CCOPTS_FEATURES += -DDUK_OPT_MARKANDSWEEP_FINALIZER_TORTURE
#CCOPTS_FEATURES += -DDUK_OPT_NO_MS_RESIZE_STRINGTABLE
CCOPTS_FEATURES += -DDUK_OPT_DEBUG_BUFSIZE=512
#CCOPTS_FEATURES += -DDUK_OPT_NO_STRICT_DECL

45
RELEASES.rst

@ -960,10 +960,7 @@ Released
* Avoid including <windows.h> for application build (GH-312)
Planned
=======
1.3.0 (2015-XX-XX)
1.3.0 (2015-09-12)
------------------
* Introduce an external duk_config.h header which provides all platform and
@ -979,6 +976,16 @@ Planned
values which point to a user memory area allocated outside of Duktape heap
(for example, an externally allocated frame buffer) (GH-153)
* Add duk_push_buffer_object() which allows pushing of all buffer object and
buffer view types (GH-190)
* Add duk_get_buffer_data() and duk_require_buffer_data() API calls which
accept both plain buffer and buffer object values (GH-190)
* Add duk_steal_buffer() API call which allows user code to steal the current
allocation of a dynamic buffer which is useful for some buffer manipulation
algorithms (GH-129)
* Add support for module.exports in the module loader framework (GH-201)
* Change Duktape.modLoaded[] module cache to track the "module" object
@ -1014,16 +1021,6 @@ Planned
* Add Proxy object support to 'instanceof' operator (without support for
'getPrototypeOf' trap) (GH-182)
* Add duk_steal_buffer() API call which allows user code to steal the current
allocation of a dynamic buffer which is useful for some buffer manipulation
algorithms (GH-129)
* Add duk_get_buffer_data() and duk_require_buffer_data() API calls which
accept both plain buffer and buffer object values (GH-190)
* Add duk_push_buffer_object() which allows pushing of all buffer object and
buffer view types (GH-190)
* Add explicit 'this' binding for C eval calls so that strict eval code also
gets 'this' bound to the global object (GH-164)
@ -1055,12 +1052,14 @@ Planned
places (GH-209)
* Sizeof(duk_hbuffer_dynamic) reduced from 16 to 12 bytes for low memory
builds using heap compression (GH-209)
builds which employ heap compression (GH-209)
* Increase try-catch register limit (from 511 to 262143) to fix try-catch
out-of-register issues for most code (GH-145)
* Use deep C stack by default also for OSX/iPhone (GH-226)
* Remove DUK_OPT_DEEP_C_STACK (and DUK_USE_DEEP_C_STACK) in favor of explicit
DUK_USE_xxx config options for native recursion limits; C stacks are assumed
to be deep by default for all targets including OSX/iPhone (GH-165, GH-226)
* Make Proxy internal _Target and _Handler properties immutable (non-writable
and non-configurable) (GH-237)
@ -1074,11 +1073,7 @@ Planned
structure (GH-209)
* Add example debug transport with local dvalue encoding and decoding, also
provides a C example for encoding and decoding dvalues
* Remove DUK_OPT_DEEP_C_STACK (and DUK_USE_DEEP_C_STACK) in favor of explicit
DUK_USE_xxx config options for native recursion limits; C stacks are assumed
to be deep by default for all targets (GH-165)
provides a C example for encoding and decoding dvalues (GH-251)
* Provide at least 10 callstack entries for error handling (Duktape.errCreate)
when callstack limit is reached (GH-191)
@ -1140,6 +1135,14 @@ Planned
* Avoid including <windows.h> for application build (GH-312)
Planned
=======
1.4.0 (XXXX-XX-XX)
------------------
* TBD
2.0.0 (XXXX-XX-XX)
------------------

2
dist-files/Makefile.dukdebug

@ -6,7 +6,7 @@ DUKTAPE_SOURCES = src/duktape.c
DUKTAPE_CMDLINE_SOURCES = \
examples/cmdline/duk_cmdline.c \
examples/debug-trans-socket/duk_debug_trans_socket.c
examples/debug-trans-socket/duk_trans_socket.c
CC = gcc
CCOPTS = -Os -pedantic -std=c99 -Wall -fstrict-aliasing -fomit-frame-pointer

4
dist-files/README.rst

@ -24,6 +24,10 @@ In particular, you should read the getting started section:
* http://duktape.org/guide.html#gettingstarted
More examples and how-to articles are in the Duktape Wiki:
* http://wiki.duktape.org/
Building and integrating Duktape into your project is very straightforward:
* http://duktape.org/guide.html#compiling

8
doc/release-checklist.rst

@ -129,7 +129,7 @@ Checklist for ordinary releases
- DUK_USE_REFZERO_FINALIZER_TORTURE
- DUK_USE_MARKANDSWEEP_FINALIZER_TORTURE
- DUK_USE_MARKANDSWEEP_FINALIZER_TORTURE + DUK_OPT_GC_TORTURE
* Memory usage testing
@ -182,6 +182,12 @@ Checklist for ordinary releases
- make emscriptenduktest
* emscripten (compile Duktape with emscripten, run with Duktape)
- on x86-64
- make emscripteninceptiontest
* JS-Interpreter
- on x86-64

3
doc/testcase-known-issues.yaml

@ -123,6 +123,9 @@
-
test: "test-dev-nonstd-setget-key-argument.js"
specialoptions: "should work with default options, but will break with DUK_OPT_NO_NONSTD_ACCESSOR_KEY_ARGUMENT"
-
test: "test-bi-typedarray-nan-handling.js"
specialoptions: "NaN sign is platform dependent"
# API testcase (tests/api/) known issues

2
examples/cmdline/duk_cmdline.c

@ -865,7 +865,7 @@ int main(int argc, char *argv[]) {
#ifdef DUK_CMDLINE_DEBUGGER_SUPPORT
" --debugger start example debugger\n"
#endif
" --recreate-heap recreate heap after every file\n"
" --recreate-heap recreate heap after every file\n"
"\n"
"If <filename> is omitted, interactive mode is started automatically.\n");
fflush(stderr);

2
src/duk_api_public.h.in

@ -86,7 +86,7 @@ struct duk_number_list_entry {
* have 99 for patch level (e.g. 0.10.99 would be a development version
* after 0.10.0 but before the next official release).
*/
#define DUK_VERSION 10299L
#define DUK_VERSION 10300L
/* Git describe for Duktape build. Useful for non-official snapshot builds
* so that application code can easily log which Duktape snapshot was used.

10
tests/api/test-external-buffer.c

@ -17,9 +17,9 @@ final top: 1
*** test_3 (duk_safe_call)
==> rc=1, result='TypeError: unexpected type'
*** test_4 (duk_safe_call)
["censoredtag","censoredpointer",5,"censoredheapsize"]
["censoredtag","censoredpointer",5,"censoredheapsize",256]
["censoredtag","censoredpointer",5,"censoredheapsize",16]
["censoredtag","censoredpointer","censoredrefcount","censoredheapsize"]
["censoredtag","censoredpointer","censoredrefcount","censoredheapsize",256]
["censoredtag","censoredpointer","censoredrefcount","censoredheapsize",16]
final top: 0
==> rc=0, result='undefined'
===*/
@ -111,12 +111,16 @@ static duk_ret_t test_3(duk_context *ctx) {
static duk_ret_t test_4(duk_context *ctx) {
unsigned char buf[16];
/* Censor refcount too because e.g. in shuffle torture test the
* refcount will be different than otherwise.
*/
duk_eval_string(ctx,
"(function (b1, b2, b3) {\n"
" [ b1, b2, b3 ].forEach(function (b) {\n"
" var t = Duktape.info(b);\n"
" t[0] = 'censoredtag';\n"
" t[1] = 'censoredpointer';\n"
" t[2] = 'censoredrefcount';\n"
" t[3] = 'censoredheapsize';\n"
" print(Duktape.enc('jx', t));\n"
" });\n"

3
tests/ecmascript/test-bi-typedarray-nan-handling.js

@ -50,6 +50,9 @@ function nanHandlingTest() {
sign = expt >>> 15;
expt = (expt >> 4) & 0x7ff;
// Note: NaN normalization is allowed, and NaN sign is also platform
// dependent.
print('sign: ' + sign);
print('expt: ' + expt);

2
util/make_dist.sh

@ -445,7 +445,7 @@ python config/genconfig.py --metadata config --output $DIST/duk_config.h.tmp \
autodetect-header-legacy
cp $DIST/duk_config.h.tmp $DISTSRCCOM/duk_config.h
cp $DIST/duk_config.h.tmp $DISTSRCSEP/duk_config.h
cp $DIST/duk_config.h.tmp $DIST/config/duk_config.h-autodetect
#cp $DIST/duk_config.h.tmp $DIST/config/duk_config.h-autodetect
# Modular duk_config.h (to replace the previous monolithic one)
#python config/genconfig.py --metadata config --output $DIST/config/duk_config.h-modular \

Loading…
Cancel
Save