Browse Source

Preparations for 2.4.0 release

* Bump DUK_VERSION to 2.4.0.

* Release checklist updates.

* Releases file update.

* Finalize release notes.

* Remove experimental status from some API calls.

* Bump LICENSE.txt year range.

* Add new public symbols to API test.

* CBOR extra trivial compile warning fix.

* Compile warning fix when hex support disabled.

* Update test262 known issues.

* Update index page footprints.

* Improve options for thumb index page size build.

* Add missing "skip: true" metadata to a CBOR test.

* AUTHORS update.
pull/2157/head
Sami Vaarala 5 years ago
parent
commit
bcb37439d6
  1. 2
      AUTHORS.rst
  2. 2
      LICENSE.txt
  3. 19
      RELEASES.rst
  4. 16
      doc/release-checklist.rst
  5. 6
      doc/release-notes-v2-4.rst
  6. 24
      doc/test262-known-issues.yaml
  7. 2
      extras/cbor/duk_cbor.c
  8. 2
      src-input/duk_api_codec.c
  9. 2
      src-input/duktape.h.in
  10. 2
      tests/api/test-all-public-symbols.c
  11. 6
      tests/ecmascript/test-bi-cbor-dec-fastint.js
  12. 2
      util/index_page_sizes.sh
  13. 1
      website/api/duk_del_prop_literal.yaml
  14. 1
      website/api/duk_get_global_literal.yaml
  15. 1
      website/api/duk_get_prop_literal.yaml
  16. 1
      website/api/duk_has_prop_literal.yaml
  17. 1
      website/api/duk_push_literal.yaml
  18. 1
      website/api/duk_put_global_literal.yaml
  19. 1
      website/api/duk_put_prop_literal.yaml
  20. 6
      website/api/symbols-are-strings.html
  21. 12
      website/index/index.html

2
AUTHORS.rst

@ -104,7 +104,7 @@ bugs, provided ideas, etc; roughly in order of appearance):
* Wilhelm Wanecek (https://github.com/wanecek) * Wilhelm Wanecek (https://github.com/wanecek)
* Andrew Janke (https://github.com/apjanke) * Andrew Janke (https://github.com/apjanke)
* Unamer (https://github.com/unamer) * Unamer (https://github.com/unamer)
* Karl Dahlke * Karl Dahlke (eklhad@gmail.com)
If you are accidentally missing from this list, send me an e-mail If you are accidentally missing from this list, send me an e-mail
(``sami.vaarala@iki.fi``) and I'll fix the omission. (``sami.vaarala@iki.fi``) and I'll fix the omission.

2
LICENSE.txt

@ -4,7 +4,7 @@ Duktape license
(http://opensource.org/licenses/MIT) (http://opensource.org/licenses/MIT)
Copyright (c) 2013-2018 by Duktape authors (see AUTHORS.rst) Copyright (c) 2013-2019 by Duktape authors (see AUTHORS.rst)
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

19
RELEASES.rst

@ -3390,10 +3390,7 @@ Miscellaneous:
https://github.com/svaarala/duktape/blob/master/misc/clang_aliasing.c), https://github.com/svaarala/duktape/blob/master/misc/clang_aliasing.c),
and the workaround is to use unpacked duk_tval prior to Clang 5.0 (GH-1764) and the workaround is to use unpacked duk_tval prior to Clang 5.0 (GH-1764)
Planned 2.4.0 (2019-07-28)
=======
2.4.0 (XXXX-XX-XX)
------------------ ------------------
* Add duk_to_stacktrace() and duk_safe_to_stacktrace() to make it easier to * Add duk_to_stacktrace() and duk_safe_to_stacktrace() to make it easier to
@ -3468,6 +3465,9 @@ Planned
* Rework some internal property handling call sites and helpers to e.g. * Rework some internal property handling call sites and helpers to e.g.
avoid inheriting internal properties when not intended (GH-2149) avoid inheriting internal properties when not intended (GH-2149)
* Improve assertion coverage for internal structures during mark-and-sweep
(GH-2092)
* Fix incorrect parsing of post-increment/post-decrement followed by * Fix incorrect parsing of post-increment/post-decrement followed by
division (e.g. "z++ / 20"), the slash was interpreted as beginning division (e.g. "z++ / 20"), the slash was interpreted as beginning
a regexp (GH-2140) a regexp (GH-2140)
@ -3538,11 +3538,16 @@ Planned
attributes enabled, debugger support enabled); the workaround is to attributes enabled, debugger support enabled); the workaround is to
disable noreturn macros for GCC 5+ for now (GH-2156) disable noreturn macros for GCC 5+ for now (GH-2156)
* Improve assertion coverage for internal structures during mark-and-sweep
(GH-2092)
* Various portability fixes (GH-1931, GH-1976) * Various portability fixes (GH-1931, GH-1976)
Planned
=======
2.5.0 (XXXX-XX-XX)
------------------
* TBD
3.0.0 (XXXX-XX-XX) 3.0.0 (XXXX-XX-XX)
------------------ ------------------

16
doc/release-checklist.rst

@ -13,20 +13,6 @@ Checklist for ordinary releases
- ``vN.N.N-release-post``: use this naming for bumping version number after - ``vN.N.N-release-post``: use this naming for bumping version number after
release, checklist fixes after release, etc. release, checklist fixes after release, etc.
* Git maintenance
- Ensure git commits are up-to-date
- Ensure branches are merged, unused branches deleted (also remotely)
- Ensure branches are rebased where applicable
- Check for uncommitted files
- git fsck --full
- git gc --aggressive
* Finalize DUK_VERSION * Finalize DUK_VERSION
- Change previous development version (with patch level 99) to release - Change previous development version (with patch level 99) to release
@ -49,6 +35,8 @@ Checklist for ordinary releases
- Release date is in place - Release date is in place
- Check release entry ordering
* Ensure tests/api/test-all-public-symbols.c is up-to-date * Ensure tests/api/test-all-public-symbols.c is up-to-date
- Must add all new API calls - Must add all new API calls

6
doc/release-notes-v2-4.rst

@ -5,7 +5,7 @@ Duktape 2.4 release notes
Release overview Release overview
================ ================
TBD. Main changes in this release (see RELEASES.rst for full details):
* Symbol built-in is now enabled by default. * Symbol built-in is now enabled by default.
@ -17,6 +17,10 @@ TBD.
* Add duk_require_constructable() and duk_require_constructor_call(). * Add duk_require_constructable() and duk_require_constructor_call().
* Various fixes and portability improvements. Special thanks to Renata
Hodovan for several issues found using Fuzzinator
(https://github.com/renatahodovan/fuzzinator).
Upgrading from Duktape 2.3 Upgrading from Duktape 2.3
========================== ==========================

24
doc/test262-known-issues.yaml

@ -32,6 +32,27 @@
- -
test: "ch09/9.7/S9.7_A3.2_T1" test: "ch09/9.7/S9.7_A3.2_T1"
knownissue: "Duktape String.fromCharCode() intentionally accepts non-BMP codepoints" knownissue: "Duktape String.fromCharCode() intentionally accepts non-BMP codepoints"
-
test: "ch10/10.6/10.6-13-b-1-s"
knownissue: "Revised behavior post-ES5.1: arguments.caller no longer present in strict mode"
-
test: "ch10/10.6/10.6-13-b-2-s"
knownissue: "Revised behavior post-ES5.1: arguments.caller no longer present in strict mode"
-
test: "ch10/10.6/10.6-13-b-3-s"
knownissue: "Revised behavior post-ES5.1: arguments.caller no longer present in strict mode"
-
test: "ch10/10.6/10.6-14-1-s"
knownissue: "Revised behavior post-ES5.1: arguments.caller no longer present in strict mode"
-
test: "ch10/10.6/10.6-14-b-1-s"
knownissue: "Revised behavior post-ES5.1: arguments.caller no longer present in strict mode"
-
test: "ch10/10.6/10.6-14-b-4-s"
knownissue: "Revised behavior post-ES5.1: arguments.caller no longer present in strict mode"
-
test: "ch13/13.2/S13.2.3_A1"
knownissue: "Revised behavior post-ES5.1: arguments.caller no longer present in strict mode"
- -
test: "ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A3" test: "ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A3"
knownissue: "Duktape Array.prototype.push() doesn't allow Array length to grow beyond 2**32-1" knownissue: "Duktape Array.prototype.push() doesn't allow Array length to grow beyond 2**32-1"
@ -79,9 +100,6 @@
- -
test: "ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-9" test: "ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-9"
diagnosed: "probably Duktape bug: long array corner cases (C typing?)" diagnosed: "probably Duktape bug: long array corner cases (C typing?)"
-
test: "ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A4_T1"
diagnosed: "Array .pop() fast path (can be disabled) ignores inherited array index properties"
- -
test: "ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T11" test: "ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T11"
knownissue: "test case relies on locale specific Date format, Duktape uses ISO 8601 for Date toString()" knownissue: "test case relies on locale specific Date format, Duktape uses ISO 8601 for Date toString()"

2
extras/cbor/duk_cbor.c

@ -211,6 +211,7 @@ static DUK_CBOR_INLINE duk_uint16_t duk__cbor_read_uint16_big(const duk_uint8_t
break; break;
default: default:
DUK_CBOR_ASSERT(0); DUK_CBOR_ASSERT(0);
x = 0;
} }
return x; return x;
} }
@ -260,6 +261,7 @@ static DUK_CBOR_INLINE duk_uint32_t duk__cbor_read_uint32_big(const duk_uint8_t
break; break;
default: default:
DUK_CBOR_ASSERT(0); DUK_CBOR_ASSERT(0);
x = 0;
} }
return x; return x;
} }

2
src-input/duk_api_codec.c

@ -850,7 +850,7 @@ DUK_EXTERNAL void duk_hex_decode(duk_hthread *thr, duk_idx_t idx) {
DUK_EXTERNAL const char *duk_hex_encode(duk_hthread *thr, duk_idx_t idx) { DUK_EXTERNAL const char *duk_hex_encode(duk_hthread *thr, duk_idx_t idx) {
DUK_UNREF(idx); DUK_UNREF(idx);
DUK_ERROR_UNSUPPORTED(thr); DUK_ERROR_UNSUPPORTED(thr);
DUK_WO_NORETURN(return;); DUK_WO_NORETURN(return NULL;);
} }
DUK_EXTERNAL void duk_hex_decode(duk_hthread *thr, duk_idx_t idx) { DUK_EXTERNAL void duk_hex_decode(duk_hthread *thr, duk_idx_t idx) {
DUK_UNREF(idx); DUK_UNREF(idx);

2
src-input/duktape.h.in

@ -38,7 +38,7 @@
* development snapshots have 99 for patch level (e.g. 0.10.99 would be a * development snapshots 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). * development version after 0.10.0 but before the next official release).
*/ */
#define DUK_VERSION 20399L #define DUK_VERSION 20400L
/* Git commit, describe, and branch for Duktape build. Useful for /* Git commit, describe, and branch for Duktape build. Useful for
* non-official snapshot builds so that application code can easily log * non-official snapshot builds so that application code can easily log

2
tests/api/test-all-public-symbols.c

@ -312,6 +312,7 @@ static duk_ret_t test_func(duk_context *ctx, void *udata) {
(void) duk_resume(ctx, NULL); (void) duk_resume(ctx, NULL);
(void) duk_safe_call(ctx, NULL, NULL, 0, 0); (void) duk_safe_call(ctx, NULL, NULL, 0, 0);
(void) duk_safe_to_lstring(ctx, 0, NULL); (void) duk_safe_to_lstring(ctx, 0, NULL);
(void) duk_safe_to_stacktrace(ctx, 0);
(void) duk_safe_to_string(ctx, 0); (void) duk_safe_to_string(ctx, 0);
(void) duk_samevalue(ctx, 0, 0); (void) duk_samevalue(ctx, 0, 0);
(void) duk_seal(ctx, 0); (void) duk_seal(ctx, 0);
@ -343,6 +344,7 @@ static duk_ret_t test_func(duk_context *ctx, void *udata) {
(void) duk_to_object(ctx, 0); (void) duk_to_object(ctx, 0);
(void) duk_to_pointer(ctx, 0); (void) duk_to_pointer(ctx, 0);
(void) duk_to_primitive(ctx, 0, 0); (void) duk_to_primitive(ctx, 0, 0);
(void) duk_to_stacktrace(ctx, 0);
(void) duk_to_string(ctx, 0); (void) duk_to_string(ctx, 0);
(void) duk_to_uint16(ctx, 0); (void) duk_to_uint16(ctx, 0);
(void) duk_to_uint32(ctx, 0); (void) duk_to_uint32(ctx, 0);

6
tests/ecmascript/test-bi-cbor-dec-fastint.js

@ -2,6 +2,12 @@
* Current CBOR decode fastint behavior. * Current CBOR decode fastint behavior.
*/ */
/*---
{
"skip": true
}
---*/
/*=== /*===
- top level integer - top level integer
17 fastint 17 fastint

2
util/index_page_sizes.sh

@ -7,7 +7,7 @@ set -e
#set -x #set -x
ARCHOPT=-m32 ARCHOPT=-m32
#ARCHOPT=-mthumb #ARCHOPT="-mthumb -march=armv7-a"
echo "" echo ""
echo "***" echo "***"

1
website/api/duk_del_prop_literal.yaml

@ -20,7 +20,6 @@ example: |
tags: tags:
- property - property
- literal - literal
- experimental
seealso: seealso:
- duk_del_prop - duk_del_prop

1
website/api/duk_get_global_literal.yaml

@ -22,7 +22,6 @@ example: |
tags: tags:
- property - property
- literal - literal
- experimental
seealso: seealso:
- duk_get_global_string - duk_get_global_string

1
website/api/duk_get_prop_literal.yaml

@ -20,7 +20,6 @@ example: |
tags: tags:
- property - property
- literal - literal
- experimental
seealso: seealso:
- duk_get_prop - duk_get_prop

1
website/api/duk_has_prop_literal.yaml

@ -21,7 +21,6 @@ example: |
tags: tags:
- property - property
- literal - literal
- experimental
seealso: seealso:
- duk_has_prop - duk_has_prop

1
website/api/duk_push_literal.yaml

@ -63,6 +63,5 @@ example: |
tags: tags:
- stack - stack
- literal - literal
- experimental
introduced: 2.3.0 introduced: 2.3.0

1
website/api/duk_put_global_literal.yaml

@ -18,7 +18,6 @@ example: |
tags: tags:
- property - property
- literal - literal
- experimental
seealso: seealso:
- duk_put_global_string - duk_put_global_string

1
website/api/duk_put_prop_literal.yaml

@ -21,7 +21,6 @@ example: |
tags: tags:
- property - property
- literal - literal
- experimental
seealso: seealso:
- duk_put_prop - duk_put_prop

6
website/api/symbols-are-strings.html

@ -1,9 +1,9 @@
<div class="note"> <div class="note">
Symbol values are visible in the C API as strings so that both Symbol values are visible in the C API as strings so that both
<code>duk_is_symbol()</code> and <code>duk_is_string()</code> are true. <code>duk_is_symbol()</code> and <code>duk_is_string()</code> are true.
This behavior is similar to Duktape 1.x internal strings. Symbols are This behavior is similar to Duktape 1.x internal strings. You can
still an experimental feature; for now, you can distinguish Symbols from distinguish Symbols from ordinary strings using
ordinary strings using <code><a href="#duk_is_symbol">duk_is_symbol()</a></code>. <code><a href="#duk_is_symbol">duk_is_symbol()</a></code>.
For the internal representation, see For the internal representation, see
<a href="https://github.com/svaarala/duktape/blob/master/doc/symbols.rst">symbols.rst</a>. <a href="https://github.com/svaarala/duktape/blob/master/doc/symbols.rst">symbols.rst</a>.
</div> </div>

12
website/index/index.html

@ -69,12 +69,12 @@ Duktape API to call ECMAScript functions from C code and vice versa.</p>
<p>For a "Hello world" <a href="https://github.com/svaarala/duktape/blob/master/util/index_page_sizes.sh">example</a>:</p> <p>For a "Hello world" <a href="https://github.com/svaarala/duktape/blob/master/util/index_page_sizes.sh">example</a>:</p>
<table> <table>
<tr><th>Config</th><th>Code footprint (kB)</th><th>Startup RAM (kB)</th></tr> <tr><th>Config</th><th>Code footprint (kB)</th><th>Startup RAM (kB)</th></tr>
<tr><td>thumb default</td><td>146</td><td>73</td></tr> <tr><td>thumb default</td><td>148</td><td>78</td></tr>
<tr><td>thumb lowmem</td><td>96</td><td>26</td></tr> <tr><td>thumb lowmem</td><td>96</td><td>27</td></tr>
<tr><td>thumb full lowmem</td><td>120</td><td>1.5</td></tr> <tr><td>thumb full lowmem</td><td>119</td><td>1.5</td></tr>
<tr><td>x86 default</td><td>176</td><td>74</td></tr> <tr><td>x86 default</td><td>187</td><td>78</td></tr>
<tr><td>x86 lowmem</td><td>121</td><td>27</td></tr> <tr><td>x86 lowmem</td><td>124</td><td>27</td></tr>
<tr><td>x86 full lowmem</td><td>146</td><td>1.5</td></tr> <tr><td>x86 full lowmem</td><td>148</td><td>1.5</td></tr>
</table> </table>
<p>See <a href="http://duktape.org/benchmarks.html">Benchmarks</a>.</p> <p>See <a href="http://duktape.org/benchmarks.html">Benchmarks</a>.</p>

Loading…
Cancel
Save