forked from emscripten-core/emscripten
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
927 lines (817 loc) · 51.2 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
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
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
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
- Emscripten: https://github.com/kripken/emscripten/compare/1.20.0...incoming
- Emscripten-LLVM: https://github.com/kripken/emscripten-fastcomp/compare/1.20.0...incoming
- Emscripten-Clang: https://github.com/kripken/emscripten-fastcomp-clang/compare/1.20.0...incoming
v1.20.0: 6/13/2014
------------------
- Optimize in-memory virtual filesystem performance when serialized to an IndexedDB.
- Fixed memcpy regression with ta0 and ta1 modes.
- Fixed an issue with line numbers being messed up when generating source maps (#2410)
- Fixed an ffdb logging bug that could cause it to drop messages if they were being received too fast. Added support getting memory and system descriptions with ffdb.
- Added a new extension to SDL "emscripten_SDL_SetEventHandler()" which enabled application to perform SDL event handling inside a JS event handler to overcome browser security restrictions. (#2417)
- Full list of changes:
- Emscripten: https://github.com/kripken/emscripten/compare/1.19.2...1.20.0
- Emscripten-LLVM: no changes.
- Emscripten-Clang: no changes.
v1.19.2: 6/9/2014
------------------
- Updated CMake support for response file handling.
- Fixed issues with glfwGetProcAddress and glfwSetWindowSizeCallback.
- Fixed an issue with regexes that caused issues on IE11 runtime (#2400)
- Added a new functions emscripten_get_preloaded_image_data() and emscripten_get_preloaded_image_data_from_FILE() to obtain pixel data of preloaded images.
- Greatly improved ffdb capabilities to operate a FFOS device.
- Fixed a Windows-specific bug where the user temp directory was littered with temporary .rsp files that did not get cleaned up.
- Improved SIMD support.
- Full list of changes:
- Emscripten: https://github.com/kripken/emscripten/compare/1.19.1...1.19.2
- Emscripten-LLVM: https://github.com/kripken/emscripten-fastcomp/compare/1.19.1...1.19.2
- Emscripten-Clang: no changes.
v1.19.1: 6/3/2014
------------------
- Migrate to using musl sscanf and sprintf and the family that writes to memory, and not directly to the filesystem.
- Improve the error messages from -s SAFE_HEAP_ACCESS=1 runtime checks.
- Added new linker flag -s NO_DYNAMIC_EXECUTION=1 which removes the use of eval() and new Function() in the generated output. For more information, see "Eval and related functions are disabled" in https://developer.chrome.com/extensions/contentSecurityPolicy .
- Fixed a compiler issue when very large double constants are present. (#2392)
- Full list of changes:
- Emscripten: https://github.com/kripken/emscripten/compare/1.19.0...1.19.1
- Emscripten-LLVM: no changes.
- Emscripten-Clang: no changes.
v1.19.0: 5/29/2014
------------------
- Added an error message to signal that linkable modules are not supported in fastcomp.
- Fixed a miscompilation issue that resulted in an error "SyntaxError: invalid increment operand" and a statement +(+0) being generated (#2314)
- Make optimized compiler output smaller by running the shell code through uglify when not using closure.
- Fixed a crash in SDL audio loading code introduced in v1.18.3
- Fixed an issue where glTex(Sub)Image2D might throw an exception on error, instead of setting glGetError().
- Added new typedefs emscripten_align1_short, emscripten_align{1/2}_int, emscripten_align{1/2}_float and emscripten_align{1/2/4}_double to ease signaling the compiler that unaligned data is present. (#2378)
- Fixed an embind issue with refcount tracking on smart pointers.
- Full list of changes:
- Emscripten: https://github.com/kripken/emscripten/compare/1.18.4...1.19.0
- Emscripten-LLVM: https://github.com/kripken/emscripten-fastcomp/compare/1.18.4...1.19.0
- Emscripten-Clang: no changes.
v1.18.4: 5/27/2014
------------------
- Fixed error message on unsupported linking options (#2365)
- Updated embind to latest version from IMVU upstream.
- Fixed an issue where source maps did not load properly in Firefox.
- Added a more descriptive error message to fastcomp when MAX_SETJMPS limit is violated. (#2379)
- Full list of changes:
- Emscripten: https://github.com/kripken/emscripten/compare/1.18.3...1.18.4
- Emscripten-LLVM: https://github.com/kripken/emscripten-fastcomp/compare/1.18.3...1.18.4
- Emscripten-Clang: no changes.
v1.18.3: 5/21/2014
------------------
- Added support to emcc command line for "archive groups": -Wl,--start-group and -Wl,--end-group
- Greatly optimized ccall and cwrap implementations.
- Added new support for SDL_Mix backend to use WebAudio to play back audio clips.
- Fixed a registerizeHarder issue with elimination of conditional expressions.
- Migrated single-character standard C functions (islower, tolower, and the family) to use musl implementations.
- Updated relooper to not optimize out breaks if it causes excessive nesting.
- Full list of changes:
- Emscripten: https://github.com/kripken/emscripten/compare/1.18.2...1.18.3
- Emscripten-LLVM: https://github.com/kripken/emscripten-fastcomp/compare/1.18.2...1.18.3
- Emscripten-Clang: no changes.
v1.18.2: 5/19/2014
------------------
- Fixed a problem which blocked user applications from handling WebGL context loss events themselves.
- Added a new HTML5 api function emscripten_is_webgl_context_lost() which allows polling for context loss in addition to receiving events.
- Improved async wget progress events to work better across browsers.
- Improved WebIDL binder support.
- Added new typeof() function to emscripten::val.
- Added support for SDL window events SDL_WINDOWEVENT_FOCUS_GAINED, SDL_WINDOWEVENT_FOCUS_LOST, SDL_WINDOWEVENT_SHOWN, SDL_WINDOWEVENT_HIDDEN.
- Fixed a compiler miscompilation on unsigned i1 bitcasts (#2350)
- Fixed a compiler bug where doubles in varargs might not get 8-byte aligned (#2358)
- Full list of changes:
- Emscripten: https://github.com/kripken/emscripten/compare/1.18.1...1.18.2
- Emscripten-LLVM: https://github.com/kripken/emscripten-fastcomp/compare/1.18.1...1.18.2
- Emscripten-Clang: no changes.
v1.18.1: 5/12/2014
------------------
- Fixed an issue where the mouse wheel scroll did not work with SDL.
- Fixed an issue with emscripten_async_wget, which undesirably expected that the string pointer passed to it stayed alive for the duration of the operation (#2349)
- Emscripten now issues a warning message when the EXPORTED_FUNCTIONS list contains invalid symbol names (#2338)
- Full list of changes:
- Emscripten: https://github.com/kripken/emscripten/compare/1.18.0...1.18.1
- Emscripten-LLVM: no changes.
- Emscripten-Clang: no changes.
v1.18.0: 5/10/2014
------------------
- Enable support for low-level C<->JS interop to marshall 64 bit integers from C to JS.
- Fixed an issue that caused some programs to immediately run out of memory "(cannot enlarge memory arrays)" at startup. (#2334)
- Fixed a crash issue with generated touch events that didn't correspond to a real touch.
- Full list of changes:
- Emscripten: https://github.com/kripken/emscripten/compare/1.17.0...1.18.0
- Emscripten-LLVM: https://github.com/kripken/emscripten-fastcomp/compare/1.17.0...1.18.0
- Emscripten-Clang: no changes.
v1.17.0: 5/6/2014
------------------
- Enabled asm.js compilation and -s PRECISE_F32 support when using embind.
- Improved relooper to emit switches in many-entried blocks.
- Fixed a GLFW bug where mouse wheel direction was reversed.
- Fixed glfwGetKey to work even when no callback is registered with glfwGetKeyCallback (#1320)
- Added a new tool 'webidl_binder' that generates C <-> JS interop code from WebIDL descriptions.
- Fix emscripten compilation to work on pages that don't contain a HTML canvas.
- Added a new error message to default shell when an uncaught exception is thrown.
- Improved error diagnostics reported by -s SAFE_HEAP=1.
- Added support for registering callbacks hook to VFS file open, write, move, close and delete.
- Added embind support to std::basic_string<unsigned char>
- By default, the C runtime will no longer exit after returning from main() when safeSetTimeout() or safeSetInterval() is used.
- Fixed an issue with sscanf formatting (#2322)
- Fixed an issue where precompiled headers were given a wrong output filename (#2320)
- Enabled registerizeHarder optimization pass to work when outlining is enabled.
- Fixed an issue with strptime month handling (#2324)
- Added an initial implementation of a new tool 'ffdb' which can be used to operate a Firefox OS phone from the command line.
- Fixed a compiler crash on assertion failure '!contains(BranchesOut, Target)' (emscripten-fastcomp #32)
- Added a new ABI to Clang that targets Emscripten specifically. Stop aligning member functions to save some space in the function table array.
- Full list of changes:
- Emscripten: https://github.com/kripken/emscripten/compare/1.16.0...1.17.0
- Emscripten-LLVM: https://github.com/kripken/emscripten-fastcomp/compare/1.16.0...1.17.0
- Emscripten-Clang: https://github.com/kripken/emscripten-fastcomp-clang/compare/1.16.0...1.17.0
v1.16.0: 4/16/2014
------------------
- Removed browser warnings message in VFS library about replacing __proto__ performance issue.
- Full list of changes:
- Emscripten: https://github.com/kripken/emscripten/compare/1.15.1...1.16.0
- Emscripten-LLVM: no changes.
- Emscripten-Clang: https://github.com/kripken/emscripten-fastcomp-clang/compare/1.15.1...1.16.0
v1.15.1: 4/15/2014
------------------
- Added support for SDL2 touch api.
- Added new user-controllable emdind-related define #define EMSCRIPTEN_HAS_UNBOUND_TYPE_NAMES, which allows optimizing embind for minimal size when std::type_info is not needed.
- Fixed issues with CMake support where CMAKE_AR and CMAKE_RANLIB were not accessible from CMakeLists.txt files.
- Full list of changes:
- Emscripten: https://github.com/kripken/emscripten/compare/1.15.0...1.15.1
- Emscripten-LLVM: no changes.
- Emscripten-Clang: no changes.
v1.15.0: 4/11/2014
------------------
- Fix outlining feature for functions that return a double (#2278)
- Added support for C++11 atomic constructs (#2273)
- Adjusted stdout and stderr stream behavior in the default shell.html to always print out to both web page text log box, and the browser console.
- Fixed an issue with loop variable optimization.
- Full list of changes:
- Emscripten: https://github.com/kripken/emscripten/compare/1.14.1...1.15.0
- Emscripten-LLVM: https://github.com/kripken/emscripten-fastcomp/compare/1.14.1...1.15.0
- Emscripten-Clang: https://github.com/kripken/emscripten-fastcomp-clang/compare/1.14.1...1.15.0
v1.14.1: 4/8/2014
------------------
- Added new command line utility 'emcmake', which can be used to call emconfigure for cmake.
- Added a new emcc command line parameter '--valid-abspath', which allows selectively suppressing warning messages that occur when using absolute path names in include and link directories.
- Added a new emcc linker command line parameter '--emit-symbol-map', which will save a map file between minified global names and the original function names.
- Fixed an issue with --default-object-ext not always working properly.
- Added optimizations to eliminate redundant loop variables and redundant self-assignments.
- Migrated several libc functions to use compiled code from musl instead of handwritten JS implementations.
- Improved embind support.
- Renamed the EM_ASM_() macro to the form EM_ASM_ARGS().
- Fixed mouse button ordering issue in glfw.
- Fixed an issue when creating a path name that ends in a slash (#2258, #2263)
- Full list of changes:
- Emscripten: https://github.com/kripken/emscripten/compare/1.14.0...1.14.1
- Emscripten-LLVM: https://github.com/kripken/emscripten-fastcomp/compare/1.14.0...1.14.1
- Emscripten-Clang: no changes.
v1.14.0: 3/25/2014
------------------
- Added new emcc linker command line option '-profiling', which defaults JS code generation options suited for benchmarking and profiling purposes.
- Implemented the EGL function eglWaitGL().
- Fixed an issue with the HTML5 API that caused the HTML5 event listener unregistration to fail.
- Fixed issues with numpad keys in SDL support library.
- Added a new JS optimizer pass 'simplifyIfs', which is run when -s SIMPLIFY_IFS=1 link flag is set and -g is not specified. This pass merges multiple nested if()s together into single comparisons, where possible.
- Removed false positive messages on missing internal "emscripten_xxx" symbols at link stage.
- Updated to latest relooper version.
- Full list of changes:
- Emscripten: https://github.com/kripken/emscripten/compare/1.13.2...1.14.0
- Emscripten-LLVM: https://github.com/kripken/emscripten-fastcomp/compare/1.13.2...1.14.0
- Emscripten-Clang: no changes.
v1.13.2: 3/15/2014
------------------
- Fixed issues with SDL audio on Safari.
- Fixed issues with HTML5 API mouse scroll events on Safari.
- Fixed issues with HTML5 fullscreen requests in IE11.
- Enabled support for emscripten_get_callstack on IE10+.
- Fixed issues with Closure symbol minification.
- Further improved em_asm()-related error messages.
- Updated to latest relooper version.
- Full list of changes:
- Emscripten: https://github.com/kripken/emscripten/compare/1.13.1...1.13.2
- Emscripten-LLVM: https://github.com/kripken/emscripten-fastcomp/compare/1.13.1...1.13.2
- Emscripten-Clang: no changes.
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.
- Added new emscripten_debugger() intrinsic function, which calls into JS "debugger;" statement to break into a JS debugger.
- Fixed varargs function call alignment of doubles to 8 bytes.
- Switched to using default function local stack alignment to 16 bytes to be SIMD-friendly.
- Improved error messages when user code has a syntax error in em_asm() statements.
- Switched to using a new custom LLVM datalayout format for Emscripten. See https://github.com/kripken/emscripten-fastcomp/commit/65405351ba0b32a8658c65940e0b65ceb2601ad4
- Optimized function local stack space to use fewer temporary JS variables.
- Full list of changes:
- Emscripten: https://github.com/kripken/emscripten/compare/1.13.0...1.13.1
- Emscripten-LLVM: https://github.com/kripken/emscripten-fastcomp/compare/1.13.0...1.13.1
- Emscripten-Clang: https://github.com/kripken/emscripten-fastcomp-clang/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.