-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
179 lines (143 loc) · 6.37 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
4.2.2
- Fix a sanitizer error by avoiding a broken API on NodeJS (#152)
- You can override build flags by setting V8_PKG_LIBS / V8_PKG_CFLAGS
4.2.1
- Fix a feature test for NodeJS 18 (#145)
4.2.0
- Use CXX17 on supported platforms. C++17 is required as of libv8 10.2
4.1.0
- engine_info() now includes a 'numeric_version' field for easy comparison
- make js-to-r callback mechanism robust against -DRCPP_USE_UNWIND_PROTECT
4.0.0
- If a call to ct$eval(),ct$get(), or ct$call() returns a JavaScript promise,
you can set await = TRUE to wait for the promise to be resolved. It will
then return the result of the promise, or an error in case the promise is
rejected.
- New section about promises in the intro vignette.
- New function wasm_features() lists the supported WASM capabilities on the
current installation.
- Updated static libv8 for Mac and Linux to v8-v8-9.6.180.12
- Windows ucrt: update libv8 to 9.1.269.38
- Legacy libv8 versions (3.xx) are no longer supported. Package will still
build but the examples and vignette now assume support for promises.
- On Ubuntu, RHEL, and MacOS we now default to DOWNLOAD_STATIC_LIBV8=1 for
supported architectures (amd64 and arm64). If this fails it will fall back
on finding a local libv8. Opt-out by setting DISABLE_STATIC_LIBV8=1.
3.6.0
- Try to give better error message when unable to allocate, probably due to
hitting the stack limit. Previously we would see 'string conversion failed'
which was very confusing.
- The same stacklimit is now used across all platforms. Previously we would only
set it on Linux, but apparently it is also needed on Windows sometimes.
- Disable stacklimit when running in ASAN (which blows up the stack size)
- Make DOWNLOAD_STATIC_LIBV8 the default on RHEL/CentOS based distros because
these include a very old or no libv8.
- Check and warn against very old libv8 when attaching the package.
3.5.0
- On legacy systems which still have libv8 version 3.x we now try to download
a more recent static libv8. We plan to deprecate support for libv8 3.x, which
is now over 10 years old, and does not support ES6 (modern JavaScript).
3.4.2
- Add Windows binaries for ucrt targets
3.4.1
- Minor compatibility fixes by Jan Marvin for new versions of libv8.
3.4.0
- When setting envvar DOWNLOAD_STATIC_LIBV8=1 on Linux at build-time, the
configure script automatically downloads a static libv8, instead of looking
for libv8 on the system. This allows the package to be installed on distros
that do not have libv8, or ship with a very old V8.
- The above should work for all x86_64 Linux systems with at least gcc-4.8.5
and is enabled by default on Travis and Github Actions.
- Do not assume bash in configure script
3.3.1
- Fix a bug in the configure script
3.3.0
- Use CXX14 when available, required as of libv8 version 8.7.80
3.2.0
- Fix bug with pointer compression feature-test on Debian / Anaconda
- Linux: increase JS stack limit, because of problems with new libv8 on Fedora.
- Add FatalErrorHandler and MessageListener callbacks (that just print stuff)
- Fix UBSAN error during teardown (package unload)
3.1.0
- Fix configure script for pointer compression in upcoming V8 engine 8.4
- MacOS: binary packagess now ship with V8 engine 8.3
3.0.2
- Windows: fix text encoding bug introduced in 3.0 for non-ascii text.
- Fix unit test for big-endian systems
3.0.1
- Fix build for old versions of R using old compilers that do not default to C++11
3.0
- Internal rewrite of object serialization to prepare for wasm
- Automatically convert raw vectors to/from Uint8Array in eval/get/assign
- Experimental wasm API + test
- Fix callback API crashes in V8 7.9+ (Jan Marvin, #70, #71, #75)
- Build with -DV8_ENABLE_CHECKS to get better error messages
2.3
- Fix for removed API in libv8 version 7.7
2.2
- Fixes for API changes in libv8 version 7.4 and 7.5
- MacOS: fix include/linker path for new location of v8
2.1
- Remove special casing for libnode-dev on Debian: libnode-dev now
officially provides and symlinks libv8-dev.
- Fix build for new V8 7.3.492.22 (Jan Marvin, #55)
2.0
- Major upgrade: now support libv8 version 6.x and up. Note that this means
we move to ES2015+ adding support for promises, async, etc. This may change
the behavior of certain JavaScript libraries.
- For now we also still stupport building with legacy V8 (3.14)
- Debian Buster: support building with libnode-dev
- Fedora: support building with v8-devel (V8 6.7.17)
- MacOS: update binary package to V8 7.2.502.24
1.6 (unreleased)
- Let Rcpp generated R_init_V8()
- Add unit test for the exception problem on OSX 10.11
1.5
- Homebrew has moved V8 (again), now it's called [email protected]
1.4
- Fix autobrew for OSX Mavericks
1.3
- Extract autobrew script to separate repo
- Add symbol registration
1.2
- Improve configure script to check for the correct version of libv8
- Fedora 25+ requires v8-314-devel instead of v8-devel
1.1
- Use C++ 'new' and 'delete' instead of nodelist to keep contexts in scope
1.0.3
- Update homebrew URL in configure script
1.0.2
- Update URL of browserify logo
1.0.1
- Fix internal stop() function for new testthat
- ctx$eval(character(0)) does not raise error anymore
- Remove references to new_context() in favor of v8()
- Use the new 'COMPILED_BY' variable on windows
- Updated the URL to the V8 homepage in DESCRIPTION
1.0
- Remove UTF-8 workarounds now that Rcpp has proper UTF-8 support
0.10
- Add the console.r callback JavaScript api
0.9
- Fix for OSX cran builder
- Add 'v8' as a more descriptive alias for 'new_context'
- Update libv8 on Windows to 3.15
- Add support for the new windows tool chain
0.8
- Fix configure script for OSX
- Add 'v8' as a more descriptive alias for 'new_context'
- Update libv8 on Windows to 3.15
- Add support for the new windows tool chain
0.7
- Deprecated support for I() removed. Use JS() instead
- Refactored configure script to use pkg-config if available.
- Updated libv8 brew script on OSX to v8-3.15
- Update libv8 static builds on windows to v3.14.5.10
- Ship separate libraries for win32 for more recent compilers
0.6
- Breaking change: use JS() instead of I() to mark strings as literal JavaScript.
- ct$source() now always assumes UTF-8 data, even on Windows.
- Use the new V8_types.h feature from Rcpp 0.11.5
- Start with custom code completion within ct$console() for R 3.2.0
0.5
- Add support for Typed Arrays