forked from facebook/hhvm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
1754 lines (1705 loc) · 81.4 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
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
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
"Lukather" 18-Jun-2015
- Check that the right operand of instanceof is not an enum
- Allow inlining static builtin methods
- Fix hhbbc not emitting RATs for public static properties.
- Fix overflow in array_slice
- Better error message for double quotes used in shape field names
- infer return type of floor/ceil
- Do not translate functions from units marked as interpret-only.
- Eliminate ldimm saveflags operand
- Allow folding the ideomatic hack callable wrappers
- Optimize NativeImpl
- Modify ReleaseVVOrExit to deal with VarEnvs
- Allow inlined 86ctors
- Fix folly build with Clang
- Re-fix region-prune-arcs assertion
- [mac] Fix crash compiling crc32 with Mac clang
- [mac] Use -force_load, not -all_load
- Don't constrain key or value for SetWithRefElem
- Remove IRBuilder::prepareForNextHHBC---just use exceptionStackBoundary
- Use HHBBC types to avoid generic IncRefs in Await translations
- Don't check for failed waithandles until after it wasn't finished
- Small tweaks to load-elim and store-elim tracing
- Support gvn for CountArrayFast
- Hoist fallbackccs above spills
- Variadic fixes for FCallBuiltin
- Proof of concept implementation of a "dump static strings to file" admin endpoint
- Sink VregKind and Bits into xls
- Specialize IncDecProp on integer object properties.
- Make collection initialization/destruction fast
- MixedArray data encoding microoptimization
- Micro-optimize json_encode
- Build HHVM with clang 3.6
- Fix deploy-to-tier under hg
- Optimized FCallBuiltin for max with 2 operands
- Add TargetProfile for Classes
- rds size logging tweaks
- Get rid of last frame creation site in MethodCache::handleSlowPath
- Lower hot Switch bytecodes into a series of comparisons
- typecheck for shape field names that start with numbers/are empty
- Remove typehint from Serializable::unserialize
- Switch the fatal error when compiling with MSVC to a warning.
- Better hhbbc types for SetOpElem, IncDecElem, and IncDecProp.
- Avoid __cxa_guard_acquire() in classof()
- Fix a bug in regionizeFunc causing some arcs to not be marked as covered
- Outline generic Inc/DecRefs that didn't see refcounted values during profiling
- use HNI return types in FCallBuiltin
- Make hh_server init message not linewrap on 80-column terminals
- Allow unset on array index expressions
- Add some precise_unions in memory-effects.cpp
- Move toplevel Vgen::emit() in vasm-x64.cpp
- Add HHI for Password
- Minor drive-by Func cleanup
- Fix bug when we run check type hoisting
- Get rid of local variable number in error message
- Deconflate preconditions and predictions
- Add HHVM README.md section on reporting security issues
- Fix memory leak in vasm-xls
- Revert D2067091 - "Don't ignore I<A> when declaring "extends I<A>, I<B>""
- Leave the TC an x64 ret when returning control from a resumed async function
- Remove exit placeholders before store/load elim and other passes
- Fix a bug in expand() for stack AliasClasses unioned with non-stack slots
- Add builtins to analysis
- Simplify CountArrayFast based on RAT array types
- Refactor packedArrayBoundsStaticCheck to return an enum
- Fix a load-elim bug when simplify() folds a CheckType into a Jmp
- Fix some problems with gvn on array instructions
- Rewrite JSON printer to use buffers instead of strings
- Make StringData::Make methods initialize the ref-count to one
- Remove unnecessary strcpy call in f_tempnam
- Selectively include DV inits and function bodies in the same region
- Add annotations to TransRec and use them for printing IR.
- Don't use strtok in trace.cpp
- Fix framework test runner options handling.
- Fix positional argument handling.
- More 4.9 build fixes
- Fix some hack errors.
- Check method preconditions at call sites and output errors and warnings
- [hhvm-lockdown] Improvements to serzialize_memoize_param
- Use md5 as key for scalar arrays
- Use static strings for special cases in serialize
- simplexml_load_file: check for null return from File::Open()
- Hoist CheckType
- Treat type aliases of classes like the aliased class in VerifyParamType
- Fix help string for optional arguments.
- Add ability to list tests and run a specific test to hphp framework suite.
- Fix some bugs with AliasAnalysis for stacks (bring back the stk_expand_map)
- curl: add support for CURLOPT_PROTOCOLS and friends
- Add curl_strerror
- Fixed single-line comments for mac
- Don't trigger a fatal error if MySQL wasn't required
- Use `mysql_config --socket` instead of mucking with paths
- Fixed SplPriorityQueue losing extract flags after clone
- `ConstructInstance` returns an exact type
- Fix test in OSS build
- Add Variant move assignment operators for various types
- Fix prologue counter used in irgen::emitFuncPrologue
- Add a runtime option to control the number of huge pages used for the text section
- HHVM parser support for new optional shape fields syntax
- LibDwarf shouldn't forcefully require LibElf
- Allow custom paths for pthread library when building Folly
- Update linker-script
- Peephole optimize away trivial copy2 sequences.
- Add ExitPlaceholders
- Increase hh_client auto-typecheck wait time
- Better register hinting
- memcpy rewriting
- Switch-related cleanup
- [HHBBC] Handle conflicting class/type-alias names in resolve_class()
- Miscellaneous optimization options for LLVM backend.
- Tune per arena lg_dirty_mult settings.
- Update CakePHP3 to 3.0.5
- Change test/run to discard line-comments in .opt files
- Fixed a memory leak in SplDoublyLinkedList's pop and shift methods
- Add $previous parameter to ErrorException::__construct
- Fix compile error in thread-safe-setlocale.cpp in clang.
- [hack] Allow anonymous functions to be subtypes of non-anonymous functions
- [hack] Don't print ANSI color sequences if output is not a TTY
- [hack] Format: Improve handling of XHP class members
- [hack] Don't add trailing comma to multiline function type hint
- [hack] Format: print colored diff output
- [hack] Add --patch option to hh_format
- [hack] Don't recurse infinitely on Tvar(x) -> Tunresolved[Tvar(x)]
- [hack] Have format code use Core library
- [hack] Fix up hh_json
- [hack] Don't assert false on unknown signals
- [hack] Avoid creating Tunresolved[Tunresolved[...]] in type unification
- [hack] Move instantiation of function tparams to Typing_phase.localize
- [hack] Update hackificator deploy script
- [hack] Don't run dfind in hack build tests
- [hack] Fail hard if initial heap size is too large
- [hack] Mock out logging when running tests
- [hack] Daemons should not print to the console
- [hack] Makefile: Sort dependencies alphabetically
- [hack] Fix crash with identifier named "namespace"
- [hack] Simplify HackEventLogger
- [hack] Add additional checks for implementing type constants
- [hack] Fix load script path lookup
"King" 4-Jun-2015
- [hack] Format: `function() {...}` instead of `function () {...}`
- [hack] Fix build with ocaml 4.01
- [hack] Daemonize the logging process
- [hh] typechecker: unify function terminality code for `noreturn`
- [hh] format: 'elseif' => 'else if'
- [hh] typechecker: remove Injectable deps
- [hhvm][oss][perf] Reduce checks in Implode
- [OSS Perf] Use FileCache for opendir() and readdir()
- Link with boost_context library.
- Rewrite store-elim as partial redundancy elimination
- [hhvm] Simple script for OSS repo mode
- add nullbyte detection to proc_open
- add nullbyte detection to shell_exec,exec,system,passthru
- optimize ini_get() for integer values too
- Add an option to enable hotcfg/wholecfg regions only for functions marked as hot
- [bootcamp][hh_client]strip current directory when printing errors to a tty
- [HHVM] [Lockdown] Fast Object <=> Array cast
- Do join/meet/widen/fixpoint for backwards analysis
- Add check and test case for interface attempting to implement
- Enable hotcfg region selector by default
- [hack] User attributes on typedefs
- Implement join meet widen etc for Forward_analysis_result
- Add a hotcfg region selector that prunes wholecfg-like regions based on profile weights
- Add support for errors, proof obligations, predicates and generic analysis summaries
- Move array_map() to HNI.
- [hh_format] Add support for Type Constants
- allow RescheduleWaitHandle to work for [0..PHP_INT_MAX] as priority
- Optimize str_replace(string, string, string)
- Make IR invariants hold after irgen; check an unchecked one; fix disabling DCE
- Fix an insert-asserts.cpp issue for critical edges
- Let load-elim track AFrame/AStack knownTypes across php calls
- Allow load-elim.cpp to insert phis when it can enable its optimizations
- Improve AliasAnalysis::may_alias
- Add a profile-guided code layout pass
- Support variadic builtins via FCallBuiltin
- Support "num args" extra parameter to HNI builtins
- [hhbbc] Fix generation of ConcatN opcode
- Add IR-gen support for VGetL of type Gen
- hphp admin, don't ask for password for some simple queries
- [hack] Reduce number of places where we call string_of_path
- [hack][format] Don't add trailing commas after variadic params
- [hack] Format: Handle XHP trait import syntax
- Fix various issues with gcc-4.9 build
- [hack] Format: Improve handling of XHP bodies
- [hhvm] Port thread-safe-locale
- Fix double free in stack trace handler.
- Fix fastcgi behavior with FixPathInfo=true and apache 2.4+mod_proxy_fastcgi
- Remove -fno-gcse option for clang.
- LibPng and LibJpeg are required to build the GD extension
- Create two separate tokens in translator-asm-helpers.S and remove ##.
- Add support for widening to Ai_analysis_result
- Introduce ARef class to load elimination
- [hh] typechecker: improve uninit property error messages
- [hh] typechecker: reconsider initialization rules for traits and abstract classes
- Don't warn when xdebug cannot connect to a remote client.
- [hhvm] Don't optimize out concat binops with potential side-effects
- Call zend_startup_strtod if zend compact is enabled.
- [hack][typechecker] Don't ignore I<A> when declaring "extends I<A>, I<B>"
- [hhvm] Support user attributes on typedefs
- Clean up func prologue APIs
- Fix token for <?=
- Fix SmartPtr-related PDO persistence bugs
- Update third-party - new Squangle
- Use GeneralEffects for InterpOne, ExitEffects for InterpOneCF
- Use GeneralEffects for iterator instructions
- Translate NullSafe FPushObjMethodD when the base is null
- Add a simple dbgp client for debugging HHVM
- Enable relocation and use ETCH_NAME in translator-asm-helpers on Mac.
- Make irgen Concat support more types
- Fix conversion order bugs in intepreter Concat operations
- [hhvm] Fix ExtraArg leak when an VarEnv used in the same ActRec
- Generate declarations for scan functions.
- Remove error when goto inside a finally jumps to a label inside it. Add error when goto in a try-finally has target crossing finally.
- Set pagezero size and .text.keep section executable on Mac.
- Cache time zone validity.
- Call zend_startup_strtod so ezc extensions can use zend_strtod.
- Provide a way for an analysis to control fixpoint detection
- Fix emitter bug with nullsafe property accesses on an sprop base
"Jobs" 21-May-2015
- [hhvm] Fix recursive ldap.h include on OS X
- [hhvm] Add cast in async mysql
- A little bit of thrift cleanup
- Fix some gcc-4.9 compatibility issues
- Remove comment referencing multi-line header support.
- Clean up AKExists(Arr|Obj) codegen
- [hack] Recheck changed files before responding to client
- [hack] Remove unused Typing_env stuff
- Fix the format of hash-crc.S to build on Mac and Cygwin.
- Add input validation to urimap2 step
- [hack] Fix OSS build
- [hack] Check types of declared methods/vars/consts in decl mode
- [hack] Require `?` in nullable decl parameters
- [hack] Disable test_load_script_lib
- [hack][load script] Complain if user doesn't seem to have much free space
- [hack][load script] Avoid spurious failures in dir creation
- [hack] Log the time it takes to recheck
- Remove Server.WarmupDocument option
- [hack] Remove Program.filter_update
- Async command support in xdebug
- [hh][typechecker] Add error for assigning to $this
- [hhvm] More globally remove the OS X `isset` macro
- [hhvm] Implement pipe2 compatibility
- Make regionizeFunc aware of region retranslation arcs
- AsioContext::exit should not copy its queues.
- [hhvm] More RequestTimer stubbing on OS X
- Use iterable queues in asio
- Use to scheduler to run the taint analyses
- Step 2 of Collections Migration
- Augment call graph with calls to default constructors
- Add prediction-based bytecode-level typechecks
- Track predicted types in the eval stack
- [hack] More logname tweaks
- [hhvm] Better error reporting in ext_hh_client
- [hhvm] We actually require boost 1.51
- Add UnownedAndNonNull tag for SmartPtr ctor that sets the refcount of a non null ptr to one.
- socket timeout support float
- [hh] Move handling of "this" type into Typing_phase.localize
- Fix XLS Vreg hinting
- Remove MEMORY_PROFILING and memory_profiling build flags.
- [hack] hh_client stop / restart should not fail if processes don't exist
- Add support for incremental analysis and outer fix points.
- Remove linter for XControllers with async names
- [hack][load script] Handle unicode characters in file names
- [hhvm] Add missing include for runtime.h in emitter.cpp
- Correctly clear the vector to fix crash in cmd_break.
- Fix lchgrp gid check and add warning as with chown
- Added stream filter wildcard support + added convert.iconv.* filter
- Fixed 'last day of this month' issue with DateTime
- fix right log tips while php file not exists
- Add contains_safe to the sparse-id-containers
- AMIStateAny needs killing in various places
- Make AliasAnalysis::expand more accurate
- Fix compact accelerated protocol PHP byte decoding
- Do not free the result of gethostbyname() to fix crash on Mac.
- Step 1 of Collections HNI conversion
- Fix some issues in insertAssertions
- Remove the *Logged() allocation apis since hhprof is dead.
- [hack][load script] Increase lock expiry time
- Fix get_called_class() call in BuiltinEnum::assert
- [hhvm/gdb] Learn how to read
- [hhvm/gdb] ArrayKind moved into HeaderWord
- Update constructors in Collection hhi files
- Add the Ref alias class
- [hack][format] Handle one-argument lambdas correctly
- Fix XLS liveness computation
- Fix ReflectionClass::getMethods filter with abstract methods and interfaces
- Include missing errno.h in afdt-util.cpp.
- Some cleanup to abi-x64.h
- [trivial] fix a few comments about rVmSp
- Remove remaining AdjustSP cases
- Add mode for identifying function callsites in source file
- [hhvm] No need to tell xargs to split on newlines
- [hack][format] Better handling of nested XHP
- Change hphp/test/run to use proxygen server for server mode
- Annotate which translation has loops in TC print
- [hack][lint] Add gen_slog warning
- Fix the hphpd "run" command with arguments
- Nix extra mov in func prologue guard
- [hack] Log the command-line arguments to hh_client
- [hack] Ensure client shuts down old connection before retrying
- [hhvm] Move around where hardware counters are turned off
- More accurate ReturnEffects
- heap-trace: Use mark byte in header instead of metadata.
- Fix catch block assertion in codegen
- Fix re-enter effects
- Partition members of RequestInjectionData
- Add a call map to the call tree type
- Remove ActRec::{kInvNameBit,hasInvName} (use the MagicDispatch flags instead)
- Add ATTRIBUTE_NORETURN to raise_error
- Use clang to add GC scan methods to classes.
- Change a handful of virtual methods to override.
- scan RequestEventHandlers
- Modify ColAdd{New,}ElemC spec/behavior to not require isCollection check
- [hh] Reduce error spew when typechecking anonymous functions
- Fix building gd extension with libvpx 1.4.0
- [hhvm] Change defaults for Hack/HHVM integration flags
- [hhvm] ext_hh_client should deal with non-JSON reponse from hh_client
- [HNI] NatveData classes should not extend Sweepable
- Move count into HeaderWord
- Kill WarnNonObjProp instruction
- Add a class to help debug optimizations
- [hack] Fix builtins_async_mysql type signature
- [hack] Log the *age* of the merge base, not the date
- Clean up the bits in ai.ml that call schedule code
- NativeData classes with sweep() methods shouldn't extend Sweepable
- Add support for %L[sdfC] to AsyncMysqlClient::queryf()
- Enable proxygen server by default in OSS HHVM builds
- [hack] Record the version of Jane Street's Core
- [hack] Add Result module from Core
- [hack] Simplify ClientStart code
- Swap the Kind & mark bytes in HeaderWord
- [hhvm/gdb] Better handling of memoized values from inferior
- [hhvm/gdb] Accept more expressions for single-argument commands
- Remove redundant if before inserting copy
- Create a scheduler to run analysis tasks
- [hhvm] We require boost 1.50
- Replace incorrect uses of AliasAnalysis::must_alias and rename that function
- Fix incorrect use of AliasClass::operator| in may_reenter
- Use HeaderWord in various utility headers
- make unboxPtr() work on any pointer type
- Use HeaderWord in ArrayData and subclasses
- Put collection reserves back into thrift.
- [easy] add POW tokens to BinaryOpExpression::outputPHP
- [hhvm] Fix test-context.h test
- [hack] Make load script lock blocking
- [hack] Remove redundant "already running" check
- [hack] Always start up server even for `--retries 0`
- [hhvm] OS X doesn't have or need -lrt
- [hack] Sketchy null check should fold unresolved types
- [hack] Have redundant-nullsafe check apply to property accesses too
- [hack] escape shell glob for find
- [hack] Fix ternary expression fake member handling
- Remove unnecessary stores of TInitNull in irgen-builtin unusualCatch
- Remove an AdjustSP in front of EagerSyncVMRegs
- Don't AdjustSP in prepareForHHBCMergePoint, remove the TRACE_PUNT about it
- Change kCrossCallRegs to not include rVmSp
- Put DFS struct in unnamed namespace in region-whole-cfg
- Allow test/run --wholecfg to run wholecfg
- Don't redefine stack pointers for inlined functions
- Make some hidden FramePtr dependencies explicit in the IR
- Rename FPAbsOffset to FPInvOffset
- Clarify DefInlineFPData::spOffset
- Remove one of DefInlineFP's StkPtrs
- Use a lot of ->func() instead of ->m_func for ActRecs in backtrace.cpp
- Change native.cpp's getInvokeName to return func->fullName()
- Don't require storing null to ActRec::m_invName at non-magic callsites
- Make all functions have AttrMayUseVV in non repo auth mode
- Fix some places where frames without AttrMayUseVV could get VarEnvs
- Fix an error message in get_defined_vars
- Turn ActRec flags into an enum to make it a little easier to extend
- Use ActRec::kNumArgsMask in funcPrologueRedispatch
- Add a unit test for a weird case with __call methods and constructors
- Remove rStashedAR
- Remove handleSRResumeTC entry point in enterTCHelper
- Don't redefine StkPtrs for HHIR call instructions
- Use HeaderWord in StringData
- [hack] Ternary expressions should not leak lenv changes
- Use HeaderWord in ObjectData and ResourceData
- Remove the 'zend' command from hphpd
- Track MixedArray capacity, hashtable size, and mask using m_scale
- Fix writing of null-characters in SessionHandler
- Add -latomic if needed in linking hhvm
- Fix tc-print's LLVM flag
- Fix rbp phis in vasm-llvm
- Add declarations for ResourceData comparison functions.
- Refactor HashCollection to work with a normal empty mixed array.
- Fix various runtime options
- Move tc-print tool to open source
- [hack][load script] Close fds when shelling out
- [hack][lint] Allow $_ as a param name
- [hh] typechecker: rename "cvar" to "prop"
- [hh] typechecker: tweak dynamic yield typing
- [hack] Factor out version checking logic
- [hhvm/gdb] AsyncFunctionWaitHandle has an m_children now
- [folly] Move Singleton out of folly/experimental into folly/
- HeaderWord for RefData
- Rename HeaderKind::Native->NativeData and Resumable->ResumableFrame
- Use root map manager for LDAP extension.
- Construct analysis schedule from call tree
- Fix findDefiningBlock
- Don't crash HHVM with null-byte-ridden DOMDocument paths
- Initialize collections with arrays
- [hh][typechecker] Move localize logic into its own files
- Fix exit service request for retranslations of the region entry block
- [hack] Allow destructing assignment of ConstVector
- [hack] Fix disabled build tests
- [hack] Remove last of the covariance hacks
- [asio] Introduce HH\Asio\{join,result,has_finished}()
- [hh] use ... unpacking instead of cufa in meth_caller
- [PDO] Fix double-free of SmartPtr
- [hh] Fix return type of ImmVector::fromKeysOf
- [libxml] Don't crash on invalidated arguments
- [hhvm][ini] Refactor Config::[Get|Bind] functions for ini migration
- Move Statement::KindOf and Expression::KindOf into Construct
"Irwin" 8-May-2015
- [hhvm] Optimization on array_slice
- [hhvm] Add Hack.Lang.AutoTypecheck
- [hh][typechecker] Move Expansion of Typedefs into Localize
- Add rvalue ref versions of cast functions
- Rename refcount-opts2.cpp to refcount-opts.cpp
- [xenon] Fix crash when unwinding
- MemoryManager API organization
- Fix memory-effects for LookupClsMethod
- Fix vasm jump optimization in presence of loops
- [libxml] DOMDoc/DOMAttr memory leak
- [hack] Remove cat_opts
- [hack] Remove h2tp's List_ext
- Switch to using Core_list
- [xenon] Integrate with stack frame metadata
- [hack] Have AI use Core_list instead of List
- [hack] Remove opt_fold_left
- [hack] Use the features available in 4.01
- Build call tree to use for scheduler
- [hack] Fix the month in our logs
- set_frame_metadata(): allocate local and disable dynamic calls
- [hack] Remove 3 second delay on small project startup time
- [hhvm][easy] Fully-qualify some names in ext_hh_client
- [hhvm/gdb] Use "new style classes"
- Update vasm-llvm for bindcall ABI changes
- Use cmpl instead of testl for surprise flag checks
- Remove StLocNT instruction
- Remove docjson hphpc option
- [parser] Use FunctionContext to store hasCallToGetArgs flag
- [hhvm] OCaml must be at least 4.01
- Shrink mixed-array by eliminating m_cap field.
- [hack] One more fix for `super`
- [hack] Remove variance hacks for Collections
- [hack] Static polymorphism check should fold unresolved types
- [hack] Stabilize TVar numbers displayed by hh_show()
- [hack] Remove Imm{Map,Set}::fromArray from hhis
- [hack] Deprecate Set::fromArray
- [hack] Add generics to Set::fromArray
- Make Proxygen server open source
- [hh] typechecker: check that parent::__construct is called
- Add support for setting some xdebug options from hdf.
- Update timelib version used by HHVM
- Fix implicit integer conversion in XDebugServer
- [hh][typechecker] Introduce Type "Phases" By Utilizing GADTs
- Simplify CFG by merging blocks
- [hhvm/gdb] Look up line numbers for PHP functions
- [hhvm/gdb] Implement `info asio' command
- [hhvm/gdb] Add asyncstk command for printing PHP async stacks
- [hack] Fix handling of `super` constraints
- Remove weird echo statement in test/run
- Support xdebug handling the Debugger.resume command in chrome debugger protocol
- Temporary workaround for EH problem in LLVM backend.
- Make getTyped return a SmartPtr. Add deprecation message.
- Use signed int64_t for index in the AElemI AliasClass
- Don't differentiate between cloned closures and normal funcs using rStashedAR
- Make func-prologue-related unique stubs not use rVmSp
- Make the stack overflow helper not require rVmSp on the way in
- Remove the rest of the rVmSp uses in function prologues
- Don't use rVmSp in emitMagicFuncPrologue
- Fix a bug in method-statement that allowed __call to take named variadic params
- Don't use rVmSp for stack overflow checks
- Remove TranslArgs::dryRun
- Fix small leak of strings from UniqueStubs::add
- Add a way to read offsets from DecodedInstruction
- Make arm BackEnd subclass final
- Move emitTraceCall out of all the BackEnds, use an IR instruction instead
- Make a VpassTracer for vasm passes
- Allow unpacks in functions with call-by-ref args
- Thread hooks create expensive backtraces
- Update with patched LLVM.
- More scaffolding for building analysis schedules
- [hhvm][easy] Targeting 3.8.0
- Create phi nodes for vmfp when needed in vasm-llvm
- Add some missing dependencies in common
- Moar const correctness.
- Use SmartPtr in libxml
- Replace newobj with makeSmartPtr in asio.
- Catch and handle DataBlockFull exception during prologue generation
- Add another condition for simpleProp
- [hack] Deprecate Map::fromArray
- [hack] Add generics to Map::fromArray
- Add scaffolding for running and unit testing schedules
- [hh] typechecker: improve handling of invariant ... [2/2]
- [hh] typechecker: detect abstract static calls
- [hh] typechecker: improve handling of invariant ...
- Clean up call graph code and hide implementation
- buildURIMap2 actually generate PHP classes
- [hack] More logging for saved state
- [hh] Don't use unpack operator for MethCallerHelper if there are no args
- redis responseDouble returns false on error, not null
- Make call graph aware of class (static) virtual methods
- remove IR:CustomInstanceInit
- remove __init__ usage from SplPriorityQueue
- [hack] Touch file when something changes
- Simplify the DefLabel case in GVN
- [hhvm] Cache result of \HH\Client\typecheck
- Updated call graph with overridden virtual methods
- Add LLVMAttrs runtime option
- Move experimental/tupperware -> tupperware/experimental
- [hack] Only include .hhi files in our hhi.tar.gz
- simpleProp depends on clsSpec but doesn't constrain on it
- Add id<->root mapping interface to memory manager.
- Refactor StringData using 16-bit CapCode
- [hhvm] Simple implementation of phpinfo()
- Fix packed array detection in emitter
- Add some basic test coverage for live relocation
- [hack] Fix typo in lint URI
- [hh] typechecker: error on catch of non-Exception.
- [hack] Remove autogen of tokens hhi
- move Variant::unserialize to variable-unserializer
- Clean up cgCheckStaticBitAndDecRef
- move Variant::serialize() to variable-serializer
- Fix crash in FCallUnpack
- Extend the pos to method object map to include static methods and top level functions
- Convert PackedArray capacity to a 16-bit pseudo-floating-point format.
- Fix bug with closures in static methods
- fix_duplicate_fastcgi_header
- Clean up some SIMD instructions in LLVM backend
- Volatile loads for inc/dec.
- Add an option to only keep LLVM code if it's smaller than vasm
- [hh] typechecker: deduce correct return types for '// decl' generators
- get Nast.method_ object corresponding to call graph target positions
- Use movups instead of movdqu in codegen
- [hh] typechecker: move responsibility for detecting generators to the parser
- added first rudimental tracing
- [create_function] Stop JITing per-request functions
- [hack] Add deprecated Vector::fromArray back to hhi
- [hack] Commit token updates
- json_of_t
- Add an HHI file for Transliterator
- GVN doesn't check supportsGVN when looking through DefLabels
- [hh] typechecker: check for `void` values used in function param expressions
- [hh] typechecker: remove 'allow_null_as_void' from typing env
- Remove litstr typedef
- Don't emit Switch bytecode for 1-case switches
- Updated the test cases so to be included in classes
"Harris" 23-Apr-2015
- Fix preloadRepo
- [asio] Two round enterContext()
- Handle emptiness correctly in arrElemReturn
- Turn off RecordSubprocessTimes by default
- Ability to attach metadata to a stack frame
- [h2tp] support parameter unpacking calls
- fix memory leak while parse ini file
- Stop the health monitor when the pagelet server stops
- Avoid some overhead dealing with NewCol
- [hhvm] Session: Preserve user save handler on session_destroy
- Fix mapping the shared area of RDS in Cygwin.
- Make ThreadManager initialization explicit, rather than load-time
- Fix fread on an SSL socket potentially waiting for data from socket when
OpenSSL already has data
"Gadd" 9-Apr-2015
- Add catch traces to PHP-level calls
- Run class initializers before ObjectData constructor
- Avoid crash when invoking error handler from RetC
- Call-time pass-by-reference is removed
- Add xdebug_var_dump
- Heap Tracer
- [ini] Bind more options of collection types
- [hack] Support static checks on double-quoted strings
- Scan all of RDS
- Partial HNI conversion of fb.idl.json
- [hack] Allow class constants to be treated as static strings
- [hh][typeconst] Add basic reflection support for type constants
- [hphpd] Re-enable disabled breakpoints if trying to set them again
- Support static property as foreach target
- [ini] Make getting settings that are containers act correctly
- Don't truncate regions to one bytecode in region-tracelet
- SmartPtr cleanup
- Don't attempt a Live translation after failing an Optimize translation
- Disable ext_string hasExactlyOneRef opts
- Add a dump-repo command
- More efficient functions for reading/writing via afdt sockets
- [hack] Make socket/logs world-writable
- [hh][typeconst] Forbid constants from implementing abstract type constants
- Fix an issue with inlining and unreachable code
- OBC HNI Conversion
- FBML HNI conversion
- [asio] Kill BlockableWaitHandle
- Merge collection types into header kind
- Disable LocalCopyProp and EliminateDeadCode in hphpc's preOptimize
- New refcount optimizations
- Make the new refcount opts pass the default (remove calls to the old one)
- Add a checkCfg pass that ensures each SSATmp is defined only once
- Restructure mark loop, fix a couple bugs
- Disable guard relaxation in wholecfg mode
- StringBuffer HNI conversion
- Using Linux perf mechanism to implement clock_gettime()
- Add perf based code relocation step
- Track sub process times in LightProcess
- Enqueue ambiguous pointers after filtering
- Allocate vxls spill space on demand
- [hhvm] Add hh_client extension and \HH\Client\typecheck()
- Implement bindcall in LLVM backend
- Remove zf2
- [hhvm] Improve behavior of hack lambdas for uninit vars
- Track the main hardware counters for light processes
- Use health monitor for pagelets
"Fry" 27-Mar-2015
- Fix Reflection: Variadic parameters not marked as optional
- Fix unnecessary dns lookups on startup of hhvm in non-server mode.
- Memset with AVX2 support
- Perform strict comparison for set() options array
- Re-executing a PDOStatement with MySQL doesn't work correctly
- Fix #4916 by using is_a() to check if the classname provided is valid
- Set the memory limit default to 16GiB
- Extend ZEND_GET_MODULE to present getModuleBuildInfo.
- Added NULL check on module->functions in ZendExtension::moduleInit().
- Fix reading Thrift's accelerated map when using compact protocol
- Support null-safe property lookups
- `unpack` should return an empty array for empty input
- ReflectionClass: resolve default prop values from updated cache
- Raise a cmake error if MySQL socket path can't be identified
- Fix infinite loop in hphpd's client->server connection logic
- [ini] Remove NoInfiniteLoopDetection
- Update HHVM to use jemalloc-dev
- Don't let odbc hang indefinitely
- Add support for nullable XHP attribute types
"Earle" 12-Mar-2015
- Fix some issues with the perf counters
- Conditionally enable pthread_mutex_timedlock emulation
- [hack] Run all declaration checks for builtin hhi files
- Improve the new refcount optimizer
- Improve return types of multiple HHIR opcodes
- [hack] Check for unimplemented abstract functions in decl mode
- Fix free of uninitialized ptr in GD
- Fix segfault in unserialization when referencing invalid array element
- Apply libmagic security updates
- Fix incorrect use of ArrayIdx on a map with constant int-like string keys
- Fix some bugs with reserved name (self, parent) restrictions
- Convert MySQLi to NPH
- [hack] Allow config whitelisting of <<UserAttributes>>
- [hack] Improve hackificator
- Avoid forming tracelets that can't have IR fully emitted
- Add patch and instructions for building custom version of LLVM
- Optimize ord()
- Clean up jit::Type methods and improve its behavior
- Make "Vary:" header more precise
- Match PHP's `use strict;` easter egg and add one of our own
- Add PowerPC64 arch-specific code
- Add support for noreturn return typehint
- Allow Bottom in the IR
- Support hot/cold splitting in LLVM-generated code.
- [hack] Add hh_client --list-modes
- [hack] Add various lint checks and improve lint logic
- Make __Deprecated('...') user attribute result in runtime warning
- [hack] Avoid timing out when list of errors is very long
- Improve interface method compat checks for Type Constants
- [hack] Add HHI for SQLFormatter
- [hack] Add HHI for mcrouter extension
- Support for visiting non-BlockableWaitHandles in debug_backtrace()
- Fix Switch-related bug in instrSuccOffsets
- Introduce simplifier tool
- Convert extensions to use SmartPtr
- Fix memory effects for a bunch of HHIR opcodes
"Ditko" 26-Feb-2015
- Make printf use HH\FormatString instead of FormatString (we're planning to
un-reserve \FormatString in a future version).
- Release the async mysql extension
- Release an async MCRouter extension
- FastCGI largely re-written; should fix several rare crashes
- Make sure that C++ method signatures match the HNI
- Make the typechecker be as strict about XHP classes as other classes. This
can be reverted by putting 'unsafe_xhp=true' in your .hhconfig
- The ZRANGEBYSCORE and ZREVRANGEBYSCORE need to take in start/end scores as strings
- [asio] Move cycle detection from BlockableWaitHandle to WaitableWaitHandle
- Add a StackTraceTimeout option to set the timeout for the backtrace handler.
- Define FOLLY_HAVE_PTHREAD_SPINLOCK (for ppc port)
- [hh_format] Change scoring function to match developers expectations better
- update libmagic CVE-2014-0236
- Fixes #4764 by adding a Redis::unwatch() method
- Disable external entity loading to SOAP WSDL files CVE-2013-1643 CVE-2013-1824
- [hhvm] MySQLi: Move mysqli class to NPH
- [hh] typechecker: use __Deprecated for DynamicYield
- zend initialization settings now work better
- optimize ord('static string')
- Reuse spill slots in vasm XLS
- Fix ImmMap::values() and ImmMap::keys() to return ImmVector
- Fix rare race between setting timeout and initializing thread locals
- Fix exception leak in tc_unwind_personality
- [hack] Fix load script time offset
- [hack] Restore hhi touch
- Create an IntervalTimer extension
- [hhvm] Pass eom flag to Transport::sendImpl
- [hack] Fix tmp dir creation
- [hh][typeconst] Fix Parser Bug for Type Constant
- Fix a bad bug in alias-analysis.cpp
- remove obsolete libevent patch
- Matched PHP's clowniness in long2ip()
- Modified StringData::shrink() to check against the capacity
- Backport PHP bug #54002 - crash in exif_read_data
- Fix hhvm number formatter fa_IR tests
- Better numa scheduling
- Reduce code size in crc hash functions
- Fix DebuggerDump serialization of keyless collections
- Fix persistent redis connection using unix socket.
- Fix segfault in mysql_escape_string without connection
- Remove logic for perfectvirtuals from compiler
- Implemented `hhvm-gdb` command and distribute gdb scripts
- Add missing static method ImmVector::fromItems()
- Don't cleanup RPC state in destructor if there's nothing to cleanup
- Fix object comparison bug in HHVM
- Fix Pair::{skip,skipWhile,take,takeWhile}() to return ImmVector
- explicitly null-terminate buffer for gethostname()
- Remove varray/miarray/msarray and ArrayTracer
- Make CryptoLocalKeychainLoader static data managed by folly::Singleton
- [hack] Allow Enum<arraykey>
- [hhvm][fastcgi] Fix use-after-free after FastCGI protocol errors
"Colbert" 12-Feb-2015
- Reduce size needed for reusable stubs
- Replaced uses of StringData::bufferSlice() with mutableData()
- [hhvm][ini] Provide mechanism to support collections of complex data structures
- [hhvm][ini] Support mysqli ini settings
- [hhvm/gdb] Enable hashing of strings w/o m_hash
- Fix Memcache::connect with unix socket
- fix bug #4727 with timezone_name_from_abbr()
- [hack] Deprecate is_integer, is_long, and other is_* aliases
- [hh] typechecker: check "inheritance" for class consts
- [hhvm] Move DOM extension to NPH
- [hh] typechecker: run (some) checks on abstract constants
- [hack] Deprecate join, split, and create_function.
- [hack][typeconst] Rework Type Consts to not use type defs
- [hhvm] MySQLi: Support isset() for result fields
- Fix memory leaks in CacheClient for getNextFinishedRequestID API
- Make access log %h behave more like Apache
- [hack] Recognize __Deprecated attribute on functions and methods
- [hhvm] get_resource_type of closed files is "Unknown"
- Implemented directives: variables_order&request_order
- Show meaningful closure names in backtraces
- [hh] typechecker: don't allow async blocks as lambda expressions
- Add HH\get_headers_secure
- [hhvm/gdb] Finish documenting GDB support
- [hhvm/gdb] Fix parts of `hhx' that got out of sync
- [hack][typeconst] Finalize Type Const syntax
- [hhvm/gdb] Add pretty-printer support for object properties
- [hhvm/gdb] Refactor lookup_func into component accessors
- [hhvm/gdb] Support {Fixed,Indexed}StringMap in `idx'
- [hhvm/gdb] Fix some bugs in `idx'
- [hhvm/gdb] Add rawtype() and rawptr() helpers
- [hh] add __Deprecated attribute wired to ReflectionFunction::isDeprecated
- [hh] hh_format: support abstract const syntax [2/2]
- [hh] h2tp: "support" abstract consts
- [hh] hh_format: support abstract const syntax
- [hh] typechecker: parse abstract const declarations
- [hh] typechecker: only look for __callStatic for static methods
- [hh] typechecker: fix references to `parent::constant`
- [hack] Allow subtypes in arithmetic modulo op
- Be more lenient in accepting extra ',' in icu date pattern gen.
- Accept image/png as a legal mimetype from ext_imagick.
"Ballmer" 29-Jan-2015
- Miscellaneous fixes for clang dev build
- Make gd-jpeg compatible with jpeg-9
- [hh] typechecker: parse array-string-keys within interpolated strings
- [hh] T_FINALLY is a standard token
- [hack] Add option to format PHP and decl files
- [hhvm][easy] Care a little less about paths in filter_input_array.php
- Add HH\Asio\curl_exec() as an awaitable \curl_exec()
- Implement IntlChar class
- Add imagesetinterpolation to gd extension
- Add per-branch cli option support to benchy
- [hhvm] Restore -g to cmake debug builds
- Fix ReflectionClass method ordering
- Allow slightly malformed serialized strings, because PHP
- Use parameter coercing rather than explicit cast with chr()
- [hhvm] MySQLi: Set fetched fields prior calling a constructor
- Move Editor plugins to wiki
- Remove $ENV config from FindMySQL.cmake
- Fix bugs in floor and ceil behavior
- "Fix" tvCanBeCoercedToNumber() for malformed numeric strings
- Add missing file constants; use HNI for some existing ones too
- Fix SmartPtr move constructor on Variant.
- Trim values in Accept-Encoding: header filed
- Add "Vary: Accept-Encoding" to reposnse header when compression is enabled
- Fix memory leaks in MySQL common and MySQLi
- [hack] Various fixes for hh_format
- [hack] Allow array-get syntax for KeyedContainer
- [hack] Remove _tags file for Ocaml 3.12 compatibility
- Fix docs for DecodeCufIter
- Install hphp/runtime/version.h during make install
- Fix leak on bitwise string operations
- Improve test run to checking $_SERVER/$_ENV
- Cloning exceptions should raise a fatal error
- Disallow destructor/clone method be static
- [hhvm] Add version binary
- Update exception classes, fixes #4442
- Add a system profiler and hook some actions of interest to New Relic
- [hphp] Added NumberFormatter locale/rounding tests
- Add llvm/vasm bytecode counters
- [hack] Add support for immediately-executed async lambdas
- [hack] Add --no-load option, make load script path relative
- [hack] Have hh_server invoke the load script
- Add TYPO3 Unit tests to the OSS framework parity check
- Array multi sort
- Fix some stability issues in the server tests
- Remove Redis::SERIALIZER_IGBINARY constant
- Produce easier to handle HHVM version identifiers
- Fix bizarre memory corruption on exit
- Add Hack typing for array_values
- remove vim editor-plugin
- [hhvm] Fix mysqli segfault
- [hack] Improve position info in member-not-found error
- Update third party hash for small libmbfl change
- [hh] typechecker: canonicalize function names
- Capture full line ending for single-line comments
- Add a bunch of async helper functions
- [hack] Add --strict/--loose option to AT converter
- Autocomplete - don't suggest methods that aren't visible when class isn't fully known
- [hack] Fix return-in-finally check.
- [hack] Fix OSS tests
- [hack] Avoid relinking all of hh when format_hack changes
- [hh] updated various hhi files
- [hh] typechecker: parse "true", "false", "null", "array" more correctly
- [hh] hack build: don't generate newv calls in buildEgo
- [xenon] Fix attribution of CPU time spent in the asio scheduler
- Add StructArrays
- Don't let GD create images that would exceed the request memory limit
- [hack] Set up proper test scaffold for hh_format
- [hack] Allow "$c[] = .." when $c is declared as a collection w/o type params
- [hack] Fix race in declaration of BuiltinEnum
"Austin" 15-Jan-2015
- [asio] Introduce ConditionWaitHandle
- [hack] `hh_server --version` should not require a root
- [hack] Log exceptions thrown in the master process.
- [hack] Enable unused var warnings under typing/
- [hh] typechecker: unbound name errors in partial/decl mode
- [hack] Disallow trailing comma in used trait list
- [hack] Have coverage / coloring use a hook
- [hack] Create lock file if it doesn't exist
- Fix std::terminate when debugger is not attached during unwind
- [hack] Make `trait ... extends ...` into a parse error
- [hack] Make multiple inheritance a parse error
- [hh] typechecker: support Enum in xhp attribute declarations
- [hack] Raise type errors on undefined static polymorphism lookups.
- Fix realpath lookup
- [hack] Let any user write to the saved state dir.
- [hack] Don't have an optional param that's an option type
- RequestInitDocument 404 friendly reminder
- Implement Phar::running()
- Make Redis utility methods public
- Contiguous Heap Prototype
- [hh_format] Don't add trailing commas in used trait lists
- [hh_format] Don't add trailing commas in template parameter lists
- [hh_format] Fix bug with hh_format --diff duplicating some lines.
- [hh_format] Don't destroy whitespace in files with "**/" in comments
- fix for iconv_mime_decode_headers function skipping headers
- Add CPU option for JIT (EvalJitCPU). Defaults to 'native'.
- Limit glob flags to only ones supported by php
- make recursion limit for unserialize
- Allow trailing commas in short-lamba expressions
- Fix some leaks in new_socket_connect
- fixed decoding utf8 strings so they correctly return '?' on invalid sequences
- Actually get the realpath first thing when searching for a file.
- Faster UnitCache
- Simple speedup for is_dir
- [hh] typechecker: demand consistent casing for primitive typehints
- Support timestamp begins and ends for getTransitions()
- Add global value numbering pass
- Support \u escape sequences in double-quoted strings
- ResourceLimit.SerializationSizeLimit can be overwriten from the vhost config
- Check Eval.JitAMaxUsage when deciding whether to start profiling a function
- Allow hex in mb_encode_numericentity
- [hhvm] Work around leak in boost flat_set
- Add stream_await() for async stream "blocking"
- [typechecker] Add support for reading XHP attributes via "->:"
- Modify rpoSortCfg to reduce memory usage in refcount-opts
- Fix #4380, making get code and get message final
- Add PHP_INT_MIN
- Disable PGO for pseudo-mains
- Mock date/time functions in Isolation.php
- Fix error_get_last() not cleared when error handle function entered
- [hhvm] RFC: Native Property Handlers
- [hack] Define proper constants for CURLOPT and friends
- Make newlines in http headers a fatal error.
- Add Hack typing to array_keys
- Use a custom implementation of strtoll for unserialize
- [hack] control whether unseen <?php code is assumed via .hhconfig
Z* 18-Dec-2014
- Converted objprof extension to use heap parsing
"Yelawolf" 4-Dec-2014
- Fix comparison of overflowing strings
- Fix potential memory corruption during ArrayData::set
- Introduce util to restart current process
- Share variable environment in eval'd assert
- [Find] Only escape spaces in paths for find
- Don't ignore Eval.JitAHotSize
- Fix checkCfg's defined-tmp checks to be aware of edge-defined tmps
- Fix bugs relating to edges in IRInstruction::become
- Fix insertPhis calls to IRUnit::replace()
- Use sha1sum for the repo-schema
- [hh] typechecker: add constants to hh_client --show
- [hack] Dump typedef info in `hh_client --show`
- Make BigNode parsable, extend HeapIter to visit BigNodes.
- Allow static invocation of DOMDocument::load* methods
- Allow "array" with type args to be used in XHP attribute declarations
- HTMLEncode strings in wddx_serialize_value()
- [hack] Make dependency on lz4 optional for OSS build.
- [hack] Have hh_server take the list of files to recheck as relative paths
- [hack] Docblock parser for AT
- Add version number to imagick extension
- Support Authorization header in apache_request_headers()
- [hack][build] Add needs_rerun hook for XController build step
- Fix call to fetchObject without class name
- Add possibility to create a DateTime object with timezone
- DateTimeImmutable::createFromFormat returns false on failure
- [hh] typechecker add PREG_* constants to hhi
- Raise warning when put_contents on non-regular file with exclusive lock.
- Use uncounted strings to cache non-static regexes
- Use specializeExact whenever we know AttrNoOverride from whole program analysis
- Fix some not-type-safe LdRef code generated in a situation with SetOpL
- Split inner ref type checks into a separate instruction from LdRef
- Add support for stream wrapper in include_path.
- cmake option to enable avx2 instruction support
- Add missing default to PharData::decompress()
- [hack] Add lz4 compression when saving server state.
- Fix leak in tvCoerce*
- Trie Search - optimizations for JS
- Don't throw an exception on unknown IP address for OSS
- [hh] parity: match php 5.6 in treatment of array_fill with num = 0
- Make ob_start function signature PHP 5.6 compatible
- Fix issues with private properties and apc
- Implement remaining straightforward vasm ops in llvm backend
- [hack] Type strlen's return value.
- [hack] add additional iterator interfaces
- Improve segaddr fixing for 32-bit destructors
- Fix parent::__cOnStRuCt and similar with PHP4 constructors
- Make stats.json on the admin server return valid json
- [hack] Simplify coverage JSON output, and add non-JSON output option.
- Remove kernel version assertions
- [hack] Fix bad escaping of directory names
- [hack] Add some hhi constants for pcntl.
- Fix problems in getCurrentPropertyOffset relating to m_ni.inputs
- Fix CSE to be aware of where SSATmps are known to be defined
- Add an analysis module for functions that query information about the IR
- Don't JIT functions that use $php_errormsg or $http_response_code
- Fix default SOAP HTTP client
- [hack] Member access is `->` followed by lvar, not word
- Fix comparison between doubles and hex numeric strings
- Implement a bunch more vasm instructions in llvm backend
- Enable ASAN for smart allocator
- Record the start time for every request
- Fix parsing of binary literals denoted with a capital '0B'
- Fix Symfony's it's not safe to rely on system timezone setting errors
- Allow non-static expressions in function parameter defaults
- Fix a bug in Index::lookup_constraint
- [hack] Add logging to server_options_cmd.
- Fix optional 'errorcode' parameter is not set up properly
- Fix PHP primitive default parameter type check
- Weaken assert in FileUtil::canonicalize
- [hack] Error when using "shape" as a type
- Fix getOldestStartTime
- Add zlib.output_compression ini option
- Add missing argument to DOMXPath::{query,execute}()
- htmlentities() should output valid ISO-8859-1 characeters to appropriate entities
- Remove bad assert from BaseVector::data()
- Cleanup sock and pid files on graceful exit from FastCGI
- [hack] Add script for determining server startup options
- [hack] Record init time in log output.
- Fix some bugs in intersecting specialized types
- [hack] Fix duplicate unbound name errors
- Update OCaml to 4.02.1
- [hhvm] Add per kind ArrayFunc counters for ArrayTracer
- Fix use-after-free in the access logs
- Wait for clean shutdown on SIGHUP
- [hhi] add at() to MysqlRow in hhi file
- [memoize] Go back to individual cache props for statics
- Break regions after FCall & friends when using LLVM
- Remove support for magic quotes (also removed in PHP 5.4)
- qlzcompress is not available everywhere, and there's no support for it in OSS
- Change the Profiler constructor to not necessarily force CPU affinity.
- Add getTypeText to ReflectionParameter
- Remove trailing junk from IP addresses for sockets
- Preserve index of sockets passed into/out-of socket_select()
- Fix lchown when no user found
- [hh] typechecker: split function bodies into named and unnamed
- [hack] fix error with capturing locals for a foreach using a ref