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
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
|
This document describes changes between tagged Emscripten SDK versions.
Note that in the compiler, version numbering is used as the mechanism to invalidate internal compiler caches,
so version numbers do not necessarily reflect the amount of changes between versions.
To browse or download snapshots of old tagged versions, visit https://github.com/kripken/emscripten/releases .
Not all changes are documented here. In particular, new features, user-oriented fixes, options, command-line parameters, usage changes, deprecations, significant internal modifications and optimizations etc. generally deserve a mention. To examine the full set of changes between versions, visit the link to full changeset diff at the end of each section.
Current trunk code
------------------
- To see a list of commits in the active development branch 'incoming', which have not yet been packaged in a release, see
https://github.com/kripken/emscripten/compare/1.13.1...incoming
v1.13.1: 3/10/2014
------------------
- Disallow C implicit function declarations by making it an error instead of a warning by default. These will not work with Emscripten, due to strict Emscripten signature requirements when calling function pointers (#2175).
- Allow transitioning to full screen from SDL as a response to mouse press events.
- Fixed a bug in previous 1.13.0 release that broke fullscreen transitioning from working.
- Fixed emscripten/html5.h to be used in C source files.
- Fix an issue where extraneous system libraries would get included in the generated output (#2191).
- Added a new function emscripten_async_wget2_data() that allows reading from an XMLHTTPRequest directly into memory while supporting advanced features.
- Fixed esc key code in GLFW.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.13.0...1.13.1
v1.13.0: 3/3/2014
------------------
- Fixed the deprecated source mapping syntax warning.
- Fixed a buffer overflow issue in emscripten_get_callstack (#2171).
- Added support for -Os (optimize for size) and -Oz (aggressively optimize for size) arguments to emcc.
- Fixed a typo that broko the call signature of glCompressedTexSubImage2D() function (#2173).
- Added new browser fullscreen resize logic that always retains aspect ratio and adds support for IE11.
- Improve debug messaging with bad function pointer calls when -s ASSERTIONS=2 is set.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.12.3...1.13.0
v1.12.3: 2/27/2014
------------------
- Fixed alcOpenDevice on Safari.
- Improved the warning message on missing symbols to not show false positives (#2154).
- Improved EmscriptenFullscreenChangeEvent HTML5 API structure to return information about HTML element and screen sizes for convenience.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.12.2...1.12.3
v1.12.2: 2/25/2014
------------------
- Added better warning message if Emscripten, LLVM and Clang versions don't match.
- Introduced the asmjs-unknown-emscripten target triple that allows specializing LLVM codegen for Emscripten purposes.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.12.1...1.12.2
v1.12.1: 2/25/2014
------------------
- TURNED ON FASTCOMP BY DEFAULT. This means that you will need to migrate to fastcomp-clang build. Either use an Emscripten SDK distribution, or to build manually, see https://github.com/kripken/emscripten/wiki/LLVM-Backend for info.
- Migrate to requiring Clang 3.3 instead of Clang 3.2. The fastcomp-clang repository by Emscripten is based on Clang 3.3.
- Deprecated old Emscripten libgc implementation.
- asm.js will now be always enabled, even in -O0 builds in fastcomp.
- Remove support for -s RUNTIME_TYPE_INFO, which is unsupported in fastcomp.
- Added a new "powered by Emscripten" logo.
- Updated default shell.html graphical layout.
- Added new macro EM_ASM_, which allows sending values to JS without returning anything.
- Deprecated the jcache compiler option. It should not be needed anymore.
- Added support for fetching callstack column information in Firefox 30 in emscripten_get_callstack.
- Fix issues with missing exceptions-related symbols in fastcomp.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.12.0...1.12.1
v1.12.0: 2/22/2014
------------------
- Improved the runtime abort error message when calling an invalid function pointer if compiled with -s ASSERTIONS=1 and 2. This allows the developer to better deduce errors with bad function pointers or function pointers casted and invoked via a wrong signature.
- Added a new api function emscripten_set_main_loop_arg, which allows passing a userData pointer that will be carried via the function call, useful for object-oriented encapsulation purposes (#2114).
- Fixed CMake MinSizeRel configuration type to actually optimize for minimal size with -Os.
- Added support for GLES2 VAO extension OES_vertex_array_object for browsers that support it.
- Fix issues with emscripten/html5.f when compiled with the SAFE_HEAP option.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.11.1...1.12.0
v1.11.1: 2/19/2014
------------------
- Improved eglSwapBuffers to be spec-conformant.
- Fixed an issue with asm.js validation and va_args (#2120).
- Fixed asm.js validation issues found with fuzzing.
- Added new link-time compiler flag -s RETAIN_COMPILER_SETTINGS=1, which enables a runtime API for querying which Emscripten settings were used to compile the file.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.11.0...1.11.1
v1.11.0: 2/14/2014
------------------
- Implemented some new SDL library functions.
- Renamed standard file descriptors to have handles 0, 1 and 2 rather than 1, 2 and 3 to coincide with unix numbering.
- Improved embind support with smart pointers and mixins.
- Improved the registerization -O3 optimization pass around switch-case constructs.
- Upper-case files with suffix .C are now also recognized (#2109).
- Fixed an issue with glGetTexParameter (#2112).
- Improved exceptions support in fastcomp.
- Added new linker option -s NO_EXIT_RUNTIME=1, which can be used to set a default value for the Module["noExitRuntime"] parameter at compile-time.
- Improved SDL audio buffer queueing when the sample rate matches the native web audio graph sample rate.
- Added an optimization that removes redundant Math.frounds in -O3.
- Improved the default shell.html file.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.10.4...1.11.0
v1.10.4: 2/10/2014
------------------
- Added support for legacy GL emulation in fastcomp.
- Deprecated the --split-js compiler option. This is not supported in fastcomp.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.10.3...1.10.4
v1.10.3: 2/9/2014
------------------
- Work on supporting GL/EGL GetProcAddress.
- Fixed issues with shared lib linking support.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.10.2...1.10.3
v1.10.2: 2/7/2014
------------------
- Added basic FS unmount support.
- Improved screen orientation lock API to return a success code.
- Added PRECISE_F32 support to fastcomp.
- Fixed issues in fastcomp related to special floating point literal serialization.
- Improved SDL audio buffer queueing.
- Added new link-time option -s WARN_UNALIGNED=1 to fastcomp to report compiler warnings about generated unaligned memory accesses, which can hurt performance.
- Optimized libc strcmp and memcmp with the implementations from musl libc.
- Optimized libc memcpy and memset to back to native code for large buffer sizes.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.10.1...1.10.2
v1.10.1: 1/31/2014
------------------
- Improve srand() and rand() to be seedable and use a Linear Congruential Generator (LCG) for the rng generation for performance.
- Improved OpenAL library support.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.10.0...1.10.1
v1.10.0: 1/29/2014
------------------
- Improved C++ exception handling.
- Improved OpenAL library support.
- Fixed an issue where loading side modules could try to allocate from sealed heap (#2060).
- Fixed safe heap issues (2068).
- Added new EM_ASM variants that return a value but do not receive any inputs (#2070).
- Add support for simultaneously using setjmp and C++ exceptions in fastcomp.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.9.5...1.10.0
v1.9.5: 1/25/2014
------------------
- Added a spinner logo to default html shell.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.9.4...1.9.5
v1.9.4: 1/24/2014
------------------
- Add support for Ninja and Eclipse+Ninja builds with Emscripten+CMake.
- Fixed regressions with GL emulation.
- Added support for #if !X in .js library preprocessor.
- Make the syntax EM_ASM("code"); not silently fail. Note that the proper form is EM_ASM(code); without double-quotes.
- Optimize generated code size by minifying loop labels as well.
- Revised the -O3 optimization level to mean "safe, but very slow optimizations on top of -O2", instead of the old meaning "unsafe optimizations". Using -O3 will now only do safe optimizations, but can be very slow compared to -O2.
- Implemented a new registerization optimization pass that does extra variable elimination in -O3 and later to reduce the number of local variables in functions.
- Implemented a new emscripten/html5.h interface that exposes common HTML5 APIs directly to C code without having to handwrite JS wrappers.
- Improved error messages reported on user-written .js libraries containing syntax errors (#2033).
- Fixed glBufferData() function call signature with null data pointer.
- Added new option Module['filePackagePrefixURL'] that allows customizing the URL where the VFS package is loaded from.
- Implemented glGetTexEnviv and glGetTexEnvfv in GL emulation mode.
- Optimized the size of large memory initializer sections.
- Fixed issues with the safe heap compilation option.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.9.3...1.9.4
v1.9.3: 1/17/2014
------------------
- re-merge split blocks in multiples
- Full list of changes: https://github.com/kripken/emscripten/compare/1.9.2...1.9.3
v1.9.2: 1/16/2014
------------------
- Full list of changes: https://github.com/kripken/emscripten/compare/1.9.1...1.9.2
v1.9.1: 1/16/2014
------------------
- Optimize desktop GL fixed function pipeline emulation texture load instruction counts when GL_COMBINE is used.
- fix Math_floor coercion in unrecommended codegen modes
- Full list of changes: https://github.com/kripken/emscripten/compare/1.9.0...1.9.1
v1.9.0: 1/16/2014
------------------
- Full list of changes: https://github.com/kripken/emscripten/compare/1.8.14...1.9.0
v1.8.14: 1/15/2014
------------------
- add musl fputws and fix vswprintf.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.8.13...1.8.14
v1.8.13: 1/15/2014
------------------
- remove musl use of fwritex
- Full list of changes: https://github.com/kripken/emscripten/compare/1.8.12...1.8.13
v1.8.12: 1/15/2014
------------------
- Added new GLEW 1.10.0 emulation support.
- Fixed an issue where the runtime could start more than once when run in a browser (#1992)
- Fix a regression in wprintf.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.8.11...1.8.12
v1.8.11: 1/15/2014
------------------
- Full list of changes: https://github.com/kripken/emscripten/compare/1.8.10...1.8.11
v1.8.10: 1/14/2014
------------------
- Update libc implementation from musl libc.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.8.9...1.8.10
v1.8.9: 1/14/2014
------------------
- add fputwc, which enables wprintf.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.8.8...1.8.9
v1.8.8: 1/14/2014
------------------
- Update to latest libcxx and libcxxabi libraries.
- Fix handling of floating point negative zero (#1898)
- Fixed a memory leak in relooper in previous release.
- Fixed an issue in previous release with VBO handling in GL optimizations.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.8.7...1.8.8
v1.8.7: 1/13/2014
------------------
- Added support to numpad keycodes in glut support library.
- Fix SIMD support with fastcomp.
- Fixed a compiler error 'ran out of names' that could occur with too many minified symbol names.
- Work around webkit imul bug https://bugs.webkit.org/show_bug.cgi?id=126345 (#1991)
- Optimized desktop GL fixed function pipeline emulation path for better performance.
- Added support for exceptions when building with fastcomp.
- Fix and issue where the run() function could be called multiple times at startup (#1992)
- Removed a relooper limitation with fixed buffer size.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.8.6...1.8.7
v1.8.6: 1/8/2014
------------------
- Added support for the libuuid library, see http://linux.die.net/man/3/libuuid.
- Fixed .js file preprocessor to preprocess recursively (#1984).
- Fixed a compiler codegen issue related to overflow arithmetic (#1975)
- Added new link-time optimization flag -s AGGRESSIVE_VARIABLE_ELIMINATION=1 that enables the aggressiveVariableElimination js optimizer pass, which tries to remove temporary variables in generated JS code at the expense of code size.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.8.5...1.8.6
v1.8.5: 1/7/2014
------------------
- Fixed compiler issues when used with LLVM 3.4.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.8.4...1.8.5
v1.8.4: 1/6/2014
------------------
- Added support to Return and Backspace keys to glut
- Fixed compiler issues when used with LLVM 3.4.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.8.3...1.8.4
v1.8.3: 1/5/2014
------------------
- Improved SDL and page scroll pos handling support for IE10 and IE11.
- Optimized SDL_UnlockSurface performance.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.8.2...1.8.3
v1.8.2: 1/4/2014
------------------
- Fixed glGetFramebufferAttachmentParameteriv and an issue with glGetXXX when the returned value was null.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.8.1...1.8.2
v1.8.1: 1/3/2014
------------------
- Added support for WebGL hardware instancing extension.
- Improved fastcomp native LLVM backend support.
- Added support for #include filename.js to JS libraries.
- Deprecated --compression emcc command line parameter that manually compressed output JS files, due to performance issues. Instead, it is best to rely on the web server to serve compressed JS files.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.8.0...1.8.1
v1.8.0: 12/28/2013
------------------
- Fix two issues with function outliner and relooper.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.7.9...1.8.0
v1.7.9: 12/27/2013
------------------
- Added new command line parameter --em-config that allows specifying a custom location for the .emscripten configuration file.
- Reintroduced relaxed asm.js heap sizes, which no longer need to be power of 2, but a multiple of 16MB is sufficient.
- Added emrun command line tool that allows launching .html pages from command line on desktop and Android as if they were native applications. See https://groups.google.com/forum/#!topic/emscripten-discuss/t2juu3q1H8E . Adds --emrun compiler link flag.
- Began initial work on the "fastcomp" compiler toolchain, a rewrite of the previous JS LLVM AST parsing and codegen via a native LLVM backend.
- Added --exclude-file command line flag to emcc and a matching --exclude command line flag to file packager, which allows specifying files and directories that should be excluded while packaging a VFS data blob.
- Improved GLES2 and EGL support libraries to be more spec-conformant.
- Optimized legacy GL emulation code path. Added new GL_FFP_ONLY optimization path to fixed function pipeline emulation.
- Added new core functions emscripten_log() and emscripten_get_callstack() that allow printing out log messages with demangled and source-mapped callstack information.
- Improved BSD Sockets support. Implemented getprotobyname() for BSD Sockets library.
- Fixed issues with simd support.
- Various bugfixes: #1573, #1846, #1886, #1908, #1918, #1930, #1931, #1942, #1948, ..
- Full list of changes: https://github.com/kripken/emscripten/compare/1.7.8...1.7.9
v1.7.8: 11/19/2013
------------------
- Fixed an issue with -MMD compilation parameter.
- Added EM_ASM_INT() and EM_ASM_DOUBLE() macros. For more information, read https://groups.google.com/forum/#!topic/emscripten-discuss/BFGTJPCgO6Y .
- Fixed --split parameter to also work on Windows.
- Fixed issues with BSD sockets accept() call.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.7.7...1.7.8
v1.7.7: 11/16/2013
------------------
- Improve SDL audio buffer queue timing support.
- Improved default precision of clock_gettime even when not using CLOCK_REALTIME.
- Optimize and fix issues with LLVM IR processing.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.7.6...1.7.7
v1.7.6: 11/15/2013
------------------
- Added regex implementation from musl libc.
- The command line parameter -s DEAD_FUNCTIONS=[] can now be used to explicitly kill functions coming from built-in library_xx.js.
- Improved EGL support and GLES2 spec conformance.
- Reverted -s TOTAL_MEMORY=x to require pow2 values, instead of the relaxed 'multiples of 16MB'. This is because the relaxed rule is released only in Firefox 26 which which is currently in Beta and ships on the week of December 10th (currently in Beta). As of writing, current stable Firefox 25 does not yet support these.
- Adjusted the default linker behavior to warn about all missing symbols, instead of silently ignoring them. Use -s WARN_ON_UNDEFINED_SYMBOLS=0 to suppress these warnings if necessary.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.7.5...1.7.6
v1.7.5: 11/13/2013
------------------
- Fix issues with the built-in C++ function name demangler.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.7.4...1.7.5
v1.7.4: 11/12/2013
------------------
- Fixed issues with BSD sockets code and SDL joystick implementation.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.7.3...1.7.4
v1.7.3: 11/12/2013
------------------
- Added support for generating single-precision floating point instructions.
- For more information, read https://blog.mozilla.org/javascript/2013/11/07/efficient-float32-arithmetic-in-javascript/
- Made GLES2 support library more spec-conformant by throwing fewer exceptions on errors. Be sure to build with -s GL_ASSERTIONS=1, remember to use glGetError() and check the browser console to best detect WebGL rendering errors.
- Converted return value of emscripten_get_now() from float to double, to not lose precision in the function call.
- Added support for joysticks in SDL via the Gamepad API
- Full list of changes: https://github.com/kripken/emscripten/compare/1.7.2...1.7.3
v1.7.2: 11/9/2013
------------------
- The compiler now always generates a .js file that contains the generated source code even when compiling to a .html file.
- Read https://groups.google.com/forum/#!topic/emscripten-discuss/EuHMwqdSsEs
- Implemented depth+stencil buffer choosing behavior in GLUT, SDL and GLFW.
- Fixed memory leaks generated by glGetString and eglGetString.
- Greatly optimized startup times when virtual filesystems with a large amount of files in them.
- Added some support for SIMD generated by LLVM.
- Fixed some mappings with SDL keyboard codes.
- Added a new command line parameter --no-heap-copy to compiler and file packager that can be used to optimize VFS memory usage at startup.
- Updated libcxx to revision 194185, 2013-11-07.
- Improvements to various library support.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.7.1...1.7.2
v1.7.1: 10/24/2013
------------------
- Remove old call to Runtime.warn in file packager code
- Fix bug with parsing of empty types.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.7.0...1.7.1
v1.7.0: 10/23/2013
------------------
- Adds mouse wheel events support in GLUT library.
- Adds support for a new link parameter -s CASE_INSENSITIVE_VFS=1 to enable Emscripten virtual filesystem to search files ignoring case.
- *Numerous* optimizations in both compilation and runtime stages.
- Remove unnecessary whitespace, compact postSets function, and other optimizations in compilation output to save on generated file size.
- Fixes float parsing from negative zero.
- Removes the -s EMIT_GENERATED_FUNCTIONS link parameter as unneeded.
- Fixes an issue where updating subranges of GL uniform arrays was not possible.
- asm.js heap size (-s TOTAL_MEMORY=x) no longer needs to be a power of 2. As a relaxed rule, choosing any multiple of 16MB is now possible.
- O1 optimization no longer runs the 'simplifyExpressions' optimization pass. This is to improve build iteration times when using -O1. Use -O2 to run that pass.
- EM_ASM() can now be used even when compiling to asm.js.
- All currently specified non-debugging-related WebGL 1 extensions are now enabled by default on startup, no need to ctx.getExtension() manually to enable them.
- Improve readability of uncaught JavaScript exceptions that are thrown all the way up to the web console by printing out the stack trace of where the throw occurred.
- Fix an issue when renaming a directory to a subdirectory.
- Several compiler stability fixes.
- Adds a JavaScript implementation of cxa_demangle function for demangling call stack traces at runtime for easier debugging.
- GL context MSAA antialising is now DISABLED by default, to make the GL behavior consistent with desktop usage.
- Added support to SDL, GLUT and GLFW libraries to specify MSAA on/off at startup.
- Implemented glColor4ubv in GL emulation mode.
- Fix an issue with LLVM keyword __attribute__ ((__constructor__)) (#1155).
- Fix an issue with va_args and -s UNALIGNED_MEMORY=1 (#1705).
- Add initial support code for LLVM SIMD constructs and a JavaScript SIMD polyfill implementation from https://github.com/johnmccutchan/ecmascript_simd/ .
- Fixed support for node.js native filesystem API NODEFS on Windows.
- Optimize application startup times of Emscripten-compiled programs by enabling the virtual filesystem XHR and asm.js compilation to proceed in parallel when opening a page.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.6.4...1.7.0
v1.6.4: 9/30/2013
------------------
- Implements a new preprocessor tool for preparsing C struct definitions (#1554), useful for Emscripten support library implementors.
- Fix parsing issue with sscanf (#1668).
- Improved the responsiveness of compiler print output on Windows.
- Improved compilation times at link stage.
- Added support for new "NODEFS" filesystem that directly accesses files on the native filesystem. Only usable with node.js when compiling to JS.
- Added support for new IDBFS filesystem for accessing files in IndexedDB storage (#1601.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.6.3...1.6.4
v1.6.3: 9/26/2013
------------------
- Emscripten CMake toolchain now generates archive files with .a suffix when project target type is static library, instead of generatic .bc files (#1648).
- Adds iconv library from the musl project to implement wide functions in C library (#1670).
- Full list of changes: https://github.com/kripken/emscripten/compare/1.6.2...1.6.3
v1.6.2: 9/25/2013
------------------
- Added support for dprintf() function (#1250).
- Fixes several compiler stability issues (#1637, #1166, #1661, #1651 and more).
- Enables support for WEBGL_depth_texture.
- Adds support for new link flag -s GL_ASSERTIONS=1 which can be used to add extra validation layer to the Emscripten GL library to catch code issues.
- Adds support to Web Audio API in SDL audio backend so that SDL audio now works in Chrome and new Opera as well.
- Fixes an alpha blending issue with SDL_SetAlpha.
- Implemented locale-related code in C library.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.6.1...1.6.2
v1.6.1: 9/22/2013
------------------
- Several optimizations to compiler link stage.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.6.0...1.6.1
v1.6.0: 9/21/2013
------------------
- Enable support for %[] pattern in scanf.
- Added dependency tracking support to linked .js files in CMake toolchain.
- The hex prefix 0x is now properly handled in sscanf (#1632).
- Simplify internal compiler operations by removing the internal framework.js.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.5.9...1.6.0
v1.5.9: 9/15/2013
------------------
- Add support for SDL_Delay in web workers.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.5.8...1.5.9
v1.5.8: 9/14/2013
------------------
- Add support for the GCC -E compiler flag.
- Update Emscripten libc headers to musl-0.9.13.
- Added new utility function emscripten_async_load_script() to asynchronously load a new .js script URL.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.5.7...1.5.8
v1.5.7: 8/30/2013
------------------
- The script tag in default shell.html is now marked 'async', which enables loading the JS script code asynchronously in Firefox without making the main thread unresponsive.
- Implemented new utility function emscripten_get_canvas_size() which returns the current Module <canvas> element size in pixels.
- Optimize code size in compiled side modules.
- Optimize startup memory usage by avoiding unnecessary copying of VFS data at startup.
- Add support for SDL_WM_ToggleFullScreen().
- Add support for emscripten_get_now() when running in SpiderMonkey shell.
- Added new environment variable EM_BUILD_VERBOSE=0,1,2,3 to set an extra compiler output verbosity level for debugging.
- Added better support for dlopen() to simulate dynamic library loading in JavaScript.
- Improved support for BSD sockets and networking.
- Added new SOCKFS filesystem, which reads files via a network connection.
- Avoid issues with long command line limitations in CMake toolchain by using response files.
- Fix issues with client-side vertex data rendering in GL emulation mode.
- Improved precision of clock_gettime().
- Improve function outlining support.
- Added support for using NMake generator with CMake toolchain.
- Improved support for flexible arrays in structs (#1602).
- Added ability to marshal UTF16 and UTF32 strings between C++ <-> JS code.
- Added a new commandline tool validate_asms.py to help automating asm.js validation testing.
- Improved stability with inline asm() syntax.
- Updated libc headers to new version.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.5.6...1.5.7
v1.5.6: 8/17/2013
------------------
- Improved BSD sockets support.
- Added touch events support to GLUT library.
- Added new --js-opts=0/1 command line option to control whether JS optimizer is run or not.
- Improved OpenAL support.
- Added new command line tool tools/find_bigvars.py which can be used on a output file to detect large functions and needs for outlining.
- Merged link flags -s FORCE_GL_EMULATION and -s DISABLE_GL_EMULATION to a single opt-in flag -s LEGACY_GL_EMULATION=0/1 to control whether GL emulation is active.
- Improved SDL input support.
- Several stability-related compiler fixes.
- Fixed source mapping generation support on Windows.
- Added back the EMSCRIPTEN_KEEPALIVE attribute qualifier to help prevent inlining and to retain symbols in output without dead code elimination occurring.
- Fix issues when marshalling UTF8 strings between C<->JS.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.5.5...1.5.6
v1.5.5: 8/9/2013
------------------
- Update libcxx to revision 187959, 2013-08-08.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.5.4...1.5.5
v1.5.4: 8/9/2013
------------------
- Fixed multiple issues with C stdlib support.
- Fix audio buffer queueing issues with OpenAL.
- Improved BSD sockets support.
- Added a new compile+link time command line option -Wno-warn-absolute-paths to hide the emscripten compiler warning when absolute paths are passed into the compiler.
- Added new link flag -s STB_IMAGE=0/1 and integrate it to SDL image loading to enable synchronous image loading support with SDL.
- Several improvements on function outlining support.
- Fix issues with GLES2 interop support.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.5.3...1.5.4
v1.5.3: 6/28/2013
------------------
- Added new optimization level --llvm-lto 3 to run even more aggressive LTO optimizations.
- Improve optimizations for libc and other libraries.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.5.2...1.5.3
v1.5.2: 6/27/2013
------------------
- Added support for generating source maps along the built application when -g is specified. This lets the browser show original .cpp sources when debugging.
- GLUT and SDL improvements.
- Added new link option -g<level> where level=0-4, which allows controlling various levels of debuggability added to the output.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.5.1...1.5.2
v1.5.1: 6/22/2013
------------------
- File packager now skips all directories and files starting with '.', and hidden files on Windows.
- Fix issues with strnlen, memmove, LDBL_ constants, va_args, float.h, and others.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.5.0...1.5.1
v1.5.0: 6/17/2013
------------------
- Several compiler optimizations.
- Improve SDL key events support.
- Increase debug logging when specifying emcc -v.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.4.9...1.5.0
v1.4.9: 6/8/2013
------------------
- Several compiler optimizations.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.4.8...1.4.9
v1.4.8: 6/6/2013
------------------
- Add support for webrtc-based sockets.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.4.7...1.4.8
v1.4.7: 6/2/2013
------------------
- Remove more unneeded break and continue statements in relooper.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.4.6...1.4.7
v1.4.6: 6/2/2013
------------------
- Improve relooper code.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.4.5...1.4.6
v1.4.5: 6/1/2013
------------------
- Improve relooper code.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.4.4...1.4.5
v1.4.4: 6/1/2013
------------------
- Add support for symlinks in source files.
- Fix various issues with SDL.
- Added -s FORCE_ALIGNED_MEMORY=0/1 link time flag to control whether all loads and stores are assumed to be aligned.
- Fix file packager to work with closure.
- Major improvements to embind support, and optimizations.
- Improve GL emulation.
- Optimize VFS usage.
- Allow emscripten to compile .m and .mm files.
- Added new syntax --preload-file src@dst to file packager command line to allow placing source files to custom destinations in the FS.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.4.3...1.4.4
v1.4.3: 5/8/2013
------------------
- Fix issue with strcat.
- Major embind improvements.
- Switch to le32-unknown-nacl LLVM target triple as default build option instead of the old i386-pc-linux-gnu target triple.
- Improve compiler logging behavior.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.4.2...1.4.3
v1.4.2: 5/3/2013
------------------
- Fix issues with le32-unknown-nacl LLVM target triple.
- Add some GLEW support.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.4.1...1.4.2
v1.4.1: 4/28/2013
------------------
- Implement support for le32-unknown-nacl LLVM target triple.
- Added new cmdline option -s ERROR_ON_UNDEFINED_SYMBOLS=0/1 to give compile-time error on undefined symbols at link time. Default off.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.3.8...1.4.1
v1.3.8: 4/29/2013
------------------
- Improved 64-bit integer ops codegen.
- Added Indexed DB support to vfs.
- Improve warning message on dangerous function pointer casts when compiling in asm.js mode.
- Added --use-preload-cache command line option to emcc, to be used with the file packager.
- Fixes to libcextra.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.3.7...1.3.8
v1.3.7: 4/24/2013
------------------
- Merge IMVU implementation of embind to emscripten trunk. Embind allows high-level C++ <-> JS types interop.
- Enable asm.js compilation in -O1 and higher by default. Fix issues when compiling to asm.js.
- Improve libc support with Emscripten with the musl libc headers.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.3.6...1.3.7
v1.3.6: 4/2/2013
------------------
- Fix hang issue with strtof.
- Update libcxx to upstream r178253 from March 29, 2013.
- Fix issues with GL emulation.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.3.5...1.3.6
v1.3.5: 3/25/2013
------------------
- Get exceptions working as they did before.
- Remove symbol removing hack.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.3.4...1.3.5
v1.3.4: 3/24/2013
------------------
- Update to new libcxx and libcxxabi versions from upstream.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.3.3...1.3.4
v1.3.3: 3/23/2013
------------------
- Remove unneeded check from relooper.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.3.2...1.3.3
v1.3.2: 3/22/2013
------------------
- Fix issues with fgets.
- Add support for non-fullscreen pointer lock.
- Improve OpenAL support.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.3.1...1.3.2
v1.3.1: 3/19/2013
------------------
- Improve SDL audio and mixer support.
- Add GLES2 emulation features when -s FULL_ES2=1 is specified.
- Add support for OpenAL.
- Add new -s OPENAL_DEBUG=0/1 link command line option.
- Fixed an issue with mouse coordinate being offset with canvas.
- Removed -s UTF_STRING_SUPPORT=0 parameter, this is now always on.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.3.0...1.3.1
v1.3.0: 3/11/2013
------------------
- Improve GLES2 emulation with -s FULL_ES2=1.
- Deprecated -s USE_TYPED_ARRAYS=1 and -s QUANTUM_SIZE=1.
- Implement a minifier infrastructure when compiling for asm.js.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.2.9...1.3.0
v1.2.9: 3/7/2013
------------------
- Improved canvas behavior when transitioning between fullscreen.
- Added support for getopt().
- Fixed several libc issues.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.2.8...1.2.9
v1.2.8: 3/6/2013
------------------
- Remove unnecessary recursion in relooper RemoveUnneededFlows.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.2.7...1.2.8
v1.2.7: 3/6/2013
------------------
- Added SDL_Mixer support.
- Implemented stubs for several Unix and threading-related functions.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.2.6...1.2.7
v1.2.6: 3/5/2013
------------------
- Relooper updates.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.2.5...1.2.6
v1.2.5: 3/5/2013
------------------
- Greatly improve GL emulation support.
- Handle %c in sscanf.
- Improve compilation times by optimizing parallel execution in the linker.
- Improve several compiler stability issues detected from fuzzing tests.
- Implemented emscripten_jcache_printf.
- Allow running emscripten.py outside emcc itself.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.2.4...1.2.5
v1.2.4: 2/2/2013
------------------
- Work on adding support for asm.js compilation.
- Improve EGL support.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.2.3...1.2.4
v1.2.3: 1/9/2013
------------------
- Work on adding support for asm.js compilation.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.2.2...1.2.3
v1.2.2: 1/8/2013
------------------
- Work on adding support for asm.js compilation.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.2.1...1.2.2
v1.2.1: 1/8/2013
------------------
- Improvements to GLUT, SDL and BSD sockets headers.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.2.0...1.2.1
v1.2.0: 1/1/2013
------------------
- Work on adding support for asm.js compilation.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.1.0...1.2.0
v1.1.0: 12/12/2012
------------------
- Fix several issues with Windows support.
- Added a standalone toolchain for CMake.
- Added emscripten_run_script_string().
- Optimize compilation times via threading.
- Update to requiring Clang 3.2. Older versions may no longer work.
- Several improvements to emscripten library support headers.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.0.1a...1.1.0
v1.0.1a: 11/11/2012
------------------
- Add relooper code to repository.
- Full list of changes: https://github.com/kripken/emscripten/compare/1.0.1...1.0.1a
v1.0.1: 11/11/2012
------------------
- First commit that introduced versioning to the Emscripten compiler.
|