-
Notifications
You must be signed in to change notification settings - Fork 93
/
CHANGELOG
277 lines (154 loc) · 7.68 KB
/
CHANGELOG
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
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
- 0.17.0.pre5 - 30-09-2024
- Handle segfault from JSON.stringify
- Fix segfaults around symbol conversion
- Fix crash on invalid date object
- 0.17.0.pre4 - 18-09-2024
- Attempt to change compilation flags to disable strict aliasing to see if it resolves stability issues
- 0.17.0.pre3 - 15-09-2024
- Text clang based Linux v8 build, in case there is an edge case with GCC compilation
- 0.17.0.pre2 - 09-09-2024
- Test build to see if disabling Maglev optimisations resolves segfault issues
- 0.17.0.pre - 05-09-2024
- Test build to see if disabling concurrent GC marking resolves segfault
- 0.16.0 - 05-09-2024
- Sadly still seeing segfaults, reverted back 18.19.0.0
- 0.15.0 - 05-09-2024
- Use libv8-node 22.7.0 - this corrects issues with multithreaded behavior and forking in single threaded mode.
- 0.14.1 - 14-08-2024
- No longer use mini_racer_loader if LD_PRELOAD is defined and adds a malloc provider. This resolves segfaults when people LD_PRELOAD jemalloc or tcmalloc.
- 0.14.0 - 06-08-2024
- Node 22.5.1.0 is not stable in production, reverting to last known good build
- 0.13.0 - 29-07-2024
- Target Node to 22.5.1.0 0 - corrects segfault in earlier release
- Remove Ruby 3.0 which is EOL (use ealier version of gem if needed)
- 0.9.0 - 25-03-2024
- Target Node to 18.19.0.0
- 0.8.0 - 29-05-2023
- Target Node to 18.16.0.0
- Drop supporting EOL'd Ruby 2.7
- 0.7.0 - 26-05-2023
- Target Node to 17.9.1.0
- 0.6.4 - 25-05-2022
- Target Node 16.19.0.0
- 0.6.3 - 16-08-2022
- Truffle ruby support! Thanks to Brandon Fish and the truffle team
- Hide libv8 symbols on ELF targets
- Slightly shrunk binary size
- Simplified timeout implementation
- Some stability fixes
- 17-01-2022 - 0.6.2
- Fix support for compilation on 2.6, llvm compiles
- Stability patches to handle rare memory leaks
- Corrected re-raising of exceptions to support strings
- During early termination of context under certain conditions MiniRacer could crash
- 0.6.1 - 31-12-2021
- Added support for single threaded platform: `MiniRacer::Platform.set_flags! :single_threaded`
must be called prior to booting ANY MiniRacer::Context
- 0.6.0 - 11-04-2021
- Ruby 3.1 support
- Fixes memory leak in heap snapshotting
- Improved compilation ergonomics in clang
- Migrated internal storage in c extension to TypedData
- 0.5.0
- Fixes issues on aarch (Apple M1)
- Update to use libv8-node 16.x (#210) [Loic Nageleisen]
- FEATURE: Configurable max marshal stack depth (#202) [seanmakesgames]
- Ruby 2.3 and 2.4 are EOL, we no longer support them
- 0.4.0 - 08-04-2021
- FEATURE: upgrade to libv8 node 15.14.0 (v8 8.6.395.17)
- Promote 0.4.0.beta1 to release, using libv8-node release path
- 0.4.0.beta1 - 23-07-2020
- FIX: on downgrade mkmf was picking the wrong version of libv8, this fix will correct future issues
- FEATURE: upgraded libv8 to use node libv8 build which supports M1 and various ARM builds v8 moved to (8.6.395.17)
- 0.3.1 - 22-07-2020
- FIX: specify that libv8 must be larger than 8.4.255 but smaller than 8.5, this avoids issues going forward
- 0.3.0 - 29-06-2020
- FEATURE: upgraded to libv8 version 8.4.255.0
- 0.2.15 - 15-05-2020
- FEATURE: basic wasm support via pump_message_loop
- 0.2.14 - 15-05-2020
- FIX: ensure_gc_after_idle should take in milliseconds like the rest of the APIs not seconds
- FEATURE: strict params on MiniRacer::Context.new
- 0.2.13 - 15-05-2020
- FIX: edge case around ensure_gc_after_idle possibly firing when context is not idle
- 0.2.12 - 14-05-2020
- FEATURE: isolate.low_memory_notification which can force a full GC
- FEATURE: MiniRacer::Context.new(ensure_gc_after_idle: 2) - to force full GC 2 seconds after context is idle, this allows you to conserve memory on isolates
- 0.2.11
- FIX: dumping heap snapshots was not flushing the file leading to corrupt snapshots
- FIX: a use-after-free shutdown crash
- 0.2.10 - 22-04-2020
- FEATURE: memory softlimit support for nogvl_context_call
- 0.2.9 - 09-01-2020
- FIX: correct segfault when JS returns a Symbol and properly cast to ruby symbol
- 0.2.8 - 11-11-2019
- FIX: ensure thread live cycle is properly accounter for following file descriptor fix
- 0.2.7 - 11-11-2019
- FIX: release the file descriptor for timeout pipe earlier (this avoids holding too many files open in Ruby 2.7)
- 0.2.6 - 14-05-2019
- FEATURE: add support for write_heap_snapshot which helps you analyze memory
- 0.2.5 - 25-04-2019
- FIX: Compatibility fixes for V8 7 and above @ignisf
- FIX: Memory leak in gc_callback @messense
- IMPROVEMENT: Added example of sourcemap support @ianks
- URGENT: you will need this release for latest version of libv8 to work
- 0.2.4 - 02-11-2018
- FIX: deadlock releasing context when shared isolates are used
- FEATURE: include js backtrace when snapshots do not compile
- 0.2.3 - 28-09-2018
- Drop all conditional logic from Mini Racer compilation for clang, always
rely on MacOS being High Sierra or up
- 0.2.2 - 26-09-2018
- WORKAROUND: RUBY_PLATFORM is hardcoded on Ruby compile and can not be
trusted for feature detection, use a different technique when checking for
macOS Mojave
- 0.2.1 - 25-09-2018
- FEATURE: Mojave macOS support
- 0.2.0 - 06-07-2018
- FEATURE: context#call to allow for cheaper invocation of functions
- FIX: rare memory leak when terminating a long running attached function
- FIX: rare segfault when terminating a long running attached function
- FIX: Reimplement Isolate#idle_notification using idle_notification_deadline, API remains the same @ignisf
- Account for changes in the upstream V8 API @ignisf
- Support for libv8 6.7
- 0.1.15 - 23-08-2017
- bump dependency of libv8 to 6.3
- 0.1.14 - 23-08-2017
- libv8 erroneously bumped to beta, reverted change
- 0.1.13 - 23-08-2017
- Fix: amend array buffer allocator to use v8 6.0 compatible allocator @ignisf
- 0.1.12 - 18-07-2017
- Feature: upgrade libv8 to 5.9
- Fix: warning when running with ruby warnings enabled (missed @disposed initialize)
- 0.1.11 - 18-07-2017
- Feature: upgrade libv8 to 5.7
- 0.1.10 - 13-07-2017
- Fix leak: memory leak when disposing a context (20 bytes per context)
- Feature: added #heap_stats so you can get visibility from context to actual memory usage of isolate
- Feature: added #dispose so you reclaim all v8 memory right away as opposed to waiting for GC
- Feature: you can now specify filename in an eval eg: eval('a = 1', filename: 'my_awesome.js')
- 0.1.9 - 09-03-2017
- Perf: speed up ruby/node boundary performance when moving large objects
- 0.1.8 - 06-02-2017
- Fix: Include math.h to fix use of undeclared identifier floor with rbx. See #51
- 0.1.7 - 02-11-2016
- Fix: if for some reason an isolate was forked don't free it and raise a warning instead to avoid hanging process
- 0.1.6 - 25-10-2016
- Fix: timeout behavior was incorrect, in some cases stop could be called on already stopped contexts
- 0.1.5 - 10-10-2016
- Support for snapshots, shared isolates, runtime flags thanks to @wk8
- Fix timeout behavior when it occurs in an attached Ruby method
- 0.1.4 - 19-05-2016
- Set upper bound for libv8 inclusion @ignisf
- Support conversion of Date, Time and DateTime from Ruby to JS @seanmakesgames
- Support conversion of large numbers back from Ruby to JS @seanmakesgames
- 0.1.3 - 17-05-2016
- Support more conversions from Ruby back to JS (Hash, Symbol, Array)
- Support attaching nested objects
- 0.1.2 - 17-05-2016
- Gemspec specifies minimal version of Ruby (2.0)
- Implement #load on Context to load files
- 0.1.1
- Added unblock function so SIGINT does not lead to a crash
- 0.1.1.beta.1 - 14-05-2016
- First release