Skip to content

Commit d7fdb67

Browse files
authored
Merge pull request #1954 from svaarala/v2.3.0-release-prep
Release preparations for 2.3.0 release
2 parents 2aecfba + 4157e1d commit d7fdb67

File tree

12 files changed

+59
-29
lines changed

12 files changed

+59
-29
lines changed

LICENSE.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Duktape license
44

55
(http://opensource.org/licenses/MIT)
66

7-
Copyright (c) 2013-2017 by Duktape authors (see AUTHORS.rst)
7+
Copyright (c) 2013-2018 by Duktape authors (see AUTHORS.rst)
88

99
Permission is hereby granted, free of charge, to any person obtaining a copy
1010
of this software and associated documentation files (the "Software"), to deal

RELEASES.rst

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3227,10 +3227,7 @@ Miscellaneous:
32273227
* Fix potential dangling pointer use in Duktape thread termination handling;
32283228
the dangling pointer could cause unsafe memory behavior (GH-1845, GH-1868)
32293229

3230-
Planned
3231-
=======
3232-
3233-
2.3.0 (XXXX-XX-XX)
3230+
2.3.0 (2018-08-04)
32343231
------------------
32353232

32363233
* When C++ exception support is enabled use a separate duk_fatal_exception
@@ -3251,6 +3248,9 @@ Planned
32513248
* Add support for Symbol.isConcatSpreadable (@@isConcatSpreadable) in
32523249
Array.prototype.concat() (GH-1823)
32533250

3251+
* Add support for Symbol.toPrimitive (@@toPrimitive) in ToPrimitive()
3252+
internal algorithm and duk_to_primitive() API call (GH-1825)
3253+
32543254
* Invoke Proxy 'has' trap in Array.prototype.concat() when inspecting the
32553255
elements of the Proxy target (GH-1823)
32563256

@@ -3261,9 +3261,6 @@ Planned
32613261
actually did match the "non-standard" behavior provided by the option
32623262
(GH-1823)
32633263

3264-
* Add support for Symbol.toPrimitive (@@toPrimitive) in ToPrimitive()
3265-
internal algorithm and duk_to_primitive() API call (GH-1825)
3266-
32673264
* Add duk_random() to allow C code access to the same random number source
32683265
as ECMAScript code (GH-1815)
32693266

@@ -3338,6 +3335,8 @@ Planned
33383335

33393336
* Add Makefile.jsoncbor to the distributable (GH-1885)
33403337

3338+
* Makefile.sharedlibrary portability improvements (GH-1922, GH-1923)
3339+
33413340
* Change spelling from ECMAScript to ECMAScript throughout the internal source
33423341
code; as far as external behavior is concerned this only affects a few
33433342
debug prints (GH-1894)
@@ -3391,6 +3390,12 @@ Planned
33913390
https://github.com/svaarala/duktape/blob/master/misc/clang_aliasing.c),
33923391
and the workaround is to use unpacked duk_tval prior to Clang 5.0 (GH-1764)
33933392

3393+
Planned
3394+
=======
3395+
3396+
2.4.0 (XXXX-XX-XX)
3397+
------------------
3398+
33943399
3.0.0 (XXXX-XX-XX)
33953400
------------------
33963401

debugger/README.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ Install DukLuv:
9292

9393
* ``git clone https://github.com/creationix/dukluv.git``
9494

95+
* ``cd dukluv``
96+
9597
* ``git submodule init; git submodule update``
9698

9799
* ``make``

dist-files/README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ You can find release notes at:
118118
* https://github.com/svaarala/duktape/blob/master/RELEASES.rst
119119
(summary of all versions)
120120

121-
* https://github.com/svaarala/duktape/blob/master/doc/release-notes-v2-2.rst
121+
* https://github.com/svaarala/duktape/blob/master/doc/release-notes-v@DUK_MAJOR@-@DUK_MINOR@.rst
122122
(more detailed notes for this version)
123123

124124
This distributable contains Duktape version @DUK_VERSION_FORMATTED@, created from git

doc/release-checklist.rst

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,13 @@ Checklist for ordinary releases
1515

1616
* Git maintenance
1717

18-
- ensure git commits are up-to-date
18+
- Ensure git commits are up-to-date
1919

20-
- ensure branches are merged, unused branches deleted (also remotely)
20+
- Ensure branches are merged, unused branches deleted (also remotely)
2121

22-
- ensure branches are rebased where applicable
22+
- Ensure branches are rebased where applicable
23+
24+
- Check for uncommitted files
2325

2426
- git fsck --full
2527

@@ -37,8 +39,6 @@ Checklist for ordinary releases
3739

3840
* Check dist-files/README.rst
3941

40-
- Update release specific release notes link
41-
4242
* Ensure LICENSE.txt is up-to-date
4343

4444
- Check year range
@@ -109,15 +109,18 @@ Checklist for ordinary releases
109109
- Run::
110110

111111
$ make duk-sanitize-clang
112-
$ for i in tests/ecmascript/test-*.js; do python util/runtest.py --duk ./duk-sanitize-clang --timeout 30 $i; done
112+
$ for i in tests/ecmascript/test-*.js; do python util/runtest.py --duk ./duk-sanitize-clang --timeout 60 $i; done
113113

114114
* ECMAScript testcases
115115

116116
- On x86-64 (exercise 16-byte duk_tval):
117117

118118
- make ecmatest
119119

120-
- VALGRIND_WRAP=1 make ecmatest # valgrind test
120+
- Run testcases with util/runtest.py with --valgrind option::
121+
122+
$ make duk
123+
$ for i in tests/ecmascript/test-*.js; do python util/runtest.py --duk ./duk --valgrind --timeout 60 $i; done
121124

122125
- On x86-32 (exercise 8-byte duk_tval)
123126

@@ -127,7 +130,7 @@ Checklist for ordinary releases
127130

128131
- Run with assertions enabled at least on x86-64
129132

130-
* Run testcases with torture options
133+
* Run testcases with torture options, DUK_USE_ASSERTIONS and:
131134

132135
- DUK_USE_GC_TORTURE
133136

doc/release-notes-v2-3.rst

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,6 @@ Release overview
77

88
Main changes in this release (see RELEASES.rst for full details):
99

10-
* TBD.
11-
12-
* DUK_USE_ALIGN_BY now always defaults to 8 (natural alignment) to avoid any
13-
potentially unsafe assumptions about compiler behavior for unaligned memory
14-
accesses and pointers (which may be an issue even on x86).
15-
1610
* duk_xxx_literal() API call variants which take a plain C literal argument,
1711
for example duk_get_prop_literal(ctx, -2, "myProperty"). The calls are
1812
conceptually similar to the duk_xxx_string() variants, but can take advantage
@@ -23,19 +17,39 @@ Main changes in this release (see RELEASES.rst for full details):
2317
literal to a heap string object quite fast (almost as fast as using a heapptr).
2418
For now the calls are experimental.
2519

20+
* More ES2015 support: Symbol.hasInstance, Symbol.toStringTag,
21+
Symbol.isConcatSpreadable, Symbol.toPrimitive, Proxy improvements,
22+
Number.EPSILON, Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER,
23+
Number.isFinite(), Number.isNaN(), Number.isSafeInteger(),
24+
Number.parseInt(), Number.parseFloat().
25+
26+
* Other API additions: duk_random(), duk_push_new_target(),
27+
duk_get_global_heapptr(), duk_put_global_heapptr().
28+
2629
* When C++ exception support is enabled (DUK_USE_CPP_EXCEPTIONS), Duktape now
2730
uses a C++ exception throw also for fatal errors (e.g. uncaught error). The
2831
exception thrown has the type ``duk_fatal_exception`` which inherits from
2932
``std::runtime_error`` so it has a ::what() method and a useful message.
3033

34+
* DUK_USE_ALIGN_BY now always defaults to 8 (natural alignment) to avoid any
35+
potentially unsafe assumptions about compiler behavior for unaligned memory
36+
accesses and pointers (which may be an issue even on x86).
37+
38+
* A new CBOR encoder/decoder extra which may be eventually merged (in some
39+
form) into Duktape itself. CBOR is a useful binary serialization format
40+
which is a superset of JSON and has an RFC specification.
41+
42+
* A Promise polyfill which will be used as a basis for the initial native
43+
implementation.
44+
45+
* Various fixes and portability improvements.
46+
3147
Upgrading from Duktape 2.2
3248
==========================
3349

3450
No action (other than recompiling) should be needed for most users to upgrade
3551
from Duktape v2.2.x. Note the following:
3652

37-
* TBD.
38-
3953
* If you are using DUK_USE_CPP_EXCEPTIONS note that fatal errors are now
4054
thrown using a C++ exception of the type ``duk_fatal_exception`` which
4155
inherits from ``std::runtime_error`` and will be caught by a boilerplate
@@ -77,6 +91,11 @@ from Duktape v2.2.x. Note the following:
7791
by default in the example low_memory.yaml configuration. Enable them
7892
manually if necessary using DUK_USE_BASE64_SUPPORT and DUK_USE_HEX_SUPPORT.
7993

94+
* The built-in base64 decoder is now more lenient. If you're relying on
95+
strictness or specific behavior of the base64 decoder, you should use an
96+
external decoder with the exact behavior desired (base64 decoders differ
97+
quite a lot with respect to various decoding corner cases).
98+
8099
* Several -fsanitize=undefined warnings have been fixed in the default
81100
configuration using explicit checks to avoid undefined behavior. For
82101
example, floating point division by zero is avoided and behavior in that

src-input/duktape.h.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
* development snapshots have 99 for patch level (e.g. 0.10.99 would be a
3939
* development version after 0.10.0 but before the next official release).
4040
*/
41-
#define DUK_VERSION 20299L
41+
#define DUK_VERSION 20300L
4242

4343
/* Git commit, describe, and branch for Duktape build. Useful for
4444
* non-official snapshot builds so that application code can easily log

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@ static duk_ret_t test_func(duk_context *ctx, void *udata) {
245245
(void) duk_push_literal(ctx, "dummy");
246246
(void) duk_push_lstring(ctx, "dummy", 0);
247247
(void) duk_push_nan(ctx);
248+
(void) duk_push_new_target(ctx);
248249
(void) duk_push_null(ctx);
249250
(void) duk_push_number(ctx, 0.0);
250251
(void) duk_push_object(ctx);

util/dist.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -740,6 +740,9 @@ def main():
740740

741741
copy_and_replace(os.path.join('dist-files', 'README.rst'), os.path.join(dist, 'README.rst'), {
742742
'@DUK_VERSION_FORMATTED@': duk_version_formatted,
743+
'@DUK_MAJOR@': str(duk_major),
744+
'@DUK_MINOR@': str(duk_minor),
745+
'@DUK_PATCH@': str(duk_patch),
743746
'@GIT_COMMIT@': git_commit,
744747
'@GIT_DESCRIBE@': git_describe,
745748
'@GIT_BRANCH@': git_branch

website/api/duk_components_to_time.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ example: |
4242
4343
tags:
4444
- time
45-
- experimental
4645

4746
seealso:
4847
- duk_time_to_components

0 commit comments

Comments
 (0)