2016-09-22: Version 5.5.266

        Performance and stability improvements on all platforms.


2016-09-22: Version 5.5.265

        Performance and stability improvements on all platforms.


2016-09-22: Version 5.5.264

        Performance and stability improvements on all platforms.


2016-09-22: Version 5.5.263

        Performance and stability improvements on all platforms.


2016-09-22: Version 5.5.262

        Performance and stability improvements on all platforms.


2016-09-22: Version 5.5.261

        Performance and stability improvements on all platforms.


2016-09-22: Version 5.5.260

        Performance and stability improvements on all platforms.


2016-09-22: Version 5.5.259

        Performance and stability improvements on all platforms.


2016-09-22: Version 5.5.258

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.257

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.256

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.255

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.254

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.253

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.252

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.251

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.250

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.249

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.248

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.247

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.246

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.245

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.244

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.243

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.242

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.241

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.240

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.239

        Performance and stability improvements on all platforms.


2016-09-21: Version 5.5.238

        Performance and stability improvements on all platforms.


2016-09-20: Version 5.5.237

        Performance and stability improvements on all platforms.


2016-09-20: Version 5.5.236

        Performance and stability improvements on all platforms.


2016-09-20: Version 5.5.235

        Performance and stability improvements on all platforms.


2016-09-20: Version 5.5.234

        Performance and stability improvements on all platforms.


2016-09-20: Version 5.5.233

        Performance and stability improvements on all platforms.


2016-09-20: Version 5.5.232

        Performance and stability improvements on all platforms.


2016-09-20: Version 5.5.231

        Performance and stability improvements on all platforms.


2016-09-20: Version 5.5.230

        Performance and stability improvements on all platforms.


2016-09-19: Version 5.5.229

        Performance and stability improvements on all platforms.


2016-09-19: Version 5.5.228

        Performance and stability improvements on all platforms.


2016-09-19: Version 5.5.227

        Performance and stability improvements on all platforms.


2016-09-16: Version 5.5.226

        Performance and stability improvements on all platforms.


2016-09-16: Version 5.5.225

        Performance and stability improvements on all platforms.


2016-09-16: Version 5.5.224

        Performance and stability improvements on all platforms.


2016-09-16: Version 5.5.223

        Performance and stability improvements on all platforms.


2016-09-16: Version 5.5.222

        Performance and stability improvements on all platforms.


2016-09-16: Version 5.5.221

        Performance and stability improvements on all platforms.


2016-09-16: Version 5.5.220

        Performance and stability improvements on all platforms.


2016-09-16: Version 5.5.219

        Performance and stability improvements on all platforms.


2016-09-16: Version 5.5.218

        Performance and stability improvements on all platforms.


2016-09-15: Version 5.5.217

        Performance and stability improvements on all platforms.


2016-09-15: Version 5.5.216

        Performance and stability improvements on all platforms.


2016-09-15: Version 5.5.215

        Performance and stability improvements on all platforms.


2016-09-15: Version 5.5.214

        Performance and stability improvements on all platforms.


2016-09-15: Version 5.5.213

        Performance and stability improvements on all platforms.


2016-09-15: Version 5.5.212

        Performance and stability improvements on all platforms.


2016-09-15: Version 5.5.211

        Performance and stability improvements on all platforms.


2016-09-15: Version 5.5.210

        Performance and stability improvements on all platforms.


2016-09-15: Version 5.5.209

        Performance and stability improvements on all platforms.


2016-09-15: Version 5.5.208

        Performance and stability improvements on all platforms.


2016-09-15: Version 5.5.207

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.206

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.205

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.204

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.203

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.202

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.201

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.200

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.199

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.198

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.197

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.196

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.195

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.194

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.193

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.192

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.191

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.190

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.189

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.188

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.187

        Performance and stability improvements on all platforms.


2016-09-14: Version 5.5.186

        Performance and stability improvements on all platforms.


2016-09-13: Version 5.5.185

        Performance and stability improvements on all platforms.


2016-09-13: Version 5.5.184

        Performance and stability improvements on all platforms.


2016-09-13: Version 5.5.183

        Performance and stability improvements on all platforms.


2016-09-13: Version 5.5.182

        Performance and stability improvements on all platforms.


2016-09-13: Version 5.5.181

        Performance and stability improvements on all platforms.


2016-09-13: Version 5.5.180

        Performance and stability improvements on all platforms.


2016-09-13: Version 5.5.179

        Performance and stability improvements on all platforms.


2016-09-13: Version 5.5.178

        Performance and stability improvements on all platforms.


2016-09-13: Version 5.5.177

        Performance and stability improvements on all platforms.


2016-09-13: Version 5.5.176

        Performance and stability improvements on all platforms.


2016-09-13: Version 5.5.175

        Performance and stability improvements on all platforms.


2016-09-13: Version 5.5.174

        Performance and stability improvements on all platforms.


2016-09-13: Version 5.5.173

        Performance and stability improvements on all platforms.


2016-09-13: Version 5.5.172

        Performance and stability improvements on all platforms.


2016-09-13: Version 5.5.171

        Performance and stability improvements on all platforms.


2016-09-13: Version 5.5.170

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.169

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.168

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.167

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.166

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.165

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.164

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.163

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.162

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.161

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.160

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.159

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.158

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.157

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.156

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.155

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.154

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.153

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.152

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.151

        Performance and stability improvements on all platforms.


2016-09-12: Version 5.5.150

        Performance and stability improvements on all platforms.


2016-09-10: Version 5.5.149

        Performance and stability improvements on all platforms.


2016-09-09: Version 5.5.148

        Performance and stability improvements on all platforms.


2016-09-09: Version 5.5.147

        Performance and stability improvements on all platforms.


2016-09-09: Version 5.5.146

        Performance and stability improvements on all platforms.


2016-09-09: Version 5.5.145

        Performance and stability improvements on all platforms.


2016-09-09: Version 5.5.144

        Performance and stability improvements on all platforms.


2016-09-09: Version 5.5.143

        Performance and stability improvements on all platforms.


2016-09-09: Version 5.5.142

        Performance and stability improvements on all platforms.


2016-09-09: Version 5.5.141

        Performance and stability improvements on all platforms.


2016-09-09: Version 5.5.140

        Performance and stability improvements on all platforms.


2016-09-09: Version 5.5.139

        Performance and stability improvements on all platforms.


2016-09-09: Version 5.5.138

        Performance and stability improvements on all platforms.


2016-09-09: Version 5.5.137

        Performance and stability improvements on all platforms.


2016-09-09: Version 5.5.136

        Performance and stability improvements on all platforms.


2016-09-09: Version 5.5.135

        Performance and stability improvements on all platforms.


2016-09-09: Version 5.5.134

        Performance and stability improvements on all platforms.


2016-09-09: Version 5.5.133

        Performance and stability improvements on all platforms.


2016-09-08: Version 5.5.132

        Performance and stability improvements on all platforms.


2016-09-08: Version 5.5.131

        Performance and stability improvements on all platforms.


2016-09-08: Version 5.5.130

        Performance and stability improvements on all platforms.


2016-09-08: Version 5.5.129

        Performance and stability improvements on all platforms.


2016-09-08: Version 5.5.128

        Performance and stability improvements on all platforms.


2016-09-08: Version 5.5.127

        Performance and stability improvements on all platforms.


2016-09-08: Version 5.5.126

        Performance and stability improvements on all platforms.


2016-09-08: Version 5.5.125

        Performance and stability improvements on all platforms.


2016-09-08: Version 5.5.124

        Performance and stability improvements on all platforms.


2016-09-08: Version 5.5.123

        Performance and stability improvements on all platforms.


2016-09-07: Version 5.5.122

        Performance and stability improvements on all platforms.


2016-09-07: Version 5.5.121

        Performance and stability improvements on all platforms.


2016-09-07: Version 5.5.120

        Performance and stability improvements on all platforms.


2016-09-07: Version 5.5.119

        Performance and stability improvements on all platforms.


2016-09-07: Version 5.5.118

        Performance and stability improvements on all platforms.


2016-09-07: Version 5.5.117

        Performance and stability improvements on all platforms.


2016-09-07: Version 5.5.116

        Performance and stability improvements on all platforms.


2016-09-07: Version 5.5.115

        Performance and stability improvements on all platforms.


2016-09-07: Version 5.5.114

        Performance and stability improvements on all platforms.


2016-09-07: Version 5.5.113

        Performance and stability improvements on all platforms.


2016-09-07: Version 5.5.112

        Performance and stability improvements on all platforms.


2016-09-07: Version 5.5.111

        Performance and stability improvements on all platforms.


2016-09-06: Version 5.5.110

        Performance and stability improvements on all platforms.


2016-09-06: Version 5.5.109

        Performance and stability improvements on all platforms.


2016-09-06: Version 5.5.108

        Performance and stability improvements on all platforms.


2016-09-06: Version 5.5.107

        Performance and stability improvements on all platforms.


2016-09-06: Version 5.5.106

        Performance and stability improvements on all platforms.


2016-09-06: Version 5.5.105

        Performance and stability improvements on all platforms.


2016-09-06: Version 5.5.104

        Performance and stability improvements on all platforms.


2016-09-06: Version 5.5.103

        Performance and stability improvements on all platforms.


2016-09-06: Version 5.5.102

        Performance and stability improvements on all platforms.


2016-09-06: Version 5.5.101

        Performance and stability improvements on all platforms.


2016-09-05: Version 5.5.100

        Performance and stability improvements on all platforms.


2016-09-05: Version 5.5.99

        Performance and stability improvements on all platforms.


2016-09-05: Version 5.5.98

        Performance and stability improvements on all platforms.


2016-09-05: Version 5.5.97

        Performance and stability improvements on all platforms.


2016-09-05: Version 5.5.96

        Performance and stability improvements on all platforms.


2016-09-05: Version 5.5.95

        Performance and stability improvements on all platforms.


2016-09-05: Version 5.5.94

        Performance and stability improvements on all platforms.


2016-09-05: Version 5.5.93

        Performance and stability improvements on all platforms.


2016-09-05: Version 5.5.92

        Performance and stability improvements on all platforms.


2016-09-05: Version 5.5.91

        Performance and stability improvements on all platforms.


2016-09-05: Version 5.5.90

        Performance and stability improvements on all platforms.


2016-09-05: Version 5.5.89

        Performance and stability improvements on all platforms.


2016-09-05: Version 5.5.88

        Performance and stability improvements on all platforms.


2016-09-05: Version 5.5.87

        Performance and stability improvements on all platforms.


2016-09-05: Version 5.5.86

        Performance and stability improvements on all platforms.


2016-09-04: Version 5.5.85

        Performance and stability improvements on all platforms.


2016-09-04: Version 5.5.84

        Performance and stability improvements on all platforms.


2016-09-04: Version 5.5.83

        Performance and stability improvements on all platforms.


2016-09-02: Version 5.5.82

        Performance and stability improvements on all platforms.


2016-09-02: Version 5.5.81

        Performance and stability improvements on all platforms.


2016-09-02: Version 5.5.80

        Performance and stability improvements on all platforms.


2016-09-02: Version 5.5.79

        Performance and stability improvements on all platforms.


2016-09-02: Version 5.5.78

        Performance and stability improvements on all platforms.


2016-09-02: Version 5.5.77

        Performance and stability improvements on all platforms.


2016-09-02: Version 5.5.76

        Performance and stability improvements on all platforms.


2016-09-02: Version 5.5.75

        Performance and stability improvements on all platforms.


2016-09-02: Version 5.5.74

        Performance and stability improvements on all platforms.


2016-09-02: Version 5.5.73

        Performance and stability improvements on all platforms.


2016-09-02: Version 5.5.72

        Performance and stability improvements on all platforms.


2016-09-02: Version 5.5.71

        Performance and stability improvements on all platforms.


2016-09-01: Version 5.5.70

        Performance and stability improvements on all platforms.


2016-09-01: Version 5.5.69

        Performance and stability improvements on all platforms.


2016-09-01: Version 5.5.68

        Performance and stability improvements on all platforms.


2016-09-01: Version 5.5.67

        Performance and stability improvements on all platforms.


2016-09-01: Version 5.5.66

        Performance and stability improvements on all platforms.


2016-09-01: Version 5.5.65

        Performance and stability improvements on all platforms.


2016-09-01: Version 5.5.64

        Performance and stability improvements on all platforms.


2016-09-01: Version 5.5.63

        Performance and stability improvements on all platforms.


2016-09-01: Version 5.5.62

        Performance and stability improvements on all platforms.


2016-09-01: Version 5.5.61

        Performance and stability improvements on all platforms.


2016-09-01: Version 5.5.60

        Performance and stability improvements on all platforms.


2016-09-01: Version 5.5.59

        Performance and stability improvements on all platforms.


2016-09-01: Version 5.5.58

        Performance and stability improvements on all platforms.


2016-09-01: Version 5.5.57

        Performance and stability improvements on all platforms.


2016-09-01: Version 5.5.56

        Performance and stability improvements on all platforms.


2016-09-01: Version 5.5.55

        Performance and stability improvements on all platforms.


2016-09-01: Version 5.5.54

        Performance and stability improvements on all platforms.


2016-08-31: Version 5.5.53

        Performance and stability improvements on all platforms.


2016-08-31: Version 5.5.52

        Performance and stability improvements on all platforms.


2016-08-31: Version 5.5.51

        Performance and stability improvements on all platforms.


2016-08-31: Version 5.5.50

        Performance and stability improvements on all platforms.


2016-08-31: Version 5.5.49

        Performance and stability improvements on all platforms.


2016-08-31: Version 5.5.48

        Performance and stability improvements on all platforms.


2016-08-31: Version 5.5.47

        Performance and stability improvements on all platforms.


2016-08-31: Version 5.5.46

        Performance and stability improvements on all platforms.


2016-08-31: Version 5.5.45

        Performance and stability improvements on all platforms.


2016-08-31: Version 5.5.44

        Performance and stability improvements on all platforms.


2016-08-31: Version 5.5.43

        Performance and stability improvements on all platforms.


2016-08-31: Version 5.5.42

        Performance and stability improvements on all platforms.


2016-08-31: Version 5.5.41

        Performance and stability improvements on all platforms.


2016-08-31: Version 5.5.40

        Performance and stability improvements on all platforms.


2016-08-31: Version 5.5.39

        Performance and stability improvements on all platforms.


2016-08-31: Version 5.5.38

        Performance and stability improvements on all platforms.


2016-08-31: Version 5.5.37

        Performance and stability improvements on all platforms.


2016-08-30: Version 5.5.36

        Performance and stability improvements on all platforms.


2016-08-30: Version 5.5.35

        Performance and stability improvements on all platforms.


2016-08-30: Version 5.5.34

        Performance and stability improvements on all platforms.


2016-08-30: Version 5.5.33

        Performance and stability improvements on all platforms.


2016-08-30: Version 5.5.32

        Performance and stability improvements on all platforms.


2016-08-30: Version 5.5.31

        Performance and stability improvements on all platforms.


2016-08-30: Version 5.5.30

        Performance and stability improvements on all platforms.


2016-08-30: Version 5.5.29

        Performance and stability improvements on all platforms.


2016-08-30: Version 5.5.28

        Performance and stability improvements on all platforms.


2016-08-30: Version 5.5.27

        Performance and stability improvements on all platforms.


2016-08-30: Version 5.5.26

        Performance and stability improvements on all platforms.


2016-08-30: Version 5.5.25

        Performance and stability improvements on all platforms.


2016-08-30: Version 5.5.24

        Performance and stability improvements on all platforms.


2016-08-30: Version 5.5.23

        Performance and stability improvements on all platforms.


2016-08-30: Version 5.5.22

        Performance and stability improvements on all platforms.


2016-08-29: Version 5.5.21

        Performance and stability improvements on all platforms.


2016-08-29: Version 5.5.20

        Performance and stability improvements on all platforms.


2016-08-29: Version 5.5.19

        Performance and stability improvements on all platforms.


2016-08-29: Version 5.5.18

        Performance and stability improvements on all platforms.


2016-08-29: Version 5.5.17

        Performance and stability improvements on all platforms.


2016-08-29: Version 5.5.16

        Performance and stability improvements on all platforms.


2016-08-29: Version 5.5.15

        Performance and stability improvements on all platforms.


2016-08-29: Version 5.5.14

        Performance and stability improvements on all platforms.


2016-08-29: Version 5.5.13

        Performance and stability improvements on all platforms.


2016-08-29: Version 5.5.12

        Performance and stability improvements on all platforms.


2016-08-29: Version 5.5.11

        Performance and stability improvements on all platforms.


2016-08-29: Version 5.5.10

        Performance and stability improvements on all platforms.


2016-08-29: Version 5.5.9

        Performance and stability improvements on all platforms.


2016-08-29: Version 5.5.8

        Performance and stability improvements on all platforms.


2016-08-29: Version 5.5.7

        Performance and stability improvements on all platforms.


2016-08-29: Version 5.5.6

        Performance and stability improvements on all platforms.


2016-08-28: Version 5.5.5

        Performance and stability improvements on all platforms.


2016-08-28: Version 5.5.4

        Performance and stability improvements on all platforms.


2016-08-28: Version 5.5.3

        Performance and stability improvements on all platforms.


2016-08-28: Version 5.5.2

        Performance and stability improvements on all platforms.


2016-08-26: Version 5.5.1

        Performance and stability improvements on all platforms.


2016-08-25: Version 5.4.524

        Performance and stability improvements on all platforms.


2016-08-25: Version 5.4.523

        Performance and stability improvements on all platforms.


2016-08-25: Version 5.4.522

        Performance and stability improvements on all platforms.


2016-08-25: Version 5.4.521

        Performance and stability improvements on all platforms.


2016-08-25: Version 5.4.520

        Performance and stability improvements on all platforms.


2016-08-25: Version 5.4.519

        Performance and stability improvements on all platforms.


2016-08-25: Version 5.4.518

        Performance and stability improvements on all platforms.


2016-08-24: Version 5.4.517

        Performance and stability improvements on all platforms.


2016-08-24: Version 5.4.516

        Performance and stability improvements on all platforms.


2016-08-24: Version 5.4.515

        Performance and stability improvements on all platforms.


2016-08-24: Version 5.4.514

        Performance and stability improvements on all platforms.


2016-08-24: Version 5.4.513

        Performance and stability improvements on all platforms.


2016-08-24: Version 5.4.512

        Performance and stability improvements on all platforms.


2016-08-24: Version 5.4.511

        Performance and stability improvements on all platforms.


2016-08-24: Version 5.4.510

        Performance and stability improvements on all platforms.


2016-08-24: Version 5.4.509

        Performance and stability improvements on all platforms.


2016-08-24: Version 5.4.508

        Performance and stability improvements on all platforms.


2016-08-24: Version 5.4.507

        Performance and stability improvements on all platforms.


2016-08-24: Version 5.4.506

        Performance and stability improvements on all platforms.


2016-08-23: Version 5.4.505

        Performance and stability improvements on all platforms.


2016-08-23: Version 5.4.504

        Performance and stability improvements on all platforms.


2016-08-23: Version 5.4.503

        Performance and stability improvements on all platforms.


2016-08-23: Version 5.4.502

        Performance and stability improvements on all platforms.


2016-08-23: Version 5.4.501

        Performance and stability improvements on all platforms.


2016-08-23: Version 5.4.500

        Performance and stability improvements on all platforms.


2016-08-23: Version 5.4.499

        Performance and stability improvements on all platforms.


2016-08-23: Version 5.4.498

        Performance and stability improvements on all platforms.


2016-08-23: Version 5.4.497

        Performance and stability improvements on all platforms.


2016-08-23: Version 5.4.496

        Performance and stability improvements on all platforms.


2016-08-23: Version 5.4.495

        Performance and stability improvements on all platforms.


2016-08-23: Version 5.4.494

        Performance and stability improvements on all platforms.


2016-08-23: Version 5.4.493

        Performance and stability improvements on all platforms.


2016-08-23: Version 5.4.492

        Performance and stability improvements on all platforms.


2016-08-22: Version 5.4.491

        Performance and stability improvements on all platforms.


2016-08-22: Version 5.4.490

        Performance and stability improvements on all platforms.


2016-08-22: Version 5.4.489

        Performance and stability improvements on all platforms.


2016-08-22: Version 5.4.488

        Performance and stability improvements on all platforms.


2016-08-22: Version 5.4.487

        Performance and stability improvements on all platforms.


2016-08-22: Version 5.4.486

        Performance and stability improvements on all platforms.


2016-08-22: Version 5.4.485

        Performance and stability improvements on all platforms.


2016-08-22: Version 5.4.484

        Performance and stability improvements on all platforms.


2016-08-22: Version 5.4.483

        Performance and stability improvements on all platforms.


2016-08-22: Version 5.4.482

        Performance and stability improvements on all platforms.


2016-08-22: Version 5.4.481

        Performance and stability improvements on all platforms.


2016-08-22: Version 5.4.480

        Performance and stability improvements on all platforms.


2016-08-22: Version 5.4.479

        Performance and stability improvements on all platforms.


2016-08-20: Version 5.4.478

        Performance and stability improvements on all platforms.


2016-08-20: Version 5.4.477

        Performance and stability improvements on all platforms.


2016-08-20: Version 5.4.476

        Performance and stability improvements on all platforms.


2016-08-19: Version 5.4.475

        Performance and stability improvements on all platforms.


2016-08-19: Version 5.4.474

        Performance and stability improvements on all platforms.


2016-08-19: Version 5.4.473

        Performance and stability improvements on all platforms.


2016-08-19: Version 5.4.472

        Performance and stability improvements on all platforms.


2016-08-19: Version 5.4.471

        Performance and stability improvements on all platforms.


2016-08-19: Version 5.4.470

        Performance and stability improvements on all platforms.


2016-08-19: Version 5.4.469

        Performance and stability improvements on all platforms.


2016-08-19: Version 5.4.468

        Performance and stability improvements on all platforms.


2016-08-19: Version 5.4.467

        Performance and stability improvements on all platforms.


2016-08-19: Version 5.4.466

        Performance and stability improvements on all platforms.


2016-08-19: Version 5.4.465

        Performance and stability improvements on all platforms.


2016-08-19: Version 5.4.464

        Performance and stability improvements on all platforms.


2016-08-19: Version 5.4.463

        Performance and stability improvements on all platforms.


2016-08-19: Version 5.4.462

        Performance and stability improvements on all platforms.


2016-08-19: Version 5.4.461

        Performance and stability improvements on all platforms.


2016-08-19: Version 5.4.460

        Performance and stability improvements on all platforms.


2016-08-18: Version 5.4.459

        Performance and stability improvements on all platforms.


2016-08-18: Version 5.4.458

        Performance and stability improvements on all platforms.


2016-08-18: Version 5.4.457

        Performance and stability improvements on all platforms.


2016-08-18: Version 5.4.456

        Performance and stability improvements on all platforms.


2016-08-18: Version 5.4.455

        Performance and stability improvements on all platforms.


2016-08-18: Version 5.4.454

        Performance and stability improvements on all platforms.


2016-08-18: Version 5.4.453

        Performance and stability improvements on all platforms.


2016-08-18: Version 5.4.452

        Performance and stability improvements on all platforms.


2016-08-18: Version 5.4.451

        Performance and stability improvements on all platforms.


2016-08-18: Version 5.4.450

        Performance and stability improvements on all platforms.


2016-08-17: Version 5.4.449

        Performance and stability improvements on all platforms.


2016-08-17: Version 5.4.448

        Performance and stability improvements on all platforms.


2016-08-17: Version 5.4.447

        Performance and stability improvements on all platforms.


2016-08-17: Version 5.4.446

        Performance and stability improvements on all platforms.


2016-08-17: Version 5.4.445

        Performance and stability improvements on all platforms.


2016-08-17: Version 5.4.444

        Performance and stability improvements on all platforms.


2016-08-17: Version 5.4.443

        Performance and stability improvements on all platforms.


2016-08-17: Version 5.4.442

        Performance and stability improvements on all platforms.


2016-08-17: Version 5.4.441

        Performance and stability improvements on all platforms.


2016-08-17: Version 5.4.440

        Performance and stability improvements on all platforms.


2016-08-16: Version 5.4.439

        Performance and stability improvements on all platforms.


2016-08-16: Version 5.4.438

        Performance and stability improvements on all platforms.


2016-08-16: Version 5.4.437

        Performance and stability improvements on all platforms.


2016-08-16: Version 5.4.436

        Performance and stability improvements on all platforms.


2016-08-16: Version 5.4.435

        Performance and stability improvements on all platforms.


2016-08-16: Version 5.4.434

        Performance and stability improvements on all platforms.


2016-08-16: Version 5.4.433

        Performance and stability improvements on all platforms.


2016-08-16: Version 5.4.432

        Performance and stability improvements on all platforms.


2016-08-16: Version 5.4.431

        Performance and stability improvements on all platforms.


2016-08-16: Version 5.4.430

        Performance and stability improvements on all platforms.


2016-08-16: Version 5.4.429

        Performance and stability improvements on all platforms.


2016-08-16: Version 5.4.428

        Performance and stability improvements on all platforms.


2016-08-15: Version 5.4.427

        Performance and stability improvements on all platforms.


2016-08-15: Version 5.4.426

        Performance and stability improvements on all platforms.


2016-08-15: Version 5.4.425

        Performance and stability improvements on all platforms.


2016-08-15: Version 5.4.424

        Performance and stability improvements on all platforms.


2016-08-15: Version 5.4.423

        Performance and stability improvements on all platforms.


2016-08-14: Version 5.4.422

        Performance and stability improvements on all platforms.


2016-08-14: Version 5.4.421

        Performance and stability improvements on all platforms.


2016-08-13: Version 5.4.420

        Performance and stability improvements on all platforms.


2016-08-12: Version 5.4.419

        Performance and stability improvements on all platforms.


2016-08-12: Version 5.4.418

        Performance and stability improvements on all platforms.


2016-08-12: Version 5.4.417

        Performance and stability improvements on all platforms.


2016-08-12: Version 5.4.416

        Performance and stability improvements on all platforms.


2016-08-12: Version 5.4.415

        Performance and stability improvements on all platforms.


2016-08-12: Version 5.4.414

        Performance and stability improvements on all platforms.


2016-08-12: Version 5.4.413

        Performance and stability improvements on all platforms.


2016-08-12: Version 5.4.412

        Performance and stability improvements on all platforms.


2016-08-12: Version 5.4.411

        Performance and stability improvements on all platforms.


2016-08-12: Version 5.4.410

        Performance and stability improvements on all platforms.


2016-08-12: Version 5.4.409

        Performance and stability improvements on all platforms.


2016-08-12: Version 5.4.408

        Performance and stability improvements on all platforms.


2016-08-12: Version 5.4.407

        Performance and stability improvements on all platforms.


2016-08-11: Version 5.4.406

        Performance and stability improvements on all platforms.


2016-08-11: Version 5.4.405

        Performance and stability improvements on all platforms.


2016-08-11: Version 5.4.404

        Performance and stability improvements on all platforms.


2016-08-11: Version 5.4.403

        Performance and stability improvements on all platforms.


2016-08-11: Version 5.4.402

        Performance and stability improvements on all platforms.


2016-08-11: Version 5.4.401

        Performance and stability improvements on all platforms.


2016-08-11: Version 5.4.400

        Performance and stability improvements on all platforms.


2016-08-11: Version 5.4.399

        Performance and stability improvements on all platforms.


2016-08-10: Version 5.4.398

        Performance and stability improvements on all platforms.


2016-08-10: Version 5.4.397

        Performance and stability improvements on all platforms.


2016-08-10: Version 5.4.396

        Performance and stability improvements on all platforms.


2016-08-10: Version 5.4.395

        Performance and stability improvements on all platforms.


2016-08-10: Version 5.4.394

        Performance and stability improvements on all platforms.


2016-08-10: Version 5.4.393

        Performance and stability improvements on all platforms.


2016-08-10: Version 5.4.392

        Performance and stability improvements on all platforms.


2016-08-09: Version 5.4.391

        Performance and stability improvements on all platforms.


2016-08-09: Version 5.4.390

        Performance and stability improvements on all platforms.


2016-08-09: Version 5.4.389

        Performance and stability improvements on all platforms.


2016-08-09: Version 5.4.388

        Performance and stability improvements on all platforms.


2016-08-09: Version 5.4.387

        Performance and stability improvements on all platforms.


2016-08-09: Version 5.4.386

        Performance and stability improvements on all platforms.


2016-08-09: Version 5.4.385

        Performance and stability improvements on all platforms.


2016-08-09: Version 5.4.384

        Performance and stability improvements on all platforms.


2016-08-09: Version 5.4.383

        Performance and stability improvements on all platforms.


2016-08-09: Version 5.4.382

        Performance and stability improvements on all platforms.


2016-08-09: Version 5.4.381

        Performance and stability improvements on all platforms.


2016-08-09: Version 5.4.380

        Performance and stability improvements on all platforms.


2016-08-09: Version 5.4.379

        Performance and stability improvements on all platforms.


2016-08-09: Version 5.4.378

        Performance and stability improvements on all platforms.


2016-08-08: Version 5.4.377

        Performance and stability improvements on all platforms.


2016-08-08: Version 5.4.376

        Performance and stability improvements on all platforms.


2016-08-08: Version 5.4.375

        Performance and stability improvements on all platforms.


2016-08-08: Version 5.4.374

        Performance and stability improvements on all platforms.


2016-08-08: Version 5.4.373

        Performance and stability improvements on all platforms.


2016-08-08: Version 5.4.372

        Performance and stability improvements on all platforms.


2016-08-08: Version 5.4.371

        Performance and stability improvements on all platforms.


2016-08-08: Version 5.4.370

        Performance and stability improvements on all platforms.


2016-08-08: Version 5.4.369

        Performance and stability improvements on all platforms.


2016-08-08: Version 5.4.368

        Performance and stability improvements on all platforms.


2016-08-08: Version 5.4.367

        Performance and stability improvements on all platforms.


2016-08-05: Version 5.4.366

        Performance and stability improvements on all platforms.


2016-08-05: Version 5.4.365

        Performance and stability improvements on all platforms.


2016-08-05: Version 5.4.364

        Performance and stability improvements on all platforms.


2016-08-05: Version 5.4.363

        Performance and stability improvements on all platforms.


2016-08-05: Version 5.4.362

        Performance and stability improvements on all platforms.


2016-08-05: Version 5.4.361

        Performance and stability improvements on all platforms.


2016-08-05: Version 5.4.360

        Performance and stability improvements on all platforms.


2016-08-05: Version 5.4.359

        Performance and stability improvements on all platforms.


2016-08-05: Version 5.4.358

        Performance and stability improvements on all platforms.


2016-08-05: Version 5.4.357

        Performance and stability improvements on all platforms.


2016-08-05: Version 5.4.356

        Performance and stability improvements on all platforms.


2016-08-04: Version 5.4.355

        Performance and stability improvements on all platforms.


2016-08-04: Version 5.4.354

        Performance and stability improvements on all platforms.


2016-08-04: Version 5.4.353

        Performance and stability improvements on all platforms.


2016-08-04: Version 5.4.352

        Performance and stability improvements on all platforms.


2016-08-04: Version 5.4.351

        Performance and stability improvements on all platforms.


2016-08-04: Version 5.4.350

        Performance and stability improvements on all platforms.


2016-08-04: Version 5.4.349

        Performance and stability improvements on all platforms.


2016-08-03: Version 5.4.348

        Performance and stability improvements on all platforms.


2016-08-03: Version 5.4.347

        Performance and stability improvements on all platforms.


2016-08-03: Version 5.4.346

        Performance and stability improvements on all platforms.


2016-08-03: Version 5.4.345

        Performance and stability improvements on all platforms.


2016-08-03: Version 5.4.344

        Performance and stability improvements on all platforms.


2016-08-03: Version 5.4.343

        Performance and stability improvements on all platforms.


2016-08-03: Version 5.4.342

        Performance and stability improvements on all platforms.


2016-08-03: Version 5.4.341

        Performance and stability improvements on all platforms.


2016-08-03: Version 5.4.340

        Performance and stability improvements on all platforms.


2016-08-03: Version 5.4.339

        Performance and stability improvements on all platforms.


2016-08-03: Version 5.4.338

        Performance and stability improvements on all platforms.


2016-08-03: Version 5.4.337

        Performance and stability improvements on all platforms.


2016-08-02: Version 5.4.336

        Performance and stability improvements on all platforms.


2016-08-02: Version 5.4.335

        Performance and stability improvements on all platforms.


2016-08-02: Version 5.4.334

        Performance and stability improvements on all platforms.


2016-08-02: Version 5.4.333

        Performance and stability improvements on all platforms.


2016-08-02: Version 5.4.332

        Performance and stability improvements on all platforms.


2016-08-02: Version 5.4.331

        Performance and stability improvements on all platforms.


2016-08-02: Version 5.4.330

        Performance and stability improvements on all platforms.


2016-08-02: Version 5.4.329

        Performance and stability improvements on all platforms.


2016-08-02: Version 5.4.328

        Performance and stability improvements on all platforms.


2016-08-02: Version 5.4.327

        Performance and stability improvements on all platforms.


2016-08-02: Version 5.4.326

        Performance and stability improvements on all platforms.


2016-08-02: Version 5.4.325

        Performance and stability improvements on all platforms.


2016-08-02: Version 5.4.324

        Performance and stability improvements on all platforms.


2016-08-02: Version 5.4.323

        Performance and stability improvements on all platforms.


2016-08-02: Version 5.4.322

        Performance and stability improvements on all platforms.


2016-08-02: Version 5.4.321

        Performance and stability improvements on all platforms.


2016-08-01: Version 5.4.320

        Performance and stability improvements on all platforms.


2016-08-01: Version 5.4.319

        Performance and stability improvements on all platforms.


2016-08-01: Version 5.4.318

        Performance and stability improvements on all platforms.


2016-08-01: Version 5.4.317

        Performance and stability improvements on all platforms.


2016-08-01: Version 5.4.316

        Performance and stability improvements on all platforms.


2016-08-01: Version 5.4.315

        Performance and stability improvements on all platforms.


2016-08-01: Version 5.4.314

        Performance and stability improvements on all platforms.


2016-08-01: Version 5.4.313

        Performance and stability improvements on all platforms.


2016-08-01: Version 5.4.312

        Performance and stability improvements on all platforms.


2016-08-01: Version 5.4.311

        Performance and stability improvements on all platforms.


2016-08-01: Version 5.4.310

        Performance and stability improvements on all platforms.


2016-08-01: Version 5.4.309

        Performance and stability improvements on all platforms.


2016-08-01: Version 5.4.308

        Performance and stability improvements on all platforms.


2016-08-01: Version 5.4.307

        Performance and stability improvements on all platforms.


2016-08-01: Version 5.4.306

        Performance and stability improvements on all platforms.


2016-07-31: Version 5.4.305

        Performance and stability improvements on all platforms.


2016-07-31: Version 5.4.304

        Performance and stability improvements on all platforms.


2016-07-30: Version 5.4.303

        Performance and stability improvements on all platforms.


2016-07-30: Version 5.4.302

        Performance and stability improvements on all platforms.


2016-07-29: Version 5.4.301

        Performance and stability improvements on all platforms.


2016-07-29: Version 5.4.300

        Performance and stability improvements on all platforms.


2016-07-29: Version 5.4.299

        Performance and stability improvements on all platforms.


2016-07-29: Version 5.4.298

        Performance and stability improvements on all platforms.


2016-07-29: Version 5.4.297

        Performance and stability improvements on all platforms.


2016-07-29: Version 5.4.296

        Performance and stability improvements on all platforms.


2016-07-29: Version 5.4.295

        Performance and stability improvements on all platforms.


2016-07-29: Version 5.4.294

        Performance and stability improvements on all platforms.


2016-07-29: Version 5.4.293

        Performance and stability improvements on all platforms.


2016-07-29: Version 5.4.292

        Performance and stability improvements on all platforms.


2016-07-29: Version 5.4.291

        Performance and stability improvements on all platforms.


2016-07-29: Version 5.4.290

        Performance and stability improvements on all platforms.


2016-07-29: Version 5.4.289

        Performance and stability improvements on all platforms.


2016-07-29: Version 5.4.288

        Performance and stability improvements on all platforms.


2016-07-28: Version 5.4.287

        Performance and stability improvements on all platforms.


2016-07-28: Version 5.4.286

        Performance and stability improvements on all platforms.


2016-07-28: Version 5.4.285

        Performance and stability improvements on all platforms.


2016-07-28: Version 5.4.284

        Performance and stability improvements on all platforms.


2016-07-28: Version 5.4.283

        Performance and stability improvements on all platforms.


2016-07-28: Version 5.4.282

        Performance and stability improvements on all platforms.


2016-07-28: Version 5.4.281

        Performance and stability improvements on all platforms.


2016-07-27: Version 5.4.280

        Performance and stability improvements on all platforms.


2016-07-27: Version 5.4.279

        Performance and stability improvements on all platforms.


2016-07-27: Version 5.4.278

        Performance and stability improvements on all platforms.


2016-07-27: Version 5.4.277

        Performance and stability improvements on all platforms.


2016-07-27: Version 5.4.276

        Performance and stability improvements on all platforms.


2016-07-27: Version 5.4.275

        Performance and stability improvements on all platforms.


2016-07-27: Version 5.4.274

        Performance and stability improvements on all platforms.


2016-07-27: Version 5.4.273

        Performance and stability improvements on all platforms.


2016-07-27: Version 5.4.272

        Performance and stability improvements on all platforms.


2016-07-27: Version 5.4.271

        Performance and stability improvements on all platforms.


2016-07-27: Version 5.4.270

        Performance and stability improvements on all platforms.


2016-07-27: Version 5.4.269

        Performance and stability improvements on all platforms.


2016-07-27: Version 5.4.268

        Performance and stability improvements on all platforms.


2016-07-27: Version 5.4.267

        Performance and stability improvements on all platforms.


2016-07-26: Version 5.4.266

        Performance and stability improvements on all platforms.


2016-07-26: Version 5.4.265

        Performance and stability improvements on all platforms.


2016-07-26: Version 5.4.264

        Performance and stability improvements on all platforms.


2016-07-26: Version 5.4.263

        Performance and stability improvements on all platforms.


2016-07-26: Version 5.4.262

        Performance and stability improvements on all platforms.


2016-07-26: Version 5.4.261

        Performance and stability improvements on all platforms.


2016-07-26: Version 5.4.260

        Performance and stability improvements on all platforms.


2016-07-26: Version 5.4.259

        Performance and stability improvements on all platforms.


2016-07-26: Version 5.4.258

        Performance and stability improvements on all platforms.


2016-07-26: Version 5.4.257

        Performance and stability improvements on all platforms.


2016-07-26: Version 5.4.256

        Performance and stability improvements on all platforms.


2016-07-26: Version 5.4.255

        Performance and stability improvements on all platforms.


2016-07-26: Version 5.4.254

        Performance and stability improvements on all platforms.


2016-07-26: Version 5.4.253

        Performance and stability improvements on all platforms.


2016-07-26: Version 5.4.252

        Performance and stability improvements on all platforms.


2016-07-26: Version 5.4.251

        Performance and stability improvements on all platforms.


2016-07-26: Version 5.4.250

        Performance and stability improvements on all platforms.


2016-07-25: Version 5.4.249

        Performance and stability improvements on all platforms.


2016-07-25: Version 5.4.248

        Performance and stability improvements on all platforms.


2016-07-25: Version 5.4.247

        Performance and stability improvements on all platforms.


2016-07-25: Version 5.4.246

        Performance and stability improvements on all platforms.


2016-07-25: Version 5.4.245

        Performance and stability improvements on all platforms.


2016-07-25: Version 5.4.244

        Performance and stability improvements on all platforms.


2016-07-25: Version 5.4.243

        Performance and stability improvements on all platforms.


2016-07-25: Version 5.4.242

        Performance and stability improvements on all platforms.


2016-07-25: Version 5.4.241

        Performance and stability improvements on all platforms.


2016-07-25: Version 5.4.240

        Performance and stability improvements on all platforms.


2016-07-25: Version 5.4.239

        Performance and stability improvements on all platforms.


2016-07-25: Version 5.4.238

        Performance and stability improvements on all platforms.


2016-07-25: Version 5.4.237

        Performance and stability improvements on all platforms.


2016-07-25: Version 5.4.236

        Performance and stability improvements on all platforms.


2016-07-25: Version 5.4.235

        Performance and stability improvements on all platforms.


2016-07-24: Version 5.4.234

        Performance and stability improvements on all platforms.


2016-07-24: Version 5.4.233

        Performance and stability improvements on all platforms.


2016-07-23: Version 5.4.232

        Performance and stability improvements on all platforms.


2016-07-22: Version 5.4.231

        Performance and stability improvements on all platforms.


2016-07-22: Version 5.4.230

        Performance and stability improvements on all platforms.


2016-07-22: Version 5.4.229

        Performance and stability improvements on all platforms.


2016-07-22: Version 5.4.228

        Performance and stability improvements on all platforms.


2016-07-22: Version 5.4.227

        Performance and stability improvements on all platforms.


2016-07-22: Version 5.4.226

        Performance and stability improvements on all platforms.


2016-07-22: Version 5.4.225

        Performance and stability improvements on all platforms.


2016-07-22: Version 5.4.224

        Performance and stability improvements on all platforms.


2016-07-22: Version 5.4.223

        Performance and stability improvements on all platforms.


2016-07-22: Version 5.4.222

        Performance and stability improvements on all platforms.


2016-07-22: Version 5.4.221

        Performance and stability improvements on all platforms.


2016-07-22: Version 5.4.220

        Performance and stability improvements on all platforms.


2016-07-22: Version 5.4.219

        Performance and stability improvements on all platforms.


2016-07-22: Version 5.4.218

        Performance and stability improvements on all platforms.


2016-07-21: Version 5.4.217

        Performance and stability improvements on all platforms.


2016-07-21: Version 5.4.216

        Performance and stability improvements on all platforms.


2016-07-21: Version 5.4.215

        Performance and stability improvements on all platforms.


2016-07-21: Version 5.4.214

        Performance and stability improvements on all platforms.


2016-07-21: Version 5.4.213

        Performance and stability improvements on all platforms.


2016-07-21: Version 5.4.212

        Performance and stability improvements on all platforms.


2016-07-21: Version 5.4.211

        Performance and stability improvements on all platforms.


2016-07-21: Version 5.4.210

        Performance and stability improvements on all platforms.


2016-07-21: Version 5.4.209

        Performance and stability improvements on all platforms.


2016-07-21: Version 5.4.208

        Performance and stability improvements on all platforms.


2016-07-21: Version 5.4.207

        Performance and stability improvements on all platforms.


2016-07-21: Version 5.4.206

        Performance and stability improvements on all platforms.


2016-07-21: Version 5.4.205

        Performance and stability improvements on all platforms.


2016-07-21: Version 5.4.204

        Performance and stability improvements on all platforms.


2016-07-21: Version 5.4.203

        Performance and stability improvements on all platforms.


2016-07-21: Version 5.4.202

        Performance and stability improvements on all platforms.


2016-07-21: Version 5.4.201

        Performance and stability improvements on all platforms.


2016-07-20: Version 5.4.200

        Performance and stability improvements on all platforms.


2016-07-20: Version 5.4.199

        Performance and stability improvements on all platforms.


2016-07-20: Version 5.4.198

        Performance and stability improvements on all platforms.


2016-07-20: Version 5.4.197

        Performance and stability improvements on all platforms.


2016-07-20: Version 5.4.196

        Performance and stability improvements on all platforms.


2016-07-20: Version 5.4.195

        Performance and stability improvements on all platforms.


2016-07-20: Version 5.4.194

        Performance and stability improvements on all platforms.


2016-07-20: Version 5.4.193

        Performance and stability improvements on all platforms.


2016-07-20: Version 5.4.192

        Performance and stability improvements on all platforms.


2016-07-20: Version 5.4.191

        Performance and stability improvements on all platforms.


2016-07-19: Version 5.4.190

        Performance and stability improvements on all platforms.


2016-07-19: Version 5.4.189

        Performance and stability improvements on all platforms.


2016-07-18: Version 5.4.188

        Performance and stability improvements on all platforms.


2016-07-18: Version 5.4.187

        Performance and stability improvements on all platforms.


2016-07-18: Version 5.4.186

        Performance and stability improvements on all platforms.


2016-07-18: Version 5.4.185

        Performance and stability improvements on all platforms.


2016-07-18: Version 5.4.184

        Performance and stability improvements on all platforms.


2016-07-18: Version 5.4.183

        Performance and stability improvements on all platforms.


2016-07-18: Version 5.4.182

        Performance and stability improvements on all platforms.


2016-07-18: Version 5.4.181

        Performance and stability improvements on all platforms.


2016-07-18: Version 5.4.180

        Performance and stability improvements on all platforms.


2016-07-18: Version 5.4.179

        Performance and stability improvements on all platforms.


2016-07-18: Version 5.4.178

        Performance and stability improvements on all platforms.


2016-07-18: Version 5.4.177

        Performance and stability improvements on all platforms.


2016-07-18: Version 5.4.176

        Performance and stability improvements on all platforms.


2016-07-18: Version 5.4.175

        Performance and stability improvements on all platforms.


2016-07-17: Version 5.4.174

        Performance and stability improvements on all platforms.


2016-07-17: Version 5.4.173

        Performance and stability improvements on all platforms.


2016-07-17: Version 5.4.172

        Performance and stability improvements on all platforms.


2016-07-16: Version 5.4.171

        Performance and stability improvements on all platforms.


2016-07-16: Version 5.4.170

        Performance and stability improvements on all platforms.


2016-07-16: Version 5.4.169

        Performance and stability improvements on all platforms.


2016-07-15: Version 5.4.168

        Performance and stability improvements on all platforms.


2016-07-15: Version 5.4.167

        Performance and stability improvements on all platforms.


2016-07-15: Version 5.4.166

        Performance and stability improvements on all platforms.


2016-07-15: Version 5.4.165

        Performance and stability improvements on all platforms.


2016-07-15: Version 5.4.164

        Performance and stability improvements on all platforms.


2016-07-15: Version 5.4.163

        Performance and stability improvements on all platforms.


2016-07-15: Version 5.4.162

        Performance and stability improvements on all platforms.


2016-07-15: Version 5.4.161

        Performance and stability improvements on all platforms.


2016-07-15: Version 5.4.160

        Performance and stability improvements on all platforms.


2016-07-15: Version 5.4.159

        Performance and stability improvements on all platforms.


2016-07-15: Version 5.4.158

        Performance and stability improvements on all platforms.


2016-07-15: Version 5.4.157

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.156

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.155

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.154

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.153

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.152

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.151

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.150

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.149

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.148

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.147

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.146

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.145

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.144

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.143

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.142

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.141

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.140

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.139

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.138

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.137

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.136

        Performance and stability improvements on all platforms.


2016-07-14: Version 5.4.135

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.134

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.133

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.132

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.131

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.130

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.129

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.128

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.127

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.126

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.125

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.124

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.123

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.122

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.121

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.120

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.119

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.118

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.117

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.116

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.115

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.114

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.113

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.112

        Performance and stability improvements on all platforms.


2016-07-13: Version 5.4.111

        Performance and stability improvements on all platforms.


2016-07-12: Version 5.4.110

        Performance and stability improvements on all platforms.


2016-07-12: Version 5.4.109

        Performance and stability improvements on all platforms.


2016-07-12: Version 5.4.108

        Performance and stability improvements on all platforms.


2016-07-12: Version 5.4.107

        Performance and stability improvements on all platforms.


2016-07-12: Version 5.4.106

        Performance and stability improvements on all platforms.


2016-07-12: Version 5.4.105

        Performance and stability improvements on all platforms.


2016-07-12: Version 5.4.104

        Performance and stability improvements on all platforms.


2016-07-12: Version 5.4.103

        Performance and stability improvements on all platforms.


2016-07-12: Version 5.4.102

        Performance and stability improvements on all platforms.


2016-07-12: Version 5.4.101

        Performance and stability improvements on all platforms.


2016-07-12: Version 5.4.100

        Performance and stability improvements on all platforms.


2016-07-12: Version 5.4.99

        Performance and stability improvements on all platforms.


2016-07-12: Version 5.4.98

        Performance and stability improvements on all platforms.


2016-07-12: Version 5.4.97

        Performance and stability improvements on all platforms.


2016-07-12: Version 5.4.96

        Performance and stability improvements on all platforms.


2016-07-12: Version 5.4.95

        Performance and stability improvements on all platforms.


2016-07-12: Version 5.4.94

        Performance and stability improvements on all platforms.


2016-07-12: Version 5.4.93

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.92

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.91

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.90

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.89

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.88

        Recognize HTMLCloseComment after multiline comment (issue 5142).

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.87

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.86

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.85

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.84

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.83

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.82

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.81

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.80

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.79

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.78

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.77

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.76

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.75

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.74

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.73

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.72

        Performance and stability improvements on all platforms.


2016-07-11: Version 5.4.71

        Performance and stability improvements on all platforms.


2016-07-08: Version 5.4.70

        Performance and stability improvements on all platforms.


2016-07-08: Version 5.4.69

        Performance and stability improvements on all platforms.


2016-07-08: Version 5.4.68

        Performance and stability improvements on all platforms.


2016-07-08: Version 5.4.67

        Performance and stability improvements on all platforms.


2016-07-08: Version 5.4.66

        Performance and stability improvements on all platforms.


2016-07-08: Version 5.4.65

        Performance and stability improvements on all platforms.


2016-07-08: Version 5.4.64

        Performance and stability improvements on all platforms.


2016-07-08: Version 5.4.63

        Performance and stability improvements on all platforms.


2016-07-08: Version 5.4.62

        Performance and stability improvements on all platforms.


2016-07-08: Version 5.4.61

        Performance and stability improvements on all platforms.


2016-07-08: Version 5.4.60

        Performance and stability improvements on all platforms.


2016-07-07: Version 5.4.59

        Performance and stability improvements on all platforms.


2016-07-07: Version 5.4.58

        Performance and stability improvements on all platforms.


2016-07-07: Version 5.4.57

        Performance and stability improvements on all platforms.


2016-07-07: Version 5.4.56

        Performance and stability improvements on all platforms.


2016-07-07: Version 5.4.55

        Performance and stability improvements on all platforms.


2016-07-07: Version 5.4.54

        Performance and stability improvements on all platforms.


2016-07-07: Version 5.4.53

        Performance and stability improvements on all platforms.


2016-07-07: Version 5.4.52

        Performance and stability improvements on all platforms.


2016-07-07: Version 5.4.51

        Performance and stability improvements on all platforms.


2016-07-07: Version 5.4.50

        Performance and stability improvements on all platforms.


2016-07-07: Version 5.4.49

        Performance and stability improvements on all platforms.


2016-07-07: Version 5.4.48

        Performance and stability improvements on all platforms.


2016-07-07: Version 5.4.47

        Performance and stability improvements on all platforms.


2016-07-07: Version 5.4.46

        Performance and stability improvements on all platforms.


2016-07-06: Version 5.4.45

        Performance and stability improvements on all platforms.


2016-07-06: Version 5.4.44

        Performance and stability improvements on all platforms.


2016-07-06: Version 5.4.43

        Performance and stability improvements on all platforms.


2016-07-06: Version 5.4.42

        Performance and stability improvements on all platforms.


2016-07-06: Version 5.4.41

        Performance and stability improvements on all platforms.


2016-07-06: Version 5.4.40

        Performance and stability improvements on all platforms.


2016-07-06: Version 5.4.39

        Performance and stability improvements on all platforms.


2016-07-06: Version 5.4.38

        Performance and stability improvements on all platforms.


2016-07-06: Version 5.4.37

        Performance and stability improvements on all platforms.


2016-07-06: Version 5.4.36

        Performance and stability improvements on all platforms.


2016-07-06: Version 5.4.35

        Performance and stability improvements on all platforms.


2016-07-06: Version 5.4.34

        Performance and stability improvements on all platforms.


2016-07-06: Version 5.4.33

        Performance and stability improvements on all platforms.


2016-07-06: Version 5.4.32

        Performance and stability improvements on all platforms.


2016-07-06: Version 5.4.31

        Performance and stability improvements on all platforms.


2016-07-05: Version 5.4.30

        Performance and stability improvements on all platforms.


2016-07-05: Version 5.4.29

        Performance and stability improvements on all platforms.


2016-07-05: Version 5.4.28

        Performance and stability improvements on all platforms.


2016-07-05: Version 5.4.27

        Performance and stability improvements on all platforms.


2016-07-05: Version 5.4.26

        Performance and stability improvements on all platforms.


2016-07-05: Version 5.4.25

        Performance and stability improvements on all platforms.


2016-07-05: Version 5.4.24

        Performance and stability improvements on all platforms.


2016-07-05: Version 5.4.23

        Performance and stability improvements on all platforms.


2016-07-05: Version 5.4.22

        Performance and stability improvements on all platforms.


2016-07-04: Version 5.4.21

        Performance and stability improvements on all platforms.


2016-07-04: Version 5.4.20

        Performance and stability improvements on all platforms.


2016-07-04: Version 5.4.19

        Performance and stability improvements on all platforms.


2016-07-04: Version 5.4.18

        Performance and stability improvements on all platforms.


2016-07-04: Version 5.4.17

        Performance and stability improvements on all platforms.


2016-07-04: Version 5.4.16

        Performance and stability improvements on all platforms.


2016-07-04: Version 5.4.15

        Performance and stability improvements on all platforms.


2016-07-04: Version 5.4.14

        Performance and stability improvements on all platforms.


2016-07-04: Version 5.4.13

        Performance and stability improvements on all platforms.


2016-07-04: Version 5.4.12

        Performance and stability improvements on all platforms.


2016-07-04: Version 5.4.11

        Performance and stability improvements on all platforms.


2016-07-04: Version 5.4.10

        Performance and stability improvements on all platforms.


2016-07-04: Version 5.4.9

        Performance and stability improvements on all platforms.


2016-07-04: Version 5.4.8

        Performance and stability improvements on all platforms.


2016-07-03: Version 5.4.7

        Performance and stability improvements on all platforms.


2016-07-03: Version 5.4.6

        Performance and stability improvements on all platforms.


2016-07-03: Version 5.4.5

        Performance and stability improvements on all platforms.


2016-07-03: Version 5.4.4

        Performance and stability improvements on all platforms.


2016-07-01: Version 5.4.3

        Performance and stability improvements on all platforms.


2016-07-01: Version 5.4.2

        Performance and stability improvements on all platforms.


2016-07-01: Version 5.4.1

        [stubs] GetPropertyStub added (issue 4911).

        [wasm] Fix receiver conversion for WASM->JS calls (Chromium issue
        624713).

        Performance and stability improvements on all platforms.


2016-06-30: Version 5.3.351

        Performance and stability improvements on all platforms.


2016-06-30: Version 5.3.350

        Performance and stability improvements on all platforms.


2016-06-29: Version 5.3.349

        Performance and stability improvements on all platforms.


2016-06-29: Version 5.3.348

        Performance and stability improvements on all platforms.


2016-06-29: Version 5.3.347

        Performance and stability improvements on all platforms.


2016-06-29: Version 5.3.346

        Performance and stability improvements on all platforms.


2016-06-29: Version 5.3.345

        Performance and stability improvements on all platforms.


2016-06-29: Version 5.3.344

        Performance and stability improvements on all platforms.


2016-06-29: Version 5.3.343

        Performance and stability improvements on all platforms.


2016-06-29: Version 5.3.342

        Performance and stability improvements on all platforms.


2016-06-29: Version 5.3.341

        Performance and stability improvements on all platforms.


2016-06-29: Version 5.3.340

        Performance and stability improvements on all platforms.


2016-06-29: Version 5.3.339

        Performance and stability improvements on all platforms.


2016-06-29: Version 5.3.338

        Performance and stability improvements on all platforms.


2016-06-29: Version 5.3.337

        Performance and stability improvements on all platforms.


2016-06-29: Version 5.3.336

        Performance and stability improvements on all platforms.


2016-06-29: Version 5.3.335

        Allow trailing commas in function parameter lists (issue 5051).

        Performance and stability improvements on all platforms.


2016-06-28: Version 5.3.334

        Performance and stability improvements on all platforms.


2016-06-28: Version 5.3.333

        Performance and stability improvements on all platforms.


2016-06-27: Version 5.3.332

        Performance and stability improvements on all platforms.


2016-06-27: Version 5.3.331

        Performance and stability improvements on all platforms.


2016-06-27: Version 5.3.330

        [stubs] Implementing CodeStubAssembler::GetOwnProperty() (issue 4911).

        Performance and stability improvements on all platforms.


2016-06-27: Version 5.3.329

        Performance and stability improvements on all platforms.


2016-06-27: Version 5.3.328

        Performance and stability improvements on all platforms.


2016-06-27: Version 5.3.327

        Performance and stability improvements on all platforms.


2016-06-27: Version 5.3.326

        Performance and stability improvements on all platforms.


2016-06-27: Version 5.3.325

        Performance and stability improvements on all platforms.


2016-06-26: Version 5.3.324

        Performance and stability improvements on all platforms.


2016-06-26: Version 5.3.323

        Performance and stability improvements on all platforms.


2016-06-26: Version 5.3.322

        Performance and stability improvements on all platforms.


2016-06-26: Version 5.3.321

        Performance and stability improvements on all platforms.


2016-06-24: Version 5.3.320

        Performance and stability improvements on all platforms.


2016-06-24: Version 5.3.319

        Performance and stability improvements on all platforms.


2016-06-24: Version 5.3.318

        Performance and stability improvements on all platforms.


2016-06-24: Version 5.3.317

        Performance and stability improvements on all platforms.


2016-06-24: Version 5.3.316

        Performance and stability improvements on all platforms.


2016-06-23: Version 5.3.315

        Performance and stability improvements on all platforms.


2016-06-23: Version 5.3.314

        Performance and stability improvements on all platforms.


2016-06-23: Version 5.3.313

        Performance and stability improvements on all platforms.


2016-06-23: Version 5.3.312

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.311

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.310

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.309

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.308

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.307

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.306

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.305

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.304

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.303

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.302

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.301

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.300

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.299

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.298

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.297

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.296

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.295

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.294

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.293

        Performance and stability improvements on all platforms.


2016-06-22: Version 5.3.292

        Performance and stability improvements on all platforms.


2016-06-21: Version 5.3.291

        Performance and stability improvements on all platforms.


2016-06-21: Version 5.3.290

        Performance and stability improvements on all platforms.


2016-06-21: Version 5.3.289

        Reland: change most cases of variable redeclaration from TypeError to
        SyntaxError (issue 4955).

        Performance and stability improvements on all platforms.


2016-06-21: Version 5.3.288

        Performance and stability improvements on all platforms.


2016-06-21: Version 5.3.287

        Performance and stability improvements on all platforms.


2016-06-21: Version 5.3.286

        Performance and stability improvements on all platforms.


2016-06-21: Version 5.3.285

        Performance and stability improvements on all platforms.


2016-06-21: Version 5.3.284

        Performance and stability improvements on all platforms.


2016-06-21: Version 5.3.283

        Performance and stability improvements on all platforms.


2016-06-21: Version 5.3.282

        Performance and stability improvements on all platforms.


2016-06-21: Version 5.3.281

        Performance and stability improvements on all platforms.


2016-06-21: Version 5.3.280

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.279

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.278

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.277

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.276

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.275

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.274

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.273

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.272

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.271

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.270

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.269

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.268

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.267

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.266

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.265

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.264

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.263

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.262

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.261

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.260

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.259

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.258

        Performance and stability improvements on all platforms.


2016-06-20: Version 5.3.257

        Performance and stability improvements on all platforms.


2016-06-17: Version 5.3.256

        Performance and stability improvements on all platforms.


2016-06-17: Version 5.3.255

        Performance and stability improvements on all platforms.


2016-06-17: Version 5.3.254

        Performance and stability improvements on all platforms.


2016-06-17: Version 5.3.253

        Performance and stability improvements on all platforms.


2016-06-17: Version 5.3.252

        Performance and stability improvements on all platforms.


2016-06-17: Version 5.3.251

        Performance and stability improvements on all platforms.


2016-06-17: Version 5.3.250

        Performance and stability improvements on all platforms.


2016-06-16: Version 5.3.249

        Performance and stability improvements on all platforms.


2016-06-16: Version 5.3.248

        Performance and stability improvements on all platforms.


2016-06-16: Version 5.3.247

        Performance and stability improvements on all platforms.


2016-06-16: Version 5.3.246

        [es8] Unstage syntactic tail calls (issue 4915).

        [ic] LoadICState cleanup (Chromium issue 576312).

        Performance and stability improvements on all platforms.


2016-06-16: Version 5.3.245

        Performance and stability improvements on all platforms.


2016-06-16: Version 5.3.244

        [ic] Remove --new-load-global-ic switch (Chromium issue 576312).

        Performance and stability improvements on all platforms.


2016-06-16: Version 5.3.243

        Performance and stability improvements on all platforms.


2016-06-16: Version 5.3.242

        Performance and stability improvements on all platforms.


2016-06-16: Version 5.3.241

        Performance and stability improvements on all platforms.


2016-06-15: Version 5.3.240

        Performance and stability improvements on all platforms.


2016-06-15: Version 5.3.239

        Performance and stability improvements on all platforms.


2016-06-15: Version 5.3.238

        Performance and stability improvements on all platforms.


2016-06-15: Version 5.3.237

        Performance and stability improvements on all platforms.


2016-06-15: Version 5.3.236

        Performance and stability improvements on all platforms.


2016-06-15: Version 5.3.235

        [ic] Enable new LoadGlobalIC machinery (Chromium issue 576312).

        [ic] LoadGlobalIC is now able to cache PropertyCells in the feedback
        vector (Chromium issue 576312).

        Performance and stability improvements on all platforms.


2016-06-15: Version 5.3.234

        Performance and stability improvements on all platforms.


2016-06-15: Version 5.3.233

        Performance and stability improvements on all platforms.


2016-06-15: Version 5.3.232

        Performance and stability improvements on all platforms.


2016-06-15: Version 5.3.231

        Performance and stability improvements on all platforms.


2016-06-15: Version 5.3.230

        Performance and stability improvements on all platforms.


2016-06-14: Version 5.3.229

        [stubs] Ensure that StoreTransitionStub does not bailout after the
        properties backing store is enlarged (Chromium issue 601420).

        Performance and stability improvements on all platforms.


2016-06-14: Version 5.3.228

        [ic] Split LoadIC into LoadGlobalIC and LoadIC (Chromium issue 576312).

        Performance and stability improvements on all platforms.


2016-06-14: Version 5.3.227

        Performance and stability improvements on all platforms.


2016-06-14: Version 5.3.226

        Performance and stability improvements on all platforms.


2016-06-13: Version 5.3.225

        Performance and stability improvements on all platforms.


2016-06-13: Version 5.3.224

        Performance and stability improvements on all platforms.


2016-06-13: Version 5.3.223

        Performance and stability improvements on all platforms.


2016-06-13: Version 5.3.222

        change most cases of variable redeclaration from TypeError to
        SyntaxError (issue 4955).

        Performance and stability improvements on all platforms.


2016-06-13: Version 5.3.221

        Performance and stability improvements on all platforms.


2016-06-13: Version 5.3.220

        Performance and stability improvements on all platforms.


2016-06-13: Version 5.3.219

        Performance and stability improvements on all platforms.


2016-06-13: Version 5.3.218

        Performance and stability improvements on all platforms.


2016-06-13: Version 5.3.217

        Performance and stability improvements on all platforms.


2016-06-13: Version 5.3.216

        Performance and stability improvements on all platforms.


2016-06-12: Version 5.3.215

        Performance and stability improvements on all platforms.


2016-06-12: Version 5.3.214

        Performance and stability improvements on all platforms.


2016-06-10: Version 5.3.213

        Performance and stability improvements on all platforms.


2016-06-10: Version 5.3.212

        Performance and stability improvements on all platforms.


2016-06-10: Version 5.3.211

        Performance and stability improvements on all platforms.


2016-06-10: Version 5.3.210

        Performance and stability improvements on all platforms.


2016-06-10: Version 5.3.209

        Performance and stability improvements on all platforms.


2016-06-10: Version 5.3.208

        Performance and stability improvements on all platforms.


2016-06-10: Version 5.3.207

        Performance and stability improvements on all platforms.


2016-06-10: Version 5.3.206

        Performance and stability improvements on all platforms.


2016-06-10: Version 5.3.205

        Performance and stability improvements on all platforms.


2016-06-10: Version 5.3.204

        Performance and stability improvements on all platforms.


2016-06-10: Version 5.3.203

        Performance and stability improvements on all platforms.


2016-06-10: Version 5.3.202

        Performance and stability improvements on all platforms.


2016-06-10: Version 5.3.201

        Performance and stability improvements on all platforms.


2016-06-09: Version 5.3.200

        Performance and stability improvements on all platforms.


2016-06-09: Version 5.3.199

        Performance and stability improvements on all platforms.


2016-06-09: Version 5.3.198

        Performance and stability improvements on all platforms.


2016-06-09: Version 5.3.197

        Performance and stability improvements on all platforms.


2016-06-09: Version 5.3.196

        [ic] [stubs] Remove InlineCacheState field from the code flags (Chromium
        issue 618701).

        Performance and stability improvements on all platforms.


2016-06-09: Version 5.3.195

        Performance and stability improvements on all platforms.


2016-06-09: Version 5.3.194

        Performance and stability improvements on all platforms.


2016-06-09: Version 5.3.193

        Performance and stability improvements on all platforms.


2016-06-09: Version 5.3.192

        [build] Use icu data file by default (Chromium issue 616033).

        Performance and stability improvements on all platforms.


2016-06-09: Version 5.3.191

        Performance and stability improvements on all platforms.


2016-06-09: Version 5.3.190

        Performance and stability improvements on all platforms.


2016-06-09: Version 5.3.189

        Performance and stability improvements on all platforms.


2016-06-09: Version 5.3.188

        Performance and stability improvements on all platforms.


2016-06-08: Version 5.3.187

        Performance and stability improvements on all platforms.


2016-06-08: Version 5.3.186

        Performance and stability improvements on all platforms.


2016-06-08: Version 5.3.185

        Performance and stability improvements on all platforms.


2016-06-08: Version 5.3.184

        Performance and stability improvements on all platforms.


2016-06-08: Version 5.3.183

        [build] Use sysroot for linux compilation with clang (Chromium issues
        474921, 616032).

        Performance and stability improvements on all platforms.


2016-06-08: Version 5.3.182

        Performance and stability improvements on all platforms.


2016-06-08: Version 5.3.181

        Performance and stability improvements on all platforms.


2016-06-08: Version 5.3.180

        Performance and stability improvements on all platforms.


2016-06-08: Version 5.3.179

        Performance and stability improvements on all platforms.


2016-06-08: Version 5.3.178

        [icu] Support loading data file from default location (Chromium issue
        616033).

        Performance and stability improvements on all platforms.


2016-06-08: Version 5.3.177

        Performance and stability improvements on all platforms.


2016-06-08: Version 5.3.176

        Performance and stability improvements on all platforms.


2016-06-08: Version 5.3.175

        Performance and stability improvements on all platforms.


2016-06-08: Version 5.3.174

        Performance and stability improvements on all platforms.


2016-06-08: Version 5.3.173

        Performance and stability improvements on all platforms.


2016-06-08: Version 5.3.172

        Performance and stability improvements on all platforms.


2016-06-08: Version 5.3.171

        Performance and stability improvements on all platforms.


2016-06-07: Version 5.3.170

        Performance and stability improvements on all platforms.


2016-06-07: Version 5.3.169

        Performance and stability improvements on all platforms.


2016-06-07: Version 5.3.168

        Performance and stability improvements on all platforms.


2016-06-07: Version 5.3.167

        Performance and stability improvements on all platforms.


2016-06-07: Version 5.3.166

        Performance and stability improvements on all platforms.


2016-06-07: Version 5.3.165

        Performance and stability improvements on all platforms.


2016-06-07: Version 5.3.164

        Performance and stability improvements on all platforms.


2016-06-07: Version 5.3.163

        Performance and stability improvements on all platforms.


2016-06-07: Version 5.3.162

        Performance and stability improvements on all platforms.


2016-06-07: Version 5.3.161

        Performance and stability improvements on all platforms.


2016-06-07: Version 5.3.160

        [runtime] Don't use ElementsTransitionAndStoreStub for transitions that
        involve instance rewriting (issue 5009, Chromium issue 617524).

        Performance and stability improvements on all platforms.


2016-06-07: Version 5.3.159

        Performance and stability improvements on all platforms.


2016-06-07: Version 5.3.158

        Performance and stability improvements on all platforms.


2016-06-07: Version 5.3.157

        Performance and stability improvements on all platforms.


2016-06-07: Version 5.3.156

        Performance and stability improvements on all platforms.


2016-06-07: Version 5.3.155

        Performance and stability improvements on all platforms.


2016-06-07: Version 5.3.154

        Performance and stability improvements on all platforms.


2016-06-06: Version 5.3.153

        Performance and stability improvements on all platforms.


2016-06-06: Version 5.3.152

        Performance and stability improvements on all platforms.


2016-06-06: Version 5.3.151

        Performance and stability improvements on all platforms.


2016-06-06: Version 5.3.150

        Performance and stability improvements on all platforms.


2016-06-06: Version 5.3.149

        Performance and stability improvements on all platforms.


2016-06-06: Version 5.3.148

        Performance and stability improvements on all platforms.


2016-06-06: Version 5.3.147

        Performance and stability improvements on all platforms.


2016-06-06: Version 5.3.146

        Performance and stability improvements on all platforms.


2016-06-06: Version 5.3.145

        Performance and stability improvements on all platforms.


2016-06-06: Version 5.3.144

        Performance and stability improvements on all platforms.


2016-06-06: Version 5.3.143

        Performance and stability improvements on all platforms.


2016-06-06: Version 5.3.142

        Performance and stability improvements on all platforms.


2016-06-06: Version 5.3.141

        Performance and stability improvements on all platforms.


2016-06-06: Version 5.3.140

        [build] Use sysroot for linux compilation with clang (Chromium issues
        474921, 616032).

        Performance and stability improvements on all platforms.


2016-06-05: Version 5.3.139

        Performance and stability improvements on all platforms.


2016-06-04: Version 5.3.138

        Performance and stability improvements on all platforms.


2016-06-03: Version 5.3.137

        Performance and stability improvements on all platforms.


2016-06-03: Version 5.3.136

        Performance and stability improvements on all platforms.


2016-06-03: Version 5.3.135

        Performance and stability improvements on all platforms.


2016-06-03: Version 5.3.134

        Performance and stability improvements on all platforms.


2016-06-03: Version 5.3.133

        Performance and stability improvements on all platforms.


2016-06-03: Version 5.3.132

        Performance and stability improvements on all platforms.


2016-06-03: Version 5.3.131

        Performance and stability improvements on all platforms.


2016-06-03: Version 5.3.130

        Performance and stability improvements on all platforms.


2016-06-03: Version 5.3.129

        Performance and stability improvements on all platforms.


2016-06-03: Version 5.3.128

        Performance and stability improvements on all platforms.


2016-06-03: Version 5.3.127

        Performance and stability improvements on all platforms.


2016-06-03: Version 5.3.126

        Performance and stability improvements on all platforms.


2016-06-03: Version 5.3.125

        Performance and stability improvements on all platforms.


2016-06-03: Version 5.3.124

        Performance and stability improvements on all platforms.


2016-06-03: Version 5.3.123

        Performance and stability improvements on all platforms.


2016-06-03: Version 5.3.122

        Performance and stability improvements on all platforms.


2016-06-03: Version 5.3.121

        Performance and stability improvements on all platforms.


2016-06-02: Version 5.3.120

        Performance and stability improvements on all platforms.


2016-06-02: Version 5.3.119

        Performance and stability improvements on all platforms.


2016-06-02: Version 5.3.118

        Performance and stability improvements on all platforms.


2016-06-02: Version 5.3.117

        Performance and stability improvements on all platforms.


2016-06-02: Version 5.3.116

        Performance and stability improvements on all platforms.


2016-06-02: Version 5.3.115

        Performance and stability improvements on all platforms.


2016-06-02: Version 5.3.114

        [stubs] Extend HasProperty stub with dictionary-mode, string wrapper and
        double-elements objects support (issue 2743).

        Performance and stability improvements on all platforms.


2016-06-02: Version 5.3.113

        Performance and stability improvements on all platforms.


2016-06-02: Version 5.3.112

        Performance and stability improvements on all platforms.


2016-06-02: Version 5.3.111

        Performance and stability improvements on all platforms.


2016-06-02: Version 5.3.110

        Performance and stability improvements on all platforms.


2016-06-02: Version 5.3.109

        Performance and stability improvements on all platforms.


2016-06-02: Version 5.3.108

        Performance and stability improvements on all platforms.


2016-06-02: Version 5.3.107

        Performance and stability improvements on all platforms.


2016-06-01: Version 5.3.106

        Performance and stability improvements on all platforms.


2016-06-01: Version 5.3.105

        Extend HasProperty stub with dictionary-mode, string wrapper and double-
        elements objects support (issue 2743).

        Performance and stability improvements on all platforms.


2016-06-01: Version 5.3.104

        Performance and stability improvements on all platforms.


2016-06-01: Version 5.3.103

        Performance and stability improvements on all platforms.


2016-06-01: Version 5.3.102

        Performance and stability improvements on all platforms.


2016-06-01: Version 5.3.101

        [runtime] Ensure that all elements kind transitions are chained to the
        root map (issue 5009).

        Performance and stability improvements on all platforms.


2016-06-01: Version 5.3.100

        Performance and stability improvements on all platforms.


2016-06-01: Version 5.3.99

        Performance and stability improvements on all platforms.


2016-06-01: Version 5.3.98

        Performance and stability improvements on all platforms.


2016-06-01: Version 5.3.97

        Performance and stability improvements on all platforms.


2016-06-01: Version 5.3.96

        Performance and stability improvements on all platforms.


2016-06-01: Version 5.3.95

        Performance and stability improvements on all platforms.


2016-06-01: Version 5.3.94

        Performance and stability improvements on all platforms.


2016-06-01: Version 5.3.93

        Performance and stability improvements on all platforms.


2016-05-31: Version 5.3.92

        Performance and stability improvements on all platforms.


2016-05-31: Version 5.3.91

        Performance and stability improvements on all platforms.


2016-05-31: Version 5.3.90

        Performance and stability improvements on all platforms.


2016-05-31: Version 5.3.89

        Performance and stability improvements on all platforms.


2016-05-31: Version 5.3.88

        Performance and stability improvements on all platforms.


2016-05-31: Version 5.3.87

        Performance and stability improvements on all platforms.


2016-05-31: Version 5.3.86

        Performance and stability improvements on all platforms.


2016-05-31: Version 5.3.85

        Performance and stability improvements on all platforms.


2016-05-31: Version 5.3.84

        Performance and stability improvements on all platforms.


2016-05-31: Version 5.3.83

        Performance and stability improvements on all platforms.


2016-05-30: Version 5.3.82

        Performance and stability improvements on all platforms.


2016-05-30: Version 5.3.81

        [api] Remove deprectated memory allocation callback API (issue 4813).

        Performance and stability improvements on all platforms.


2016-05-30: Version 5.3.80

        Performance and stability improvements on all platforms.


2016-05-30: Version 5.3.79

        Performance and stability improvements on all platforms.


2016-05-30: Version 5.3.78

        Performance and stability improvements on all platforms.


2016-05-30: Version 5.3.77

        Performance and stability improvements on all platforms.


2016-05-30: Version 5.3.76

        Performance and stability improvements on all platforms.


2016-05-30: Version 5.3.75

        Performance and stability improvements on all platforms.


2016-05-30: Version 5.3.74

        Performance and stability improvements on all platforms.


2016-05-30: Version 5.3.73

        Performance and stability improvements on all platforms.


2016-05-30: Version 5.3.72

        Performance and stability improvements on all platforms.


2016-05-30: Version 5.3.71

        Performance and stability improvements on all platforms.


2016-05-30: Version 5.3.70

        Performance and stability improvements on all platforms.


2016-05-30: Version 5.3.69

        Performance and stability improvements on all platforms.


2016-05-30: Version 5.3.68

        Performance and stability improvements on all platforms.


2016-05-29: Version 5.3.67

        Performance and stability improvements on all platforms.


2016-05-28: Version 5.3.66

        Performance and stability improvements on all platforms.


2016-05-28: Version 5.3.65

        Performance and stability improvements on all platforms.


2016-05-27: Version 5.3.64

        Performance and stability improvements on all platforms.


2016-05-27: Version 5.3.63

        Performance and stability improvements on all platforms.


2016-05-27: Version 5.3.62

        Performance and stability improvements on all platforms.


2016-05-27: Version 5.3.61

        Performance and stability improvements on all platforms.


2016-05-27: Version 5.3.60

        Performance and stability improvements on all platforms.


2016-05-27: Version 5.3.59

        Performance and stability improvements on all platforms.


2016-05-27: Version 5.3.58

        Performance and stability improvements on all platforms.


2016-05-27: Version 5.3.57

        Performance and stability improvements on all platforms.


2016-05-26: Version 5.3.56

        Performance and stability improvements on all platforms.


2016-05-26: Version 5.3.55

        Performance and stability improvements on all platforms.


2016-05-26: Version 5.3.54

        Performance and stability improvements on all platforms.


2016-05-26: Version 5.3.53

        Performance and stability improvements on all platforms.


2016-05-25: Version 5.3.52

        Performance and stability improvements on all platforms.


2016-05-25: Version 5.3.51

        Performance and stability improvements on all platforms.


2016-05-25: Version 5.3.50

        TypedArray: Make byteOffset, byteLength, and length configurable (issue
        4902).

        Make %ThrowTypeError% function(s) strict (issue 4925).

        Performance and stability improvements on all platforms.


2016-05-25: Version 5.3.49

        Performance and stability improvements on all platforms.


2016-05-25: Version 5.3.48

        Performance and stability improvements on all platforms.


2016-05-25: Version 5.3.47

        Performance and stability improvements on all platforms.


2016-05-25: Version 5.3.46

        Performance and stability improvements on all platforms.


2016-05-25: Version 5.3.45

        Performance and stability improvements on all platforms.


2016-05-25: Version 5.3.44

        Performance and stability improvements on all platforms.


2016-05-25: Version 5.3.43

        Performance and stability improvements on all platforms.


2016-05-25: Version 5.3.42

        Performance and stability improvements on all platforms.


2016-05-25: Version 5.3.41

        Performance and stability improvements on all platforms.


2016-05-25: Version 5.3.40

        Performance and stability improvements on all platforms.


2016-05-25: Version 5.3.39

        Performance and stability improvements on all platforms.


2016-05-24: Version 5.3.38

        Performance and stability improvements on all platforms.


2016-05-24: Version 5.3.37

        Performance and stability improvements on all platforms.


2016-05-24: Version 5.3.36

        Performance and stability improvements on all platforms.


2016-05-24: Version 5.3.35

        Performance and stability improvements on all platforms.


2016-05-24: Version 5.3.34

        Performance and stability improvements on all platforms.


2016-05-24: Version 5.3.33

        Performance and stability improvements on all platforms.


2016-05-24: Version 5.3.32

        Performance and stability improvements on all platforms.


2016-05-24: Version 5.3.31

        Performance and stability improvements on all platforms.


2016-05-24: Version 5.3.30

        Performance and stability improvements on all platforms.


2016-05-24: Version 5.3.29

        Performance and stability improvements on all platforms.


2016-05-24: Version 5.3.28

        Performance and stability improvements on all platforms.


2016-05-24: Version 5.3.27

        Performance and stability improvements on all platforms.


2016-05-24: Version 5.3.26

        Performance and stability improvements on all platforms.


2016-05-24: Version 5.3.25

        Performance and stability improvements on all platforms.


2016-05-24: Version 5.3.24

        Performance and stability improvements on all platforms.


2016-05-24: Version 5.3.23

        Performance and stability improvements on all platforms.


2016-05-24: Version 5.3.22

        Performance and stability improvements on all platforms.


2016-05-23: Version 5.3.21

        Performance and stability improvements on all platforms.


2016-05-23: Version 5.3.20

        Performance and stability improvements on all platforms.


2016-05-23: Version 5.3.19

        Performance and stability improvements on all platforms.


2016-05-23: Version 5.3.18

        Performance and stability improvements on all platforms.


2016-05-23: Version 5.3.17

        Performance and stability improvements on all platforms.


2016-05-23: Version 5.3.16

        Performance and stability improvements on all platforms.


2016-05-23: Version 5.3.15

        Performance and stability improvements on all platforms.


2016-05-23: Version 5.3.14

        Performance and stability improvements on all platforms.


2016-05-23: Version 5.3.13

        Performance and stability improvements on all platforms.


2016-05-23: Version 5.3.12

        Performance and stability improvements on all platforms.


2016-05-23: Version 5.3.11

        Performance and stability improvements on all platforms.


2016-05-23: Version 5.3.10

        Performance and stability improvements on all platforms.


2016-05-23: Version 5.3.9

        Performance and stability improvements on all platforms.


2016-05-21: Version 5.3.8

        Performance and stability improvements on all platforms.


2016-05-21: Version 5.3.7

        Performance and stability improvements on all platforms.


2016-05-21: Version 5.3.6

        Performance and stability improvements on all platforms.


2016-05-20: Version 5.3.5

        Performance and stability improvements on all platforms.


2016-05-20: Version 5.3.4

        Performance and stability improvements on all platforms.


2016-05-20: Version 5.3.3

        Move case conversion with ICU to 'staged' (issues 4476, 4477).

        Performance and stability improvements on all platforms.


2016-05-20: Version 5.3.2

        Performance and stability improvements on all platforms.


2016-05-20: Version 5.3.1

        Move case conversion with ICU to 'staged' (issues 4476, 4477).

        Performance and stability improvements on all platforms.


2016-05-19: Version 5.2.371

        Performance and stability improvements on all platforms.


2016-05-19: Version 5.2.370

        Performance and stability improvements on all platforms.


2016-05-19: Version 5.2.369

        Performance and stability improvements on all platforms.


2016-05-19: Version 5.2.368

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.367

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.366

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.365

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.364

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.363

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.362

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.361

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.360

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.359

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.358

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.357

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.356

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.355

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.354

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.353

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.352

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.351

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.350

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.349

        Performance and stability improvements on all platforms.


2016-05-18: Version 5.2.348

        Performance and stability improvements on all platforms.


2016-05-17: Version 5.2.347

        Performance and stability improvements on all platforms.


2016-05-17: Version 5.2.346

        Performance and stability improvements on all platforms.


2016-05-17: Version 5.2.345

        Performance and stability improvements on all platforms.


2016-05-17: Version 5.2.344

        Performance and stability improvements on all platforms.


2016-05-17: Version 5.2.343

        Performance and stability improvements on all platforms.


2016-05-17: Version 5.2.342

        Performance and stability improvements on all platforms.


2016-05-17: Version 5.2.341

        Performance and stability improvements on all platforms.


2016-05-17: Version 5.2.340

        Performance and stability improvements on all platforms.


2016-05-17: Version 5.2.339

        [wasm] remove extra nops in asm-wasm (issue 4203).

        Performance and stability improvements on all platforms.


2016-05-17: Version 5.2.338

        Performance and stability improvements on all platforms.


2016-05-17: Version 5.2.337

        Performance and stability improvements on all platforms.


2016-05-17: Version 5.2.336

        Performance and stability improvements on all platforms.


2016-05-17: Version 5.2.335

        Performance and stability improvements on all platforms.


2016-05-17: Version 5.2.334

        Performance and stability improvements on all platforms.


2016-05-17: Version 5.2.333

        Performance and stability improvements on all platforms.


2016-05-17: Version 5.2.332

        Performance and stability improvements on all platforms.


2016-05-16: Version 5.2.331

        Performance and stability improvements on all platforms.


2016-05-16: Version 5.2.330

        Performance and stability improvements on all platforms.


2016-05-16: Version 5.2.329

        Performance and stability improvements on all platforms.


2016-05-16: Version 5.2.328

        Add UseCounter for decimal with leading zero (issue 4973).

        [esnext] implement frontend changes for async/await proposal (issue
        4483).

        Performance and stability improvements on all platforms.


2016-05-16: Version 5.2.327

        Performance and stability improvements on all platforms.


2016-05-15: Version 5.2.326

        Performance and stability improvements on all platforms.


2016-05-14: Version 5.2.325

        Performance and stability improvements on all platforms.


2016-05-14: Version 5.2.324

        Performance and stability improvements on all platforms.


2016-05-13: Version 5.2.323

        Performance and stability improvements on all platforms.


2016-05-13: Version 5.2.322

        Performance and stability improvements on all platforms.


2016-05-13: Version 5.2.321

        Performance and stability improvements on all platforms.


2016-05-13: Version 5.2.320

        Performance and stability improvements on all platforms.


2016-05-13: Version 5.2.319

        Performance and stability improvements on all platforms.


2016-05-13: Version 5.2.318

        Performance and stability improvements on all platforms.


2016-05-13: Version 5.2.317

        Performance and stability improvements on all platforms.


2016-05-13: Version 5.2.316

        Performance and stability improvements on all platforms.


2016-05-13: Version 5.2.315

        Performance and stability improvements on all platforms.


2016-05-13: Version 5.2.314

        Performance and stability improvements on all platforms.


2016-05-13: Version 5.2.313

        Performance and stability improvements on all platforms.


2016-05-13: Version 5.2.312

        Performance and stability improvements on all platforms.


2016-05-13: Version 5.2.311

        Performance and stability improvements on all platforms.


2016-05-13: Version 5.2.310

        [api] Clarify expectations of ArrayBuffer::Allocator in API (Chromium
        issue 611688).

        Performance and stability improvements on all platforms.


2016-05-13: Version 5.2.309

        Performance and stability improvements on all platforms.


2016-05-13: Version 5.2.308

        Performance and stability improvements on all platforms.


2016-05-13: Version 5.2.307

        In parallel to the strict octal check that would reject `012` in strict
        mode, this patch collects UseCounters for `089` in strict mode. The spec
        says this should be an error, but this patch does not report it as such
        (issue 4973).

        Performance and stability improvements on all platforms.


2016-05-12: Version 5.2.306

        Performance and stability improvements on all platforms.


2016-05-12: Version 5.2.305

        Performance and stability improvements on all platforms.


2016-05-12: Version 5.2.304

        Performance and stability improvements on all platforms.


2016-05-12: Version 5.2.303

        Performance and stability improvements on all platforms.


2016-05-12: Version 5.2.302

        Performance and stability improvements on all platforms.


2016-05-12: Version 5.2.301

        Performance and stability improvements on all platforms.


2016-05-12: Version 5.2.300

        Performance and stability improvements on all platforms.


2016-05-12: Version 5.2.299

        Performance and stability improvements on all platforms.


2016-05-12: Version 5.2.298

        Performance and stability improvements on all platforms.


2016-05-12: Version 5.2.297

        Performance and stability improvements on all platforms.


2016-05-12: Version 5.2.296

        Performance and stability improvements on all platforms.


2016-05-12: Version 5.2.295

        Performance and stability improvements on all platforms.


2016-05-11: Version 5.2.294

        Performance and stability improvements on all platforms.


2016-05-11: Version 5.2.293

        Performance and stability improvements on all platforms.


2016-05-11: Version 5.2.292

        Performance and stability improvements on all platforms.


2016-05-11: Version 5.2.291

        Use ICU case conversion/transliterator for case conversion (issues 4476,
        4477).

        Performance and stability improvements on all platforms.


2016-05-11: Version 5.2.290

        Performance and stability improvements on all platforms.


2016-05-11: Version 5.2.289

        Performance and stability improvements on all platforms.


2016-05-11: Version 5.2.288

        Performance and stability improvements on all platforms.


2016-05-11: Version 5.2.287

        Performance and stability improvements on all platforms.


2016-05-11: Version 5.2.286

        Performance and stability improvements on all platforms.


2016-05-11: Version 5.2.285

        Performance and stability improvements on all platforms.


2016-05-11: Version 5.2.284

        Performance and stability improvements on all platforms.


2016-05-10: Version 5.2.283

        Performance and stability improvements on all platforms.


2016-05-10: Version 5.2.282

        Fix Map::AsArray to properly iterate over the backing store (issue
        4946).

        Performance and stability improvements on all platforms.


2016-05-10: Version 5.2.281

        Remove LOG line checking from presubmit.

        Performance and stability improvements on all platforms.


2016-05-10: Version 5.2.280

        Performance and stability improvements on all platforms.


2016-05-10: Version 5.2.279

        Performance and stability improvements on all platforms.


2016-05-10: Version 5.2.278

        Performance and stability improvements on all platforms.


2016-05-10: Version 5.2.277

        Performance and stability improvements on all platforms.


2016-05-10: Version 5.2.276

        Performance and stability improvements on all platforms.


2016-05-10: Version 5.2.275

        Performance and stability improvements on all platforms.


2016-05-10: Version 5.2.274

        Performance and stability improvements on all platforms.


2016-05-10: Version 5.2.273

        Performance and stability improvements on all platforms.


2016-05-10: Version 5.2.272

        Performance and stability improvements on all platforms.


2016-05-10: Version 5.2.271

        Performance and stability improvements on all platforms.


2016-05-10: Version 5.2.270

        Performance and stability improvements on all platforms.


2016-05-10: Version 5.2.269

        Performance and stability improvements on all platforms.


2016-05-10: Version 5.2.268

        Performance and stability improvements on all platforms.


2016-05-10: Version 5.2.267

        Various species micro-optimizations (Chromium issue 609739).

        Performance and stability improvements on all platforms.


2016-05-09: Version 5.2.266

        Performance and stability improvements on all platforms.


2016-05-09: Version 5.2.265

        Performance and stability improvements on all platforms.


2016-05-09: Version 5.2.264

        Fix TypedArray Property optimizations (Chromium issue 593634).

        Performance and stability improvements on all platforms.


2016-05-09: Version 5.2.263

        Performance and stability improvements on all platforms.


2016-05-09: Version 5.2.262

        [V8] Add v8::Value::TypeOf to API (Chromium issue 595206).

        Performance and stability improvements on all platforms.


2016-05-09: Version 5.2.261

        Performance and stability improvements on all platforms.


2016-05-09: Version 5.2.260

        Performance and stability improvements on all platforms.


2016-05-09: Version 5.2.259

        Expose IsConstructor to the C++ API (issue 4993).

        Performance and stability improvements on all platforms.


2016-05-09: Version 5.2.258

        Performance and stability improvements on all platforms.


2016-05-09: Version 5.2.257

        Performance and stability improvements on all platforms.


2016-05-09: Version 5.2.256

        Performance and stability improvements on all platforms.


2016-05-09: Version 5.2.255

        Performance and stability improvements on all platforms.


2016-05-09: Version 5.2.254

        Performance and stability improvements on all platforms.


2016-05-08: Version 5.2.253

        Performance and stability improvements on all platforms.


2016-05-07: Version 5.2.252

        fix Set::AsArray to not leave undefined holes in output array (issue
        4946).

        Performance and stability improvements on all platforms.


2016-05-06: Version 5.2.251

        Performance and stability improvements on all platforms.


2016-05-06: Version 5.2.250

        Performance and stability improvements on all platforms.


2016-05-06: Version 5.2.249

        Performance and stability improvements on all platforms.


2016-05-06: Version 5.2.248

        Performance and stability improvements on all platforms.


2016-05-06: Version 5.2.247

        Performance and stability improvements on all platforms.


2016-05-06: Version 5.2.246

        Performance and stability improvements on all platforms.


2016-05-06: Version 5.2.245

        Performance and stability improvements on all platforms.


2016-05-06: Version 5.2.244

        Performance and stability improvements on all platforms.


2016-05-06: Version 5.2.243

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.242

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.241

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.240

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.239

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.238

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.237

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.236

        S390: Add HasProperty code stub that tries simple lookups or jumps to
        runtime otherwise (issue 2743).

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.235

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.234

        Make array __proto__ manipulations not disturb the species protector
        (Chromium issue 606207).

        Add v8::Object::GetOwnPropertyNames(context, filter) method (issue 3861,
        Chromium issue 581495).

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.233

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.232

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.231

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.230

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.229

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.228

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.227

        MIPS64: Fix [turbofan] Length and index2 are unsigned in
        CheckedLoad/CheckedStore (Chromium issue 599717).

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.226

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.225

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.224

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.223

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.222

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.221

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.220

        [wasm] Fix for 608630: allow proxies as FFI (Chromium issue 608630).

        Performance and stability improvements on all platforms.


2016-05-04: Version 5.2.219

        Performance and stability improvements on all platforms.


2016-05-03: Version 5.2.218

        Performance and stability improvements on all platforms.


2016-05-03: Version 5.2.217

        Performance and stability improvements on all platforms.


2016-05-03: Version 5.2.216

        [wasm] Disallow runtime calls in asm.js modules (Chromium issue 592352).

        [API] remove (deprecated) hidden properties.

        [wasm] Fix bug with empty input to Wasm.instantiateModuleFromAsm()
        (Chromium issue 605488).

        Add HasProperty code stub that tries simple lookups or jumps to runtime
        otherwise (issue 2743).

        Fix ExternalTwobyteStringUtf16CharacterStream::PushBack(kEndOfInput)
        (Chromium issue 607903).

        Performance and stability improvements on all platforms.


2016-05-03: Version 5.2.215

        Performance and stability improvements on all platforms.


2016-05-03: Version 5.2.214

        Performance and stability improvements on all platforms.


2016-05-03: Version 5.2.213

        Performance and stability improvements on all platforms.


2016-05-03: Version 5.2.212

        Performance and stability improvements on all platforms.


2016-05-03: Version 5.2.211

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.210

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.209

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.208

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.207

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.206

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.205

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.204

        [debugger] Add JSProxy support in Runtime::GetInternalProperties
        (Chromium issue 588705).

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.203

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.202

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.201

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.200

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.199

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.198

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.197

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.196

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.195

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.194

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.193

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.192

        Performance and stability improvements on all platforms.


2016-05-02: Version 5.2.191

        Performance and stability improvements on all platforms.


2016-05-01: Version 5.2.190

        Performance and stability improvements on all platforms.


2016-05-01: Version 5.2.189

        Performance and stability improvements on all platforms.


2016-04-30: Version 5.2.188

        Performance and stability improvements on all platforms.


2016-04-30: Version 5.2.187

        Performance and stability improvements on all platforms.


2016-04-30: Version 5.2.186

        Performance and stability improvements on all platforms.


2016-04-29: Version 5.2.185

        Performance and stability improvements on all platforms.


2016-04-29: Version 5.2.184

        Performance and stability improvements on all platforms.


2016-04-29: Version 5.2.183

        Performance and stability improvements on all platforms.


2016-04-29: Version 5.2.182

        Performance and stability improvements on all platforms.


2016-04-29: Version 5.2.181

        Performance and stability improvements on all platforms.


2016-04-29: Version 5.2.180

        Performance and stability improvements on all platforms.


2016-04-29: Version 5.2.179

        Performance and stability improvements on all platforms.


2016-04-29: Version 5.2.178

        Performance and stability improvements on all platforms.


2016-04-29: Version 5.2.177

        Fix overflow issue in Zone::New (Chromium issue 606115).

        Performance and stability improvements on all platforms.


2016-04-29: Version 5.2.176

        Performance and stability improvements on all platforms.


2016-04-29: Version 5.2.175

        [wasm] Binary 11: Bump module version to 0xB. [wasm] Binary 11: Swap the
        order of section name / section length. [wasm] Binary 11: Shorter
        section names. [wasm] Binary 11: Add a prefix for function type
        declarations. [wasm] Binary 11: Function types encoded as pcount, p*,
        rcount, r* [wasm] Fix numeric names for functions (Chromium issue
        575167).

        [wasm] Binary 11: WASM AST is now postorder. [wasm] Binary 11: br_table
        takes a value. [wasm] Binary 11: Add implicit blocks to if arms. [wasm]
        Binary 11: Add arities to call, return, and breaks [wasm] Binary 11: Add
        experimental version (Chromium issue 575167).

        Performance and stability improvements on all platforms.


2016-04-29: Version 5.2.174

        Add checks for detached ArrayBuffers to ArrayBuffer.prototype.slice
        (issue 4964).

        Performance and stability improvements on all platforms.


2016-04-28: Version 5.2.173

        Performance and stability improvements on all platforms.


2016-04-28: Version 5.2.172

        Performance and stability improvements on all platforms.


2016-04-28: Version 5.2.171

        Ship for-in initializer deprecation (issue 4942).

        Performance and stability improvements on all platforms.


2016-04-28: Version 5.2.170

        Add GC request to libFuzzers in attempt to avoid parasitic coverage
        (Chromium issue 584819).

        Performance and stability improvements on all platforms.


2016-04-28: Version 5.2.169

        Performance and stability improvements on all platforms.


2016-04-28: Version 5.2.168

        Prevent unnecessary memory (de-)allocations in LiteralBuffer::CopyFrom
        (issue 4947).

        Performance and stability improvements on all platforms.


2016-04-28: Version 5.2.167

        Performance and stability improvements on all platforms.


2016-04-28: Version 5.2.166

        Performance and stability improvements on all platforms.


2016-04-28: Version 5.2.165

        Performance and stability improvements on all platforms.


2016-04-28: Version 5.2.164

        Performance and stability improvements on all platforms.


2016-04-27: Version 5.2.163

        Performance and stability improvements on all platforms.


2016-04-27: Version 5.2.162

        Performance and stability improvements on all platforms.


2016-04-27: Version 5.2.161

        [esnext] stage --harmony-string-padding (issue 4954).

        Disallow generator declarations in certain locations (issue 4824).

        Performance and stability improvements on all platforms.


2016-04-27: Version 5.2.160

        Performance and stability improvements on all platforms.


2016-04-27: Version 5.2.159

        [api] Expose FunctionCallbackInfo::NewTarget (issue 4261).

        Performance and stability improvements on all platforms.


2016-04-27: Version 5.2.158

        Performance and stability improvements on all platforms.


2016-04-27: Version 5.2.157

        Performance and stability improvements on all platforms.


2016-04-27: Version 5.2.156

        [es8] Report proper syntax error for tail call expressions in for-in and
        for-of bodies (issue 4915).

        Performance and stability improvements on all platforms.


2016-04-27: Version 5.2.155

        Performance and stability improvements on all platforms.


2016-04-27: Version 5.2.154

        Performance and stability improvements on all platforms.


2016-04-27: Version 5.2.153

        Performance and stability improvements on all platforms.


2016-04-27: Version 5.2.152

        Performance and stability improvements on all platforms.


2016-04-27: Version 5.2.151

        Performance and stability improvements on all platforms.


2016-04-26: Version 5.2.150

        Performance and stability improvements on all platforms.


2016-04-26: Version 5.2.149

        Performance and stability improvements on all platforms.


2016-04-26: Version 5.2.148

        Performance and stability improvements on all platforms.


2016-04-26: Version 5.2.147

        Do not penalize performance when --harmony-species is off (Chromium
        issue 606207).

        Performance and stability improvements on all platforms.


2016-04-26: Version 5.2.146

        [es8] Initial set of changes to support syntactic tail calls (issue
        4915).

        Performance and stability improvements on all platforms.


2016-04-26: Version 5.2.145

        Performance and stability improvements on all platforms.


2016-04-26: Version 5.2.144

        Performance and stability improvements on all platforms.


2016-04-26: Version 5.2.143

        Performance and stability improvements on all platforms.


2016-04-26: Version 5.2.142

        Performance and stability improvements on all platforms.


2016-04-26: Version 5.2.141

        Performance and stability improvements on all platforms.


2016-04-26: Version 5.2.140

        Performance and stability improvements on all platforms.


2016-04-26: Version 5.2.139

        Performance and stability improvements on all platforms.


2016-04-26: Version 5.2.138

        [es6] Fix tail call elimination in single-expression arrow functions
        (issue 4698).

        Performance and stability improvements on all platforms.


2016-04-26: Version 5.2.137

        Performance and stability improvements on all platforms.


2016-04-25: Version 5.2.136

        Performance and stability improvements on all platforms.


2016-04-25: Version 5.2.135

        Widen --harmony-for-in flag to throw errors in PreParser (issue 4942).

        Performance and stability improvements on all platforms.


2016-04-25: Version 5.2.134

        Performance and stability improvements on all platforms.


2016-04-25: Version 5.2.133

        Performance and stability improvements on all platforms.


2016-04-25: Version 5.2.132

        Performance and stability improvements on all platforms.


2016-04-25: Version 5.2.131

        Performance and stability improvements on all platforms.


2016-04-25: Version 5.2.130

        Performance and stability improvements on all platforms.


2016-04-25: Version 5.2.129

        Performance and stability improvements on all platforms.


2016-04-25: Version 5.2.128

        Performance and stability improvements on all platforms.


2016-04-25: Version 5.2.127

        Performance and stability improvements on all platforms.


2016-04-25: Version 5.2.126

        Performance and stability improvements on all platforms.


2016-04-25: Version 5.2.125

        Performance and stability improvements on all platforms.


2016-04-25: Version 5.2.124

        Performance and stability improvements on all platforms.


2016-04-25: Version 5.2.123

        Performance and stability improvements on all platforms.


2016-04-25: Version 5.2.122

        Performance and stability improvements on all platforms.


2016-04-22: Version 5.2.121

        Performance and stability improvements on all platforms.


2016-04-22: Version 5.2.120

        Performance and stability improvements on all platforms.


2016-04-22: Version 5.2.119

        Performance and stability improvements on all platforms.


2016-04-22: Version 5.2.118

        Performance and stability improvements on all platforms.


2016-04-22: Version 5.2.117

        [debugger] Hide scopes that originate from desugaring (Chromium issue
        604458).

        Performance and stability improvements on all platforms.


2016-04-22: Version 5.2.116

        Performance and stability improvements on all platforms.


2016-04-22: Version 5.2.115

        Performance and stability improvements on all platforms.


2016-04-21: Version 5.2.114

        Performance and stability improvements on all platforms.


2016-04-21: Version 5.2.113

        Performance and stability improvements on all platforms.


2016-04-21: Version 5.2.112

        [ic] Restore PROPERTY key tracking in keyed ICs (Chromium issue 594183).

        Performance and stability improvements on all platforms.


2016-04-21: Version 5.2.111

        Performance and stability improvements on all platforms.


2016-04-21: Version 5.2.110

        Performance and stability improvements on all platforms.


2016-04-21: Version 5.2.109

        Performance and stability improvements on all platforms.


2016-04-21: Version 5.2.108

        Performance and stability improvements on all platforms.


2016-04-21: Version 5.2.107

        Performance and stability improvements on all platforms.


2016-04-21: Version 5.2.106

        Performance and stability improvements on all platforms.


2016-04-21: Version 5.2.105

        Performance and stability improvements on all platforms.


2016-04-21: Version 5.2.104

        Performance and stability improvements on all platforms.


2016-04-21: Version 5.2.103

        Performance and stability improvements on all platforms.


2016-04-21: Version 5.2.102

        Performance and stability improvements on all platforms.


2016-04-20: Version 5.2.101

        Performance and stability improvements on all platforms.


2016-04-20: Version 5.2.100

        Performance and stability improvements on all platforms.


2016-04-20: Version 5.2.99

        Performance and stability improvements on all platforms.


2016-04-20: Version 5.2.98

        Performance and stability improvements on all platforms.


2016-04-20: Version 5.2.97

        Performance and stability improvements on all platforms.


2016-04-20: Version 5.2.96

        Performance and stability improvements on all platforms.


2016-04-20: Version 5.2.95

        Performance and stability improvements on all platforms.


2016-04-20: Version 5.2.94

        Performance and stability improvements on all platforms.


2016-04-20: Version 5.2.93

        Performance and stability improvements on all platforms.


2016-04-20: Version 5.2.92

        Performance and stability improvements on all platforms.


2016-04-20: Version 5.2.91

        Performance and stability improvements on all platforms.


2016-04-20: Version 5.2.90

        Performance and stability improvements on all platforms.


2016-04-20: Version 5.2.89

        Performance and stability improvements on all platforms.


2016-04-20: Version 5.2.88

        [turbofan] Length and index2 are unsigned in CheckedLoad/CheckedStore
        (Chromium issue 599717).

        Prevent un-parsed LiteralFunction reaching the compiler (Chromium issue
        604044).

        Performance and stability improvements on all platforms.


2016-04-20: Version 5.2.87

        Performance and stability improvements on all platforms.


2016-04-20: Version 5.2.86

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.85

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.84

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.83

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.82

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.81

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.80

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.79

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.78

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.77

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.76

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.75

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.74

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.73

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.72

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.71

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.70

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.69

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.68

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.67

        Performance and stability improvements on all platforms.


2016-04-19: Version 5.2.66

        Performance and stability improvements on all platforms.


2016-04-18: Version 5.2.65

        Performance and stability improvements on all platforms.


2016-04-18: Version 5.2.64

        Performance and stability improvements on all platforms.


2016-04-18: Version 5.2.63

        Performance and stability improvements on all platforms.


2016-04-18: Version 5.2.62

        Performance and stability improvements on all platforms.


2016-04-18: Version 5.2.61

        [Atomics] Remove Atomics code stubs; use TF ops (issue 4614).

        Performance and stability improvements on all platforms.


2016-04-18: Version 5.2.60

        Performance and stability improvements on all platforms.


2016-04-18: Version 5.2.59

        Performance and stability improvements on all platforms.


2016-04-18: Version 5.2.58

        Performance and stability improvements on all platforms.


2016-04-18: Version 5.2.57

        Performance and stability improvements on all platforms.


2016-04-18: Version 5.2.56

        Performance and stability improvements on all platforms.


2016-04-18: Version 5.2.55

        Performance and stability improvements on all platforms.


2016-04-18: Version 5.2.54

        Performance and stability improvements on all platforms.


2016-04-18: Version 5.2.53

        Performance and stability improvements on all platforms.


2016-04-18: Version 5.2.52

        Performance and stability improvements on all platforms.


2016-04-18: Version 5.2.51

        Performance and stability improvements on all platforms.


2016-04-18: Version 5.2.50

        [Atomics] Remove Atomics code stubs; use TF ops (issue 4614).

        Performance and stability improvements on all platforms.


2016-04-18: Version 5.2.49

        [api] Bring back finalizers on global handles.

        Performance and stability improvements on all platforms.


2016-02-17: Sentinel

        The ChangeLog file is no longer maintained on master. This
        sentinel should stay on top of this list.

2016-02-17: Version 4.10.253

        Performance and stability improvements on all platforms.


2016-02-17: Version 4.10.252

        Performance and stability improvements on all platforms.


2016-02-17: Version 4.10.251

        Performance and stability improvements on all platforms.


2016-02-17: Version 4.10.250

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.249

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.248

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.247

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.246

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.245

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.244

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.243

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.242

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.241

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.240

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.239

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.238

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.237

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.236

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.235

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.234

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.233

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.232

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.231

        Make NamedLoadHandlerCompiler::CompileLoadInterceptor behave correcly
        with lazy accessors (Chromium issue 585764).

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.230

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.229

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.228

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.227

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.226

        Performance and stability improvements on all platforms.


2016-02-16: Version 4.10.225

        Performance and stability improvements on all platforms.


2016-02-15: Version 4.10.224

        Performance and stability improvements on all platforms.


2016-02-15: Version 4.10.223

        Performance and stability improvements on all platforms.


2016-02-15: Version 4.10.222

        Performance and stability improvements on all platforms.


2016-02-15: Version 4.10.221

        Performance and stability improvements on all platforms.


2016-02-15: Version 4.10.220

        Performance and stability improvements on all platforms.


2016-02-15: Version 4.10.219

        Performance and stability improvements on all platforms.


2016-02-15: Version 4.10.218

        Performance and stability improvements on all platforms.


2016-02-15: Version 4.10.217

        Performance and stability improvements on all platforms.


2016-02-15: Version 4.10.216

        [wasm] Add support for a start function (Chromium issue 575167).

        Performance and stability improvements on all platforms.


2016-02-15: Version 4.10.215

        Performance and stability improvements on all platforms.


2016-02-15: Version 4.10.214

        Performance and stability improvements on all platforms.


2016-02-15: Version 4.10.213

        Performance and stability improvements on all platforms.


2016-02-15: Version 4.10.212

        Performance and stability improvements on all platforms.


2016-02-15: Version 4.10.211

        Performance and stability improvements on all platforms.


2016-02-15: Version 4.10.210

        Performance and stability improvements on all platforms.


2016-02-14: Version 4.10.209

        Performance and stability improvements on all platforms.


2016-02-14: Version 4.10.208

        Performance and stability improvements on all platforms.


2016-02-14: Version 4.10.207

        Performance and stability improvements on all platforms.


2016-02-13: Version 4.10.206

        Performance and stability improvements on all platforms.


2016-02-12: Version 4.10.205

        Performance and stability improvements on all platforms.


2016-02-12: Version 4.10.204

        Performance and stability improvements on all platforms.


2016-02-12: Version 4.10.203

        Performance and stability improvements on all platforms.


2016-02-12: Version 4.10.202

        Performance and stability improvements on all platforms.


2016-02-12: Version 4.10.201

        Performance and stability improvements on all platforms.


2016-02-12: Version 4.10.200

        Performance and stability improvements on all platforms.


2016-02-12: Version 4.10.199

        Performance and stability improvements on all platforms.


2016-02-12: Version 4.10.198

        Performance and stability improvements on all platforms.


2016-02-12: Version 4.10.197

        Stage --harmony-function-name (issue 3699).

        Performance and stability improvements on all platforms.


2016-02-12: Version 4.10.196

        Performance and stability improvements on all platforms.


2016-02-10: Version 4.10.195

        Performance and stability improvements on all platforms.


2016-02-10: Version 4.10.194

        Performance and stability improvements on all platforms.


2016-02-10: Version 4.10.193

        Use a for-of loop in Array.from (issue 4739).

        Performance and stability improvements on all platforms.


2016-02-09: Version 4.10.192

        Performance and stability improvements on all platforms.


2016-02-09: Version 4.10.191

        Performance and stability improvements on all platforms.


2016-02-09: Version 4.10.190

        Performance and stability improvements on all platforms.


2016-02-09: Version 4.10.189

        Performance and stability improvements on all platforms.


2016-02-09: Version 4.10.188

        Performance and stability improvements on all platforms.


2016-02-09: Version 4.10.187

        Performance and stability improvements on all platforms.


2016-02-09: Version 4.10.186

        Performance and stability improvements on all platforms.


2016-02-09: Version 4.10.185

        Performance and stability improvements on all platforms.


2016-02-09: Version 4.10.184

        Performance and stability improvements on all platforms.


2016-02-09: Version 4.10.183

        Performance and stability improvements on all platforms.


2016-02-08: Version 4.10.182

        Performance and stability improvements on all platforms.


2016-02-08: Version 4.10.181

        Performance and stability improvements on all platforms.


2016-02-08: Version 4.10.180

        [wasm] Put the condition last in kExprBrIf (Chromium issue 575167).

        Stage --harmony-species flag, enabling Symbol.species (issue 4093).

        Extend subarray web compatibility fix to --harmony-species (issue 4665).

        Performance and stability improvements on all platforms.


2016-02-08: Version 4.10.179

        Performance and stability improvements on all platforms.


2016-02-08: Version 4.10.178

        Performance and stability improvements on all platforms.


2016-02-08: Version 4.10.177

        Performance and stability improvements on all platforms.


2016-02-08: Version 4.10.176

        Performance and stability improvements on all platforms.


2016-02-08: Version 4.10.175

        Performance and stability improvements on all platforms.


2016-02-08: Version 4.10.174

        Performance and stability improvements on all platforms.


2016-02-08: Version 4.10.173

        Performance and stability improvements on all platforms.


2016-02-08: Version 4.10.172

        android: Use libc++ instead of stlport (issue 4615).

        Performance and stability improvements on all platforms.


2016-02-08: Version 4.10.171

        [api] Make ObjectTemplate::SetNativeDataProperty() work even if the
        ObjectTemplate does not have a constructor (Chromium issue 579009).

        Performance and stability improvements on all platforms.


2016-02-05: Version 4.10.170

        Performance and stability improvements on all platforms.


2016-02-05: Version 4.10.169

        Performance and stability improvements on all platforms.


2016-02-05: Version 4.10.168

        Performance and stability improvements on all platforms.


2016-02-05: Version 4.10.167

        [wasm] min/max does not return signaling NaNs anymore (Chromium issue
        4733).

        Performance and stability improvements on all platforms.


2016-02-05: Version 4.10.166

        Performance and stability improvements on all platforms.


2016-02-05: Version 4.10.165

        [wasm] Put the condition last in kExprSelect (issue 4735, Chromium issue
        575167).

        Performance and stability improvements on all platforms.


2016-02-05: Version 4.10.164

        Performance and stability improvements on all platforms.


2016-02-05: Version 4.10.163

        Performance and stability improvements on all platforms.


2016-02-05: Version 4.10.162

        Performance and stability improvements on all platforms.


2016-02-05: Version 4.10.161

        PPC: [generators] Implement Generator.prototype.return (issue 3566).

        Performance and stability improvements on all platforms.


2016-02-04: Version 4.10.160

        Performance and stability improvements on all platforms.


2016-02-04: Version 4.10.159

        [generators] Implement Generator.prototype.return (issue 3566).

        Performance and stability improvements on all platforms.


2016-02-04: Version 4.10.158

        Performance and stability improvements on all platforms.


2016-02-04: Version 4.10.157

        Performance and stability improvements on all platforms.


2016-02-04: Version 4.10.156

        Performance and stability improvements on all platforms.


2016-02-04: Version 4.10.155

        Performance and stability improvements on all platforms.


2016-02-04: Version 4.10.154

        Performance and stability improvements on all platforms.


2016-02-04: Version 4.10.153

        Performance and stability improvements on all platforms.


2016-02-04: Version 4.10.152

        Performance and stability improvements on all platforms.


2016-02-04: Version 4.10.151

        Performance and stability improvements on all platforms.


2016-02-03: Version 4.10.150

        Performance and stability improvements on all platforms.


2016-02-03: Version 4.10.149

        Performance and stability improvements on all platforms.


2016-02-03: Version 4.10.148

        Performance and stability improvements on all platforms.


2016-02-03: Version 4.10.147

        Performance and stability improvements on all platforms.


2016-02-03: Version 4.10.146

        Performance and stability improvements on all platforms.


2016-02-03: Version 4.10.145

        Performance and stability improvements on all platforms.


2016-02-02: Version 4.10.144

        Performance and stability improvements on all platforms.


2016-02-02: Version 4.10.143

        Performance and stability improvements on all platforms.


2016-02-02: Version 4.10.142

        [wasm] Provide backoff implementations for the Fxx rounding instructions
        (Chromium issue 575379).

        Performance and stability improvements on all platforms.


2016-02-02: Version 4.10.141

        Performance and stability improvements on all platforms.


2016-02-02: Version 4.10.140

        [api] Make ObjectTemplate::SetNativeDataProperty() work even if the
        ObjectTemplate does not have a constructor (Chromium issue 579009).

        Add native callbacks to FastAccessorAssembler (Chromium issue 508898).

        Performance and stability improvements on all platforms.


2016-02-02: Version 4.10.139

        Performance and stability improvements on all platforms.


2016-02-02: Version 4.10.138

        Performance and stability improvements on all platforms.


2016-02-01: Version 4.10.137

        Performance and stability improvements on all platforms.


2016-02-01: Version 4.10.136

        Performance and stability improvements on all platforms.


2016-02-01: Version 4.10.135

        Performance and stability improvements on all platforms.


2016-02-01: Version 4.10.134

        Performance and stability improvements on all platforms.


2016-02-01: Version 4.10.133

        Performance and stability improvements on all platforms.


2016-02-01: Version 4.10.132

        Performance and stability improvements on all platforms.


2016-02-01: Version 4.10.131

        Performance and stability improvements on all platforms.


2016-02-01: Version 4.10.130

        Performance and stability improvements on all platforms.


2016-02-01: Version 4.10.129

        Performance and stability improvements on all platforms.


2016-02-01: Version 4.10.128

        Performance and stability improvements on all platforms.


2016-02-01: Version 4.10.127

        Performance and stability improvements on all platforms.


2016-02-01: Version 4.10.126

        Performance and stability improvements on all platforms.


2016-02-01: Version 4.10.125

        Ship RegExp subclassing (issues 4305, 4343, 4344, 4345).

        Performance and stability improvements on all platforms.


2016-02-01: Version 4.10.124

        Performance and stability improvements on all platforms.


2016-01-31: Version 4.10.123

        Performance and stability improvements on all platforms.


2016-01-31: Version 4.10.122

        Performance and stability improvements on all platforms.


2016-01-29: Version 4.10.121

        Performance and stability improvements on all platforms.


2016-01-29: Version 4.10.120

        Performance and stability improvements on all platforms.


2016-01-29: Version 4.10.119

        Performance and stability improvements on all platforms.


2016-01-29: Version 4.10.118

        Performance and stability improvements on all platforms.


2016-01-29: Version 4.10.117

        Fix Unicode string normalization with null bytes (issue 4654).

        Performance and stability improvements on all platforms.


2016-01-29: Version 4.10.116

        Performance and stability improvements on all platforms.


2016-01-29: Version 4.10.115

        Performance and stability improvements on all platforms.


2016-01-29: Version 4.10.114

        Performance and stability improvements on all platforms.


2016-01-29: Version 4.10.113

        Performance and stability improvements on all platforms.


2016-01-29: Version 4.10.112

        [regexp] stage unicode regexps (issue 2952).

        Performance and stability improvements on all platforms.


2016-01-29: Version 4.10.111

        Performance and stability improvements on all platforms.


2016-01-28: Version 4.10.110

        Performance and stability improvements on all platforms.


2016-01-28: Version 4.10.109

        Performance and stability improvements on all platforms.


2016-01-28: Version 4.10.108

        Performance and stability improvements on all platforms.


2016-01-28: Version 4.10.107

        Performance and stability improvements on all platforms.


2016-01-28: Version 4.10.106

        Performance and stability improvements on all platforms.


2016-01-28: Version 4.10.105

        Performance and stability improvements on all platforms.


2016-01-28: Version 4.10.104

        Performance and stability improvements on all platforms.


2016-01-28: Version 4.10.103

        Performance and stability improvements on all platforms.


2016-01-28: Version 4.10.102

        Performance and stability improvements on all platforms.


2016-01-28: Version 4.10.101

        Performance and stability improvements on all platforms.


2016-01-28: Version 4.10.100

        Performance and stability improvements on all platforms.


2016-01-28: Version 4.10.99

        Performance and stability improvements on all platforms.


2016-01-28: Version 4.10.98

        Performance and stability improvements on all platforms.


2016-01-27: Version 4.10.97

        Performance and stability improvements on all platforms.


2016-01-27: Version 4.10.96

        Performance and stability improvements on all platforms.


2016-01-27: Version 4.10.95

        Performance and stability improvements on all platforms.


2016-01-27: Version 4.10.94

        Performance and stability improvements on all platforms.


2016-01-27: Version 4.10.93

        Performance and stability improvements on all platforms.


2016-01-27: Version 4.10.92

        Performance and stability improvements on all platforms.


2016-01-27: Version 4.10.91

        Performance and stability improvements on all platforms.


2016-01-27: Version 4.10.90

        Performance and stability improvements on all platforms.


2016-01-27: Version 4.10.89

        Performance and stability improvements on all platforms.


2016-01-27: Version 4.10.88

        Performance and stability improvements on all platforms.


2016-01-27: Version 4.10.87

        [api] Default native data property setter to replace the setter if the
        property is writable (Chromium issue 580584).

        Performance and stability improvements on all platforms.


2016-01-27: Version 4.10.86

        Performance and stability improvements on all platforms.


2016-01-27: Version 4.10.85

        Performance and stability improvements on all platforms.


2016-01-27: Version 4.10.84

        Performance and stability improvements on all platforms.


2016-01-27: Version 4.10.83

        Performance and stability improvements on all platforms.


2016-01-27: Version 4.10.82

        Performance and stability improvements on all platforms.


2016-01-27: Version 4.10.81

        Performance and stability improvements on all platforms.


2016-01-27: Version 4.10.80

        Stage RegExp subclassing (issues 4305, 4343, 4344, 4345).

        Performance and stability improvements on all platforms.


2016-01-26: Version 4.10.79

        Performance and stability improvements on all platforms.


2016-01-26: Version 4.10.78

        Performance and stability improvements on all platforms.


2016-01-26: Version 4.10.77

        Performance and stability improvements on all platforms.


2016-01-26: Version 4.10.76

        Ensure arrow functions can close over lexically-scoped variables (issue
        4255, Chromium issue 580934).

        Performance and stability improvements on all platforms.


2016-01-26: Version 4.10.75

        Performance and stability improvements on all platforms.


2016-01-26: Version 4.10.74

        Performance and stability improvements on all platforms.


2016-01-26: Version 4.10.73

        Performance and stability improvements on all platforms.


2016-01-26: Version 4.10.72

        [GN] Remove CAN_USE_VFP_INSTRUCTIONS define to match GYP.

        Performance and stability improvements on all platforms.


2016-01-26: Version 4.10.71

        PPC: [es6] Tail calls support (issue 4698).

        Performance and stability improvements on all platforms.


2016-01-26: Version 4.10.70

        Performance and stability improvements on all platforms.


2016-01-26: Version 4.10.69

        [es6] Tail calls support (issue 4698).

        Performance and stability improvements on all platforms.


2016-01-26: Version 4.10.68

        Support @@species in Array.prototype.concat (issue 4093).

        Performance and stability improvements on all platforms.


2016-01-25: Version 4.10.67

        Performance and stability improvements on all platforms.


2016-01-25: Version 4.10.66

        Restore per-TypedArray-class length accessors as a perf workaround
        (Chromium issue 579905).

        Performance and stability improvements on all platforms.


2016-01-25: Version 4.10.65

        Performance and stability improvements on all platforms.


2016-01-25: Version 4.10.64

        Performance and stability improvements on all platforms.


2016-01-25: Version 4.10.63

        Performance and stability improvements on all platforms.


2016-01-25: Version 4.10.62

        Performance and stability improvements on all platforms.


2016-01-25: Version 4.10.61

        Performance and stability improvements on all platforms.


2016-01-25: Version 4.10.60

        Performance and stability improvements on all platforms.


2016-01-25: Version 4.10.59

        Don't NULL-check GlobalHandle::Node::object_ (issue 3647, Chromium issue
        580651).

        Performance and stability improvements on all platforms.


2016-01-25: Version 4.10.58

        Performance and stability improvements on all platforms.


2016-01-25: Version 4.10.57

        Performance and stability improvements on all platforms.


2016-01-25: Version 4.10.56

        Performance and stability improvements on all platforms.


2016-01-25: Version 4.10.55

        Performance and stability improvements on all platforms.


2016-01-25: Version 4.10.54

        Performance and stability improvements on all platforms.


2016-01-25: Version 4.10.53

        Performance and stability improvements on all platforms.


2016-01-25: Version 4.10.52

        Performance and stability improvements on all platforms.


2016-01-25: Version 4.10.51

        Performance and stability improvements on all platforms.


2016-01-22: Version 4.10.50

        Performance and stability improvements on all platforms.


2016-01-22: Version 4.10.49

        Sloppy mode webcompat: allow conflicting function declarations in blocks
        (issue 4693, Chromium issue 579395).

        Performance and stability improvements on all platforms.


2016-01-22: Version 4.10.48

        Performance and stability improvements on all platforms.


2016-01-22: Version 4.10.47

        Performance and stability improvements on all platforms.


2016-01-22: Version 4.10.46

        Performance and stability improvements on all platforms.


2016-01-22: Version 4.10.45

        Performance and stability improvements on all platforms.


2016-01-22: Version 4.10.44

        Performance and stability improvements on all platforms.


2016-01-22: Version 4.10.43

        Performance and stability improvements on all platforms.


2016-01-22: Version 4.10.42

        Array length reduction should throw in strict mode if it can't delete an
        element (issue 4267).

        Performance and stability improvements on all platforms.


2016-01-22: Version 4.10.41

        Performance and stability improvements on all platforms.


2016-01-22: Version 4.10.40

        Performance and stability improvements on all platforms.


2016-01-22: Version 4.10.39

        Performance and stability improvements on all platforms.


2016-01-22: Version 4.10.38

        Performance and stability improvements on all platforms.


2016-01-22: Version 4.10.37

        Performance and stability improvements on all platforms.


2016-01-21: Version 4.10.36

        Performance and stability improvements on all platforms.


2016-01-21: Version 4.10.35

        Performance and stability improvements on all platforms.


2016-01-21: Version 4.10.34

        Performance and stability improvements on all platforms.


2016-01-21: Version 4.10.33

        Array length reduction should throw in strict mode if it can't delete an
        element (issue 4267).

        Performance and stability improvements on all platforms.


2016-01-21: Version 4.10.32

        Performance and stability improvements on all platforms.


2016-01-21: Version 4.10.31

        Performance and stability improvements on all platforms.


2016-01-21: Version 4.10.30

        Performance and stability improvements on all platforms.


2016-01-21: Version 4.10.29

        Performance and stability improvements on all platforms.


2016-01-21: Version 4.10.28

        Performance and stability improvements on all platforms.


2016-01-21: Version 4.10.27

        [debugger] negative conditional break points mute breaks and exceptions
        (Chromium issue 429167).

        Performance and stability improvements on all platforms.


2016-01-21: Version 4.10.26

        Performance and stability improvements on all platforms.


2016-01-21: Version 4.10.25

        Performance and stability improvements on all platforms.


2016-01-20: Version 4.10.24

        Performance and stability improvements on all platforms.


2016-01-20: Version 4.10.23

        Performance and stability improvements on all platforms.


2016-01-20: Version 4.10.22

        Performance and stability improvements on all platforms.


2016-01-20: Version 4.10.21

        Performance and stability improvements on all platforms.


2016-01-20: Version 4.10.20

        Performance and stability improvements on all platforms.


2016-01-20: Version 4.10.19

        Performance and stability improvements on all platforms.


2016-01-20: Version 4.10.18

        Performance and stability improvements on all platforms.


2016-01-20: Version 4.10.17

        Performance and stability improvements on all platforms.


2016-01-20: Version 4.10.16

        Performance and stability improvements on all platforms.


2016-01-20: Version 4.10.15

        [wasm] Implemented F32Trunc as a turbofan graph based on int32
        instructions (Chromium issue 575379).

        Performance and stability improvements on all platforms.


2016-01-20: Version 4.10.14

        [wasm] Verify boundaries of data segments when decoding modules
        (Chromium issue 575167).

        Performance and stability improvements on all platforms.


2016-01-20: Version 4.10.13

        Performance and stability improvements on all platforms.


2016-01-20: Version 4.10.12

        Performance and stability improvements on all platforms.


2016-01-20: Version 4.10.11

        [runtime] Do not use the enum-cache for keys retrieval (issue 705).

        Performance and stability improvements on all platforms.


2016-01-20: Version 4.10.10

        Performance and stability improvements on all platforms.


2016-01-20: Version 4.10.9

        Separate String.prototype.replace into RegExp.prototype[Symbol.replace]
        (issue 4343).

        Performance and stability improvements on all platforms.


2016-01-19: Version 4.10.8

        Performance and stability improvements on all platforms.


2016-01-19: Version 4.10.7

        [wasm] Enable WASM JavaScript API tests (Chromium issue 575167).

        Performance and stability improvements on all platforms.


2016-01-18: Version 4.10.6

        [wasm] Create a wrapper function for WASM.asmCompileRun() (Chromium
        issue 575372).

        Make generators non-constructable (issues 4163, 4630).

        Performance and stability improvements on all platforms.


2016-01-18: Version 4.10.5

        Performance and stability improvements on all platforms.


2016-01-18: Version 4.10.4

        Performance and stability improvements on all platforms.


2016-01-18: Version 4.10.3

        Performance and stability improvements on all platforms.


2016-01-16: Version 4.10.2

        Performance and stability improvements on all platforms.


2016-01-16: Version 4.10.1

        Performance and stability improvements on all platforms.


2016-01-15: Version 4.9.391

        Performance and stability improvements on all platforms.


2016-01-15: Version 4.9.390

        Performance and stability improvements on all platforms.


2016-01-15: Version 4.9.389

        Construct instances of base class from TypedArray.prototype.subarray
        (issue 4665).

        Performance and stability improvements on all platforms.


2016-01-14: Version 4.9.388

        Performance and stability improvements on all platforms.


2016-01-14: Version 4.9.387

        Performance and stability improvements on all platforms.


2016-01-14: Version 4.9.386

        Performance and stability improvements on all platforms.


2016-01-14: Version 4.9.385

        Performance and stability improvements on all platforms.


2016-01-14: Version 4.9.384

        Performance and stability improvements on all platforms.


2016-01-14: Version 4.9.383

        Performance and stability improvements on all platforms.


2016-01-14: Version 4.9.382

        Performance and stability improvements on all platforms.


2016-01-14: Version 4.9.381

        Performance and stability improvements on all platforms.


2016-01-14: Version 4.9.380

        Performance and stability improvements on all platforms.


2016-01-14: Version 4.9.379

        Performance and stability improvements on all platforms.


2016-01-14: Version 4.9.378

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.377

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.376

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.375

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.374

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.373

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.372

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.371

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.370

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.369

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.368

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.367

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.366

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.365

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.364

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.363

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.362

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.361

        Disable concurrent osr (issue 4650).

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.360

        Performance and stability improvements on all platforms.


2016-01-13: Version 4.9.359

        Performance and stability improvements on all platforms.


2016-01-12: Version 4.9.358

        Performance and stability improvements on all platforms.


2016-01-12: Version 4.9.357

        Performance and stability improvements on all platforms.


2016-01-12: Version 4.9.356

        [wasm] Rename the WASM object to _WASMEXP_ (Chromium issue 575167).

        Performance and stability improvements on all platforms.


2016-01-12: Version 4.9.355

        Performance and stability improvements on all platforms.


2016-01-12: Version 4.9.354

        Reland of "[Proxies] Ship Proxies + Reflect." (issues 1543, 3931).

        Performance and stability improvements on all platforms.


2016-01-12: Version 4.9.353

        Performance and stability improvements on all platforms.


2016-01-12: Version 4.9.352

        Gracefully handle proxies in AllCanWrite() (issue 1543, Chromium issue
        576662).

        Performance and stability improvements on all platforms.


2016-01-12: Version 4.9.351

        [wasm] Fix double to int conversions (Chromium issue 576560).

        Performance and stability improvements on all platforms.


2016-01-12: Version 4.9.350

        [Proxies] Ship Proxies + Reflect (issues 1543, 3931).

        Performance and stability improvements on all platforms.


2016-01-12: Version 4.9.349

        Performance and stability improvements on all platforms.


2016-01-12: Version 4.9.348

        Performance and stability improvements on all platforms.


2016-01-12: Version 4.9.347

        Performance and stability improvements on all platforms.


2016-01-12: Version 4.9.346

        Performance and stability improvements on all platforms.


2016-01-12: Version 4.9.345

        Add @@species/better subclassing support to Promises (issue 4633,
        Chromium issue 575314).

        TypedArray and ArrayBuffer support for @@species (issue 4093).

        Performance and stability improvements on all platforms.


2016-01-12: Version 4.9.344

        Performance and stability improvements on all platforms.


2016-01-11: Version 4.9.343

        Performance and stability improvements on all platforms.


2016-01-11: Version 4.9.342

        Ship ES2015 sloppy-mode const semantics (issue 3305).

        Performance and stability improvements on all platforms.


2016-01-11: Version 4.9.341

        Partial rollback of Promise error checking (issue 4633).

        Performance and stability improvements on all platforms.


2016-01-11: Version 4.9.340

        Performance and stability improvements on all platforms.


2016-01-11: Version 4.9.339

        Performance and stability improvements on all platforms.


2016-01-11: Version 4.9.338

        [wasm] Fix set_local appearing in unreachable code (Chromium issue
        575861).

        Performance and stability improvements on all platforms.


2016-01-11: Version 4.9.337

        Performance and stability improvements on all platforms.


2016-01-11: Version 4.9.336

        Performance and stability improvements on all platforms.


2016-01-11: Version 4.9.335

        Performance and stability improvements on all platforms.


2016-01-11: Version 4.9.334

        [wasm] Avoid crashing if parsing fails in asm -> wasm (Chromium issue
        575369).

        Performance and stability improvements on all platforms.


2016-01-11: Version 4.9.333

        Performance and stability improvements on all platforms.


2016-01-11: Version 4.9.332

        Performance and stability improvements on all platforms.


2016-01-11: Version 4.9.331

        Performance and stability improvements on all platforms.


2016-01-09: Version 4.9.330

        Performance and stability improvements on all platforms.


2016-01-08: Version 4.9.329

        Performance and stability improvements on all platforms.


2016-01-08: Version 4.9.328

        Performance and stability improvements on all platforms.


2016-01-08: Version 4.9.327

        Performance and stability improvements on all platforms.


2016-01-08: Version 4.9.326

        Performance and stability improvements on all platforms.


2016-01-08: Version 4.9.325

        Performance and stability improvements on all platforms.


2016-01-08: Version 4.9.324

        Performance and stability improvements on all platforms.


2016-01-08: Version 4.9.323

        Fix sloppy block-scoped function hoisting with nested zones (Chromium
        issue 537816).

        Performance and stability improvements on all platforms.


2016-01-08: Version 4.9.322

        Performance and stability improvements on all platforms.


2016-01-08: Version 4.9.321

        Performance and stability improvements on all platforms.


2016-01-08: Version 4.9.320

        Performance and stability improvements on all platforms.


2016-01-08: Version 4.9.319

        [wasm] Fix validation error for missing return statement in asm.js
        module (Chromium issue 575364).

        Performance and stability improvements on all platforms.


2016-01-08: Version 4.9.318

        Performance and stability improvements on all platforms.


2016-01-08: Version 4.9.317

        Performance and stability improvements on all platforms.


2016-01-08: Version 4.9.316

        Performance and stability improvements on all platforms.


2016-01-08: Version 4.9.315

        Performance and stability improvements on all platforms.


2016-01-08: Version 4.9.314

        Performance and stability improvements on all platforms.


2016-01-07: Version 4.9.313

        Performance and stability improvements on all platforms.


2016-01-07: Version 4.9.312

        Performance and stability improvements on all platforms.


2016-01-07: Version 4.9.311

        Performance and stability improvements on all platforms.


2016-01-07: Version 4.9.310

        Performance and stability improvements on all platforms.


2016-01-07: Version 4.9.309

        Performance and stability improvements on all platforms.


2016-01-07: Version 4.9.308

        Performance and stability improvements on all platforms.


2016-01-07: Version 4.9.307

        Performance and stability improvements on all platforms.


2016-01-07: Version 4.9.306

        Performance and stability improvements on all platforms.


2016-01-07: Version 4.9.305

        Performance and stability improvements on all platforms.


2016-01-07: Version 4.9.304

        Performance and stability improvements on all platforms.


2016-01-07: Version 4.9.303

        Performance and stability improvements on all platforms.


2016-01-07: Version 4.9.302

        Performance and stability improvements on all platforms.


2016-01-07: Version 4.9.301

        Performance and stability improvements on all platforms.


2016-01-07: Version 4.9.300

        Add Array support for @@species and subclassing (issue 4093).

        Performance and stability improvements on all platforms.


2016-01-06: Version 4.9.299

        Performance and stability improvements on all platforms.


2016-01-06: Version 4.9.298

        Performance and stability improvements on all platforms.


2016-01-06: Version 4.9.297

        Performance and stability improvements on all platforms.


2016-01-05: Version 4.9.296

        Performance and stability improvements on all platforms.


2016-01-05: Version 4.9.295

        Ship ES2015 sloppy-mode function hoisting, let, class (issues 3305,
        4285).

        Ship destructuring assignment (issue 811).

        Performance and stability improvements on all platforms.


2016-01-05: Version 4.9.294

        Performance and stability improvements on all platforms.


2016-01-05: Version 4.9.293

        Performance and stability improvements on all platforms.


2016-01-05: Version 4.9.292

        Performance and stability improvements on all platforms.


2016-01-05: Version 4.9.291

        Performance and stability improvements on all platforms.


2016-01-05: Version 4.9.290

        Performance and stability improvements on all platforms.


2016-01-05: Version 4.9.289

        Performance and stability improvements on all platforms.


2016-01-05: Version 4.9.288

        Performance and stability improvements on all platforms.


2016-01-05: Version 4.9.287

        Performance and stability improvements on all platforms.


2016-01-05: Version 4.9.286

        Performance and stability improvements on all platforms.


2016-01-05: Version 4.9.285

        Accept time zones like GMT-8 in the legacy date parser (Chromium issue
        422858).

        Timezone name check fix (Chromium issue 364374).

        Add a --harmony-species flag, defining @@species on constructors (issue
        4093).

        Performance and stability improvements on all platforms.


2016-01-04: Version 4.9.284

        Performance and stability improvements on all platforms.


2016-01-04: Version 4.9.283

        Performance and stability improvements on all platforms.


2016-01-04: Version 4.9.282

        Performance and stability improvements on all platforms.


2016-01-04: Version 4.9.281

        Performance and stability improvements on all platforms.


2016-01-04: Version 4.9.280

        Performance and stability improvements on all platforms.


2016-01-01: Version 4.9.279

        Performance and stability improvements on all platforms.


2015-12-31: Version 4.9.278

        Performance and stability improvements on all platforms.


2015-12-31: Version 4.9.277

        Fix 'illegal access' in Date constructor edge case (issue 4640).

        Reland of Use ES2015-style TypedArray prototype chain (patchset #1 id:1
        of https://codereview.chromium.org/1554523002/ ) (issue 4085).

        Performance and stability improvements on all platforms.


2015-12-30: Version 4.9.276

        Reland "Clean up promises and fix an edge case bug (patchset #4 id:60001
        of https://codereview.chromium.org/1488783002/ )" (issue 3641).

        Performance and stability improvements on all platforms.


2015-12-30: Version 4.9.275

        Performance and stability improvements on all platforms.


2015-12-30: Version 4.9.274

        Performance and stability improvements on all platforms.


2015-12-30: Version 4.9.273

        Performance and stability improvements on all platforms.


2015-12-29: Version 4.9.272

        Performance and stability improvements on all platforms.


2015-12-29: Version 4.9.271

        Performance and stability improvements on all platforms.


2015-12-29: Version 4.9.270

        [crankshaft] Don't inline array resize operations if receiver's proto is
        not a JSObject (Chromium issue 571064).

        Performance and stability improvements on all platforms.


2015-12-29: Version 4.9.269

        [ic] Fixed receiver_map register trashing in KeyedStoreIC megamorphic
        (Chromium issue 571370).

        Performance and stability improvements on all platforms.


2015-12-29: Version 4.9.268

        Use ES2015-style TypedArray prototype chain (issue 4085).

        Guard the property RegExp.prototype.unicode behind --harmony-regexp-
        unicode (issue 4644).

        Performance and stability improvements on all platforms.


2015-12-28: Version 4.9.267

        Performance and stability improvements on all platforms.


2015-12-28: Version 4.9.266

        Performance and stability improvements on all platforms.


2015-12-26: Version 4.9.265

        Performance and stability improvements on all platforms.


2015-12-26: Version 4.9.264

        Performance and stability improvements on all platforms.


2015-12-25: Version 4.9.263

        Performance and stability improvements on all platforms.


2015-12-24: Version 4.9.262

        Performance and stability improvements on all platforms.


2015-12-24: Version 4.9.261

        Performance and stability improvements on all platforms.


2015-12-23: Version 4.9.260

        Performance and stability improvements on all platforms.


2015-12-23: Version 4.9.259

        Performance and stability improvements on all platforms.


2015-12-23: Version 4.9.258

        Performance and stability improvements on all platforms.


2015-12-23: Version 4.9.257

        [elements] Enable left-trimming again (issue 4606).

        Performance and stability improvements on all platforms.


2015-12-23: Version 4.9.256

        Performance and stability improvements on all platforms.


2015-12-23: Version 4.9.255

        Reland of Add web compat workarounds for ES2015 RegExp semantics
        (patchset #3 id:40001 of https://codereview.chromium.org/1543723002/ )
        (issues 4617, 4637).

        Add web compat workarounds for ES2015 RegExp semantics (issues 4617,
        4637).

        Performance and stability improvements on all platforms.


2015-12-22: Version 4.9.254

        Performance and stability improvements on all platforms.


2015-12-22: Version 4.9.253

        Performance and stability improvements on all platforms.


2015-12-21: Version 4.9.252

        [ES6] Stage sloppy function block scoping (issue 3305).

        Performance and stability improvements on all platforms.


2015-12-21: Version 4.9.251

        Performance and stability improvements on all platforms.


2015-12-21: Version 4.9.250

        Performance and stability improvements on all platforms.


2015-12-21: Version 4.9.249

        Performance and stability improvements on all platforms.


2015-12-21: Version 4.9.248

        Performance and stability improvements on all platforms.


2015-12-21: Version 4.9.247

        Performance and stability improvements on all platforms.


2015-12-21: Version 4.9.246

        Performance and stability improvements on all platforms.


2015-12-21: Version 4.9.245

        Performance and stability improvements on all platforms.


2015-12-20: Version 4.9.244

        Performance and stability improvements on all platforms.


2015-12-20: Version 4.9.243

        Mark all APIs without callers in Blink as deprecated.

        Performance and stability improvements on all platforms.


2015-12-19: Version 4.9.242

        Performance and stability improvements on all platforms.


2015-12-19: Version 4.9.241

        Performance and stability improvements on all platforms.


2015-12-18: Version 4.9.240

        Performance and stability improvements on all platforms.


2015-12-18: Version 4.9.239

        Performance and stability improvements on all platforms.


2015-12-18: Version 4.9.238

        Performance and stability improvements on all platforms.


2015-12-18: Version 4.9.237

        Stage Proxies and Reflect behind --harmony flag (issues 1543, 3931).

        Performance and stability improvements on all platforms.


2015-12-18: Version 4.9.236

        Performance and stability improvements on all platforms.


2015-12-18: Version 4.9.235

        Performance and stability improvements on all platforms.


2015-12-18: Version 4.9.234

        Performance and stability improvements on all platforms.


2015-12-17: Version 4.9.233

        Performance and stability improvements on all platforms.


2015-12-17: Version 4.9.232

        Performance and stability improvements on all platforms.


2015-12-17: Version 4.9.231

        Performance and stability improvements on all platforms.


2015-12-17: Version 4.9.230

        Performance and stability improvements on all platforms.


2015-12-17: Version 4.9.229

        Performance and stability improvements on all platforms.


2015-12-17: Version 4.9.228

        Performance and stability improvements on all platforms.


2015-12-17: Version 4.9.227

        Performance and stability improvements on all platforms.


2015-12-17: Version 4.9.226

        [IC] Fix "compatible receiver" checks hidden behind interceptors
        (Chromium issue 497632).

        Performance and stability improvements on all platforms.


2015-12-17: Version 4.9.225

        Performance and stability improvements on all platforms.


2015-12-17: Version 4.9.224

        Performance and stability improvements on all platforms.


2015-12-17: Version 4.9.223

        Performance and stability improvements on all platforms.


2015-12-17: Version 4.9.222

        Performance and stability improvements on all platforms.


2015-12-17: Version 4.9.221

        Performance and stability improvements on all platforms.


2015-12-16: Version 4.9.220

        Performance and stability improvements on all platforms.


2015-12-16: Version 4.9.219

        Performance and stability improvements on all platforms.


2015-12-16: Version 4.9.218

        Performance and stability improvements on all platforms.


2015-12-16: Version 4.9.217

        Performance and stability improvements on all platforms.


2015-12-16: Version 4.9.216

        Stage destructuring assignment (issue 811).

        Update DEPS entry for tracing to point at correct location.

        Performance and stability improvements on all platforms.


2015-12-16: Version 4.9.215

        [harmony] unstage regexp lookbehind assertions (issue 4545).

        Move Object.observe back to shipping temporarily (Chromium issues
        552100, 569417, 569647).

        Performance and stability improvements on all platforms.


2015-12-14: Version 4.9.214

        Performance and stability improvements on all platforms.


2015-12-14: Version 4.9.213

        Performance and stability improvements on all platforms.


2015-12-14: Version 4.9.212

        [harmony] stage regexp lookbehind assertions (issue 4545).

        [es6] ship regexp sticky flag (issue 4342).

        Performance and stability improvements on all platforms.


2015-12-14: Version 4.9.211

        Performance and stability improvements on all platforms.


2015-12-11: Version 4.9.210

        Performance and stability improvements on all platforms.


2015-12-11: Version 4.9.209

        Performance and stability improvements on all platforms.


2015-12-11: Version 4.9.208

        Performance and stability improvements on all platforms.


2015-12-11: Version 4.9.207

        Performance and stability improvements on all platforms.


2015-12-11: Version 4.9.206

        [es6] Support Function name inference in variable declarations (issue
        3699).

        Performance and stability improvements on all platforms.


2015-12-11: Version 4.9.205

        Performance and stability improvements on all platforms.


2015-12-11: Version 4.9.204

        Disable --harmony-object-observe (Chromium issue 552100).

        Performance and stability improvements on all platforms.


2015-12-11: Version 4.9.203

        Performance and stability improvements on all platforms.


2015-12-11: Version 4.9.202

        Performance and stability improvements on all platforms.


2015-12-11: Version 4.9.201

        Performance and stability improvements on all platforms.


2015-12-11: Version 4.9.200

        Performance and stability improvements on all platforms.


2015-12-11: Version 4.9.199

        Performance and stability improvements on all platforms.


2015-12-11: Version 4.9.198

        Performance and stability improvements on all platforms.


2015-12-11: Version 4.9.197

        Performance and stability improvements on all platforms.


2015-12-11: Version 4.9.196

        Re-re-land FastAccessorBuilder (Chromium issue 508898).

        Performance and stability improvements on all platforms.


2015-12-11: Version 4.9.195

        Performance and stability improvements on all platforms.


2015-12-11: Version 4.9.194

        Performance and stability improvements on all platforms.


2015-12-10: Version 4.9.193

        Performance and stability improvements on all platforms.


2015-12-10: Version 4.9.192

        Unstage non-standard Promise functions (issue 3237).

        Performance and stability improvements on all platforms.


2015-12-10: Version 4.9.191

        Performance and stability improvements on all platforms.


2015-12-10: Version 4.9.190

        Performance and stability improvements on all platforms.


2015-12-10: Version 4.9.189

        Allow ICU to normalize time zones (Chromium issue 487322).

        Fix FuncNameInferrer usage in ParseAssignmentExpression (issue 4595).

        Performance and stability improvements on all platforms.


2015-12-10: Version 4.9.188

        Fix Function subclassing (issues 3101, 3330, 4597).

        Performance and stability improvements on all platforms.


2015-12-10: Version 4.9.187

        Performance and stability improvements on all platforms.


2015-12-10: Version 4.9.186

        Performance and stability improvements on all platforms.


2015-12-10: Version 4.9.185

        Performance and stability improvements on all platforms.


2015-12-10: Version 4.9.184

        Re-land FastAccessorBuilder (Chromium issue 508898).

        Performance and stability improvements on all platforms.


2015-12-10: Version 4.9.183

        Performance and stability improvements on all platforms.


2015-12-10: Version 4.9.182

        Performance and stability improvements on all platforms.


2015-12-10: Version 4.9.181

        Performance and stability improvements on all platforms.


2015-12-10: Version 4.9.180

        Performance and stability improvements on all platforms.


2015-12-10: Version 4.9.179

        Performance and stability improvements on all platforms.


2015-12-10: Version 4.9.178

        Implement FastAccessorBuilder (Chromium issue 508898).

        Performance and stability improvements on all platforms.


2015-12-10: Version 4.9.177

        Performance and stability improvements on all platforms.


2015-12-09: Version 4.9.176

        Updated the check for unmodfied objects to handle Smi Objects (Chromium
        issue 553287).

        Performance and stability improvements on all platforms.


2015-12-09: Version 4.9.175

        Performance and stability improvements on all platforms.


2015-12-09: Version 4.9.174

        Performance and stability improvements on all platforms.


2015-12-08: Version 4.9.173

        Performance and stability improvements on all platforms.


2015-12-08: Version 4.9.172

        Performance and stability improvements on all platforms.


2015-12-08: Version 4.9.171

        Remove usage of deprecated APIs from api interceptor tests (issue 4341).

        Deprecate Promise::Chain from V8 APIs (issue 3237).

        Set the Gregorian changeover date to the beginning of time in Intl
        (Chromium issue 537382).

        Performance and stability improvements on all platforms.


2015-12-07: Version 4.9.170

        Performance and stability improvements on all platforms.


2015-12-07: Version 4.9.169

        Performance and stability improvements on all platforms.


2015-12-07: Version 4.9.168

        Performance and stability improvements on all platforms.


2015-12-07: Version 4.9.167

        Performance and stability improvements on all platforms.


2015-12-07: Version 4.9.166

        Performance and stability improvements on all platforms.


2015-12-07: Version 4.9.165

        Performance and stability improvements on all platforms.


2015-12-07: Version 4.9.164

        Performance and stability improvements on all platforms.


2015-12-07: Version 4.9.163

        Performance and stability improvements on all platforms.


2015-12-07: Version 4.9.162

        Performance and stability improvements on all platforms.


2015-12-07: Version 4.9.161

        Performance and stability improvements on all platforms.


2015-12-07: Version 4.9.160

        Performance and stability improvements on all platforms.


2015-12-07: Version 4.9.159

        Performance and stability improvements on all platforms.


2015-12-07: Version 4.9.158

        Performance and stability improvements on all platforms.


2015-12-06: Version 4.9.157

        Performance and stability improvements on all platforms.


2015-12-06: Version 4.9.156

        Performance and stability improvements on all platforms.


2015-12-06: Version 4.9.155

        Performance and stability improvements on all platforms.


2015-12-05: Version 4.9.154

        Performance and stability improvements on all platforms.


2015-12-05: Version 4.9.153

        Performance and stability improvements on all platforms.


2015-12-05: Version 4.9.152

        Clean up promises and fix an edge case bug (issue 3641).

        Performance and stability improvements on all platforms.


2015-12-04: Version 4.9.151

        [es6] implement destructuring assignment (issue 811).

        Performance and stability improvements on all platforms.


2015-12-04: Version 4.9.150

        Performance and stability improvements on all platforms.


2015-12-04: Version 4.9.149

        Mark deprecated debugger APIs as such.

        Performance and stability improvements on all platforms.


2015-12-04: Version 4.9.148

        Performance and stability improvements on all platforms.


2015-12-04: Version 4.9.147

        Performance and stability improvements on all platforms.


2015-12-04: Version 4.9.146

        Performance and stability improvements on all platforms.


2015-12-04: Version 4.9.145

        Performance and stability improvements on all platforms.


2015-12-04: Version 4.9.144

        Performance and stability improvements on all platforms.


2015-12-04: Version 4.9.143

        Performance and stability improvements on all platforms.


2015-12-04: Version 4.9.142

        Performance and stability improvements on all platforms.


2015-12-04: Version 4.9.141

        Performance and stability improvements on all platforms.


2015-12-04: Version 4.9.140

        Performance and stability improvements on all platforms.


2015-12-04: Version 4.9.139

        Performance and stability improvements on all platforms.


2015-12-04: Version 4.9.138

        Performance and stability improvements on all platforms.


2015-12-04: Version 4.9.137

        Performance and stability improvements on all platforms.


2015-12-04: Version 4.9.136

        Mark BooleanObject::New() as deprecated.

        Performance and stability improvements on all platforms.


2015-12-03: Version 4.9.135

        For non-prototype objects constructed using base==new.target, use the
        cached constructor to render the name (Chromium issue 563791).

        Performance and stability improvements on all platforms.


2015-12-03: Version 4.9.134

        Deprecate non-standard Array methods and clarify Object::isArray.

        Performance and stability improvements on all platforms.


2015-12-03: Version 4.9.133

        Performance and stability improvements on all platforms.


2015-12-03: Version 4.9.132

        Fix inobject slack tracking for both subclassing and non-subclassing
        cases (Chromium issue 563339).

        Performance and stability improvements on all platforms.


2015-12-03: Version 4.9.131

        Performance and stability improvements on all platforms.


2015-12-03: Version 4.9.130

        Performance and stability improvements on all platforms.


2015-12-02: Version 4.9.129

        Removed support deprecated (//@|/*@) source(URL|MappingURL)= (Chromium
        issue 558998).

        Performance and stability improvements on all platforms.


2015-12-02: Version 4.9.128

        Improve rendering of callsite with non-function target (issue 3953).

        Performance and stability improvements on all platforms.


2015-12-02: Version 4.9.127

        Performance and stability improvements on all platforms.


2015-12-02: Version 4.9.126

        Performance and stability improvements on all platforms.


2015-12-02: Version 4.9.125

        Performance and stability improvements on all platforms.


2015-12-02: Version 4.9.124

        Performance and stability improvements on all platforms.


2015-12-02: Version 4.9.123

        Performance and stability improvements on all platforms.


2015-12-02: Version 4.9.122

        Performance and stability improvements on all platforms.


2015-12-02: Version 4.9.121

        Performance and stability improvements on all platforms.


2015-12-01: Version 4.9.120

        Performance and stability improvements on all platforms.


2015-12-01: Version 4.9.119

        Performance and stability improvements on all platforms.


2015-12-01: Version 4.9.118

        Performance and stability improvements on all platforms.


2015-12-01: Version 4.9.117

        Performance and stability improvements on all platforms.


2015-12-01: Version 4.9.116

        Performance and stability improvements on all platforms.


2015-12-01: Version 4.9.115

        Performance and stability improvements on all platforms.


2015-12-01: Version 4.9.114

        Performance and stability improvements on all platforms.


2015-12-01: Version 4.9.113

        Performance and stability improvements on all platforms.


2015-11-30: Version 4.9.112

        Performance and stability improvements on all platforms.


2015-11-30: Version 4.9.111

        Performance and stability improvements on all platforms.


2015-11-30: Version 4.9.110

        Performance and stability improvements on all platforms.


2015-11-30: Version 4.9.109

        Performance and stability improvements on all platforms.


2015-11-30: Version 4.9.108

        Performance and stability improvements on all platforms.


2015-11-30: Version 4.9.107

        Performance and stability improvements on all platforms.


2015-11-30: Version 4.9.106

        Performance and stability improvements on all platforms.


2015-11-30: Version 4.9.105

        Performance and stability improvements on all platforms.


2015-11-30: Version 4.9.104

        Performance and stability improvements on all platforms.


2015-11-30: Version 4.9.103

        Performance and stability improvements on all platforms.


2015-11-30: Version 4.9.102

        Performance and stability improvements on all platforms.


2015-11-30: Version 4.9.101

        Performance and stability improvements on all platforms.


2015-11-30: Version 4.9.100

        Move RMA::Label out of the class, so it can be forward declared
        (Chromium issue 508898).

        Performance and stability improvements on all platforms.


2015-11-30: Version 4.9.99

        Performance and stability improvements on all platforms.


2015-11-30: Version 4.9.98

        Performance and stability improvements on all platforms.


2015-11-30: Version 4.9.97

        Performance and stability improvements on all platforms.


2015-11-30: Version 4.9.96

        Performance and stability improvements on all platforms.


2015-11-30: Version 4.9.95

        Performance and stability improvements on all platforms.


2015-11-29: Version 4.9.94

        Performance and stability improvements on all platforms.


2015-11-29: Version 4.9.93

        Performance and stability improvements on all platforms.


2015-11-28: Version 4.9.92

        Performance and stability improvements on all platforms.


2015-11-28: Version 4.9.91

        Performance and stability improvements on all platforms.


2015-11-27: Version 4.9.90

        Performance and stability improvements on all platforms.


2015-11-27: Version 4.9.89

        Performance and stability improvements on all platforms.


2015-11-27: Version 4.9.88

        Performance and stability improvements on all platforms.


2015-11-27: Version 4.9.87

        Performance and stability improvements on all platforms.


2015-11-27: Version 4.9.86

        Performance and stability improvements on all platforms.


2015-11-27: Version 4.9.85

        Performance and stability improvements on all platforms.


2015-11-27: Version 4.9.84

        Performance and stability improvements on all platforms.


2015-11-27: Version 4.9.83

        Performance and stability improvements on all platforms.


2015-11-26: Version 4.9.82

        Performance and stability improvements on all platforms.


2015-11-26: Version 4.9.81

        Performance and stability improvements on all platforms.


2015-11-26: Version 4.9.80

        Performance and stability improvements on all platforms.


2015-11-26: Version 4.9.79

        Performance and stability improvements on all platforms.


2015-11-26: Version 4.9.78

        Mark PromiseRejectMessage::GetStackTrace as deprecated.

        Performance and stability improvements on all platforms.


2015-11-26: Version 4.9.77

        Performance and stability improvements on all platforms.


2015-11-26: Version 4.9.76

        Performance and stability improvements on all platforms.


2015-11-26: Version 4.9.75

        Performance and stability improvements on all platforms.


2015-11-26: Version 4.9.74

        Add explicit Isolate parameter to Exception::CreateMessage() (Chromium
        issue 495801).

        Performance and stability improvements on all platforms.


2015-11-26: Version 4.9.73

        Allow in-object properties in JSArrayBuffer (issue 4531).

        Allow in-object properties in JSTypedArray and JSDataView (issue 4531).

        Performance and stability improvements on all platforms.


2015-11-26: Version 4.9.72

        Performance and stability improvements on all platforms.


2015-11-26: Version 4.9.71

        Performance and stability improvements on all platforms.


2015-11-26: Version 4.9.70

        Performance and stability improvements on all platforms.


2015-11-26: Version 4.9.69

        Performance and stability improvements on all platforms.


2015-11-25: Version 4.9.68

        Reland shipping of --harmony-destructuring-bind (issue 811).

        Fix promotion of JSFunctions with in-object properties (issue 4572,
        Chromium issue 561481).

        Allow in-object properties in JSCollections, JSWeakCollections and
        JSRegExp (issue 4531).

        Fix JSFunction's in-object properties initialization (issue 4572).

        Performance and stability improvements on all platforms.


2015-11-25: Version 4.9.67

        Performance and stability improvements on all platforms.


2015-11-25: Version 4.9.66

        Removed support deprecated (//@|/*@) source(URL|MappingURL)= (Chromium
        issue 558998).

        PPC: Reshuffle registers in JSConstructStub to avoid trashing costructor
        and new.target on fast path (so we don't need to push/pop them)
        (Chromium issue 560239).

        Performance and stability improvements on all platforms.


2015-11-24: Version 4.9.65

        Performance and stability improvements on all platforms.


2015-11-24: Version 4.9.64

        Move --harmony-destructuring-bind to shipping (issue 811).

        Performance and stability improvements on all platforms.


2015-11-24: Version 4.9.63

        Reshuffle registers in JSConstructStub to avoid trashing costructor and
        new.target on fast path (so we don't need to push/pop them) (Chromium
        issue 560239).

        Performance and stability improvements on all platforms.


2015-11-24: Version 4.9.62

        Performance and stability improvements on all platforms.


2015-11-24: Version 4.9.61

        Performance and stability improvements on all platforms.


2015-11-24: Version 4.9.60

        Allow in-object properties in JSFunctions (issue 4531).

        Disable non-standard Promise functions in staging (issue 3237).

        Performance and stability improvements on all platforms.


2015-11-24: Version 4.9.59

        Performance and stability improvements on all platforms.


2015-11-24: Version 4.9.58

        Performance and stability improvements on all platforms.


2015-11-24: Version 4.9.57

        Performance and stability improvements on all platforms.


2015-11-23: Version 4.9.56

        Performance and stability improvements on all platforms.


2015-11-23: Version 4.9.55

        Performance and stability improvements on all platforms.


2015-11-23: Version 4.9.54

        Performance and stability improvements on all platforms.


2015-11-23: Version 4.9.53

        Performance and stability improvements on all platforms.


2015-11-23: Version 4.9.52

        Performance and stability improvements on all platforms.


2015-11-23: Version 4.9.51

        Performance and stability improvements on all platforms.


2015-11-23: Version 4.9.50

        Performance and stability improvements on all platforms.


2015-11-23: Version 4.9.49

        Performance and stability improvements on all platforms.


2015-11-23: Version 4.9.48

        Performance and stability improvements on all platforms.


2015-11-23: Version 4.9.47

        Performance and stability improvements on all platforms.


2015-11-23: Version 4.9.46

        Performance and stability improvements on all platforms.


2015-11-22: Version 4.9.45

        Performance and stability improvements on all platforms.


2015-11-22: Version 4.9.44

        Performance and stability improvements on all platforms.


2015-11-22: Version 4.9.43

        Performance and stability improvements on all platforms.


2015-11-21: Version 4.9.42

        Performance and stability improvements on all platforms.


2015-11-20: Version 4.9.41

        Performance and stability improvements on all platforms.


2015-11-20: Version 4.9.40

        Performance and stability improvements on all platforms.


2015-11-20: Version 4.9.39

        Performance and stability improvements on all platforms.


2015-11-20: Version 4.9.38

        Performance and stability improvements on all platforms.


2015-11-20: Version 4.9.37

        Performance and stability improvements on all platforms.


2015-11-20: Version 4.9.36

        Performance and stability improvements on all platforms.


2015-11-20: Version 4.9.35

        Performance and stability improvements on all platforms.


2015-11-20: Version 4.9.34

        Performance and stability improvements on all platforms.


2015-11-20: Version 4.9.33

        Performance and stability improvements on all platforms.


2015-11-20: Version 4.9.32

        Performance and stability improvements on all platforms.


2015-11-20: Version 4.9.31

        Performance and stability improvements on all platforms.


2015-11-20: Version 4.9.30

        Performance and stability improvements on all platforms.


2015-11-20: Version 4.9.29

        Performance and stability improvements on all platforms.


2015-11-19: Version 4.9.28

        Performance and stability improvements on all platforms.


2015-11-19: Version 4.9.27

        [V8] Unify get function name for debugging purpose (Chromium issue
        17356).

        Performance and stability improvements on all platforms.


2015-11-19: Version 4.9.26

        Performance and stability improvements on all platforms.


2015-11-19: Version 4.9.25

        Performance and stability improvements on all platforms.


2015-11-19: Version 4.9.24

        Performance and stability improvements on all platforms.


2015-11-19: Version 4.9.23

        Performance and stability improvements on all platforms.


2015-11-19: Version 4.9.22

        Performance and stability improvements on all platforms.


2015-11-19: Version 4.9.21

        Performance and stability improvements on all platforms.


2015-11-19: Version 4.9.20

        Performance and stability improvements on all platforms.


2015-11-18: Version 4.9.19

        Performance and stability improvements on all platforms.


2015-11-18: Version 4.9.18

        Performance and stability improvements on all platforms.


2015-11-18: Version 4.9.17

        Performance and stability improvements on all platforms.


2015-11-18: Version 4.9.16

        Performance and stability improvements on all platforms.


2015-11-18: Version 4.9.15

        Performance and stability improvements on all platforms.


2015-11-18: Version 4.9.14

        Performance and stability improvements on all platforms.


2015-11-17: Version 4.9.13

        Performance and stability improvements on all platforms.


2015-11-17: Version 4.9.12

        Performance and stability improvements on all platforms.


2015-11-17: Version 4.9.11

        Performance and stability improvements on all platforms.


2015-11-17: Version 4.9.10

        Performance and stability improvements on all platforms.


2015-11-16: Version 4.9.9

        Map v8::Object to v8::internal::JSReceiver.

        Performance and stability improvements on all platforms.


2015-11-16: Version 4.9.8

        Performance and stability improvements on all platforms.


2015-11-16: Version 4.9.7

        Performance and stability improvements on all platforms.


2015-11-16: Version 4.9.6

        Performance and stability improvements on all platforms.


2015-11-16: Version 4.9.5

        Performance and stability improvements on all platforms.


2015-11-16: Version 4.9.4

        Performance and stability improvements on all platforms.


2015-11-15: Version 4.9.3

        Performance and stability improvements on all platforms.


2015-11-15: Version 4.9.2

        Performance and stability improvements on all platforms.


2015-11-15: Version 4.9.1

        Performance and stability improvements on all platforms.


2015-11-13: Version 4.8.294

        Performance and stability improvements on all platforms.


2015-11-13: Version 4.8.293

        Performance and stability improvements on all platforms.


2015-11-12: Version 4.8.292

        Performance and stability improvements on all platforms.


2015-11-12: Version 4.8.291

        Performance and stability improvements on all platforms.


2015-11-12: Version 4.8.290

        Performance and stability improvements on all platforms.


2015-11-12: Version 4.8.289

        Performance and stability improvements on all platforms.


2015-11-12: Version 4.8.288

        Performance and stability improvements on all platforms.


2015-11-12: Version 4.8.287

        [JSON stringifier] Correctly load array elements (Chromium issue
        554946).

        Performance and stability improvements on all platforms.


2015-11-12: Version 4.8.286

        Performance and stability improvements on all platforms.


2015-11-12: Version 4.8.285

        Performance and stability improvements on all platforms.


2015-11-12: Version 4.8.284

        Ship --harmony-default-parameters (issue 2160).

        Performance and stability improvements on all platforms.


2015-11-12: Version 4.8.283

        Performance and stability improvements on all platforms.


2015-11-12: Version 4.8.282

        Performance and stability improvements on all platforms.


2015-11-12: Version 4.8.281

        Performance and stability improvements on all platforms.


2015-11-12: Version 4.8.280

        Performance and stability improvements on all platforms.


2015-11-12: Version 4.8.279

        Performance and stability improvements on all platforms.


2015-11-11: Version 4.8.278

        Performance and stability improvements on all platforms.


2015-11-11: Version 4.8.277

        Performance and stability improvements on all platforms.


2015-11-11: Version 4.8.276

        Performance and stability improvements on all platforms.


2015-11-11: Version 4.8.275

        Performance and stability improvements on all platforms.


2015-11-11: Version 4.8.274

        Performance and stability improvements on all platforms.


2015-11-11: Version 4.8.273

        Performance and stability improvements on all platforms.


2015-11-11: Version 4.8.272

        Performance and stability improvements on all platforms.


2015-11-11: Version 4.8.271

        Performance and stability improvements on all platforms.


2015-11-11: Version 4.8.270

        Performance and stability improvements on all platforms.


2015-11-11: Version 4.8.269

        Performance and stability improvements on all platforms.


2015-11-10: Version 4.8.268

        Make JSFunction::BodyDescriptor the only single place that knows how to
        iterate JSFunction's body (issue 4531).

        Performance and stability improvements on all platforms.


2015-11-10: Version 4.8.267

        Performance and stability improvements on all platforms.


2015-11-09: Version 4.8.266

        Performance and stability improvements on all platforms.


2015-11-09: Version 4.8.265

        Performance and stability improvements on all platforms.


2015-11-09: Version 4.8.264

        Performance and stability improvements on all platforms.


2015-11-09: Version 4.8.263

        Performance and stability improvements on all platforms.


2015-11-09: Version 4.8.262

        Performance and stability improvements on all platforms.


2015-11-09: Version 4.8.261

        Performance and stability improvements on all platforms.


2015-11-09: Version 4.8.260

        Performance and stability improvements on all platforms.


2015-11-09: Version 4.8.259

        Performance and stability improvements on all platforms.


2015-11-09: Version 4.8.258

        Performance and stability improvements on all platforms.


2015-11-07: Version 4.8.257

        Update v8_external_startup_data_assets for
        https://codereview.chromium.org/1422793004/ (Chromium issue 547162).

        Performance and stability improvements on all platforms.


2015-11-07: Version 4.8.256

        Performance and stability improvements on all platforms.


2015-11-07: Version 4.8.255

        Performance and stability improvements on all platforms.


2015-11-06: Version 4.8.254

        Performance and stability improvements on all platforms.


2015-11-06: Version 4.8.253

        Performance and stability improvements on all platforms.


2015-11-06: Version 4.8.252

        Performance and stability improvements on all platforms.


2015-11-06: Version 4.8.251

        Performance and stability improvements on all platforms.


2015-11-06: Version 4.8.250

        Performance and stability improvements on all platforms.


2015-11-06: Version 4.8.249

        Performance and stability improvements on all platforms.


2015-11-06: Version 4.8.248

        Performance and stability improvements on all platforms.


2015-11-06: Version 4.8.247

        Performance and stability improvements on all platforms.


2015-11-05: Version 4.8.246

        Performance and stability improvements on all platforms.


2015-11-05: Version 4.8.245

        Performance and stability improvements on all platforms.


2015-11-05: Version 4.8.244

        Re-ship @@toStringTag (issue 3502).

        Performance and stability improvements on all platforms.


2015-11-05: Version 4.8.243

        Stage --harmony-destructuring and --harmony-default-parameters (issues
        811, 2160).

        Performance and stability improvements on all platforms.


2015-11-05: Version 4.8.242

        Performance and stability improvements on all platforms.


2015-11-05: Version 4.8.241

        Re-re-land "[es6] Implement destructuring binding in try/catch" (issue
        811).

        Performance and stability improvements on all platforms.


2015-11-05: Version 4.8.240

        Performance and stability improvements on all platforms.


2015-11-05: Version 4.8.239

        Add v8_external_startup_data GN rule (Chromium issue 547162).

        Performance and stability improvements on all platforms.


2015-11-05: Version 4.8.238

        Performance and stability improvements on all platforms.


2015-11-05: Version 4.8.237

        Performance and stability improvements on all platforms.


2015-11-05: Version 4.8.236

        Performance and stability improvements on all platforms.


2015-11-05: Version 4.8.235

        Performance and stability improvements on all platforms.


2015-11-05: Version 4.8.234

        Performance and stability improvements on all platforms.


2015-11-05: Version 4.8.233

        Implement flag and source getters on RegExp.prototype (issues 3715,
        4528).

        Performance and stability improvements on all platforms.


2015-11-05: Version 4.8.232

        Performance and stability improvements on all platforms.


2015-11-05: Version 4.8.231

        Performance and stability improvements on all platforms.


2015-11-04: Version 4.8.230

        Performance and stability improvements on all platforms.


2015-11-04: Version 4.8.229

        Performance and stability improvements on all platforms.


2015-11-04: Version 4.8.228

        Ship Harmony ToLength (issue 3087).

        Avoid creating indexed elements at index maxUint32 (issue 4516).

        Performance and stability improvements on all platforms.


2015-11-04: Version 4.8.227

        Implement flag and source getters on RegExp.prototype (issues 3715,
        4528).

        Performance and stability improvements on all platforms.


2015-11-04: Version 4.8.226

        Performance and stability improvements on all platforms.


2015-11-04: Version 4.8.225

        Performance and stability improvements on all platforms.


2015-11-04: Version 4.8.224

        [es6] Implement destructuring binding in try/catch (issue 811).

        Performance and stability improvements on all platforms.


2015-11-04: Version 4.8.223

        Performance and stability improvements on all platforms.


2015-11-04: Version 4.8.222

        Implement flag and source getters on RegExp.prototype (issues 3715,
        4528).

        Performance and stability improvements on all platforms.


2015-11-04: Version 4.8.221

        Implement flag and source getters on RegExp.prototype (issues 3715,
        4528).

        Performance and stability improvements on all platforms.


2015-11-04: Version 4.8.220

        Performance and stability improvements on all platforms.


2015-11-04: Version 4.8.219

        Performance and stability improvements on all platforms.


2015-11-04: Version 4.8.218

        Performance and stability improvements on all platforms.


2015-11-03: Version 4.8.217

        Performance and stability improvements on all platforms.


2015-11-03: Version 4.8.216

        Performance and stability improvements on all platforms.


2015-11-03: Version 4.8.215

        Performance and stability improvements on all platforms.


2015-11-03: Version 4.8.214

        [es6] Fix Object built-in subclassing (issue 3886).

        Performance and stability improvements on all platforms.


2015-11-03: Version 4.8.213

        [es6] Fix WeakMap/Set built-ins subclasssing (issues 3101, 3330).

        Reland "[es6] Fix Function and GeneratorFunction built-ins subclassing."
        (issues 3101, 3330).

        Implement flag and source getters on RegExp.prototype (issues 3715,
        4528).

        Performance and stability improvements on all platforms.


2015-11-03: Version 4.8.212

        Performance and stability improvements on all platforms.


2015-11-03: Version 4.8.211

        Performance and stability improvements on all platforms.


2015-11-03: Version 4.8.210

        For now, don't assume failed-access-check callback to throw (Chromium
        issue 548194).

        Performance and stability improvements on all platforms.


2015-11-03: Version 4.8.209

        Performance and stability improvements on all platforms.


2015-11-02: Version 4.8.208

        Performance and stability improvements on all platforms.


2015-11-02: Version 4.8.207

        Performance and stability improvements on all platforms.


2015-11-02: Version 4.8.206

        Performance and stability improvements on all platforms.


2015-11-02: Version 4.8.205

        Mark GetCallingContext as soon-to-be deprecated (Chromium issue 541703).

        Performance and stability improvements on all platforms.


2015-11-02: Version 4.8.204

        Add boolean to tell if V8 zaps allocated memory (Chromium issue 546492).

        Performance and stability improvements on all platforms.


2015-11-02: Version 4.8.203

        Performance and stability improvements on all platforms.


2015-11-02: Version 4.8.202

        Performance and stability improvements on all platforms.


2015-11-02: Version 4.8.201

        Performance and stability improvements on all platforms.


2015-11-02: Version 4.8.200

        Performance and stability improvements on all platforms.


2015-11-02: Version 4.8.199

        Performance and stability improvements on all platforms.


2015-11-02: Version 4.8.198

        [es6] Fix Function and GeneratorFunction built-ins subclassing (issues
        3101, 3330).

        Performance and stability improvements on all platforms.


2015-11-02: Version 4.8.197

        Performance and stability improvements on all platforms.


2015-11-02: Version 4.8.196

        Reland "[es6] Better support for built-ins subclassing." (issues 3101,
        3330, 4419).

        Performance and stability improvements on all platforms.


2015-11-02: Version 4.8.195

        Performance and stability improvements on all platforms.


2015-10-30: Version 4.8.194

        Performance and stability improvements on all platforms.


2015-10-30: Version 4.8.193

        Performance and stability improvements on all platforms.


2015-10-30: Version 4.8.192

        Performance and stability improvements on all platforms.


2015-10-30: Version 4.8.191

        Performance and stability improvements on all platforms.


2015-10-30: Version 4.8.190

        Performance and stability improvements on all platforms.


2015-10-30: Version 4.8.189

        Performance and stability improvements on all platforms.


2015-10-30: Version 4.8.188

        [es6] Better support for built-ins subclassing (issues 3101, 3330).

        Performance and stability improvements on all platforms.


2015-10-30: Version 4.8.187

        Performance and stability improvements on all platforms.


2015-10-30: Version 4.8.186

        Performance and stability improvements on all platforms.


2015-10-30: Version 4.8.185

        Performance and stability improvements on all platforms.


2015-10-29: Version 4.8.184

        Performance and stability improvements on all platforms.


2015-10-29: Version 4.8.183

        Performance and stability improvements on all platforms.


2015-10-29: Version 4.8.182

        Performance and stability improvements on all platforms.


2015-10-29: Version 4.8.181

        Reland v8::Private and related APIs.

        Performance and stability improvements on all platforms.


2015-10-29: Version 4.8.180

        Performance and stability improvements on all platforms.


2015-10-29: Version 4.8.179

        Performance and stability improvements on all platforms.


2015-10-29: Version 4.8.178

        Performance and stability improvements on all platforms.


2015-10-29: Version 4.8.177

        Performance and stability improvements on all platforms.


2015-10-29: Version 4.8.176

        Stage ES2015 ToLength semantics (issues 3087, 4244).

        Performance and stability improvements on all platforms.


2015-10-28: Version 4.8.175

        Avoid calling %AddElement with a number out of array index range (issue
        4516).

        Performance and stability improvements on all platforms.


2015-10-28: Version 4.8.174

        Performance and stability improvements on all platforms.


2015-10-28: Version 4.8.173

        Performance and stability improvements on all platforms.


2015-10-28: Version 4.8.172

        Performance and stability improvements on all platforms.


2015-10-28: Version 4.8.171

        Performance and stability improvements on all platforms.


2015-10-28: Version 4.8.170

        Performance and stability improvements on all platforms.


2015-10-28: Version 4.8.169

        Performance and stability improvements on all platforms.


2015-10-28: Version 4.8.168

        Performance and stability improvements on all platforms.


2015-10-28: Version 4.8.167

        Performance and stability improvements on all platforms.


2015-10-28: Version 4.8.166

        Performance and stability improvements on all platforms.


2015-10-28: Version 4.8.165

        Performance and stability improvements on all platforms.


2015-10-27: Version 4.8.164

        Update to ES2015 == semantics for Symbol/SIMD wrappers (issue 3593).

        Performance and stability improvements on all platforms.


2015-10-27: Version 4.8.163

        Performance and stability improvements on all platforms.


2015-10-27: Version 4.8.162

        Performance and stability improvements on all platforms.


2015-10-27: Version 4.8.161

        Fix deoptimization at ForInStatement::BodyId() (issue 4381).

        Performance and stability improvements on all platforms.


2015-10-27: Version 4.8.160

        Performance and stability improvements on all platforms.


2015-10-27: Version 4.8.159

        Performance and stability improvements on all platforms.


2015-10-27: Version 4.8.158

        Performance and stability improvements on all platforms.


2015-10-27: Version 4.8.157

        Performance and stability improvements on all platforms.


2015-10-27: Version 4.8.156

        Check that array length stays a safe integer in Array.prototype.push
        (issue 3087).

        Performance and stability improvements on all platforms.


2015-10-26: Version 4.8.155

        Performance and stability improvements on all platforms.


2015-10-26: Version 4.8.154

        Performance and stability improvements on all platforms.


2015-10-26: Version 4.8.153

        Performance and stability improvements on all platforms.


2015-10-26: Version 4.8.152

        Performance and stability improvements on all platforms.


2015-10-26: Version 4.8.151

        Performance and stability improvements on all platforms.


2015-10-26: Version 4.8.150

        Performance and stability improvements on all platforms.


2015-10-26: Version 4.8.149

        Performance and stability improvements on all platforms.


2015-10-26: Version 4.8.148

        Performance and stability improvements on all platforms.


2015-10-25: Version 4.8.147

        Performance and stability improvements on all platforms.


2015-10-25: Version 4.8.146

        Performance and stability improvements on all platforms.


2015-10-24: Version 4.8.145

        Performance and stability improvements on all platforms.


2015-10-24: Version 4.8.144

        Performance and stability improvements on all platforms.


2015-10-24: Version 4.8.143

        Performance and stability improvements on all platforms.


2015-10-24: Version 4.8.142

        Performance and stability improvements on all platforms.


2015-10-23: Version 4.8.141

        Stage ES2015-style const in sloppy mode (issue 3739).

        Map v8::Function to JSReceiver + IsCallable.

        Performance and stability improvements on all platforms.


2015-10-23: Version 4.8.140

        Performance and stability improvements on all platforms.


2015-10-22: Version 4.8.139

        Performance and stability improvements on all platforms.


2015-10-22: Version 4.8.138

        Performance and stability improvements on all platforms.


2015-10-22: Version 4.8.137

        Performance and stability improvements on all platforms.


2015-10-22: Version 4.8.136

        Performance and stability improvements on all platforms.


2015-10-22: Version 4.8.135

        Performance and stability improvements on all platforms.


2015-10-22: Version 4.8.134

        [es6] stage sticky regexps and RegExp.prototype.flags (issue 4342).

        [Crankshaft] Don't do HMathFloorOfDiv optimization for kUint32 values
        (issue 4507).

        Fix user options for fractional digits in Intl.NumberFormatter (Chromium
        issue 544122).

        Performance and stability improvements on all platforms.


2015-10-22: Version 4.8.133

        Performance and stability improvements on all platforms.


2015-10-21: Version 4.8.132

        Performance and stability improvements on all platforms.


2015-10-21: Version 4.8.131

        Performance and stability improvements on all platforms.


2015-10-21: Version 4.8.130

        Performance and stability improvements on all platforms.


2015-10-21: Version 4.8.129

        Performance and stability improvements on all platforms.


2015-10-21: Version 4.8.128

        Performance and stability improvements on all platforms.


2015-10-21: Version 4.8.127

        Performance and stability improvements on all platforms.


2015-10-21: Version 4.8.126

        Performance and stability improvements on all platforms.


2015-10-21: Version 4.8.125

        [es6] Handle super properly when rewriting arrow parameter initializers
        (issue 4395).

        Performance and stability improvements on all platforms.


2015-10-21: Version 4.8.124

        Performance and stability improvements on all platforms.


2015-10-21: Version 4.8.123

        [es6] Fix scoping for default parameters in arrow functions (issue
        4395).

        Performance and stability improvements on all platforms.


2015-10-21: Version 4.8.122

        Performance and stability improvements on all platforms.


2015-10-21: Version 4.8.121

        Performance and stability improvements on all platforms.


2015-10-21: Version 4.8.120

        Performance and stability improvements on all platforms.


2015-10-20: Version 4.8.119

        Performance and stability improvements on all platforms.


2015-10-20: Version 4.8.118

        Performance and stability improvements on all platforms.


2015-10-20: Version 4.8.117

        Performance and stability improvements on all platforms.


2015-10-20: Version 4.8.116

        Refactor array construction for map, filter (Chromium issue 544991).

        [es6] Fix scoping for default parameters in arrow functions (issue
        4395).

        Performance and stability improvements on all platforms.


2015-10-20: Version 4.8.115

        Performance and stability improvements on all platforms.


2015-10-20: Version 4.8.114

        Performance and stability improvements on all platforms.


2015-10-20: Version 4.8.113

        Performance and stability improvements on all platforms.


2015-10-20: Version 4.8.112

        Performance and stability improvements on all platforms.


2015-10-20: Version 4.8.111

        [es6] stage sticky regexps and RegExp.prototype.flags (issue 4342).

        Performance and stability improvements on all platforms.


2015-10-19: Version 4.8.110

        Performance and stability improvements on all platforms.


2015-10-19: Version 4.8.109

        Performance and stability improvements on all platforms.


2015-10-19: Version 4.8.108

        ll_prof: Do not use the deprecated tempfile.mktemp() (issue 1306).

        Performance and stability improvements on all platforms.


2015-10-19: Version 4.8.107

        Performance and stability improvements on all platforms.


2015-10-19: Version 4.8.106

        Performance and stability improvements on all platforms.


2015-10-19: Version 4.8.105

        Performance and stability improvements on all platforms.


2015-10-19: Version 4.8.104

        Performance and stability improvements on all platforms.


2015-10-19: Version 4.8.103

        Performance and stability improvements on all platforms.


2015-10-19: Version 4.8.102

        Performance and stability improvements on all platforms.


2015-10-19: Version 4.8.101

        Performance and stability improvements on all platforms.


2015-10-19: Version 4.8.100

        Performance and stability improvements on all platforms.


2015-10-19: Version 4.8.99

        Performance and stability improvements on all platforms.


2015-10-19: Version 4.8.98

        Performance and stability improvements on all platforms.


2015-10-19: Version 4.8.97

        Performance and stability improvements on all platforms.


2015-10-19: Version 4.8.96

        Performance and stability improvements on all platforms.


2015-10-18: Version 4.8.95

        Performance and stability improvements on all platforms.


2015-10-18: Version 4.8.94

        Performance and stability improvements on all platforms.


2015-10-18: Version 4.8.93

        Performance and stability improvements on all platforms.


2015-10-17: Version 4.8.92

        Performance and stability improvements on all platforms.


2015-10-16: Version 4.8.91

        Performance and stability improvements on all platforms.


2015-10-16: Version 4.8.90

        Performance and stability improvements on all platforms.


2015-10-16: Version 4.8.89

        Performance and stability improvements on all platforms.


2015-10-16: Version 4.8.88

        Performance and stability improvements on all platforms.


2015-10-16: Version 4.8.87

        Performance and stability improvements on all platforms.


2015-10-16: Version 4.8.86

        Performance and stability improvements on all platforms.


2015-10-16: Version 4.8.85

        Performance and stability improvements on all platforms.


2015-10-16: Version 4.8.84

        Performance and stability improvements on all platforms.


2015-10-16: Version 4.8.83

        Performance and stability improvements on all platforms.


2015-10-16: Version 4.8.82

        Performance and stability improvements on all platforms.


2015-10-16: Version 4.8.81

        Performance and stability improvements on all platforms.


2015-10-16: Version 4.8.80

        Performance and stability improvements on all platforms.


2015-10-15: Version 4.8.79

        Performance and stability improvements on all platforms.


2015-10-15: Version 4.8.78

        Performance and stability improvements on all platforms.


2015-10-15: Version 4.8.77

        Performance and stability improvements on all platforms.


2015-10-15: Version 4.8.76

        Performance and stability improvements on all platforms.


2015-10-15: Version 4.8.75

        Make RegExp use ToLength on lastIndex when flag is turned on (issue
        4244).

        Performance and stability improvements on all platforms.


2015-10-15: Version 4.8.74

        Take Symbol-keyed properties into account in Object.freeze and friends
        (Chromium issue 539875).

        Performance and stability improvements on all platforms.


2015-10-15: Version 4.8.73

        Performance and stability improvements on all platforms.


2015-10-15: Version 4.8.72

        Performance and stability improvements on all platforms.


2015-10-15: Version 4.8.71

        Performance and stability improvements on all platforms.


2015-10-15: Version 4.8.70

        Performance and stability improvements on all platforms.


2015-10-15: Version 4.8.69

        Performance and stability improvements on all platforms.


2015-10-15: Version 4.8.68

        Performance and stability improvements on all platforms.


2015-10-15: Version 4.8.67

        Performance and stability improvements on all platforms.


2015-10-15: Version 4.8.66

        Performance and stability improvements on all platforms.


2015-10-14: Version 4.8.65

        Performance and stability improvements on all platforms.


2015-10-14: Version 4.8.64

        Add methods to extras' InternalPackedArray (issue 4276).

        Performance and stability improvements on all platforms.


2015-10-14: Version 4.8.63

        Performance and stability improvements on all platforms.


2015-10-14: Version 4.8.62

        Performance and stability improvements on all platforms.


2015-10-14: Version 4.8.61

        Performance and stability improvements on all platforms.


2015-10-14: Version 4.8.60

        Performance and stability improvements on all platforms.


2015-10-14: Version 4.8.59

        Performance and stability improvements on all platforms.


2015-10-14: Version 4.8.58

        Performance and stability improvements on all platforms.


2015-10-14: Version 4.8.57

        Performance and stability improvements on all platforms.


2015-10-14: Version 4.8.56

        Performance and stability improvements on all platforms.


2015-10-14: Version 4.8.55

        Performance and stability improvements on all platforms.


2015-10-13: Version 4.8.54

        Performance and stability improvements on all platforms.


2015-10-13: Version 4.8.53

        Performance and stability improvements on all platforms.


2015-10-13: Version 4.8.52

        Performance and stability improvements on all platforms.


2015-10-13: Version 4.8.51

        Performance and stability improvements on all platforms.


2015-10-13: Version 4.8.50

        Performance and stability improvements on all platforms.


2015-10-13: Version 4.8.49

        Performance and stability improvements on all platforms.


2015-10-13: Version 4.8.48

        Performance and stability improvements on all platforms.


2015-10-13: Version 4.8.47

        Performance and stability improvements on all platforms.


2015-10-13: Version 4.8.46

        Performance and stability improvements on all platforms.


2015-10-13: Version 4.8.45

        Performance and stability improvements on all platforms.


2015-10-13: Version 4.8.44

        Performance and stability improvements on all platforms.


2015-10-12: Version 4.8.43

        Performance and stability improvements on all platforms.


2015-10-12: Version 4.8.42

        Performance and stability improvements on all platforms.


2015-10-12: Version 4.8.41

        Performance and stability improvements on all platforms.


2015-10-12: Version 4.8.40

        Performance and stability improvements on all platforms.


2015-10-12: Version 4.8.39

        Performance and stability improvements on all platforms.


2015-10-12: Version 4.8.38

        Test for var declarations in eval which conflict with let (issue 4454).

        Don't compile functions in a context the caller doesn't have access to
        (Chromium issue 541703).

        Performance and stability improvements on all platforms.


2015-10-12: Version 4.8.37

        Performance and stability improvements on all platforms.


2015-10-12: Version 4.8.36

        Performance and stability improvements on all platforms.


2015-10-12: Version 4.8.35

        Performance and stability improvements on all platforms.


2015-10-11: Version 4.8.34

        Performance and stability improvements on all platforms.


2015-10-09: Version 4.8.33

        Performance and stability improvements on all platforms.


2015-10-09: Version 4.8.32

        Performance and stability improvements on all platforms.


2015-10-09: Version 4.8.31

        Performance and stability improvements on all platforms.


2015-10-09: Version 4.8.30

        Performance and stability improvements on all platforms.


2015-10-09: Version 4.8.29

        Performance and stability improvements on all platforms.


2015-10-09: Version 4.8.28

        Performance and stability improvements on all platforms.


2015-10-09: Version 4.8.27

        Performance and stability improvements on all platforms.


2015-10-09: Version 4.8.26

        Performance and stability improvements on all platforms.


2015-10-09: Version 4.8.25

        Performance and stability improvements on all platforms.


2015-10-08: Version 4.8.24

        Stage --harmony_sloppy_function (issue 4285).

        Performance and stability improvements on all platforms.


2015-10-08: Version 4.8.23

        Performance and stability improvements on all platforms.


2015-10-08: Version 4.8.22

        Performance and stability improvements on all platforms.


2015-10-08: Version 4.8.21

        Performance and stability improvements on all platforms.


2015-10-08: Version 4.8.20

        Performance and stability improvements on all platforms.


2015-10-08: Version 4.8.19

        Performance and stability improvements on all platforms.


2015-10-08: Version 4.8.18

        Performance and stability improvements on all platforms.


2015-10-08: Version 4.8.17

        Performance and stability improvements on all platforms.


2015-10-08: Version 4.8.16

        Performance and stability improvements on all platforms.


2015-10-07: Version 4.8.15

        Performance and stability improvements on all platforms.


2015-10-07: Version 4.8.14

        Performance and stability improvements on all platforms.


2015-10-07: Version 4.8.13

        Performance and stability improvements on all platforms.


2015-10-07: Version 4.8.12

        Performance and stability improvements on all platforms.


2015-10-07: Version 4.8.11

        Performance and stability improvements on all platforms.


2015-10-07: Version 4.8.10

        Performance and stability improvements on all platforms.


2015-10-07: Version 4.8.9

        Performance and stability improvements on all platforms.


2015-10-07: Version 4.8.8

        Performance and stability improvements on all platforms.


2015-10-07: Version 4.8.7

        Performance and stability improvements on all platforms.


2015-10-07: Version 4.8.6

        Performance and stability improvements on all platforms.


2015-10-07: Version 4.8.5

        Performance and stability improvements on all platforms.


2015-10-07: Version 4.8.4

        Performance and stability improvements on all platforms.


2015-10-07: Version 4.8.3

        Destructuring array without initializer throws an exception (issue
        4462).

        Disable VirtualAlloc randomization on 32-bit Windows hosts (Chromium
        issue 394591).

        Performance and stability improvements on all platforms.


2015-10-06: Version 4.8.2

        Fix legacy const for-of/in destructuring (issue 4461).

        [es6] Align Promise.resolve with the spec (issues 4161, 4341).

        Prohibit let in lexical bindings (issue 4403).

        Ensure scopes are backed by blocks in the body of for loops (Chromium
        issues 536750, 536751).

        Performance and stability improvements on all platforms.


2015-10-04: Version 4.8.1

        [cross-context] create new function prototypes in the context of the
        function (issue 4217).

        Fix completion of try..finally (issue 2529).

        Extend Annex B 3.3 sloppy-mode block-scoped hoisting to scripts, eval
        (issue 4441).

        [V8] Add name of function for function's closure scope (Chromium issue
        493156).

        Performance and stability improvements on all platforms.


2015-05-17: Version 4.5.2

        Performance and stability improvements on all platforms.


2015-05-16: Version 4.5.1

        Test that TypedArray methods don't read length (issue 3578).

        Implement %TypedArray%.{fill,find,findIndex} (issue 3578).

        TypedArray.prototype.copyWithin method (issue 3578).

        Provide accessor for object internal properties that doesn't require
        debugger to be active (Chromium issue 481845).

        Don't create debug context if debug listener is not set (Chromium issue
        482290).

        Performance and stability improvements on all platforms.


2015-05-13: Version 4.4.65

        Deprecate Isolate::New.

        Factor out core of Array.forEach and .every, for use in TypedArrays
        (issue 3578).

        Performance and stability improvements on all platforms.


2015-05-12: Version 4.4.64

        Performance and stability improvements on all platforms.


2015-05-11: Version 4.4.63

        Let Runtime_GrowArrayElements accept non-Smi numbers as |key| (Chromium
        issue 485410).

        Make one copy for all TypedArray methods (issue 4085).

        Performance and stability improvements on all platforms.


2015-05-09: Version 4.4.62

        [turbofan] Fix handling of OsrLoopEntry in ControlReducer::ConnectNTL()
        (Chromium issue 485908).

        Performance and stability improvements on all platforms.


2015-05-08: Version 4.4.61

        Performance and stability improvements on all platforms.


2015-05-08: Version 4.4.60

        Performance and stability improvements on all platforms.


2015-05-08: Version 4.4.59

        Performance and stability improvements on all platforms.


2015-05-07: Version 4.4.58

        TypedArray.prototype.every method (issue 3578).

        [V8] Reland https://codereview.chromium.org/1121833003/ (Chromium issue
        480652).

        Performance and stability improvements on all platforms.


2015-05-07: Version 4.4.57

        Performance and stability improvements on all platforms.


2015-05-06: Version 4.4.56

        Shard v8_base.lib on Windows to avoid 2G .lib limit (Chromium issue
        485155).

        Implement a 'trial parse' step, that will abort pre-parsing excessively
        long and trivial functions, so that they can be eagerly compiled after
        all. This essentially allows the parser to renege on its earlier
        decision to lazy-parse, if additional information suggests it was a bad
        decision (Chromium issue 470930).

        Performance and stability improvements on all platforms.


2015-05-06: Version 4.4.55

        Handle the case when derived constructor is [[Call]]ed with 0 args
        (Chromium issue 474783).

        freed_nodes in global-handles should be addititive (Chromium issues
        479796, 484671).

        [V8] Reland https://codereview.chromium.org/1100993003/ (Chromium issue
        480652).

        [es6] When comparing two symbols we may need to throw a TypeError (issue
        4073).

        Performance and stability improvements on all platforms.


2015-05-06: Version 4.4.54

        Performance and stability improvements on all platforms.


2015-05-05: Version 4.4.53

        Performance and stability improvements on all platforms.


2015-05-05: Version 4.4.52

        Performance and stability improvements on all platforms.


2015-05-04: Version 4.4.51

        Performance and stability improvements on all platforms.


2015-05-04: Version 4.4.50

        Performance and stability improvements on all platforms.


2015-05-01: Version 4.4.49

        Performance and stability improvements on all platforms.


2015-05-01: Version 4.4.48

        [V8] Use previous token location as EOS token location (Chromium issue
        480652).

        Implement kToBeExecutedOnceCodeAge (Chromium issue 470930).

        Performance and stability improvements on all platforms.


2015-04-30: Version 4.4.47

        Performance and stability improvements on all platforms.


2015-04-30: Version 4.4.46

        Performance and stability improvements on all platforms.


2015-04-29: Version 4.4.45

        Performance and stability improvements on all platforms.


2015-04-29: Version 4.4.44

        Pass ArrayBuffer::Allocator via Isolate::CreateParams.

        Fix unobservable constructor replacement on prototype maps (Chromium
        issue 478522).

        Performance and stability improvements on all platforms.


2015-04-29: Version 4.4.43

        Performance and stability improvements on all platforms.


2015-04-28: Version 4.4.42

        MIPS: Fix FP load/store with large offsets from base register (Chromium
        issue 481519).

        Extending v8::GetHeapStatistics to return total available size (Chromium
        issue 476013).

        Performance and stability improvements on all platforms.


2015-04-28: Version 4.4.41

        Performance and stability improvements on all platforms.


2015-04-28: Version 4.4.40

        Do more to avoid last-resort stop-the-world GC (Chromium issue 481433).

        Performance and stability improvements on all platforms.


2015-04-27: Version 4.4.39

        Performance and stability improvements on all platforms.


2015-04-27: Version 4.4.38

        Performance and stability improvements on all platforms.


2015-04-25: Version 4.4.37

        Performance and stability improvements on all platforms.


2015-04-24: Version 4.4.36

        Performance and stability improvements on all platforms.


2015-04-24: Version 4.4.35

        Performance and stability improvements on all platforms.


2015-04-24: Version 4.4.34

        Performance and stability improvements on all platforms.


2015-04-23: Version 4.4.33

        Performance and stability improvements on all platforms.


2015-04-23: Version 4.4.32

        Performance and stability improvements on all platforms.


2015-04-23: Version 4.4.31

        Performance and stability improvements on all platforms.


2015-04-22: Version 4.4.30

        Performance and stability improvements on all platforms.


2015-04-22: Version 4.4.29

        Performance and stability improvements on all platforms.


2015-04-21: Version 4.4.28

        Performance and stability improvements on all platforms.


2015-04-21: Version 4.4.27

        Performance and stability improvements on all platforms.


2015-04-20: Version 4.4.26

        Allow for accessing an ArrayBuffer contents without externalizing it.

        Remove support for externally backed elements from the API (issue 3996).

        Deprecate 3-args ResourceConstraints::ConfigureDefaults.

        Indicate that low-memory-notificatin triggered GCs are "forced".

        Adding missing V8_EXPORT flag in SpaceStatistics class in v8.h (Chromium
        issues 466141, 476013).

        Performance and stability improvements on all platforms.


2015-04-20: Version 4.4.25

        Turn off SupportsFlexibleFloorAndRound for Arm64 due to a bug (Chromium
        issue 476477).

        Adding V8 api to get memory statistics of spaces in V8::Heap (Chromium
        issues 466141, 476013).

        Performance and stability improvements on all platforms.


2015-04-17: Version 4.4.24

        Performance and stability improvements on all platforms.


2015-04-17: Version 4.4.23

        Don't crash when reporting an access check failure for a detached global
        proxy (Chromium issue 475884).

        Use smaller heap growing factor in idle notification to start
        incremental marking when there is idle time >16ms (Chromium issue
        477323).

        Performance and stability improvements on all platforms.


2015-04-16: Version 4.4.22

        Reduce regexp compiler stack size when not optimizing regexps (Chromium
        issue 475705).

        Performance and stability improvements on all platforms.


2015-04-15: Version 4.4.21

        Remove support for specifying the number of available threads.

        When converting Maybe and MaybeLocal values with a check, always check.

        Performance and stability improvements on all platforms.


2015-04-15: Version 4.4.20

        Performance and stability improvements on all platforms.


2015-04-15: Version 4.4.19

        Reland "Remove support for thread-based recompilation" (issue 3608).

        Performance and stability improvements on all platforms.


2015-04-14: Version 4.4.18

        Reland "Remove support for thread-based recompilation" (issue 3608).

        Performance and stability improvements on all platforms.


2015-04-14: Version 4.4.17

        Performance and stability improvements on all platforms.


2015-04-13: Version 4.4.16

        Expose ArrayBufferView::HasBuffer (issue 3996).

        Performance and stability improvements on all platforms.


2015-04-13: Version 4.4.15

        Performance and stability improvements on all platforms.


2015-04-12: Version 4.4.14

        Performance and stability improvements on all platforms.


2015-04-12: Version 4.4.13

        Performance and stability improvements on all platforms.


2015-04-10: Version 4.4.12

        Performance and stability improvements on all platforms.


2015-04-10: Version 4.4.11

        Performance and stability improvements on all platforms.


2015-04-10: Version 4.4.10

        Don't #define snprintf in VS2015 - it's illegal and unneeded (Chromium
        issue 440500).

        Performance and stability improvements on all platforms.


2015-04-09: Version 4.4.9

        Performance and stability improvements on all platforms.


2015-04-09: Version 4.4.8

        Performance and stability improvements on all platforms.


2015-04-08: Version 4.4.7

        Make GetDebugContext a bit more robust (Chromium issue 474538).

        Performance and stability improvements on all platforms.


2015-04-08: Version 4.4.6

        Performance and stability improvements on all platforms.


2015-04-08: Version 4.4.5

        More robust when allocation fails during compaction (Chromium issue
        473307).

        MIPS: JSEntryTrampoline: check for stack space before pushing arguments
        (Chromium issue 469768).

        Performance and stability improvements on all platforms.


2015-04-07: Version 4.4.4

        Debugger: remove debug command API.

        Remove support for thread-based recompilation (issue 3608).

        JSEntryTrampoline: check for stack space before pushing arguments
        (Chromium issue 469768).

        Performance and stability improvements on all platforms.


2015-04-07: Version 4.4.3

        Performance and stability improvements on all platforms.


2015-04-06: Version 4.4.2

        Performance and stability improvements on all platforms.


2015-04-06: Version 4.4.1

        Support for typed arrays added to Heap::RightTrimFixedArray() (Chromium
        issue 472513).

        Expose an API on ArrayBufferView to copy out content w/o changing the
        buffer (issue 3996).

        Performance and stability improvements on all platforms.


2015-04-02: Version 4.3.66

        Reland: Fix JSON parser Handle leak (previous CL 1041483004) (issue
        3976, Chromium issue 472504).

        Turn off overapproximation of the weak closure again (issue 3862).

        Performance and stability improvements on all platforms.


2015-04-01: Version 4.3.65

        Performance and stability improvements on all platforms.


2015-04-01: Version 4.3.64

        Performance and stability improvements on all platforms.


2015-04-01: Version 4.3.63

        [V8] Don't ignore sourceURL comment in inline scripts in .stack (issue
        3920).

        Deprecate IdleNotification().

        Remove --harmony-numeric-literal flag.

        Performance and stability improvements on all platforms.


2015-03-31: Version 4.3.62

        Put newspace evacuation in an EvacuationScope (Chromium issue 471554).

        Fix libdl dependency on Android and remove librt hack (Chromium issue
        469973).

        Ensure that GC idle notifications either make progress or stop
        requesting more GCs (Chromium issue 470615).

        Layout descriptor must be trimmed when corresponding descriptors array
        is trimmed to stay in sync (Chromium issue 470804).

        Fix JSON parser Handle leak (issue 3976).

        Performance and stability improvements on all platforms.


2015-03-30: Version 4.3.61

        Performance and stability improvements on all platforms.


2015-03-28: Version 4.3.60

        Reland^2 "Filter invalid slots out from the SlotsBuffer after marking."
        (Chromium issues 454297, 470801).

        This fixes missing incremental write barrier issue when double fields
        unboxing is enabled (Chromium issue 469146).

        Performance and stability improvements on all platforms.


2015-03-27: Version 4.3.59

        Use a slot that is located on a heap page when removing invalid entries
        from the SlotsBuffer (Chromium issue 470801).

        Performance and stability improvements on all platforms.


2015-03-26: Version 4.3.58

        Return timestamp of the last recorded interval to the caller of
        HeapProfiler::GetHeapStats (Chromium issue 467222).

        Performance and stability improvements on all platforms.


2015-03-26: Version 4.3.57

        Reland [V8] Removed SourceLocationRestrict (Chromium issue 468781).

        Performance and stability improvements on all platforms.


2015-03-25: Version 4.3.56

        Remove v8::Isolate::ClearInterrupt.

        Performance and stability improvements on all platforms.


2015-03-25: Version 4.3.55

        Performance and stability improvements on all platforms.


2015-03-24: Version 4.3.54

        Do not assign positions to parser-generated desugarings (Chromium issue
        468661).

        Performance and stability improvements on all platforms.


2015-03-24: Version 4.3.53

        Filter invalid slots out from the SlotsBuffer after marking (Chromium
        issue 454297).

        Fix OOM bug 3976 (issue 3976).

        Performance and stability improvements on all platforms.


2015-03-24: Version 4.3.52

        Remove calls to IdleNotification().

        Save heap object tracking data in heap snapshot (Chromium issue 467222).

        Performance and stability improvements on all platforms.


2015-03-24: Version 4.3.51

        [V8] Removed SourceLocationRestrict (Chromium issue 468781).

        [turbofan] Fix control reducer bug with walking non-control edges during
        ConnectNTL phase (Chromium issue 469605).

        Performance and stability improvements on all platforms.


2015-03-23: Version 4.3.50

        Performance and stability improvements on all platforms.


2015-03-23: Version 4.3.49

        Ensure we don't overflow in BCE (Chromium issue 469148).

        [turbofan] Fix lowering of Math.max for integral inputs (Chromium issue
        468162).

        Use libdl to get symbols for backtraces.

        Performance and stability improvements on all platforms.


2015-03-19: Version 4.3.48

        Clarify what APIs return Maybe and MaybeLocal values (issue 3929).

        Introduce explicit constant for per Context debug data set by embedder
        (Chromium issue 466631).

        Adjust key behaviour for weak collections (issues 3970, 3971, Chromium
        issue 460083).

        Turn on overapproximation of the weak closure (issue 3862).

        Performance and stability improvements on all platforms.


2015-03-18: Version 4.3.47

        Performance and stability improvements on all platforms.


2015-03-17: Version 4.3.46

        Performance and stability improvements on all platforms.


2015-03-17: Version 4.3.45

        Performance and stability improvements on all platforms.


2015-03-17: Version 4.3.44

        Performance and stability improvements on all platforms.


2015-03-16: Version 4.3.43

        Bugfix in hydrogen GVN (Chromium issue 467481).

        Remove obsolete TakeHeapSnapshot method from API (Chromium issue
        465651).

        Beautify syntax error for unterminated argument list (Chromium issue
        339474).

        Performance and stability improvements on all platforms.


2015-03-16: Version 4.3.42

        Performance and stability improvements on all platforms.


2015-03-15: Version 4.3.41

        Performance and stability improvements on all platforms.


2015-03-14: Version 4.3.40

        Performance and stability improvements on all platforms.


2015-03-14: Version 4.3.39

        Performance and stability improvements on all platforms.


2015-03-14: Version 4.3.38

        Remove --harmony-scoping flag.

        Performance and stability improvements on all platforms.


2015-03-13: Version 4.3.37

        Implement TDZ in StoreIC for top-level lexicals (issue 3941).

        Turn on job-based optimizing compiler (issue 3608).

        Performance and stability improvements on all platforms.


2015-03-13: Version 4.3.36

        Performance and stability improvements on all platforms.


2015-03-12: Version 4.3.35

        Add Cast() for Int32 and Uint32 (Chromium issue 462402).

        Incorrect handling of HTransitionElementsKind in hydrogen check
        elimination phase fixed (Chromium issue 460917).

        Performance and stability improvements on all platforms.


2015-03-12: Version 4.3.34

        Performance and stability improvements on all platforms.


2015-03-12: Version 4.3.33

        Fix the toolchain used to build the snapshots in GN (Chromium issues
        395249, 465456).

        Performance and stability improvements on all platforms.


2015-03-11: Version 4.3.32

        Reland of Remove slots that point to unboxed doubles from the
        StoreBuffer/SlotsBuffer (Chromium issues 454297, 465273).

        Performance and stability improvements on all platforms.


2015-03-11: Version 4.3.31

        Performance and stability improvements on all platforms.


2015-03-11: Version 4.3.30

        Remove uid and title from HeapSnapshot (Chromium issue 465651).

        Remove deprecated CpuProfiler methods.

        [turbofan] Fix --turbo-osr for OSRing into inner loop inside for-in
        (Chromium issue 462775).

        Performance and stability improvements on all platforms.


2015-03-10: Version 4.3.29

        Performance and stability improvements on all platforms.


2015-03-10: Version 4.3.28

        Performance and stability improvements on all platforms.


2015-03-10: Version 4.3.27

        Performance and stability improvements on all platforms.


2015-03-07: Version 4.3.26

        Remove slots that point to unboxed doubles from the
        StoreBuffer/SlotsBuffer (Chromium issue 454297).

        Performance and stability improvements on all platforms.


2015-03-06: Version 4.3.25

        Performance and stability improvements on all platforms.


2015-03-06: Version 4.3.24

        convert more things to maybe (issue 3929).

        Performance and stability improvements on all platforms.


2015-03-05: Version 4.3.23

        [V8] Use Function.name for stack frames in v8::StackTrace (Chromium
        issue 17356).

        Allow passing sourceMapUrl when compiling scripts (Chromium issue
        462572).

        convert compile functions to use maybe (issue 3929).

        Performance and stability improvements on all platforms.


2015-03-05: Version 4.3.22

        give UniquePersistent full move semantics (issue 3669).

        Performance and stability improvements on all platforms.


2015-03-05: Version 4.3.21

        Performance and stability improvements on all platforms.


2015-03-04: Version 4.3.20

        convert remaining object functions to maybes (issue 3929).

        Performance and stability improvements on all platforms.


2015-03-04: Version 4.3.19

        ARM assembler: fix undefined behaviour in fits_shifter (Chromium issues
        444089, 463436).

        Implement subclassing Arrays (issue 3930).

        [es6] Fix for-const loops (issue 3983).

        Performance and stability improvements on all platforms.


2015-03-04: Version 4.3.18

        Implement subclassing Arrays (issue 3930).

        Performance and stability improvements on all platforms.


2015-03-04: Version 4.3.17

        Implement subclassing Arrays (issue 3930).

        convert more object functions to return maybes (issue 3929).

        Performance and stability improvements on all platforms.


2015-03-03: Version 4.3.16

        check for null context on execution entry (issue 3929).

        convert object::* to return maybe values (issue 3929).

        Removed funky Maybe constructor and made fields private (issue 3929).

        Polish Maybe API a bit, removing useless creativity and fixing some
        signatures (issue 3929).

        Performance and stability improvements on all platforms.


2015-03-02: Version 4.3.15

        Performance and stability improvements on all platforms.


2015-03-02: Version 4.3.14

        Performance and stability improvements on all platforms.


2015-02-28: Version 4.3.13

        Disallow subclassing Arrays (issue 3930).

        Performance and stability improvements on all platforms.


2015-02-28: Version 4.3.12

        Performance and stability improvements on all platforms.


2015-02-27: Version 4.3.11

        Disallow subclassing Arrays (issue 3930).

        convert Value::*Value() function to return Maybe results (issue 3929).

        Performance and stability improvements on all platforms.


2015-02-27: Version 4.3.10

        Convert v8::Value::To* to use MaybeLocal (issue 3929).

        Performance and stability improvements on all platforms.


2015-02-26: Version 4.3.9

        Add public version macros (issue 3075).

        Performance and stability improvements on all platforms.


2015-02-26: Version 4.3.8

        Performance and stability improvements on all platforms.


2015-02-25: Version 4.3.7

        Performance and stability improvements on all platforms.


2015-02-25: Version 4.3.6

        Performance and stability improvements on all platforms.


2015-02-25: Version 4.3.5

        Turn on job based recompilation (issue 3608).

        Performance and stability improvements on all platforms.


2015-02-24: Version 4.3.4

        Reland "Correctly propagate terminate exception in TryCall." (issue
        3892).

        Performance and stability improvements on all platforms.


2015-02-24: Version 4.3.3

        Performance and stability improvements on all platforms.


2015-02-24: Version 4.3.2

        Update GN build files with the cpu_arch -> current_cpu change.

        Performance and stability improvements on all platforms.


2015-02-23: Version 4.3.1

        Limit size of first page based on serialized data (Chromium issue
        453111).

        Performance and stability improvements on all platforms.


2015-02-19: Version 4.2.77

        Make generator constructors configurable (issue 3902).

        Performance and stability improvements on all platforms.


2015-02-19: Version 4.2.76

        Performance and stability improvements on all platforms.


2015-02-18: Version 4.2.75

        Performance and stability improvements on all platforms.


2015-02-18: Version 4.2.74

        Correctly propagate terminate exception in TryCall (issue 3892).

        Performance and stability improvements on all platforms.


2015-02-17: Version 4.2.73

        Performance and stability improvements on all platforms.


2015-02-17: Version 4.2.72

        [turbofan] Fix control reducer with re-reducing branches (Chromium issue
        458876).

        Performance and stability improvements on all platforms.


2015-02-16: Version 4.2.71

        Implement ES6 rest parameters (issue 2159).

        Performance and stability improvements on all platforms.


2015-02-13: Version 4.2.70

        new classes: no longer experimental (issue 3834).

        Make it possible to define arguments for CompileFunctionInContext.

        Performance and stability improvements on all platforms.


2015-02-12: Version 4.2.69

        Performance and stability improvements on all platforms.


2015-02-11: Version 4.2.68

        Performance and stability improvements on all platforms.


2015-02-11: Version 4.2.67

        Throw on range error when creating a string via API (issue 3853).

        Performance and stability improvements on all platforms.


2015-02-11: Version 4.2.66

        Performance and stability improvements on all platforms.


2015-02-10: Version 4.2.65

        Performance and stability improvements on all platforms.


2015-02-10: Version 4.2.64

        Performance and stability improvements on all platforms.


2015-02-10: Version 4.2.63

        Introduce a compile method that takes context extensions (Chromium issue
        456192).

        Performance and stability improvements on all platforms.


2015-02-09: Version 4.2.62

        Performance and stability improvements on all platforms.


2015-02-09: Version 4.2.61

        Performance and stability improvements on all platforms.


2015-02-07: Version 4.2.60

        Performance and stability improvements on all platforms.


2015-02-07: Version 4.2.59

        Performance and stability improvements on all platforms.


2015-02-07: Version 4.2.58

        Performance and stability improvements on all platforms.


2015-02-06: Version 4.2.57

        Performance and stability improvements on all platforms.


2015-02-06: Version 4.2.56

        Performance and stability improvements on all platforms.


2015-02-06: Version 4.2.55

        Protect against uninitialized lexical variables at top-level (Chromium
        issue 452510).

        Performance and stability improvements on all platforms.


2015-02-05: Version 4.2.54

        Fix HConstant(double, ...) constructor (issue 3865).

        Add NativeWeakMap to v8.h (Chromium issue 437416).

        Performance and stability improvements on all platforms.


2015-02-05: Version 4.2.53

        Fix issue with multiple properties and emit store (issue 3856).

        Class methods should be non enumerable (issue 3330).

        Performance and stability improvements on all platforms.


2015-02-04: Version 4.2.52

        Add WeakKeyMap to v8.h (Chromium issue 437416).

        Performance and stability improvements on all platforms.


2015-02-04: Version 4.2.51

        Performance and stability improvements on all platforms.


2015-02-03: Version 4.2.50

        Reset inlining limits due to overly long compilation times in
        Speedometer, Dart2JS (Chromium issue 454625).

        Add WeakMap to v8.h (Chromium issue 437416).

        [V8] Added line, column and script symbols for SyntaxError (Chromium
        issue 443140).

        Performance and stability improvements on all platforms.


2015-02-03: Version 4.2.49

        Compute the same hash for all NaN values (issue 3859).

        Performance and stability improvements on all platforms.


2015-02-03: Version 4.2.48

        Performance and stability improvements on all platforms.


2015-02-02: Version 4.2.47

        Check global object behind global proxy for extensibility (Chromium
        issue 454091).

        Performance and stability improvements on all platforms.


2015-02-02: Version 4.2.46

        Performance and stability improvements on all platforms.


2015-02-02: Version 4.2.45

        Performance and stability improvements on all platforms.


2015-02-01: Version 4.2.44

        Performance and stability improvements on all platforms.


2015-02-01: Version 4.2.43

        Performance and stability improvements on all platforms.


2015-01-31: Version 4.2.42

        Performance and stability improvements on all platforms.


2015-01-31: Version 4.2.41

        Layout descriptor sharing issue fixed (issue 3832, Chromium issue
        437713).

        Performance and stability improvements on all platforms.


2015-01-30: Version 4.2.40

        Performance and stability improvements on all platforms.


2015-01-30: Version 4.2.38

        Move object literal checking into checker classes (issue 3819).

        [turbofan] Fix OSR compilations of for-in.

        Performance and stability improvements on all platforms.


2015-01-30: Version 4.2.37

        Do not create unresolved variables when parsing arrow functions lazily
        (issue 3501).

        Performance and stability improvements on all platforms.


2015-01-29: Version 4.2.36

        Performance and stability improvements on all platforms.


2015-01-29: Version 4.2.35

        Performance and stability improvements on all platforms.


2015-01-28: Version 4.2.34

        Performance and stability improvements on all platforms.


2015-01-28: Version 4.2.33

        Performance and stability improvements on all platforms.


2015-01-27: Version 4.2.32

        Do not generalize field representations when making elements kind or
        observed transition (Chromium issue 448711).

        Performance and stability improvements on all platforms.


2015-01-27: Version 4.2.31

        [x86] Disable AVX unless the operating system explicitly claims to
        support it (issue 3846, Chromium issue 452033).

        Performance and stability improvements on all platforms.


2015-01-27: Version 4.2.30

        Performance and stability improvements on all platforms.


2015-01-26: Version 4.2.29

        MIPS: Fixed Hydrogen environment handling for mul-i ARM and ARM64 (issue
        451322).

        [turbofan] Simplify reduction if IfTrue and IfFalse and fix bugs
        (Chromium issue 451958).

        Add HeapNumber fast path to v8::Value::{Uint,Int}32Value() (Chromium
        issue 446097).

        Performance and stability improvements on all platforms.


2015-01-26: Version 4.2.28

        Fixed Hydrogen environment handling for mul-i on ARM and ARM64 (issue
        451322).

        Performance and stability improvements on all platforms.


2015-01-25: Version 4.2.27

        Performance and stability improvements on all platforms.


2015-01-24: Version 4.2.26

        ES6 Array.prototype.toString falls back on Object.prototype.toString if
        method "join" is not callable (issue 3793).

        Performance and stability improvements on all platforms.


2015-01-23: Version 4.2.25

        Performance and stability improvements on all platforms.


2015-01-23: Version 4.2.24

        Performance and stability improvements on all platforms.


2015-01-23: Version 4.2.23

        [x86] Blacklist AVX for Windows versions before 6.1 (Windows 7) (issue
        3846).

        Performance and stability improvements on all platforms.


2015-01-23: Version 4.2.22

        Fix run-time ARMv6 detection (issue 3844).

        Support concatenating with zero-size arrays with DICTIONARY_ELEMENTS in
        Runtime_ArrayConcat (Chromium issue 450895).

        Performance and stability improvements on all platforms.


2015-01-22: Version 4.2.21

        Performance and stability improvements on all platforms.


2015-01-22: Version 4.2.20

        Add a pretty printer to improve the error message non-function calls
        (Chromium issue 259443).

        Remove implicit uint8_t to char cast in string replace (Chromium issue
        446196).

        Performance and stability improvements on all platforms.


2015-01-21: Version 4.2.19

        Performance and stability improvements on all platforms.


2015-01-20: Version 4.2.18

        Fix issue with __proto__ when using ES6 object literals (issue 3818).

        Performance and stability improvements on all platforms.


2015-01-20: Version 4.2.17

        Performance and stability improvements on all platforms.


2015-01-20: Version 4.2.16

        Performance and stability improvements on all platforms.


2015-01-19: Version 4.2.15

        Unobscurified OFStream (Chromium issue 448102).

        Performance and stability improvements on all platforms.


2015-01-19: Version 4.2.14

        Performance and stability improvements on all platforms.


2015-01-18: Version 4.2.13

        Performance and stability improvements on all platforms.


2015-01-18: Version 4.2.12

        Performance and stability improvements on all platforms.


2015-01-17: Version 4.2.11

        Performance and stability improvements on all platforms.


2015-01-16: Version 4.2.10

        Performance and stability improvements on all platforms.


2015-01-16: Version 4.2.9

        MIPS: ES6 computed property names (issue 3754).

        ES6 computed property names (issue 3754).

        Performance and stability improvements on all platforms.


2015-01-15: Version 4.2.8

        Performance and stability improvements on all platforms.


2015-01-15: Version 4.2.7

        Performance and stability improvements on all platforms.


2015-01-15: Version 4.2.6

        Performance and stability improvements on all platforms.


2015-01-15: Version 4.2.5

        Performance and stability improvements on all platforms.


2015-01-14: Version 4.2.4

        Auto-generate v8 version based on tags (Chromium issue 446166).

        Remove support for signatures with arguments.

        Add proper support for proxies to HType (Chromium issue 448730).

        [turbofan] Fix truncation/representation sloppiness wrt. bool/bit (issue
        3812).

        Performance and stability improvements on all platforms.


2015-01-14: Version 4.2.3

        Performance and stability improvements on all platforms.


2015-01-14: Version 4.2.2

        Performance and stability improvements on all platforms.


2015-01-14: Version 4.2.1

        Map -0 to integer 0 for typed array constructors (Chromium issue
        447756).

        Introduce a gyp variable to control whether or not slow dchecks are on.

        Correctly setup the freelist of the coderange on Win64 (Chromium issue
        447555).

        Fast forward V8 to version 4.2.

        Remove "extra checks".

        Performance and stability improvements on all platforms.


2015-01-08: Version 3.32.7

        Correctly parse line ends for debugging (issue 2825).

        Fixed printing during DCE (issue 3679).

        Performance and stability improvements on all platforms.


2015-01-08: Version 3.32.6

        Performance and stability improvements on all platforms.


2015-01-08: Version 3.32.5

        Correct handling of exceptions occured during getting of exception stack
        trace (Chromium issue 444805).

        Fix bug in Runtime_CompileOptimized resulting from stack overflow
        (Chromium issue 446774).

        Turn on job-based recompilation (issue 3608).

        Performance and stability improvements on all platforms.


2015-01-07: Version 3.32.4

        Performance and stability improvements on all platforms.


2015-01-07: Version 3.32.3

        Performance and stability improvements on all platforms.


2015-01-07: Version 3.32.2

        Performance and stability improvements on all platforms.


2015-01-07: Version 3.32.1

        [turbofan] Don't crash when typing load from a Uint8ClampedArray
        (Chromium issue 446156).

        [turbofan] Truncation of Bit/Word8/16 to Word32 is a no-op (Chromium
        issue 445859).

        [x64] Rearrange code for OOB integer loads (Chromium issue 445858).

        Fix %NeverOptimizeFunction() intrinsic (Chromium issue 445732).

        [turbofan] Fix invalid bounds check with overflowing offset (Chromium
        issue 445267).

        [turbofan] Raise max virtual registers and call parameter limit (issue
        3786).

        Performance and stability improvements on all platforms.


2014-12-23: Version 3.31.74

        [turbofan] Turn DCHECK for fixed slot index into a CHECK (Chromium issue
        444681).

        Performance and stability improvements on all platforms.


2014-12-23: Version 3.31.73

        [turbofan] Fix missing ChangeUint32ToUint64 in lowering of LoadBuffer
        (Chromium issue 444695).

        Enable the embedder to specify what kind of context was disposed.

        Performance and stability improvements on all platforms.


2014-12-22: Version 3.31.72

        [turbofan] Correctify lowering of Uint8ClampedArray buffer access
        (Chromium issue 444508).

        Performance and stability improvements on all platforms.


2014-12-20: Version 3.31.71

        Performance and stability improvements on all platforms.


2014-12-20: Version 3.31.70

        Performance and stability improvements on all platforms.


2014-12-20: Version 3.31.69

        Performance and stability improvements on all platforms.


2014-12-19: Version 3.31.68

        [turbofan] Fix unsafe out-of-bounds check for checked loads/stores
        (Chromium issue 443744).

        Performance and stability improvements on all platforms.


2014-12-19: Version 3.31.67

        Performance and stability improvements on all platforms.


2014-12-19: Version 3.31.66

        Ship ES6 template literals (issue 3230).

        Performance and stability improvements on all platforms.


2014-12-18: Version 3.31.65

        ES6 template literals should not use legacy octal strings (issue 3736).

        Performance and stability improvements on all platforms.


2014-12-18: Version 3.31.64

        Fixed -fsanitize=float-cast-overflow problems (issue 3773).

        Performance and stability improvements on all platforms.


2014-12-18: Version 3.31.63

        ES6 computed property names (issue 3754).

        Performance and stability improvements on all platforms.


2014-12-17: Version 3.31.62

        Performance and stability improvements on all platforms.


2014-12-17: Version 3.31.61

        ES6: Update unscopables to match spec (issue 3632).

        ES6 computed property names (issue 3754).

        More -fsanitize=vptr fixes (Chromium issue 441099).

        [turbofan] Cache conversions inserted during typed lowering (issue
        3763).

        Performance and stability improvements on all platforms.


2014-12-16: Version 3.31.60

        Performance and stability improvements on all platforms.


2014-12-16: Version 3.31.59

        Performance and stability improvements on all platforms.


2014-12-16: Version 3.31.58

        Ship ES6 classes (issue 3330).

        ES6 computed property names (issue 3754).

        Performance and stability improvements on all platforms.


2014-12-12: Version 3.31.57

        Consistently use only one of virtual/OVERRIDE/FINAL (issue 3753).

        Performance and stability improvements on all platforms.


2014-12-12: Version 3.31.56

        Performance and stability improvements on all platforms.


2014-12-12: Version 3.31.55

        Performance and stability improvements on all platforms.


2014-12-11: Version 3.31.54

        Implement Array.from() (issue 3336).

        move v8_use_external_startup_data to standalone.gypi (Chromium issue
        421063).

        Performance and stability improvements on all platforms.


2014-12-11: Version 3.31.53

        Performance and stability improvements on all platforms.


2014-12-11: Version 3.31.52

        Ship ES6 block scoping (issue 2198).

        Optimize Object.seal and Object.preventExtensions (issue 3662, Chromium
        issue 115960).

        Add Array.prototype.includes (issue 3575).

        Performance and stability improvements on all platforms.


2014-12-10: Version 3.31.51

        [x64] Fix optimization for certain checked load/stores (Chromium issue
        439743).

        Performance and stability improvements on all platforms.


2014-12-09: Version 3.31.50

        Temporarily restore make dependencies.

        Performance and stability improvements on all platforms.


2014-12-09: Version 3.31.49

        Performance and stability improvements on all platforms.


2014-12-09: Version 3.31.48

        Performance and stability improvements on all platforms.


2014-12-09: Version 3.31.47

        Temporarily restore make dependencies.

        Performance and stability improvements on all platforms.


2014-12-08: Version 3.31.46

        Performance and stability improvements on all platforms.


2014-12-08: Version 3.31.45

        Update all DEPS to match chromium's DEPS at edb488e.

        Turn on DCHECKs and other debugging code if dcheck_always_on is 1 (issue
        3731).

        Optimize GetPrototype.

        Performance and stability improvements on all platforms.


2014-12-05: Version 3.31.44

        Performance and stability improvements on all platforms.


2014-12-04: Version 3.31.43

        ES6 template literals: Fix issue with template after rbrace (issue
        3734).

        Stage ES6 template literals (issue 3230).

        Performance and stability improvements on all platforms.


2014-12-04: Version 3.31.42

        Performance and stability improvements on all platforms.


2014-12-04: Version 3.31.41

        Simplify template literal raw string creation (issue 3710).

        Performance and stability improvements on all platforms.


2014-12-03: Version 3.31.40

        Performance and stability improvements on all platforms.


2014-12-03: Version 3.31.39

        Performance and stability improvements on all platforms.


2014-12-03: Version 3.31.38

        Stage ES6 classes and object literal extensions (issue 3330).

        Fixed environment handling for LFlooringDivI on ARM (Chromium issue
        437765).

        Add GetIdentityHash to v8::Name object API (Chromium issue 437416).

        Set V8_CC_GNU or V8_CC_MSVC for clang in gcc / cl mode (Chromium issue
        82385).

        Performance and stability improvements on all platforms.


2014-12-02: Version 3.31.37

        Performance and stability improvements on all platforms.


2014-12-02: Version 3.31.36

        Set V8_CC_GNU or V8_CC_MSVC for clang in gcc / cl mode (Chromium issue
        82385).

        Performance and stability improvements on all platforms.


2014-12-02: Version 3.31.35

        Performance and stability improvements on all platforms.


2014-12-01: Version 3.31.34

        Performance and stability improvements on all platforms.


2014-12-01: Version 3.31.33

        Performance and stability improvements on all platforms.


2014-12-01: Version 3.31.32

        Performance and stability improvements on all platforms.


2014-12-01: Version 3.31.31

        Performance and stability improvements on all platforms.


2014-11-29: Version 3.31.30

        Performance and stability improvements on all platforms.


2014-11-28: Version 3.31.29

        Stage @@toStringTag (--harmony-tostring).

        Performance and stability improvements on all platforms.


2014-11-28: Version 3.31.28

        Performance and stability improvements on all platforms.


2014-11-28: Version 3.31.27

        Ship harmony-strings.

        Performance and stability improvements on all platforms.


2014-11-28: Version 3.31.26

        Abort optimization in corner case (Chromium issue 436893).

        Performance and stability improvements on all platforms.


2014-11-26: Version 3.31.25

        Stage ES6 block scoping (issue 2198).

        Introduce legacy const slots in correct context (Chromium issue 410030).

        Performance and stability improvements on all platforms.


2014-11-26: Version 3.31.24

        Performance and stability improvements on all platforms.


2014-11-25: Version 3.31.23

        Performance and stability improvements on all platforms.


2014-11-25: Version 3.31.22

        Performance and stability improvements on all platforms.


2014-11-24: Version 3.31.21

        Performance and stability improvements on all platforms.


2014-11-24: Version 3.31.20

        Performance and stability improvements on all platforms.


2014-11-22: Version 3.31.19

        Performance and stability improvements on all platforms.


2014-11-21: Version 3.31.18

        Performance and stability improvements on all platforms.


2014-11-21: Version 3.31.17

        Performance and stability improvements on all platforms.


2014-11-21: Version 3.31.16

        Cache template literal callSiteObj (issue 3230).

        Rename String.prototype.contains to 'includes'.

        Reserve code range block for evacuation (Chromium issue 430118).

        Performance and stability improvements on all platforms.


2014-11-20: Version 3.31.15

        Rename String.prototype.contains to 'includes'.

        Performance and stability improvements on all platforms.


2014-11-19: Version 3.31.14

        Remove Weak{Map,Set}.prototype.clear.

        Performance and stability improvements on all platforms.


2014-11-19: Version 3.31.13

        Performance and stability improvements on all platforms.


2014-11-19: Version 3.31.12

        Classes: Expand test to cover strict runtime behavior (issue 3330).

        v8::String::Concat must not throw (Chromium issue 420240).

        Fix disabling all break points from within the debug event callback
        (Chromium issue 432493).

        Performance and stability improvements on all platforms.


2014-11-18: Version 3.31.11

        Performance and stability improvements on all platforms.


2014-11-17: Version 3.31.10

        Performance and stability improvements on all platforms.


2014-11-17: Version 3.31.9

        Expose internal properties of map/set iterators via mirrors.

        Performance and stability improvements on all platforms.


2014-11-17: Version 3.31.8

        Performance and stability improvements on all platforms.


2014-11-15: Version 3.31.7

        Classes: Add support for stepping through default constructors (issue
        3674).

        Performance and stability improvements on all platforms.


2014-11-14: Version 3.31.6

        Fix desugaring of let bindings in for loops to handle continue properly
        (issue 3683).

        Performance and stability improvements on all platforms.


2014-11-14: Version 3.31.5

        Classes: Implement correct name binding (issue 3330).

        Performance and stability improvements on all platforms.


2014-11-14: Version 3.31.4

        Performance and stability improvements on all platforms.


2014-11-14: Version 3.31.3

        Classes: Cleanup default constructor flag.

        Soft fail for invalid cache data.

        Implement .of() on typed arrays (issue 3578).

        Performance and stability improvements on all platforms.


2014-11-13: Version 3.31.2

        MIPS: Leaving a generator via an exception causes it to close (issue
        3096).

        MIPS: ES6: Add support for super in object literals (issue 3571).

        Increase the target new space size to the max new space size (issue
        3626).

        Leaving a generator via an exception causes it to close (issue 3096).

        Correctly compute line numbers in functions from the function
        constructor (Chromium issue 109362).

        Rename v8::Exception::GetMessage to CreateMessage.

        Classes: Add support for arguments in default constructor (issue 3672).

        ES6: Add support for super in object literals (issue 3571).

        Performance and stability improvements on all platforms.


2014-11-12: Version 3.31.1

        Fix has_constant_parameter_count() confusion in LReturn (Chromium issue
        431602).

        Performance and stability improvements on all platforms.


2014-11-05: Version 3.30.33

        `1..isPrototypeOf.call(null)` should return false, not throw TypeError
        (issue 3483).

        Refactor ObjectGetOwnPropertyKeys to accept bitmask rather than boolean
        (issue 3549).

        Add debug mirror support for ES6 Map/Set iterators (Chromium issue
        427868).

        Performance and stability improvements on all platforms.


2014-11-04: Version 3.30.30

        Performance and stability improvements on all platforms.


2014-11-02: Version 3.30.27

        Performance and stability improvements on all platforms.


2014-11-02: Version 3.30.26

        Performance and stability improvements on all platforms.


2014-11-01: Version 3.30.25

        Performance and stability improvements on all platforms.


2014-11-01: Version 3.30.24

        Ensure we don't try to inline raw access to indexed interceptor
        receivers (Chromium issue 419220).

        Performance and stability improvements on all platforms.


2014-10-31: Version 3.30.23

        Introduce v8::Exception::GetMessage to find location of an error object
        (Chromium issue 427954).

        Performance and stability improvements on all platforms.


2014-10-30: Version 3.30.22

        MIPS: Classes: Add super support in methods and accessors (issue 3330).

        Classes: Add super support in methods and accessors (issue 3330).

        Performance and stability improvements on all platforms.


2014-10-29: Version 3.30.21

        MIPS: Classes: Add basic support for properties (issue 3330).

        Classes: Add more tests for prototype edge cases (Chromium issue 3655).

        Classes: Add test for method prototype (issue 3330).

        Get stack trace for uncaught exceptions/promise rejections from the
        simple stack when available.

        Classes: Add basic support for properties (issue 3330).

        Allow duplicate property names in classes (issue 3570).

        Windows: use SystemTimeToTzSpecificLocalTime instead of localtime_s
        (Chromium issue 417640).

        Performance and stability improvements on all platforms.


2014-10-28: Version 3.30.20

        Performance and stability improvements on all platforms.


2014-10-27: Version 3.30.19

        Check string literals with escapes in PreParserTraits::GetSymbol()
        (issue 3606).

        only define ARRAYSIZE_UNSAFE for NaCl builds (Chromium issue 405225).

        Performance and stability improvements on all platforms.


2014-10-24: Version 3.30.18

        Narrow cases where Sparse/Smart versions of Array methods are used
        (issues 2615, 3612, 3621).

        Shrink new space in idle notification (Chromium issue 424423).

        Performance and stability improvements on all platforms.


2014-10-23: Version 3.30.17

        ARM64: Fix stack manipulation (Chromium issue 425585).

        Speed up creation of Objects whose prototype has dictionary elements
        (Chromium issue 422754).

        Enable libstdc++ debug mode in debug builds (issue 3638).

        Performance and stability improvements on all platforms.


2014-10-22: Version 3.30.16

        Remove v8stdint.h, it doesn't serve a purpose anymore.

        Performance and stability improvements on all platforms.


2014-10-21: Version 3.30.15

        Avoid the Marsaglia effect in 3D (Chromium issue 423311).

        Performance and stability improvements on all platforms.


2014-10-20: Version 3.30.14

        Performance and stability improvements on all platforms.


2014-10-17: Version 3.30.13

        Don't expose Array.prototype.values as it breaks webcompat (Chromium
        issue 409858).

        Fix break location calculation (Chromium issue 419663).

        Enable libstdc++ debug mode in debug builds (issue 3638).

        Performance and stability improvements on all platforms.


2014-10-17: Version 3.30.12

        Implement .forEach() on typed arrays (issue 3578).

        Introduce v8::Exception::GetStackTrace API method.

        Remove SmartMove, bringing Array methods further into spec compliance
        (issue 2615).

        Convert argument toObject() in Object.getOwnPropertyNames/Descriptors
        (issue 3443).

        Performance and stability improvements on all platforms.


2014-10-15: Version 3.30.11

        Array.prototype.{every, filter, find, findIndex, forEach, map, some}:
        Use fresh primitive wrapper for calls (issue 3536).

        Correctly expand literal buffer for surrogate pairs (Chromium issue
        423212).

        Performance and stability improvements on all platforms.


2014-10-15: Version 3.30.10

        Squeeze the layout of various AST node types (Chromium issue 417697).

        Performance and stability improvements on all platforms.


2014-10-14: Version 3.30.9

        Performance and stability improvements on all platforms.


2014-10-13: Version 3.30.8

        AST nodes have at most one bailout/typefeedback ID now, saving lots of
        memory (Chromium issue 417697).

        Allow identifier code points from supplementary multilingual planes
        (issue 3617).

        Performance and stability improvements on all platforms.


2014-10-10: Version 3.30.7

        Fix computation of UTC time from local time at DST change points (issue
        3116, Chromium issues 415424, 417640).

        Convert `obj` ToObject in Object.keys() (issue 3587).

        Performance and stability improvements on all platforms.


2014-10-09: Version 3.30.6

        Update unicode to 7.0.0 (issue 2892).

        Classes: Add support for toString (issue 3330).

        Don't enable WPO on Win64 and require Server 2003 / x64 for win64
        (Chromium issue 421363).

        Performance and stability improvements on all platforms.


2014-10-08: Version 3.30.5

        Performance and stability improvements on all platforms.


2014-10-08: Version 3.30.4

        This uses a runtime function to set up the the constructor and its
        prototype (issue 3330).

        Remove PersistentBase::ClearAndLeak.

        Squeeze the layout of variable proxy nodes (Chromium issue 417697).

        Add MonotonicallyIncreasingTime to V8 Platform (Chromium issue 417668).

        Fix representation of HLoadRoot (Chromium issue 419036).

        Performance and stability improvements on all platforms.


2014-10-03: Version 3.30.3

        Removed the Isolate* field from literal nodes (Chromium issue 417697).

        Squeeze the layout of expression nodes a bit (Chromium issue 417697).

        Merged FeedbackSlotInterface into AstNode, removing the need for a 2nd
        vtable (Chromium issue 417697).

        Extend CPU profiler with mapping ticks to source lines.

        Remove support for parallel sweeping.

        Introduce v8::Object::GetIsolate().

        Performance and stability improvements on all platforms.


2014-10-02: Version 3.30.2

        Fix Hydrogen's BuildStore() (Chromium issue 417508).

        Move unit tests to test/unittests (issue 3489).

        Changes to ALLOW_UNUSED to match upcoming changes to the Chromium trunk:
        * Eliminate usage of ALLOW_UNUSED to define COMPILE_ASSERT and just use
        static_assert() in all cases now that all platforms build with C++11. *
        Convert remaining uses of ALLOW_UNUSED to ALLOW_UNUSED_TYPE to match how
        Chromium will be splitting this functionality.  (In Chromium we'll have
        both   ALLOW_UNUSED_TYPE and ALLOW_UNUSED_LOCAL, which have different
        syntax to   enable us to use these with MSVC.) (Chromium issue 81439).

        Performance and stability improvements on all platforms.


2014-10-01: Version 3.30.1

        Introduce PromiseRejectCallback (issue 3093).

        ES6: Implement object literal property shorthand (issue 3584).

        Performance and stability improvements on all platforms.


2014-09-30: Version 3.29.93

        Add a getter for the address and size of the code range to the pulic API
        (issue 3598).

        Convert `obj` ToObject in Object.keys() (issue 3587).

        Performance and stability improvements on all platforms.


2014-09-29: Version 3.29.92

        Performance and stability improvements on all platforms.


2014-09-26: Version 3.29.91

        Performance and stability improvements on all platforms.


2014-09-25: Version 3.29.88

        Performance and stability improvements on all platforms.


2014-09-24: Version 3.29.87

        Preserve message when rethrowing exception (issue 3583).

        Fix escaped index JSON parsing (Chromium issue 416449).

        Performance and stability improvements on all platforms.


2014-09-23: Version 3.29.84

        Performance and stability improvements on all platforms.


2014-09-23: Version 3.29.83

        Performance and stability improvements on all platforms.


2014-09-23: Version 3.29.82

        Fix escaped index JSON parsing (Chromium issue 416449).

        Performance and stability improvements on all platforms.


2014-09-17: Version 3.29.70

        Enable ES6 generators (issue 2355).

        Fixed int vs. uintptr_t confusion (plus some cleanup on the way) (issue
        3556).

        Move configuration of ResourceConstraints to Isolate construction.

        Performance and stability improvements on all platforms.


2014-09-16: Version 3.29.66

        Currently, a new isolate is created in an uninitialized state, and
        several API methods will automatically initialize it. During this
        uninitialized state, code event handlers and function entry handlers can
        be attached to the isolate.

        Performance and stability improvements on all platforms.


2014-09-15: Version 3.29.64

        ES6: String(symbol) should work like symbol.toString (issue 3554).

        Arrow functions: Cleanup handling of the prototype property (issue
        2700).

        Remove V8_HOST_CAN_READ_UNALIGNED and its uses (Chromium issue 412967).

        Fix Smi vs. HeapObject confusion in HConstants (Chromium issue 412215).

        Performance and stability improvements on all platforms.


2014-09-12: Version 3.29.59

        Do not use wide reads in CopyCharsUnsigned (Chromium issue 412967).

        Fix inaccurate type condition in Hydrogen (Chromium issue 412210).

        Fix crash in ScriptDebugServer::wrapCallFrames (Chromium issue 411196).

        Performance and stability improvements on all platforms.


2014-09-11: Version 3.29.57

        ES6: Add support for method shorthand in object literals (issue 3516).

        Unbreak FreeBSD build (hopefully) (issue 3548).

        Performance and stability improvements on all platforms.


2014-09-09: Version 3.29.53

        Performance and stability improvements on all platforms.


2014-09-08: Version 3.29.50

        Allocate a new empty number dictionary when resetting elements (Chromium
        issue 410332).

        Performance and stability improvements on all platforms.


2014-09-05: Version 3.29.43

        Enforce correct number comparisons when inlining Array.indexOf (Chromium
        issue 407946).

        Performance and stability improvements on all platforms.


2014-09-04: Version 3.29.41

        Performance and stability improvements on all platforms.


2014-09-03: Version 3.29.40

        Use correct receiver for DOM accessors on the prototype chain (issue
        3538).

        Performance and stability improvements on all platforms.


2014-09-02: Version 3.29.38

        Do not clear weak monomorphic IC after context disposal (Chromium issue
        404020).

        Turn on job-based sweeping (issue 3104).

        Performance and stability improvements on all platforms.


2014-09-01: Version 3.29.35

        Performance and stability improvements on all platforms.


2014-08-29: Version 3.29.29

        Performance and stability improvements on all platforms.


2014-08-28: Version 3.29.27

        Performance and stability improvements on all platforms.


2014-08-28: Version 3.29.25

        Performance and stability improvements on all platforms.


2014-08-28: Version 3.29.24

        Tweaks to generate XP-compatible .exes (Chromium issue 407517).

        Performance and stability improvements on all platforms.


2014-08-28: Version 3.29.23

        Performance and stability improvements on all platforms.


2014-08-27: Version 3.29.20

        Handle empty allocation list in CodeRange properly (issue 3540, Chromium
        issue 407566).

        Fixed inlining of constant values (issue 3529).

        Performance and stability improvements on all platforms.


2014-08-25: Version 3.29.17

        Performance and stability improvements on all platforms.


2014-08-24: Version 3.29.16

        Fix issue with numeric property names (issue 3507).

        Add back the duplicate property checker (issue 3498).

        Performance and stability improvements on all platforms.


2014-08-22: Version 3.29.14

        Don't inline Array.shift() if receiver map is not extensible (Chromium
        issue 405517).

        Performance and stability improvements on all platforms.


2014-08-21: Version 3.29.11

        Refactor ParseObjectLiteral.

        Support symbol-named properties in API (issue 3394).

        Suppress test262 test that tests duplicate properties.

        ES6: Duplicate properties are no longer an error (issue 3498).

        Expose function CheckDebugBreak in the debugger api.

        Remove RegExp.$input (issue 3486).

        Performance and stability improvements on all platforms.


2014-08-21: Version 3.29.10

        ES6: Make sure we do not store -0 as the key in Map/Set (issue 3515).

        Remove removed flags from tests.

        Expose well-known Symbols to C++ API (Chromium issue 341423).

        Implement ES6 Array.of() (issue 3427).

        Performance and stability improvements on all platforms.


2014-08-20: Version 3.29.9

        Correctly handle holes when concat()ing double arrays (Chromium issue
        403409).

        [turbofan] Refactor the InstructionSelector tests (issue 3489).

        ES6: Make Map/Set constructors support iterable values (issue 3508).

        WeakMap/WeakSet: Add test for non object keys (issue 3399).

        Performance and stability improvements on all platforms.


2014-08-12: Version 3.28.71

        ToNumber(Symbol) should throw TypeError (issue 3499).

        Performance and stability improvements on all platforms.


2014-08-11: Version 3.28.69

        Performance and stability improvements on all platforms.


2014-08-09: Version 3.28.65

        Performance and stability improvements on all platforms.


2014-08-08: Version 3.28.64

        ES6: Implement WeakMap and WeakSet constructor logic (issue 3399).

        Enable ES6 unscopables (issue 3401).

        Turn on harmony_unscopables for es_staging (issue 3401).

        Remove proxies from --harmony switch for M38, because problems.

        Reland "Add initial support for compiler unit tests using GTest/GMock."
        (issue 3489).

        Enable ES6 iteration by default (issue 2214).

        Performance and stability improvements on all platforms.


2014-08-07: Version 3.28.62

        Only escape U+0022 in argument values of `String.prototype` HTML methods
        (issue 2217).

        Update webkit test for expected own properties.

        This implements unscopables (issue 3401).

        Add `CheckObjectCoercible` for the `String.prototype` HTML methods
        (issue 2218).

        Add initial support for compiler unit tests using GTest/GMock (issue
        3489).

        Trigger exception debug events on Promise reject (Chromium issue
        393913).

        Refactor unit tests for the base library to use GTest (issue 3489).

        Performance and stability improvements on all platforms.


2014-08-06: Version 3.28.60

        Enable ES6 Map and Set by default (issue 1622).

        Performance and stability improvements on all platforms.


2014-08-06: Version 3.28.59

        Removed GetConstructor from the API. Instead either get the
        "constructor" property stored in the prototype, or keep a side-table.

        Enable ES6 Symbols by default (issue 2158).

        Performance and stability improvements on all platforms.


2014-08-05: Version 3.28.57

        Add dependencies on gtest and gmock.

        Performance and stability improvements on all platforms.


2014-08-04: Version 3.28.54

        Performance and stability improvements on all platforms.


2014-08-01: Version 3.28.53

        Performance and stability improvements on all platforms.


2014-07-31: Version 3.28.52

        Performance and stability improvements on all platforms.


2014-07-31: Version 3.28.51

        Drop deprecated memory related notification API (Chromium issue 397026).

        Performance and stability improvements on all platforms.


2014-07-31: Version 3.28.50

        Use emergency memory in the case of out of memory during evacuation
        (Chromium issue 395314).

        Performance and stability improvements on all platforms.


2014-07-30: Version 3.28.48

        Fix Object.freeze with field type tracking. Keep the descriptor properly
        intact while update the field type (issue 3458).

        Performance and stability improvements on all platforms.


2014-07-29: Version 3.28.45

        Performance and stability improvements on all platforms.


2014-07-28: Version 3.28.43

        Performance and stability improvements on all platforms.


2014-07-25: Version 3.28.38

        Fix issue with setters and their holders in accessors.cc (Chromium issue
        3462).

        Introduce more debug events for promises (issue 3093).

        Move gc notifications from V8 to Isolate and make idle hint mandatory
        (Chromium issue 397026).

        The accessors should get the value from the holder and not from this
        (issue 3461).

        Performance and stability improvements on all platforms.


2014-07-24: Version 3.28.35

        Rebaseline/update the intl tests with ICU 52 (issue 3454).

        Expose the content of Sets and WeakSets through SetMirror (issue 3093).

        Performance and stability improvements on all platforms.


2014-07-23: Version 3.28.32

        Update ICU to 5.2 (matching chromium) (issue 3452).

        Performance and stability improvements on all platforms.


2014-07-22: Version 3.28.31

        Remove harmony-typeof.

        Implement String.prototype.codePointAt and String.fromCodePoint (issue
        2840).

        Performance and stability improvements on all platforms.


2014-07-21: Version 3.28.30

        Performance and stability improvements on all platforms.


2014-07-21: Version 3.28.29

        Performance and stability improvements on all platforms.


2014-07-18: Version 3.28.28

        Performance and stability improvements on all platforms.


2014-07-17: Version 3.28.26

        Ship ES6 Math functions (issue 2938).

        Make ToPrimitive throw on symbol wrappers (issue 3442).

        Performance and stability improvements on all platforms.


2014-07-16: Version 3.28.25

        Performance and stability improvements on all platforms.


2014-07-16: Version 3.28.24

        Removed some copy-n-paste from StackFrame::Foo API entries (issue 3436).

        Performance and stability improvements on all platforms.


2014-07-15: Version 3.28.23

        Fix error message about read-only symbol properties (issue 3441).

        Include symbol properties in Object.{create,defineProperties} (issue
        3440).

        Performance and stability improvements on all platforms.


2014-07-14: Version 3.28.22

        Performance and stability improvements on all platforms.


2014-07-11: Version 3.28.21

        Make `let` usable as an identifier in ES6 sloppy mode (issue 2198).

        Support ES6 Map and Set in heap profiler (issue 3368).

        Performance and stability improvements on all platforms.


2014-07-10: Version 3.28.20

        Remove deprecate counter/histogram methods.

        Fixed printing of external references (Chromium issue 392068).

        Fix several issues with ES6 redeclaration checks (issue 3426).

        Performance and stability improvements on all platforms.


2014-07-09: Version 3.28.19

        Performance and stability improvements on all platforms.


2014-07-09: Version 3.28.18

        Reland "Postpone termination exceptions in debug scope." (issue 3408).

        Performance and stability improvements on all platforms.


2014-07-08: Version 3.28.17

        MIPS: Fix computed properties on object literals with a double as
        propertyname (Chromium issue 390732).

        Performance and stability improvements on all platforms.


2014-07-08: Version 3.28.16

        Fix computed properties on object literals with a double as propertyname
        (Chromium issue 390732).

        Avoid brittle use of .bind in Promise.all (issue 3420).

        Performance and stability improvements on all platforms.


2014-07-07: Version 3.28.15

        Remove a bunch of Isolate::UncheckedCurrent calls.

        Performance and stability improvements on all platforms.


2014-07-07: Version 3.28.14

        Use the HeapObjectIterator to scan-on-scavenge map pages (Chromium issue
        390732).

        Introduce debug events for Microtask queue (Chromium issue 272416).

        Split out libplatform into a separate libary.

        Add clang-format to presubmit checks.

        Stack traces exposed to Javascript should omit extensions (issue 311).

        Remove deprecated v8::Context::HasOutOfMemoryException.

        Postpone termination exceptions in debug scope (issue 3408).

        Performance and stability improvements on all platforms.


2014-07-04: Version 3.28.13

        Rollback to r22134.


2014-07-04: Version 3.28.12

        Use the HeapObjectIterator to scan-on-scavenge map pages (Chromium issue
        390732).

        Introduce debug events for Microtask queue (Chromium issue 272416).

        Performance and stability improvements on all platforms.


2014-07-03: Version 3.28.11

        Split out libplatform into a separate libary.

        Performance and stability improvements on all platforms.


2014-07-03: Version 3.28.10

        Add clang-format to presubmit checks.

        Stack traces exposed to Javascript should omit extensions (issue 311).

        Remove deprecated v8::Context::HasOutOfMemoryException.

        Postpone termination exceptions in debug scope (issue 3408).

        Performance and stability improvements on all platforms.


2014-07-02: Version 3.28.9

        Make freeze & friends ignore private properties (issue 3419).

        Introduce a builddeps make target (issue 3418).

        Performance and stability improvements on all platforms.


2014-07-01: Version 3.28.8

        Remove static initializer from isolate.

        ES6: Add missing Set.prototype.keys function (issue 3411).

        Introduce debug events for promises (issue 3093).

        Performance and stability improvements on all platforms.


2014-06-30: Version 3.28.7

        Performance and stability improvements on all platforms.


2014-06-30: Version 3.28.6

        Unbreak "os" stuff in shared d8 builds (issue 3407).

        Performance and stability improvements on all platforms.


2014-06-26: Version 3.28.4

        Compile optimized code with active debugger but no break points
        (Chromium issue 386492).

        Optimize Map/Set.prototype.forEach.

        Collect garbage with kReduceMemoryFootprintMask in IdleNotification
        (Chromium issue 350720).

        Performance and stability improvements on all platforms.


2014-06-26: Version 3.28.3

        Grow heap slower if GC freed many global handles (Chromium issue
        263503).

        Performance and stability improvements on all platforms.


2014-06-25: Version 3.28.2

        Remove bogus assertions in HCompareObjectEqAndBranch (Chromium issue
        387636).

        Do not eagerly update allow_osr_at_loop_nesting_level (Chromium issue
        387599).

        Set host_arch to ia32 on machines with a 32bit userland but a 64bit
        kernel (Chromium issue 368384).

        Map/Set: Implement constructor parameter handling (issue 3398).

        Performance and stability improvements on all platforms.


2014-06-24: Version 3.28.1

        Support LiveEdit on Arm64 (Chromium issue 368580).

        Run JS micro tasks in the appropriate context (Chromium issue 385349).

        Add a use counter API.

        Set host_arch to ia32 on machines with a 32bit userland but a 64bit
        kernel.

        Performance and stability improvements on all platforms.


2014-06-23: Version 3.28.0

        MIPS: Support LiveEdit (Chromium issue 368580).

        Array.concat: properly go to dictionary mode when required (Chromium
        issue 387031).

        Support LiveEdit on ARM (Chromium issue 368580).

        Performance and stability improvements on all platforms.


2014-06-18: Version 3.27.34

        Reduce number of writes to DependentCode array when inserting dependent
        IC (Chromium issue 305878).

        Performance and stability improvements on all platforms.


2014-06-17: Version 3.27.33

        Do GC if CodeRange fails to allocate a block (Chromium issue 305878).

        Throw syntax error when a getter/setter has the wrong number of params
        (issue 3371).

        Performance and stability improvements on all platforms.


2014-06-17: Version 3.27.32

        Performance and stability improvements on all platforms.


2014-06-16: Version 3.27.31

        Version fix.


2014-06-16: Version 3.27.30

        Fix representation of Phis for mutable-heapnumber-in-object-literal
        properties (issue 3392).

        Performance and stability improvements on all platforms.


2014-06-16: Version 3.27.29

        Emulate MLS on pre-ARMv6T2. Cleaned up thumbee vs. thumb2 confusion.

        X87: Fixed flooring division by a power of 2, once again.. (issue 3259).

        Fixed undefined behavior in RNG (Chromium issue 377790).

        Performance and stability improvements on all platforms.


2014-06-13: Version 3.27.28

        Add v8::Promise::Then (Chromium issue 371288).

        Performance and stability improvements on all platforms.


2014-06-12: Version 3.27.27

        Fix detection of VFP3D16 on Galaxy Tab 10.1 (issue 3387).

        Performance and stability improvements on all platforms.


2014-06-12: Version 3.27.26

        MIPS: Fixed flooring division by a power of 2, once again.. (issue
        3259).

        Fixed flooring division by a power of 2, once again.. (issue 3259).

        Fix unsigned comparisons (issue 3380).

        Performance and stability improvements on all platforms.


2014-06-11: Version 3.27.25

        Performance and stability improvements on all platforms.


2014-06-11: Version 3.27.24

        Fix invalid attributes when generalizing because of incompatible map
        change (Chromium issue 382143).

        Fix missing smi check in inlined indexOf/lastIndexOf (Chromium issue
        382513).

        Performance and stability improvements on all platforms.


2014-06-06: Version 3.27.23

        Performance and stability improvements on all platforms.


2014-06-06: Version 3.27.22

        Performance and stability improvements on all platforms.


2014-06-06: Version 3.27.21

        Turn on harmony_collections for es_staging (issue 1622).

        Do not make heap iterable eagerly (Chromium issue 379740).

        Performance and stability improvements on all platforms.


2014-06-05: Version 3.27.20

        Fix invalid loop condition for Array.lastIndexOf() (Chromium issue
        380512).

        Add API support for passing a C++ function as a microtask callback.

        Performance and stability improvements on all platforms.


2014-06-04: Version 3.27.19

        Split Put into Put and Remove.

        ES6: Add support for values/keys/entries for Map and Set (issue 1793).

        Performance and stability improvements on all platforms.


2014-06-03: Version 3.27.18

        Remove PROHIBITS_OVERWRITING as it is subsumed by non-configurable
        properties.

        Performance and stability improvements on all platforms.


2014-06-02: Version 3.27.17

        BuildNumberToString: Check for undefined keys in the cache (Chromium
        issue 368114).

        HRor and HSar can deoptimize (issue 3359).

        Simplify, speed-up correct-context ObjectObserve calls.

        Performance and stability improvements on all platforms.


2014-05-29: Version 3.27.16

        Allow microtasks to throw exceptions and handle them gracefully
        (Chromium issue 371566).

        Performance and stability improvements on all platforms.


2014-05-28: Version 3.27.15

        Performance and stability improvements on all platforms.


2014-05-27: Version 3.27.14

        Reland "Customized support for feedback on calls to Array." and follow-
        up fixes (Chromium issues 377198, 377290).

        Performance and stability improvements on all platforms.


2014-05-26: Version 3.27.13

        Performance and stability improvements on all platforms.


2014-05-26: Version 3.27.12

        Check for cached transition to ExternalArray elements kind (issue 3337).

        Support ES6 weak collections in heap profiler (Chromium issue 376196).

        Performance and stability improvements on all platforms.


2014-05-23: Version 3.27.11

        Add support for ES6 Symbol in heap profiler (Chromium issue 376194).

        Performance and stability improvements on all platforms.


2014-05-22: Version 3.27.10

        Implement Mirror object for Symbols (issue 3290).

        Allow debugger to step into Map and Set forEach callbacks (issue 3341).

        Fix ArrayShift hydrogen support (Chromium issue 374838).

        Use SameValueZero for Map and Set (issue 1622).

        Array Iterator next should check for own property.

        Performance and stability improvements on all platforms.


2014-05-21: Version 3.27.9

        Disable ArrayShift hydrogen support (Chromium issue 374838).

        ES6 Map/Set iterators/forEach improvements (issue 1793).

        Performance and stability improvements on all platforms.


2014-05-20: Version 3.27.8

        Move microtask queueing logic from JavaScript to C++.

        Partial revert of "Next bunch of fixes for check elimination" (Chromium
        issue 372173).

        Performance and stability improvements on all platforms.


2014-05-19: Version 3.27.7

        Performance and stability improvements on all platforms.


2014-05-19: Version 3.27.6

        Performance and stability improvements on all platforms.


2014-05-16: Version 3.27.5

        Performance and stability improvements on all platforms.


2014-05-15: Version 3.27.4

        Drop thenable coercion cache (Chromium issue 372788).

        Skip write barriers when updating the weak hash table (Chromium issue
        359401).

        Performance and stability improvements on all platforms.


2014-05-14: Version 3.27.3

        Performance and stability improvements on all platforms.


2014-05-13: Version 3.27.2

        Harden %SetIsObserved with RUNTIME_ASSERTs (Chromium issue 371782).

        Drop unused static microtask API.

        Introduce an api to query the microtask autorun state of an isolate.

        Performance and stability improvements on all platforms.


2014-05-12: Version 3.27.1

        Object.observe: avoid accessing acceptList properties more than once
        (issue 3315).

        Array Iterator prototype should not have a constructor (issue 3293).

        Fix typos in unit test for Array.prototype.fill().

        Shorten autogenerated error message for functions only (issue 3019,
        Chromium issue 331971).

        Reland "Removed default Isolate." (Chromium issue 359977).

        Performance and stability improvements on all platforms.


2014-05-09: Version 3.27.0

        Unbreak samples and tools.

        Performance and stability improvements on all platforms.


2014-05-08: Version 3.26.33

        Removed default Isolate (Chromium issue 359977).

        Performance and stability improvements on all platforms.


2014-05-07: Version 3.26.32

        Performance and stability improvements on all platforms.


2014-05-06: Version 3.26.31

        Add a basic gn file for V8.

        Performance and stability improvements on all platforms.


2014-05-05: Version 3.26.30

        Introduce a microtask suppression scope and move microtask methods to
        isolate (Chromium issue 369503).

        Re-enable Object.observe and add enforcement for security invariants.

        Move cache line size calculation directly into CPU::FlushICache
        (Chromium issue 359977).

        Generation of our home-grown memmove doesn't depend on serializer state
        anymore (Chromium issue 359977).

        Fix |RunMicrotasks()| leaking reference to the last context being run
        on.

        Object.defineProperty shouldn't be a hint that we're constructing a
        dictionary (Chromium issue 362870).

        Performance and stability improvements on all platforms.


2014-05-01: Version 3.26.29

        Added a Isolate* parameter to Serializer::enabled() (Chromium issue
        359977).

        ES6: Add support for Array.prototype.fill() (issue 3273).

        Performance and stability improvements on all platforms.


2014-04-29: Version 3.26.28

        PromiseThen should ignore non-function parameters (Chromium issue
        347455).

        Performance and stability improvements on all platforms.


2014-04-29: Version 3.26.27

        Error stack getter should not overwrite itself with a data property
        (issue 3294).

        Performance and stability improvements on all platforms.


2014-04-28: Version 3.26.26

        Expose promise value through promise mirror (issue 3093).

        Simplified CPU/CpuFeatures a bit (Chromium issue 359977).

        Performance and stability improvements on all platforms.


2014-04-28: Version 3.26.25

        Add timestamps to CPU profile samples (Chromium issue 363976).

        Expose promise status through promise mirror (issue 3093).

        Remove static CallCompletedCallback handlers.

        Added an Isolate* field to NoTrackDoubleFieldsForSerializerScope,
        PlatformFeatureScope and BinaryOpIC::State (Chromium issue 359977).

        Trigger debug event on not yet caught exception in promises (issue
        3093).

        Unbreak vtunejit=on (issue 3288).

        Performance and stability improvements on all platforms.


2014-04-25: Version 3.26.24

        MIPS: CodeStubs contain their corresponding Isolate* now. (part 2)
        (Chromium issue 359977).

        MIPS: CodeStubs contain their corresponding Isolate* now. (part 1)
        (Chromium issue 359977).

        CodeStubs contain their corresponding Isolate* now. (part 2) (Chromium
        issue 359977).

        Make DescriptorArray::IsMoreGeneralThan() and DescriptorArray::Merge()
        compatible again (Chromium issue 365172).

        CodeStubs contain their corresponding Isolate* now. (part 1) (Chromium
        issue 359977).

        Performance and stability improvements on all platforms.


2014-04-24: Version 3.26.23

        Performance and stability improvements on all platforms.


2014-04-23: Version 3.26.22

        Disable field type tracking by default (Chromium issue 365172).

        Performance and stability improvements on all platforms.


2014-04-23: Version 3.26.21

        Context-allocate all parameters in generators (issue 3280).

        Simplify v8/Isolate teardown (Chromium issue 359977).

        Performance and stability improvements on all platforms.


2014-04-21: Version 3.26.20

        ES6: Add support for Map/Set forEach (Chromium issues 1793, 2323).

        Performance and stability improvements on all platforms.


2014-04-18: Version 3.26.19

        ES6: Add support for Map/Set forEach (Chromium issues 1793, 2323).

        Performance and stability improvements on all platforms.


2014-04-17: Version 3.26.18

        Removed Isolate::EnterDefaultIsolate (Chromium issue 359977).

        Performance and stability improvements on all platforms.


2014-04-16: Version 3.26.17

        Clear invalid field maps in PropertyAccessInfo (Chromium issue 363956).

        ES6: Add support for Map/Set forEach (Chromium issues 1793, 2323).

        Performance and stability improvements on all platforms.


2014-04-16: Version 3.26.16

        Removed EnterIsolateIfNeeded and a soon-to-be-useless assertion
        (Chromium issue 359977).

        Removed GetDefaultIsolate{Debugger,ForLocking,StackGuard} (Chromium
        issue 359977).

        Performance and stability improvements on all platforms.


2014-04-15: Version 3.26.15

        Fix result of LCodeGen::DoWrapReceiver for strict functions and builtins
        (Chromium issue 362128).

        Performance and stability improvements on all platforms.


2014-04-15: Version 3.26.14

        Performance and stability improvements on all platforms.


2014-04-14: Version 3.26.13

        Make maps in monomorphic IC stubs weak (issue 2073).

        x64: Make sure that the upper half of a 64bit register contains 0 for
        int32 values (Chromium issue 360611).

        Performance and stability improvements on all platforms.


2014-04-11: Version 3.26.12

        Do not use ranges after range analysis (Chromium issue 361608).

        Performance and stability improvements on all platforms.


2014-04-10: Version 3.26.11

        Performance and stability improvements on all platforms.


2014-04-10: Version 3.26.10

        Allow the embedder to pass the virtual memory limit to v8.

        Performance and stability improvements on all platforms.


2014-04-09: Version 3.26.9

        Fix invalid local property lookup for transitions (Chromium issue
        361025).

        MIPS: Fixed flooring division by -1 (issue 3259).

        Fixed flooring division by -1 on ARM (issue 3259).

        Make `String.prototype.contains` throw when passing a regular expression
        (issue 3261).

        Performance and stability improvements on all platforms.


2014-04-08: Version 3.26.8

        Yet another regression test for range analysis (issue 3204).

        Performance and stability improvements on all platforms.


2014-04-07: Version 3.26.7

        Performance and stability improvements on all platforms.


2014-04-04: Version 3.26.6

        Performance and stability improvements on all platforms.


2014-04-03: Version 3.26.5

        Performance and stability improvements on all platforms.


2014-04-03: Version 3.26.4

        Make stray 'return' an early error.

        Show references from weak containers as weak in heap snapshots (Chromium
        issue 356590).

        Make invalid LHSs that are calls late errors (Chromium issue 358346).

        Performance and stability improvements on all platforms.


2014-04-02: Version 3.26.3

        Support typed arrays in IsMoreGeneralElementsKindTransition (Chromium
        issue 357054).

        Remove debugger_auto_break flag.

        Store i18n meta data in hidden symbols instead of js accessible
        properties (Chromium issue 354967).

        Performance and stability improvements on all platforms.


2014-04-01: Version 3.26.2

        Performance and stability improvements on all platforms.


2014-04-01: Version 3.26.1

        Fix Type::Intersect to skip uninhabited bitsets (Chromium issue 357330).

        Fix PrepareKeyedOperand on arm (Chromium issue 358057).

        Performance and stability improvements on all platforms.


2014-03-31: Version 3.26.0

        Deprecate Start/StopCpuProfiling methods (issue 3213).

        Don't crash if we get a timezone change notification on an uninitialized
        isolate (Chromium issue 357362).

        Performance and stability improvements on all platforms.


2014-03-28: Version 3.25.30

        NativeContext::map_cache reference should be strong in heap snapshots
        (Chromium issue 357060).

        Performance and stability improvements on all platforms.


2014-03-27: Version 3.25.29

        Performance and stability improvements on all platforms.


2014-03-27: Version 3.25.28

        Performance and stability improvements on all platforms.


2014-03-26: Version 3.25.27

        Promise constructor should not be enumerable (Chromium issue 352597).

        Performance and stability improvements on all platforms.


2014-03-26: Version 3.25.26

        Performance and stability improvements on all platforms.


2014-03-25: Version 3.25.25

        Roll ICU 239289:258359 and add support for external ICU data tables
        (issue 3142, Chromium issue 72633).

        Performance and stability improvements on all platforms.


2014-03-25: Version 3.25.24

        Add support for per-isolate private symbols.

        No longer OOM on invalid string length (issue 3060).

        Remove Failure::OutOfMemory propagation and
        V8::IgnoreOutOfMemoryException (issue 3060).

        Tentative Windows dll build fix: Don't V8_EXPORT ScriptCompiler::Source
        (issue 3228).

        Performance and stability improvements on all platforms.


2014-03-24: Version 3.25.23

        Rename A64 port to ARM64 port (Chromium issue 354405).

        Fix missing access check in Runtime_SetPrototype (Chromium issue
        354123).

        Fix polymorphic hydrogen handling of SLOPPY_ARGUMENTS_ELEMENTS (Chromium
        issue 354391).

        Performance and stability improvements on all platforms.


2014-03-20: Version 3.25.22

        Increase the "local variables in a function" limit (issue 3205).

        Implement ES6 symbol registry and predefined symbols.

        Throw exception on invalid string length instead of OOM (Chromium issue
        349329).

        Performance and stability improvements on all platforms.


2014-03-20: Version 3.25.21

        Performance and stability improvements on all platforms.


2014-03-20: Version 3.25.20

        Fix polymorphic keyed loads for SLOPPY_ARGUMENTS_ELEMENTS (Chromium
        issue 350867).

        Performance and stability improvements on all platforms.


2014-03-19: Version 3.25.19

        Performance and stability improvements on all platforms.


2014-03-19: Version 3.25.18

        Performance and stability improvements on all platforms.


2014-03-19: Version 3.25.17

        Performance and stability improvements on all platforms.


2014-03-18: Version 3.25.16

        Apply numeric casts correctly in typed arrays and related code (Chromium
        issue 353004).

        Performance and stability improvements on all platforms.


2014-03-18: Version 3.25.15

        Don't generate keyed store ICs for global proxies (Chromium issue
        352983).

        MIPS: Make invalid LHSs a parse-time (reference) error (Chromium issue
        351658).

        Make invalid LHSs a parse-time (reference) error (Chromium issue
        351658).

        Add Promises/A+ Compliance Test Suite (Chromium issue 347095).

        Split Promise API into Promise/Resolver.

        Performance and stability improvements on all platforms.


2014-03-17: Version 3.25.14

        Performance and stability improvements on all platforms.


2014-03-17: Version 3.25.13

        Move profiler callback interfaces from v8.h to v8-profiler.h.

        Performance and stability improvements on all platforms.


2014-03-14: Version 3.25.12

        PromiseCoerce should deal with an error during accessing "then"
        (Chromium issue 347095).

        Propagate updated offsets in BoundsCheckBbData (Chromium issue 350863).

        Add regression test for range analysis bug (issue 3204).

        Continued fix for 351257. Reusing the feedback vector is too complex
        (Chromium issue 351257).

        StopCpuProfiling should return non-const CpuProfile (issue 3213).

        Allow for compiling with xcode 5.1 (which doesn't have gcc anymore).

        Performance and stability improvements on all platforms.


2014-03-14: Version 3.25.11

        MIPS: Remove uses of CanBeNegative() in HMod (issue 3204).

        MIPS: Remove uses of RangeCanInclude() in flooring division by power of
        2 (issue 3204).

        MIPS: Fix uses of range analysis results in HChange (issue 3204).

        Make translation of modulus operation '--stress-opt'-proof (Chromium
        issue 352059).

        Remove uses of CanBeNegative() in HMod (issue 3204).

        Remove uses of RangeCanInclude() in flooring division by power of 2
        (issue 3204).

        Fix uses of range analysis results in HChange (issue 3204).

        Performance and stability improvements on all platforms.


2014-03-14: Version 3.25.10

        This version was not committed due to script failures.


2014-03-13: Version 3.25.9

        Reland "Enable Object.observe by default" again (issue 2409).

        Use intrinsics for builtin ArrayBuffer property accesses (Chromium issue
        351787).

        Performance and stability improvements on all platforms.


2014-03-12: Version 3.25.8

        Fix HIsSmiAndBranch::KnownSuccessorBlock() by deleting it (Chromium
        issue 351320).

        Fix handling of polymorphic array accesses with constant index (Chromium
        issue 351319).

        Fix lazy deopt after tagged binary ops (Chromium issue 350434).

        MIPS: Cleanup some of the range uses in ModI/DivI (issue 3204).

        Fix issue with getOwnPropertySymbols and hidden properties (Chromium
        issue 350864).

        Cleanup some of the range uses in ModI/DivI (issue 3204).

        PromiseCoerce should ignore primitive values (Chromium issue 347095).

        Use a per-isolate cache for the date object JS bits (Chromium issue
        348856).

        Performance and stability improvements on all platforms.


2014-03-11: Version 3.25.7

        Promise.all and Promise.race should reject non-array parameter (Chromium
        issue 347453).

        Promise.all and Promise race should use "then" rather than "chain"
        (Chromium issue 347427).

        Merge the "Compute Minus Zero Checks" phase into the range analysis
        (issue 3204).

        Performance and stability improvements on all platforms.


2014-03-10: Version 3.25.6

        Replace the recursion in PropagateMinusZeroChecks() with a loop and a
        worklist (issue 3204).

        Reland "Enable Object.observe by default" (issue 2409).

        Enable Object.observe by default (issue 2409).

        AllocationTracker now maintains a map from address range to stack trace
        that allocated the range. When snapshot is generated the map is used to
        find construction stack trace for an object using its address (Chromium
        issue 277984).

        Introduce Runtime_GetAllScopesDetails to get all scopes at once for a
        frame (Chromium issue 340285).

        Reduce heavy runtime calls from debug mirrors (Chromium issue 340285).

        Check and clear date cache in DateCurrentTime, DateLocalTimezone and
        getTimezoneOffset (Chromium issue 142141).

        Performance and stability improvements on all platforms.


2014-03-06: Version 3.25.5

        Fix HConstants with Smi-ranged HeapNumber values (Chromium issue
        349878).

        Fix issues with JSON stringify replacer array (issues 3200, 3201).

        Performance and stability improvements on all platforms.


2014-03-05: Version 3.25.4

        x64: Fix LMathMinMax for constant Smi right-hand operands (Chromium
        issue 349079).

        Performance and stability improvements on all platforms.


2014-03-04: Version 3.25.3

        Clear optimized code cache in shared function info when code gets
        deoptimized (Chromium issue 343609).

        Fixed constant folding for Math.clz32 (Chromium issue 347906).

        Fix JSObject::PrintTransitions (Chromium issue 347912).

        Fix handling of constant global variable assignments (Chromium issue
        347904).

        Removed bogus ASSERT (Chromium issue 347542).

        Mark HCompareMap as having Tagged representation (Chromium issue
        346636).

        Fix crasher in Object.getOwnPropertySymbols (Chromium issue 346141).

        Fix the bit massaging code in CompleteParserRecorder::WriteNumber
        (Chromium issue 346221).

        Don't eliminate loads with incompatible types or representations
        (Chromium issue 346343).

        Check that after a weak callback, the handle is either dead or strong
        (Chromium issue 346061).

        Lazy preparsing vs. lazy parsing fix (Chromium issue 346207).

        Performance and stability improvements on all platforms.


2014-02-25: Version 3.25.2

        Fix the bit massaging code in CompleteParserRecorder::WriteNumber
        (Chromium issue 346221).

        Revert r19455 "Load target types and handlers before IC computation."
        (Chromium issue 346149).

        Don't eliminate loads with incompatible types or representations
        (Chromium issue 346343).

        Fix for a smi stores optimization on x64 with a regression test
        (Chromium issue 345715).

        Check that after a weak callback, the handle is either dead or strong
        (Chromium issue 346061).

        negative bounds checking on realm calls (Chromium issue 344285).

        Lazy preparsing vs. lazy parsing fix (Chromium issue 346207).

        Fix optimistic BCE to back off after deopt (issue 3176).

        Performance and stability improvements on all platforms.


2014-02-21: Version 3.25.1

        Performance and stability improvements on all platforms.


2014-02-19: Version 3.25.0

        ES6: Tighten up Object.prototype.__proto__ (issue 3064).

        Fix Hydrogen bounds check elimination (Chromium issue 344186).

        Performance and stability improvements on all platforms.


2014-02-19: Version 3.24.40

        A64: Let the MacroAssembler resolve branches to distant targets (issue
        3148).

        Fixed and improved code for integral division. Fixed and extended tests
        (issue 3151).

        MIPS: Fix assignment of function name constant (issue 3138).

        Fix assignment of function name constant (issue 3138).

        Performance and stability improvements on all platforms.


2014-02-14: Version 3.24.39

        Introduce --job-based-sweeping flag and use individual jobs for sweeping
        if set (issue 3104).

        Performance and stability improvements on all platforms.


2014-02-13: Version 3.24.38

        Merge experimental/a64 to bleeding_edge (issue 3113).

        Performance and stability improvements on all platforms.


2014-02-12: Version 3.24.37

        Fix spec violations in JSON.stringify wrt replacer array (issue 3135).

        Performance and stability improvements on all platforms.


2014-02-11: Version 3.24.36

        Fix inconsistencies wrt whitespaces (issue 3109).

        Performance and stability improvements on all platforms.


2014-02-10: Version 3.24.35

        Fix inconsistencies wrt whitespaces (issue 3109).

        Performance and stability improvements on all platforms.


2014-02-07: Version 3.24.34

        Performance and stability improvements on all platforms.


2014-02-06: Version 3.24.33

        Allow externalizing strings in old pointer space (Chromium issue
        268686).

        Performance and stability improvements on all platforms.


2014-02-05: Version 3.24.32

        Add Box object to heap profiler.

        Check the offset argument of TypedArray.set for fitting into Smi
        (Chromium issue 340125).

        Performance and stability improvements on all platforms.


2014-02-04: Version 3.24.31

        Fix short-circuiting logical and/or in HOptimizedGraphBuilder (Chromium
        issue 336148).

        Elements field of newly allocated JSArray could be left uninitialized in
        some cases (fast literal case) (Chromium issue 340124).

        Re-enable escape analysis.

        Performance and stability improvements on all platforms.


2014-02-03: Version 3.24.30

        Performance and stability improvements on all platforms.


2014-02-01: Version 3.24.29

        Performance and stability improvements on all platforms.


2014-01-31: Version 3.24.28

        Don't crash in Array.join() if the resulting string exceeds the max
        string length (Chromium issue 336820).

        Implements ES6 String.prototype.normalize method (issue 2943).

        Performance and stability improvements on all platforms.


2014-01-30: Version 3.24.27

        Performance and stability improvements on all platforms.


2014-01-29: Version 3.24.26

        ES6: Map and Set needs to normalize minus zero (issue 3069).

        Make `String.prototype.{starts,ends}With` throw when passing a regular
        expression (issue 3070).

        Performance and stability improvements on all platforms.


2014-01-28: Version 3.24.25

        Performance and stability improvements on all platforms.


2014-01-27: Version 3.24.24

        MIPS: Reduce the stack requirements of GetNoCodeAgeSequence (issue
        3111).

        Delete v8_shell target now that chrome uses d8 (Chromium issue 331585).

        ARM: Reduce the stack requirements of GetNoCodeAgeSequence (issue 3111).

        Performance and stability improvements on all platforms.


2014-01-24: Version 3.24.23

        Performance and stability improvements on all platforms.


2014-01-23: Version 3.24.22

        Fix compilation on x64 architectures (issue 3110).

        Ensure we don't overwrite transitions in SetPropertyIgnoreAttributes
        (Chromium issue 326155).

        ES6: Implement Object.setPrototypeOf (issue 2675).

        Fixed floor-of-div optimization (Chromium issue 334708).

        Performance and stability improvements on all platforms.


2014-01-22: Version 3.24.21

        Performance and stability improvements on all platforms.


2014-01-21: Version 3.24.20

        ES6: Implement Object.setPrototypeOf (issue 2675).

        Performance and stability improvements on all platforms.


2014-01-20: Version 3.24.19

        Introduce a setting to control the toolset for which d8 is compiled
        (issue 1775).

        Performance and stability improvements on all platforms.


2014-01-17: Version 3.24.18

        Performance and stability improvements on all platforms.


2014-01-16: Version 3.24.17

        Make cells pointing to JSObjects weak in optimized code (issue 2073).

        Performance and stability improvements on all platforms.


2014-01-15: Version 3.24.16

        Annotate mapped memory regions for LeakSanitizer (Chromium issue
        328552).

        Turn Runtime_MigrateInstance into Runtime_TryMigrateInstance (Chromium
        issue 315252).

        Performance and stability improvements on all platforms.


2014-01-14: Version 3.24.15

        Introduce an API mirroring the gc extension.

        Performance and stability improvements on all platforms.


2014-01-10: Version 3.24.14

        ES6: Add Object.getOwnPropertySymbols (issue 3049).

        Performance and stability improvements on all platforms.


2014-01-09: Version 3.24.13

        Add Isolate parameter to HandleScope::NumberOfHandles (Chromium issue
        324225).

        Removed v8::AssertNoGCScope.

        Performance and stability improvements on all platforms.


2014-01-08: Version 3.24.12

        Correctly handle instances without elements in polymorphic keyed
        load/store (Chromium issue 331416).

        Fix selection of popular pages in store buffer (Chromium issue 331444).

        Prepare removal of ObjectTemplate::New without Isolate parameter
        (Chromium issue 324225).

        Performance and stability improvements on all platforms.


2014-01-07: Version 3.24.11

        Remove generated makefiles on linux when running gyp_v8
        (Chromium issue 331475)

        Fix building d8 with readline support due to API changes

        Performance and stability improvements on all platforms.


2014-01-03: Version 3.24.10

        Reland r18383: More API cleanup (Chromium issue 324225).

        MIPS: Fix loading of global object in LWrapReceiver (Chromium issue
        318420).

        Performance and stability improvements on all platforms.


2014-01-02: Version 3.24.9

        Performance and stability improvements on all platforms.


2013-12-30: Version 3.24.8

        ARM: fix loading of global object in LWrapReceiver (Chromium issue
        318420).

        Fix a race between concurrent recompilation and OSR (Chromium issue
        330046).

        Turn off concurrent sweeping (issue 3071).

        Performance and stability improvements on all platforms.


2013-12-23: Version 3.24.7

        Fix small spec violation in String.prototype.split (issue 3026).

        Correctly resolve forcibly context allocated parameters in debug-
        evaluate (Chromium issue 325676).

        Introduce Function::GetBoundFunction. 

        Performance and stability improvements on all platforms.


2013-12-20: Version 3.24.6

        Performance and stability improvements on all platforms.


2013-12-19: Version 3.24.5

        Performance and stability improvements on all platforms.


2013-12-18: Version 3.24.4

        Removed all stuff marked as V8_DEPRECATED.

        Performance and stability improvements on all platforms.


2013-12-17: Version 3.24.3

        Performance and stability improvements on all platforms.


2013-12-17: Version 3.24.2

        Flush instruction cache for deserialized code objects.

        Performance and stability improvements on all platforms.


2013-12-13: Version 3.24.1

        Fix polymorphic inlined calls with migrating prototypes.

        Fixed global object leak caused by overwriting the global receiver (the
        global proxy) in the global object with the global object itself
        (Chromium issue 324812).

        Initialize Date parse cache with SMI instead of double to workaround
        sharing mutable heap numbers in snapshot (Chromium issue 280531).

        Switch armv7 setting to arm_version==7 in v8 gyp files (Chromium issue
        234135).

        Performance and stability improvements on all platforms.


2013-12-09: Version 3.24.0

        Performance and stability improvements on all platforms.


2013-12-04: Version 3.23.18

        Performance and stability improvements on all platforms.


2013-12-03: Version 3.23.17

        Performance and stability improvements on all platforms.


2013-12-02: Version 3.23.16

        Array builtins need to be prevented from changing frozen objects, and
        changing structure on sealed objects (Chromium issue 299979).

        Performance and stability improvements on all platforms.


2013-11-29: Version 3.23.15

        Fix context register allocation in LTransitionElementsKind
        (Chromium issue 324306).

        Fix bug in inlining Function.apply (Chromium issue 323942).

        Ensure that length is Smi in TypedArrayFromArrayLike constructor
        (Chromium issue 324028).

        Performance and stability improvements on all platforms.


2013-11-28: Version 3.23.14

        Shorten autogenerated error message (issue 3019).

        Performance and stability improvements on all platforms.


2013-11-27: Version 3.23.13

        Increase precision for base conversion for large integers (issue 3025).

        Flatten cons string for single character substrings (Chromium issue
        323041).

        Performance and stability improvements on all platforms.


2013-11-26: Version 3.23.12

        Performance and stability improvements on all platforms.


2013-11-25: Version 3.23.11

        Deprecate old versions of Isolate::SetData and GetData.

        Performance and stability improvements on all platforms.


2013-11-22: Version 3.23.10

        Remove preemption thread and API.
        (issue 3004)

        Performance and stability improvements on all platforms.


2013-11-21: Version 3.23.9

        API: Change AdjustAmountOfExternalAllocatedMemory calls to use int64_t
        instead of intptr_t.

        Remove deprecated v8::SetResourceConstraints without Isolate parameter.

        Remove deprecated v8-defaults.h and defaults.cc.
        (Chromium issue 312241)

        Make it possible to add more than one piece of embedder data to
        isolates.
        (Chromium issue 317398)

        Performance and stability improvements on all platforms.


2013-11-20: Version 3.23.8

        Fixed crashes exposed though fuzzing.
        (Chromium issue 320948)

        Deprecated v8::External::New without Isolate parameter.

        Made number of available threads isolate-dependent and exposed it to
        ResourceConstraints.
        (issue 2991)

        Performance and stability improvements on all platforms.


2013-11-19: Version 3.23.7

        Bugfix: dependent code field in AllocationSite was keeping code objects
        alive even after context death.
        (Chromium issue 320532)

        Fixed data view accessors to throw execptions on offsets bigger than
        size_t.
        (issue 3013)

        Performance and stability improvements on all platforms.


2013-11-18: Version 3.23.6

        Limit size of dehoistable array indices.
        (Chromium issues 319835, 319860)

        Limit the size for typed arrays to MaxSmi.
        (Chromium issue 319722)

        Performance and stability improvements on all platforms.


2013-11-15: Version 3.23.5

        Fixed missing type feedback check for Generic*String addition.
        (Chromium issue 318671)

        Fixed duplicate check in DependentCode::Insert.
        (Chromium issue 318454)

        Performance and stability improvements on all platforms.


2013-11-14: Version 3.23.4

        Fixed overflow in TypedArray initialization function.
        (Chromium issue 319120)

        Performance and stability improvements on all platforms.


2013-11-13: Version 3.23.3

        Fixed compilation with GCC 4.8.
        (issue 2767, 2149)

        Added explicit Isolate parameter to External::New.
        (Chromium issue 266838)

        Performance and stability improvements on all platforms.


2013-11-12: Version 3.23.2

        Fixed --extra-code flag for snapshot creation.
        (issue 2994)

        Fixed error message wording when instanceof throws.
        (Chromium issue 82797, issue 1593)

        Performance and stability improvements on all platforms.


2013-11-08: Version 3.23.1

        Made HCapturedObjects non-deletable for DCE. (issue 2987)

        Use a fixed random seed per default. (issue 1880, 2885)

        Fixed y-umlaut to uppercase. (issue 2984)

        Performance and stability improvements on all platforms.


2013-11-06: Version 3.23.0

        Fixed loading message from an Error object.  (Chromium issue 306220)

        Made Object.freeze/seal/preventExtensions observable. (issue 2975, 2941)

        Made snapshots reproducible. (issue 2885)

        Added missing negative dictionary lookup to NonexistentHandlerFrontend.
        (issue 2980)

        Performance and stability improvements on all platforms.


2013-10-31: Version 3.22.24

        Fixed uint32-to-smi conversion in Lithium.
        (Chromium issue 309623)

        Performance and stability improvements on all platforms.


2013-10-28: Version 3.22.23

        Renamed deprecated __attribute__((no_address_safety_analysis)) to
        __attribute__((no_sanitize_address)) (Chromium issue 311283)

        Defined DEBUG for v8_optimized_debug=2

        Performance and stability improvements on all platforms.


2013-10-25: Version 3.22.22

        Record allocation stack traces. (Chromium issue 277984,v8:2949)

        Performance and stability improvements on all platforms.


2013-10-24: Version 3.22.21

        Performance and stability improvements on all platforms.


2013-10-24: Version 3.22.20

        Made Array.prototype.pop throw if the last element is not configurable.

        Fixed HObjectAccess for loads from migrating prototypes.
        (Chromium issue 305309)

        Enabled preaging of code objects when --optimize-for-size.
        (Chromium issue 280984)

        Exposed v8::Function::GetDisplayName to public API.
        (Chromium issue 17356)

        Performance and stability improvements on all platforms.


2013-10-23: Version 3.22.19

        Fix materialization of captured objects with field tracking.
        (Chromium issue 298990)

        Performance and stability improvements on all platforms.


2013-10-22: Version 3.22.18

        Add tool to visualize machine code/lithium.

        Handle misaligned loads and stores in load elimination. Do not track
        misaligned loads and be conservative about invalidating misaligned
        stores. (issue 2934)

        Performance and stability improvements on all platforms.


2013-10-21: Version 3.22.17

        Harmony: Implement Math.trunc and Math.sign. (issue 2938)

        Performance and stability improvements on all platforms.


2013-10-21: Version 3.22.16

        Performance and stability improvements on all platforms.


2013-10-18: Version 3.22.15

        Enabled calling the SetReference* & SetObjectGroupId functions with a
        Persistent<SubclassOfValue>.

        Performance and stability improvements on all platforms.


2013-10-17: Version 3.22.14

        Performance and stability improvements on all platforms.


2013-10-16: Version 3.22.13

        Do not look up ArrayBuffer on global object in typed array constructor.
        (issue 2931)

        Performance and stability improvements on all platforms.


2013-10-15: Version 3.22.12

        Added histograms to track fraction of heap spaces and percentage of
        generated crankshaft code.

        Moved v8_optimized_debug default value to standalone.gypi.

        Track JS allocations as they arrive with no affection on performance
        when tracking is switched off (Chromium issue 277984).

        Performance and stability improvements on all platforms.


2013-10-14: Version 3.22.11

        Performance and stability improvements on all platforms.


2013-10-11: Version 3.22.10

        Fixed timezone issues with date-time/parse-* tests.
        (Chromium issue 2919)

        Added column getter to CpuProfileNode (Chromium issue 302537)

        Performance and stability improvements on all platforms.


2013-10-10: Version 3.22.9

        Ensure only whitelisted stubs have sse2 versions in the snapshot.
        (fix for chromium 304565)

        Implement ArrayBuffer.isView.

        Performance and stability improvements on all platforms.


2013-10-04: Version 3.22.8

        Performance and stability improvements on all platforms.


2013-10-03: Version 3.22.7

        Debug: Allow stepping into on a given call frame
        (Chromium issue 296963).

        Always use timeGetTime() for TimeTicks::Now() on Windows
        (Chromium issue 288924).

        Performance and stability improvements on all platforms.


2013-10-02: Version 3.22.6

        Performance and stability improvements on all platforms.


2013-10-01: Version 3.22.5

        Disabled externalization of sliced/cons strings in old pointer space
        (Chromium issue 276357).

        Turned on handle zapping for release builds

        Performance and stability improvements on all platforms.


2013-09-30: Version 3.22.4

        Function::Call and Object::CallAsFunction APIs should allow v8::Value as
        a receiver (issue 2915).

        Removed unnecessary mutex (Chromium issue 291236).

        Removed ArrayBufferView::BaseAddress method.

        Performance and stability improvements on all platforms.


2013-09-27: Version 3.22.3

        Added methods to enable configuration of ResourceConstraints based on
        limits derived at runtime.
        (Chromium issue 292928)

        Added -optimize-for-size flag to optimize for memory size (will be used
        by pre-aging CL), and removed the is_memory_constrained
        ResourceConstraint.
        (Chromium issue 292928)

        Performance and stability improvements on all platforms.


2013-09-26: Version 3.22.2

        Performance and stability improvements on all platforms.


2013-09-25: Version 3.22.1

        Sped up creating typed arrays from array-like objects.
        (Chromium issue 270507)

        Performance and stability improvements on all platforms.


2013-09-23: Version 3.22.0

        LiveEdit to mark more closure functions for re-instantiation when scope
        layout changes.
        (issue 2872)

        Made bounds check elimination iterative instead of recursive.
        (Chromium issue 289706)

        Turned on i18n support by default.

        Set the proper instance-type on HAllocate in BuildFastLiteral.
        (Chromium issue 284577)

        Performance and stability improvements on all platforms.


2013-09-18: Version 3.21.17

        Implemented local load/store elimination on basic blocks.

        Added mutex when accessing concurrent recompilation output queue.
        (Chromium issue 291236)

        Don't lookup the cache for the result of Function::New.
        (Chromium issue 272579)

        Tweaked HConstant::EmitAtUses() to eliminate useless constant
        generation.
        (Chromium issue 2881)

        Performance and stability improvements on all platforms.


2013-09-16: Version 3.21.16

        Every place where AllocationMemento is initialized with an
        AllocationSite is now checked to be sure a valid Site goes in. This is
        temporary code to diagnose chromium bug 284577.

        Performance and stability improvements on all platforms.


2013-09-13: Version 3.21.15

        Non-JSObject heap objects are now handled using slow-path IC stub
        guarded by the map.
        (Chromium issue 280632)

        i18n Javascript code added to the snapshot.
        (V8 issue 2745)

        Performance and stability improvements on all platforms.

2013-09-12: Version 3.21.14

        Added access check for observed objects.
        (V8 issue 2778)

        Cleaned up v8::ArrayBuffer::Allocator interface.
        (V8 issue 2823)

        Performance and stability improvements on all platforms.

2013-09-11: Version 3.21.13

        Added a ResourceConstraint for the embedder to specify that V8 is
        running on a memory constrained device.
        (Chromium issue 280984)

        Removed HandleScope default ctor.
        (Chromium issue 236173)

        Enabled escape analysis for Hydrogen.

        Correctly stringified mixed encoding indirect strings.
        (Chromium issue 287476)

        Performance and stability improvements on all platforms.


2013-09-09: Version 3.21.12

        Fixed bitwise negation on x64.
        (Chromium issue 285355)

        Dropped GetCurrentThreadId() and TerminateExecution(int) from 
	the external API.

        Fixed polymorphic INTERCEPTOR StoreICs on ARM/MIPS.
        (Chromium issue 284998)

        Added check if timeout has expired after processing each sample.
        (issue 2814,v8:2871)

        Removed obsolete global V8::has_been_fooed flags.
        (issue 2744)

        Performance and stability improvements on all platforms.


2013-09-05: Version 3.21.11

        Performance and stability improvements on all platforms.


2013-09-04: Version 3.21.10

        Fixed Eternal::IsEmpty logic (issue 2870).

        Performance and stability improvements on all platforms.


2013-09-03: Version 3.21.9

        Deprecated Persistent functions which were marked to be deprecated.

        Allowed uncacheable identifiers to go generic (issue 2867).

        Performance and stability improvements on all platforms.


2013-09-02: Version 3.21.8

        Added scriptId to StackTrace frames (issue 2865).

        Performance and stability improvements on all platforms.


2013-08-30: Version 3.21.7

        Fixed casts of eternal handles.

        Turned on global handle zapping.

        Always visit branches during HGraph building (Chromium issue 280333).

        Profiler changes: removed deprecated API, support higher sampling
        rate on Windows.

        Performance and stability improvements on all platforms.


2013-08-29: Version 3.21.6

        Fixed inlined 'throw' statements interfering with live range
        computation. (issue 2843)

        Performance and stability improvements on all platforms.


2013-08-28: Version 3.21.5

        Fixed compilation with recent MinGW64 versions. (issue 2300)

        Added RemovePrototype to FunctionTemplate. (Chromium issue 272440)

        Performance and stability improvements on all platforms.


2013-08-26: Version 3.21.4

        Lowered kInitialMaxFastElementArray constant to 95K (issue 2790).

        Use signals for cpu profiling on Mac OS X (issue 2814).

        Deprecated CpuProfileNode::GetSelfSamplesCount (Chromium issue 267595).

        Added support for higher CPU profiler sampling rate on posix systems
        (issue 2814).

        Worked around 'inlining failed' build error with older GCC 4.x releases.

        Added source map support to tick processor.

        Stability improvements on all platforms.


2013-08-23: Version 3.21.3

        Temporarily disabled optimization for StringWrappers to use native
        valueOf. (issue 2855)

        Fixed crash on function declarations in eval inside non-trivial local
        scope. (issue 2594)

        Rewrote SamplingCircularQueue. (issue 2814)

        Fixed hidden properties on object with frozen prototype. (issue 2829)

        Fix deoptimization bug. (Chromium issue 274164)

        Stability improvements on all platforms.


2013-08-22: Version 3.21.2

        Stability improvements on all platforms.


2013-08-21: Version 3.21.1

        Promoted ArrayBuffer, DataView and typed arrays to non-experimental.
        (Chromium issue 270527)

        Replaced OS::MemCopy with memcpy in typed array initialization.
        (Chromium issue 270642)

        Moved i18n break iterator C++ code to runtime (issue 2745)

        Fixed invalid out-of-bounds store in MacroAssembler::Allocate.
        (Chromium issue 263515)

        Fixed register misuse in Allocate() on ARM. (issue 2851)

        Fixed empty handle dereference in Runtime_InternalNumberFormat.
        (Chromium issue 275467)

        Performance and stability improvements on all platforms.


2013-08-19: Version 3.21.0

        Fixed GC-related crasher (Chromium issue 274438)

        Reverted making Intl non-enumerable.

        Performance and stability improvements on all platforms.


2013-08-14: Version 3.20.17

        Fixed Math.round/floor that had bogus Smi representation
        (Chromium issue 272564)

        Performance and stability improvements on all platforms.


2013-08-13: Version 3.20.16

        Fixed bug in HPhi::SimplifyConstantInput (Chromium issue 269679)

        Fixed gcmole bugs in i18n code (issue 2745)

        ia32: Calls to the TranscendentalCacheStub must ensure that esi is
        set (issue 2827)

        Made sure polymorphic element access creates non-replaying
        phis. (issue 2815)

        Allowed HPhis to have an invalid merge index. (issue 2815)

        Fixed smi-based math floor. (Chromium issue 270268)

        Deprecated self and total time getters and total sample count
        getter on CpuProfileNode. (Chromium issue 267595)

        Fixed Object.freeze, Object.observe wrt CountOperation and
        CompoundAssignment. (issue 2774,2779)

        Performance and stability improvements on all platforms.


2013-08-07: Version 3.20.15

        Exposed eternal handle api.

        Bugfix to solve issues with enabling V8 typed arrays in Blink.

        Fixed Array index dehoisting.  (Chromium issue 264203)

        Updated Array Iterator to use numeric indexes (issue 2818)

        Return start/end profiling time in microseconds instead of milliseconds
        (issue 2824)

        Performance and stability improvements on all platforms.


2013-08-06: Version 3.20.14

        Added new Harmony methods to Array.prototype object.
        (issue 2776,v8:2777)

        Performance and stability improvements on all platforms.


2013-08-01: Version 3.20.12

        Removed buggy ToNumber truncation (partial fix for issue 2813)

        Calling Map etc without new should throw TypeError (issue 2819)

        Fixed a crash for large code objects on ARM (Chromium issue 2736)

        Fixed stale unhandlified value in JSObject::SetPropertyForResult.
        (Chromium issue 265894)

        Added new Harmony methods to String.prototype object.
        (issue 2796,v8:2797,v8:2798,v8:2799)

        Performance and stability improvements on all platforms.


2013-07-30: Version 3.20.11

        Performance and stability improvements on all platforms.


2013-07-29: Version 3.20.10

        Performance and stability improvements on all platforms.


2013-07-26: Version 3.20.9

        Check that ExternalString objects get aligned resources.

        Fixed JSArray-specific length lookup in polymorphic array handling
        (Chromium issues 263276, 263905).

        Performance and stability improvements on all platforms.


2013-07-24: Version 3.20.8

        Deprecated v8::V8::Pause/ResumeProfiler.

        Fixed Chromium issues 247688, 258519 and 260203.

        Performance and stability improvements on all platforms.


2013-07-22: Version 3.20.7

        Deprecated some debugger methods.

        Fixed wrong bailout id in polymorphic stores (Chromium issue 259787).

        Fixed data race in SamplingCircularQueue (Chromium issue 251218).

        Fixed type feedback in presence of negative lookups
        (Chromium issue 252797).

        Do not materialize context-allocated values for debug-evaluate
        (Chromium issue 259300).

        Synchronized Compare-Literal behavior in FullCodegen and Hydrogen
        (Chromium issue 260345).

        Performance and stability improvements on all platforms.


2013-07-17: Version 3.20.6

        Try to remove invalidated stubs before falling back to checking the
        constant state (Chromium issue 260585).

        Fixed gyp_v8 to work with use_system_icu=1 (issue 2475).

        Fixed sloppy-mode 'const' under Harmony flag (Chromium issue 173361).

        Use internal array as API function cache  (Chromium issue 260106).

        Fixed possible stack overflow in range analysis
        (Chromium issue 259452).

        Performance and stability improvements on all platforms.


2013-07-15: Version 3.20.5

        Ensured that the length of frozen arrays is immutable
        (issue 2711, Chromium issue 259548).

        Performance and stability improvements on all platforms.


2013-07-10: Version 3.20.4

        Fixed garbage-collection issue that causes a crash on ARM
        (Chromium issue 254570)

        Performance and stability improvements on all platforms.


2013-07-08: Version 3.20.3

        Performance and stability improvements on all platforms.


2013-07-05: Version 3.20.2

        Remove deprecated heap profiler methods from V8 public API

        Mark i18n functions as native and set proper names
        (issue 2745)

        Correctly report stack trace when current function is FunctionApply
        builtin (Chromium issue 252097)

        Enable GDBJIT interface for standalone by default.

        Fix debuggersupport=off build. (issue 2754)

        Introduce -m64 flag for making x64 when the default gcc compiler is for
        X32

        Performance and stability improvements on all platforms.


2013-07-02: Version 3.20.1

        Implemented WeakMap.prototype.clear function. (issue 2753)

        Ensure CheckInitialized is present independent of define.
        (Chromium issue 255779)

        Performance and stability improvements on all platforms.


2013-06-28: Version 3.20.0

        Migrated several tests from blink to V8 repository.

        Allowed users of the V8 API to distinguish between unset and undefined
        HiddenValues (issue 2746).

        Deprecated old style callbacks in the V8 API.

        Turned on parallel recompilation.

        Performance and stability improvements on all platforms.


2013-06-18: Version 3.19.18

	Fixed read-only attribute of Function.length in strict mode.
	(issue 2705)

	Fixed Runtime_SetProperty to properly handle OOM failures
	(Chromium issue 249873)

	Emit deprecated check for constant function transitions.
	(Chromium issue 250609)
	
	Made MathFloorOfDiv optimization trigger more often
	(Issue 2205)

	Make more GCs in idle notification handler.
	(Chromium issue 241815)

	Increased default type info threshold.
	(Issue 2730)

        Performance and stability improvements on all platforms.


2013-06-14: Version 3.19.16

        Performance and stability improvements on all platforms.


2013-06-13: Version 3.19.15

        Performance and stability improvements on all platforms.


2013-06-13: Version 3.19.14

        Fixed crashes when calling new Array(a) with a single argument that
        could result in creating a holey array with a packed elements kind.
        (Chromium issue 245480)

        Fixed issues in parallel compilation.
        (Chromium issue 248076)

        Performance and stability improvements on all platforms.


2013-06-11: Version 3.19.13

        Performance and stability improvements on all platforms.


2013-06-10: Version 3.19.12

        Fixed arguments array access. (Chromium issue 247303)

        Fixed bug in LookupForWrite. (Chromium issue 242332)

        Performance and stability improvements on all platforms.


2013-06-07: Version 3.19.11

        Performance and stability improvements on all platforms.


2013-06-06: Version 3.19.10

        Performance and stability improvements on all platforms.


2013-06-05: Version 3.19.9

        Implemented Load IC support for loading properties from primitive
        values to avoid perpetual soft deopts.  (Chromium issue 242512)

        Implemented Freeing of PerThreadAssertData when possible to avoid
        memory leak. (Chromium issue 246567)

        Removed V8_USE_OLD_STYLE_PERSISTENT_HANDLE_VISITORS.

        Performance and stability improvements on all platforms.


2013-06-03: Version 3.19.8

        Fixed bug with inlining 'Array' function. (Chromium issue 244461)

        Fixed initialization of literal objects. (Chromium issue 245424)

        Fixed function name inferred inside closures. (Chromium issue 224884)

        Performance and stability improvements on all platforms.


2013-05-31: Version 3.19.7

        Added support for //# sourceURL similar to deprecated //@ sourceURL one.
        (issue 2702)

        Made sure IfBuilder::Return clears the current block.
        (Chromium issue 243868)

        Fixed two CPU profiler tests on ARM and MIPS simulators
        (issue 2628)

        Fixed idle incremental GC for large objects.
        (Chromium issue 241815)

        Disabled --optimize-constructed-arrays due to crashes
        (Chromium issue 244461)

        Performance and stability improvements on all platforms.


2013-05-28: Version 3.19.6

        Fixed IfBuilder::Deopt to clear the current block
        (Chromium issue 243868).

        Performance and stability improvements on all platforms.


2013-05-27: Version 3.19.5

        Reset regexp parser flag after scanning ahead for capture groups.
        (issue 2690)

        Removed flakiness in test-cpu-profiler/SampleWhenFrameIsNotSetup.
        (issue 2628)

        Performance and stability improvements on all platforms.


2013-05-24: Version 3.19.4

        Fixed edge case in stack trace formatting. (Chromium issue 237617)

        Fixed embedded new-space pointer in LCmpObjectEqAndBranch. (Chromium
	issue 240032)

        Made Object.freeze fast (issue 1858, Chromium issue 115960)

        Fixed bogus deopt in BuildEmitDeepCopy for holey arrays. (Chromium issue
        242924)

        Performance and stability improvements on all platforms.


2013-05-22: Version 3.19.3

        Performance and stability improvements on all platforms.


2013-05-17: Version 3.19.2

        Fill in one-word-fillers for the unused property fields
        (Chromium issue 240056).

        Removed use_system_v8 logic from the mainline gyp file
        (Chromium issue 226860).

        Skip CPU profiler samples where top function's stack frame is not
        set up properly (issue 2628).

        Performance and stability improvements on all platforms.


2013-05-14: Version 3.19.1

        Fixed missing hole check for loads from Smi arrays when all uses are
        changes (Chromium issue 233737)

        Performance and stability improvements on all platforms.


2013-05-10: Version 3.19.0

        Deprecated Context::New which returns Persistent.

        Added Persistent<T>::Reset which disposes the handle and redirects it to
        point to another object.

        Deprecated WriteAscii and MayContainNonAscii.

        Exposed AssertNoAllocation to API.

        Performance and stability improvements on all platforms.


2013-04-30: Version 3.18.5

        Allowed setting debugger breakpoints on CompareNilICs (issue 2660)

        Fixed beyond-heap load on x64 Crankshafted StringCharFromCode
        (Chromium issue 235311)

        Change 'Parse error' to three more informative messages.
        (Chromium issue 2636)

        Performance and stability improvements on all platforms.


2013-04-26: Version 3.18.4

        Added a preliminary API for ES6 ArrayBuffers

        Replaced qsort with std::sort. (Chromium issue 2639)

        Performance and stability improvements on all platforms.


2013-04-24: Version 3.18.3

        Exposed the GC under a name that is less collision prone than window.gc.
        (issue 2641)

        Do not emit double values at their use sites. (Chromium issue 234101)

        Added methods to allow resuming execution after calling
        TerminateExecution(). (issue 2361)

        Performance and stability improvements on all platforms.


2013-04-22: Version 3.18.2

        OS::MemMove/OS::MemCopy: Don't call through to generated code when size
        == 0 to avoid prefetching invalid memory (Chromium issue 233500)

        Removed heap snapshot size limit. (Chromium issue 232305)

        Performance and stability improvements on all platforms.


2013-04-18: Version 3.18.1

        Removed SCons related files and deprecated test suite configurations.

        Improved handling of unary plus (issue 2527).

        Performance and stability improvements on all platforms.


2013-04-17: Version 3.18.0

        Enabled pretenuring of fast literals in high promotion mode.

        Removed preparser library; link preparser executable against full V8.

        Fixed set-up of intrinsic's 'constructor' properties.
        (Chromium issue 229445)

        ES6 symbols: extended V8 API to support symbols (issue 2158).

        Removed ARM support for VFP2.

        Made __proto__ a real JavaScript accessor property.
        (issue 1949 and issue 2606)

        Performance and stability improvements on all platforms.


2013-04-04: Version 3.17.16

        Stack trace API: poison stack frames below the first strict mode frame.
        (issue 2564)

        Made Isolate::GetHeapStatistics robust against half-initialized
        isolates (Chromium issue 2591).

        Finished implementation of ES6 symbols aka. private names (issue 2158).

        Performance and stability improvements on all platforms.


2013-03-21: Version 3.17.15

        Rolled back API changes to maintain compatibility with older
        3.17.x versions of V8.

        Disable zapping of global handles in release mode.

        Always mark the entire valid prefix of the descriptor array.
        (Chromium issue 196331)

        Use internal memcpy for CopyWords and when copying code.
        (Chromium issue 196330)

        Performance and stability improvements on all platforms.


2013-03-20: Version 3.17.14

        Use internal memcpy when initializing code objects.
        (Chromium issue 196330)

        Disabled weak embedded maps because of crashes.
        (Chromium issues 172489, 217858)

        Performance and stability improvements on all platforms.


2013-03-19: Version 3.17.13

        Turned Flags into a uint32_t typedef (Chromium issue 194749).

        Performance and stability improvements on all platforms.


2013-03-18: Version 3.17.12

        Unified kMaxArguments with number of bits used to encode it.
        (Chromium issue 211741)

        Fixed detection of |handle_smi| case in
        HOptimizedGraphBuilder::HandlePolymorphicCallNamed.
        (Chromium issue 196583)

        Performance and stability improvements on all platforms.


2013-03-15: Version 3.17.11

        Added a version of the v8::HandleScope constructor with an v8::Isolate
        parameter and made AdjustAmountOfExternalAllocatedMemory an instance
        method of v8::Isolate.
        (issue 2487)

        Fixed two register allocator bugs (off-by-one error/failure
        propagation). (issue 2576)

        Fixed huge heap snapshot when a heavily shared context has many
        variables. (Chromium issue 145687)

        Performance and stability improvements on all platforms.


2013-03-13: Version 3.17.10

        Fixed heap snapshot creation for Harmony collections. (issue 2535)

        Fixed register allocation corner case. (Chromium issue 177883)

        Performance and stability improvements on all platforms.


2013-03-08: Version 3.17.9

        Restored Function()'s expected string representation. (issue 2470)

        Enabled deprecatations (again). (issue 2487)

        Avoid bool to Oddball conversions by being lazy. (issue 2491)

        Added %p option to --logfile.

        Hardened Function()'s parsing of function literals. (issue 2470)

        ES6 symbols: Refine test for getOwnPropertyNames. (issue 2158)

        Performance and stability improvements on all platforms.


2013-03-07: Version 3.17.8

        Added missing license headers. (Chromium issue 98597)

        Inserted missing type cast in JSON.stringify. (issue 2570)

        Reverted "Send SIGPROF signals on the profiler event processor thread"
        (issue 2571)

        Fixed Array.length, String.length and Function.prototype LoadICs on x64.
        (issue 2568)

        ES6 symbols: filter symbols form for-in loops and Object.keys.
        (issue 2158)

        Properly handle misses for StoreArrayLengthStub on ia32 and x64
        (issue 2566)

        Fixed x32 handling of Atomic64. (Chromium issue chromium-os:36866)

        Removed "library" variable from standalone.gypi. (Chromium issue 111541)

        Fixed HCheckSmiOrInt <-> HBoundsCheck interaction wrt. representations.
        (issue 2556)

        Enabled zapping of disposed global handles in release mode.
        (Chromium issue 176056)

        Added workaround for redefinition of __proto__ property. (issue 2565)

        ES6 symbols: Allow symbols as property names. (issue 2158)

        Performance and stability improvements on all platforms.


2013-03-04: Version 3.17.7

        Limited recursion in regexp compilation by a budget.
        (Chromium issue 178790)

        ES6 symbols: Implemented Symbol intrinsic and basic functionality
        (issue 2158)

        Performance and stability improvements on all platforms.


2013-02-28: Version 3.17.6

        Fixed materialization of arguments objects with unknown values.
        (Chromium issue 163530)

        Set default number of sweeper threads to at most four.

        Performance and stability improvements on all platforms.


2013-02-27: Version 3.17.5

        Made __proto__ a foreign callback on Object.prototype.
        (issue 621, issue 1949 and issue 2441)

        Performance and stability improvements on all platforms.


2013-02-25: Version 3.17.4

        Performance and stability improvements on all platforms.


2013-02-21: Version 3.17.3

        Performance and stability improvements on all platforms.


2013-02-19: Version 3.17.2

        Removed bogus check for TOP register in deoptimizer.
        (Chromium issue 176943)

        Made the Isolate parameter mandatory for internal HandleScopes.
        (issue 2487)

        Fixed f.apply() optimization when declared arguments are mutated.
        (issue 2539)

        Performance and stability improvements on all platforms.


2013-02-14: Version 3.17.1

        Performance and stability improvements on all platforms.


2013-02-13: Version 3.17.0

        Enabled parallel sweeping.

        Don't try to unlink instructions twice during GVN
        (Chromium issue 175141)

        Fixed code flusher disabling while marking incrementally.
        (Chromium issue 173458, 168582)

        Don't use TLS for space iterators.
        (issue 2531)

        Added new GetHeapStatistics API entry and deprecated old one.

        Fixed DoubleStackSlot-to-DoubleStackSlot moves on ia32. Unified
        platform-independent code.
        (Chromium issue 173907)

        Added --trace-array-abuse to help find OOB accesses.

        Performance and stability improvements on all platforms.


2013-02-06: Version 3.16.14

        Performance and stability improvements on all platforms.


2013-02-04: Version 3.16.13

        Tagged stubs that rely on instance types as MEGAMORPHIC.
        (Chromium issue 173974)

        Fixed clearing of dead dependent codes and verifing of weak
        embedded maps on full GC. (Chromium issue 172488,172489)

        Made the arm port build cleanly with Clang.

        Performance and stability improvements on all platforms.


2013-01-31: Version 3.16.12

        Performance and stability improvements on all platforms.


2013-01-30: Version 3.16.11

        Put making embedded maps in optimized code weak behind a flag.
        (Chromium issue 172488,172489)

        Performance and stability improvements on all platforms.


2013-01-25: Version 3.16.10

        Avoid excessive memory usage during redundant phi elimination.
        (issue 2510)

        Fixed additional spec violations wrt RegExp.lastIndex.
        (issue 2437)

        Added Isolate parameter to Persistent class.
        (issue 2487)

        Performance and stability improvements on all platforms.


2013-01-24: Version 3.16.9

        Made embedded maps in optimized code weak.
        (issue 2073)

        Fixed corner case when JSFunction is evicted from flusher.
        (Chromium issue 168801)

        Correctly set kCanBeDivByZero flag for HMathFloorOfDiv.
        (Chromium issue 171641)

        Performance and stability improvements on all platforms.


2013-01-23: Version 3.16.8

        Correctly reset lastIndex in an RegExp object.
        (Chromium issue 170856)

        Added a workaround for Windows compilation problems related to V8EXPORT.
        (issue 2507)

        tools/run-tests.py: shlex.split() the value of --command-prefix
        (Chromium issue 171553)

        Fixed pattern detection for replacing shifts by rotation.
        (Chromium issue 2499)

        Performance and stability improvements on all platforms.


2013-01-21: Version 3.16.7

        Removed <(library) usage from v8.gyp.
        (Chromium issue 111541)

        Fixed out of bounds memory access in TestJSArrayForAllocationSiteInfo.
        (Chromium issue 169928)

        Performance and stability improvements on all platforms.


2013-01-18: Version 3.16.6

        Made the Isolate parameter mandatory in Locker and Unlocker classes.
        (issue 2487)

        Avoid pointer underflow in CopyCharsUnsigned.
        (issue 2493)

        Generate shim headers when using system v8.
        (Chromium issue 165264)

        Fixed arguments materialization for inlined apply().
        (issue 2489)

        Sync'ed laziness between BuildFunctionInfo and MakeFunctionInfo.
        (Chromium issue 147497)

        Added sanity check to CodeFlusher::AddCandidate.
        (Chromium issue 169209)

        Performance and stability improvements on all platforms.


2013-01-15: Version 3.16.5

        Removed deprecated functions from V8's external API.

        Prepared API for WebKit use of Latin-1.

        Fixed V8 issue 2486.

        Fixed Chromium issue 169723.

        Performance and stability improvements on all platforms.


2013-01-11: Version 3.16.4

        Fixed Chromium issues 168545 and 169209.

        Performance and stability improvements on all platforms.


2013-01-09: Version 3.16.3

        Improved GC performance when moving parts of a FixedArray (issue 2452).

        Enabled readline on d8 while building a shared lib (issue 1781).

        Fixed missing exception check in typed array constructor
        (Chromium issue 168545).

        Check for read-only-ness when preparing for array sort (issue 2419).

        Performance and stability improvements on all platforms.


2013-01-04: Version 3.16.2

        Added Makefile options to build for the Raspberry Pi (armv7=0,
        arm_fpu=vfp2).

        Performance and stability improvements on all platforms.


2012-12-27: Version 3.16.1

        Fixed x64 MathMinMax for negative untagged int32 arguments.
        (Chromium issue 164442)

        Fixed FloatingPointHelper::CheckSSE2OperandIsInt32.
        (issue 2458)

        Performance and stability improvements on all platforms.


2012-12-21: Version 3.16.0

        V8_Fatal now prints C++ stack trace in debug mode.

        Added HTML-based tick processor.

        Continued implementation of Object.observe (V8 issue 2409).

        Fixed V8 issues 2243, 2340, 2393, 2399, 2457.

        Fixed Chromium issues 125308, 165637, 166379, 166553.

        Performance and stability improvements on all platforms.


2012-12-10: Version 3.15.11

        Define CAN_USE_VFP2/3_INSTRUCTIONS based on arm_neon and arm_fpu GYP
        flags.

        Performance and stability improvements on all platforms.


2012-12-07: Version 3.15.10

        Enabled optimisation of functions inside eval. (issue 2315)

        Fixed spec violations in methods of Number.prototype. (issue 2443)

        Added GCTracer metrics for a scavenger GC for DOM wrappers.

        Performance and stability improvements on all platforms.


2012-12-06: Version 3.15.9

        Fixed candidate eviction in code flusher.
        (Chromium issue 159140)

        Iterate through all arguments for side effects in Math.min/max.
        (issue 2444)

        Fixed spec violations related to regexp.lastIndex
        (issue 2437, issue 2438)

        Performance and stability improvements on all platforms.


2012-12-04: Version 3.15.8

        Enforced stack allocation of TryCatch blocks.
        (issue 2166,chromium:152389)

        Fixed external exceptions in external try-catch handlers.
        (issue 2166)

        Activated incremental code flushing by default.

        Performance and stability improvements on all platforms.


2012-11-30: Version 3.15.7

        Activated code aging by default.

        Included more information in --prof log.

        Removed eager sweeping for lazy swept spaces. Try to find in
        SlowAllocateRaw a bounded number of times a big enough memory slot.
        (issue 2194)

        Performance and stability improvements on all platforms.


2012-11-26: Version 3.15.6

        Ensure double arrays are filled with holes when extended from
        variations of empty arrays. (Chromium issue 162085)

        Performance and stability improvements on all platforms.


2012-11-23: Version 3.15.5

        Fixed JSON.stringify for objects with interceptor handlers.
        (Chromium issue 161028)

        Fixed corner case in x64 compare stubs. (issue 2416)

        Performance and stability improvements on all platforms.


2012-11-16: Version 3.15.4

        Fixed Array.prototype.join evaluation order. (issue 2263)

        Perform CPU sampling by CPU sampling thread only iff processing thread
        is not running. (issue 2364)

        When using an Object as a set in Object.getOwnPropertyNames, null out
        the proto. (issue 2410)

        Disabled EXTRA_CHECKS in Release build.

        Heap explorer: Show representation of strings.

        Removed 'type' and 'arguments' properties from Error object.
        (issue 2397)

        Added atomics implementation for ThreadSanitizer v2.
        (Chromium issue 128314)

        Fixed LiveEdit crashes when object/array literal is added. (issue 2368)

        Performance and stability improvements on all platforms.


2012-11-13: Version 3.15.3

        Changed sample shell to send non-JS output (e.g. errors) to stderr
        instead of stdout.

        Correctly check for stack overflow even when interrupt is pending.
        (issue 214)

        Collect stack trace on stack overflow. (issue 2394)

        Performance and stability improvements on all platforms.


2012-11-12: Version 3.15.2

        Function::GetScriptOrigin supplies sourceURL when script name is
        not available.  (Chromium issue 159413)

        Made formatting error message side-effect-free.  (issue 2398)

        Fixed length check in JSON.stringify.  (Chromium issue 160010)

        ES6: Added support for Set and Map clear method (issue 2400)

        Fixed slack tracking when instance prototype changes.
        (Chromium issue 157019)

        Fixed disabling of code flusher while marking.  (Chromium issue 159140)

        Added a test case for object grouping in a scavenger GC (issue 2077)

        Support shared library build of Android for v8.
        (Chromium issue 158821)

        ES6: Added support for size to Set and Map (issue 2395)

        Performance and stability improvements on all platforms.


2012-11-06: Version 3.15.1

        Put incremental code flushing behind a flag. (Chromium issue 159140)

        Performance and stability improvements on all platforms.


2012-10-31: Version 3.15.0

        Loosened aligned code target requirement on ARM (issue 2380)

        Fixed JSON.parse to treat leading zeros correctly.
        (Chromium issue 158185)

        Performance and stability improvements on all platforms.


2012-10-22: Version 3.14.5

        Killed off the SCons based build.

        Added a faster API for creating v8::Integer objects.

        Speeded up function deoptimization by avoiding quadratic pass over
        optimized function list. (Chromium issue 155270)

        Always invoke the default Array.sort functions from builtin functions.
        (issue 2372)

        Reverted recent CPU profiler changes because they broke --prof.
        (issue 2364)

        Switched code flushing to use different JSFunction field.
        (issue 1609)

        Performance and stability improvements on all platforms.


2012-10-15: Version 3.14.4

        Allow evals for debugger even if they are prohibited in the debugee
        context. (Chromium issue 154733)

        Enabled --verify-heap in release mode (issue 2120)

        Performance and stability improvements on all platforms.


2012-10-11: Version 3.14.3

        Use native context to retrieve ErrorMessageForCodeGenerationFromStrings
        (Chromium issue 155076).

        Bumped variable limit further to 2^17 (Chromium issue 151625).

        Performance and stability improvements on all platforms.


2012-10-10: Version 3.14.2

        ARM: allowed VFP3 instructions when hardfloat is enabled.
        (Chromium issue 152506)

        Fixed instance_descriptors() and PushStackTraceAndDie regressions.
        (Chromium issue 151749)

        Made GDBJIT interface compile again. (issue 1804)

        Fixed Accessors::FunctionGetPrototype's proto chain traversal.
        (Chromium issue 143967)

        Made sure that names of temporaries do not clash with real variables.
        (issue 2322)

        Rejected local module declarations. (Chromium issue 150628)

        Rejected uses of lexical for-loop variable on the RHS. (issue 2322)

        Fixed slot recording of code target patches.
        (Chromium issue 152615,chromium:144230)

        Changed the Android makefile to use GCC 4.6 instead of GCC 4.4.3.

        Performance and stability improvements on all platforms.


2012-10-01: Version 3.14.1

        Don't set -m32 flag when compiling with Android ARM compiler.
        (Chromium issue 143889)

        Restore the descriptor array before returning allocation failure.
        (Chromium issue 151750)

        Lowered kMaxVirtualRegisters (v8 issue 2139, Chromium issues 123822 and
        128252).

        Pull more recent gyp in 'make dependencies'.

        Made sure that the generic KeyedStoreIC changes length and element_kind
        atomically (issue 2346).

        Bumped number of allowed variables per scope to 65535, to address GWT.
        (Chromium issue 151625)

        Support sourceURL for dynamically inserted scripts (issue 2342).

        Performance and stability improvements on all platforms.


2012-09-20: Version 3.14.0

        Fixed missing slot recording during clearing of CallICs.
        (Chromium issue 144230)

        Fixed LBoundsCheck on x64 to handle (stack slot + constant) correctly.
        (Chromium issue 150729)

        Fixed minus zero test. (Issue 2133)

        Fixed setting array length to zero for slow elements.
        (Chromium issue 146910)

        Fixed lost arguments dropping in HLeaveInlined.
        (Chromium issue 150545)

        Fixed casting error for receiver of interceptors.
        (Chromium issue 149912)

        Throw a more descriptive exception when blocking 'eval' via CSP.
        (Chromium issue 140191)

        Fixed debugger's eval when close to stack overflow. (issue 2318)

        Added checks to live edit. (issue 2297)

        Switched on code compaction on incremental GCs.

        Fixed caching of optimized code for OSR. (issue 2326)

        Not mask exception thrown by toString in String::UtfValue etc.
        (issue 2317)

        Fixed API check for length of external arrays. (Chromium issue 148896)

        Ensure correct enumeration indices in the dict (Chromium issue 148376)

        Correctly initialize regexp global cache. (Chromium issue 148378)

        Fixed arguments object materialization during deopt. (issue 2261)

        Introduced new API to expose external string resource regardless of
        encoding.

        Fixed CHECK failure in LCodeGen::DoWrapReceiver when
        --deopt-every-n-times flag is present
        (Chromium issue 148389)

        Fixed edge case of extension with NULL as source string.
        (Chromium issue 144649)

        Fixed array index dehoisting. (Chromium issue 141395)

        Performance and stability improvements on all platforms.


2012-09-11: Version 3.13.7

        Enable/disable LiveEdit using the (C++) debug API.

        Performance and stability improvements on all platforms.


2012-09-06: Version 3.13.6

        Added validity checking to API functions and calls.

        Disabled accessor inlining (Chromium issue 134609).

        Fixed bug in Math.min/max in optimized code (Chromium issue 145961).

        Directly use %ObjectKeys in json stringify (Chromium issue 2312).

        Fixed VS2005 build (issue 2313).

        Activated fixed ES5 readonly semantics by default.

        Added hardfp flag to the Makefile.

        Performance and stability improvements on all platforms.


2012-08-29: Version 3.13.5

        Release stack trace data after firing Error.stack accessor.
        (issue 2308)

        Added a new API V8::SetJitCodeEventHandler to push code name and
        location to users such as profilers.

        Allocate block-scoped global bindings to global context.

        Performance and stability improvements on all platforms.


2012-08-28: Version 3.13.4

        Print reason for disabling optimization. Kill --trace-bailout flag.

        Provided option to disable full DEBUG build on Android.

        Introduced global contexts to represent lexical global scope(s).

        Fixed rounding in Uint8ClampedArray setter. (issue 2294)

        Performance and stability improvements on all platforms.


2012-08-21: Version 3.13.3

        Performance and stability improvements on all platforms.


2012-08-20: Version 3.13.2

        Performance and stability improvements on all platforms.


2012-08-16: Version 3.13.1

        Performance and stability improvements on all platforms.


2012-08-10: Version 3.13.0

        Added histograms for total allocated/live heap size, as well as
        allocated size and percentage of total for map and cell space.

        Fixed parseInt's octal parsing behavior (ECMA-262 Annex E 15.1.2.2).
        (issue 1645)

        Added checks for interceptors to negative lookup code in Crankshaft.
        (Chromium issue 140473)

        Made incremental marking clear ICs and type feedback cells.

        Performance and stability improvements on all platforms.


2012-08-01: Version 3.12.19

        Performance and stability improvements on all platforms.


2012-07-30: Version 3.12.18

        Forced using bit-pattern for signed zero double. (issue 2239)

        Made sure double to int conversion is correct. (issue 2260)

        Performance and stability improvements on all platforms.


2012-07-27: Version 3.12.17

        Always set the callee's context when calling a function from optimized
        code.
        (Chromium issue 138887)

        Fixed building with GCC 3.x
        (issue 2016, 2017)

        Improved API calls that return empty handles.
        (issue 2245)

        Performance and stability improvements on all platforms.


2012-07-25: Version 3.12.16

        Performance and stability improvements on all platforms.


2012-07-24: Version 3.12.15

        Added PRESERVE_ASCII_NULL option to String::WriteAscii.
        (issue 2252)

        Added dependency to HLoadKeyed* instructions to prevent invalid
        hoisting. (Chromium issue 137768)

        Enabled building d8 for Android on Mac.

        Interpret negative hexadecimal literals as NaN.
        (issue 2240)

        Expose counters in javascript when using --track-gc-object-stats.

        Enabled building and testing V8 on Android IA.

        Added --trace-parse flag to parser.

        Performance and stability improvements on all platforms.


2012-07-18: Version 3.12.14

        Deactivated optimization of packed arrays.
        (Chromium issue 137768)

        Fixed broken accessor transition.
        (Chromium issue 137689)

        Performance and stability improvements on all platforms.


2012-07-17: Version 3.12.13

        Fixed missing tagging of stack value in finally block.
        (Chromium issue 137496)

        Added more support for heap analysis.

        Performance and stability improvements on all platforms.


2012-07-16: Version 3.12.12

        Added an option to the tickprocessor to specify the directory for lib
        lookup.

        Fixed ICs for slow objects with native accessor (Chromium issue 137002).

        Fixed transcendental cache on ARM in optimized code (issue 2234).

        New heap inspection tools: counters for object sizes and counts,
        histograms for external fragmentation.

        Incorporated constness into inferred interfaces (in preparation for
        handling imports) (issue 1569).

        Performance and stability improvements on all platforms.


2012-07-12: Version 3.12.11

        Renamed "mips" arch to "mipsel" in the GYP build.

        Fixed computation of call targets on prototypes in Crankshaft.
        (Chromium issue 125148)

        Removed use of __lookupGetter__ when generating stack trace.
        (issue 1591)

        Turned on ES 5.2 globals semantics by default.
        (issue 1991, Chromium issue 80591)

        Synced preparser and parser wrt syntax error in switch..case.
        (issue 2210)

        Fixed reporting of octal literals in strict mode when preparsing.
        (issue 2220)

        Fixed inline constructors for Harmony Proxy prototypes.
        (issue 2225)

        Performance and stability improvements on all platforms.


2012-07-10: Version 3.12.10

        Re-enabled and fixed issue with array bounds check elimination
        (Chromium issue 132114).

        Fixed Debug::Break crash. (Chromium issue 131642)

        Added optimizing compiler support for JavaScript getters.

        Performance and stability improvements on all platforms.


2012-07-06: Version 3.12.9

        Correctly advance the scanner when scanning unicode regexp flag.
        (Chromium issue 136084)

        Fixed unhandlified code calling Harmony Proxy traps.
        (issue 2219)

        Performance and stability improvements on all platforms.


2012-07-05: Version 3.12.8

        Implemented TypedArray.set and ArrayBuffer.slice in d8.

        Performance and stability improvements on all platforms.


2012-07-03: Version 3.12.7

        Fixed lazy compilation for strict eval scopes.
        (Chromium issue 135066)

        Made MACOSX_DEPLOYMENT_TARGET configurable in GYP.
        (issue 2151)

        Report "hidden properties" in heap profiler for properties case.
        (issue 2212)

        Activated optimization of packed arrays by default.

        Performance and stability improvements on all platforms.


2012-06-29: Version 3.12.6

        Cleaned up hardfp ABI detection for ARM (V8 issue 2140).

        Extended TypedArray support in d8.


2012-06-28: Version 3.12.5

        Fixed lazy parsing heuristics to respect outer scope.
        (Chromium issue 135008)

        Allow using test-wrapper-gypbuild.py on Windows when no python
        interpreter is registered.

        Performance and stability improvements on all platforms.


2012-06-27: Version 3.12.4

        Removed -fomit-frame-pointer flag from Release builds to make
        the stack walkable by TCMalloc (Chromium issue 133723).

        Ported r7868 (constant masking) to x64 (issue 1374).

        Expose more detailed memory statistics (issue 2201).

        Fixed Harmony Maps and WeakMaps for undefined values
        (Chromium issue 132744).

        Correctly throw reference error in strict mode with ICs disabled
        (issue 2119).

        Performance and stability improvements on all platforms.


2012-06-25: Version 3.12.3

        Reverted r11835 'Unify promotion and allocation limit computation' due
        to V8 Splay performance regression on Mac.  (Chromium issue 134183)

        Fixed sharing of literal boilerplates for optimized code.  (issue 2193)

        Performance and stability improvements on all platforms.


2012-06-22: Version 3.12.2

        Made near-jump check more strict in LoadNamedFieldPolymorphic on
        ia32/x64. (Chromium issue 134055)

        Fixed lazy sweeping heuristics to prevent old-space expansion.
        (issue 2194)

        Performance and stability improvements on all platforms.


2012-06-21: Version 3.12.1

        Performance and stability improvements on all platforms.


2012-06-20: Version 3.12.0

        Fixed Chromium issues:
        115100, 129628, 131994, 132727, 132741, 132742, 133211

        Fixed V8 issues:
        915, 1914, 2034, 2087, 2094, 2134, 2156, 2166, 2172, 2177, 2179, 2185

        Added --extra-code flag to mksnapshot to load JS code into the VM
        before creating the snapshot.

        Support 'restart call frame' command in the debugger.

        Performance and stability improvements on all platforms.


2012-06-13: Version 3.11.10

        Implemented heap profiler memory usage reporting.

        Preserved error message during finally block in try..finally.
        (Chromium issue 129171)

        Fixed EnsureCanContainElements to properly handle double values.
        (issue 2170)

        Improved heuristics to keep objects in fast mode with inherited
        constructors.

        Performance and stability improvements on all platforms.


2012-06-06: Version 3.11.9

        Implemented ES5-conformant semantics for inherited setters and read-only
        properties. Currently behind --es5_readonly flag, because it breaks
        WebKit bindings.

        Exposed last seen heap object id via v8 public api.

        Performance and stability improvements on all platforms.


2012-05-31: Version 3.11.8

        Avoid overdeep recursion in regexp where a guarded expression with a
        minimum repetition count is inside another quantifier.
        (Chromium issue 129926)

        Fixed missing write barrier in store field stub.
        (issues 2143, 1465, Chromium issue 129355)

        Proxies: Fixed receiver for setters inherited from proxies.
        Proxies: Fixed ToStringArray function so that it does not reject some
        keys.
        (issue 1543)

        Performance and stability improvements on all platforms.


2012-05-29: Version 3.11.7

        Get better function names in stack traces.

        Performance and stability improvements on all platforms.


2012-05-24: Version 3.11.6

        Fixed RegExp.prototype.toString for incompatible receivers
        (issue 1981).

        Performance and stability improvements on all platforms.


2012-05-23: Version 3.11.5

        Performance and stability improvements on all platforms.


2012-05-22: Version 3.11.4

        Some cleanup to common.gypi. This fixes some host/target combinations
        that weren't working in the Make build on Mac.

        Handle EINTR in socket functions and continue incomplete sends.
        (issue 2098)

        Fixed python deprecations.  (issue 1391)

        Made socket send and receive more robust and return 0 on failure.
        (Chromium issue 15719)

        Fixed GCC 4.7 (C++11) compilation.  (issue 2136)

        Set '-m32' option for host and target platforms

        Performance and stability improvements on all platforms.


2012-05-18: Version 3.11.3

        Disable optimization for functions that have scopes that cannot be
        reconstructed from the context chain. (issue 2071)

        Define V8_EXPORT to nothing for clients of v8. (Chromium issue 90078)

        Correctly check for native error objects.  (Chromium issue 2138)

        Performance and stability improvements on all platforms.


2012-05-16: Version 3.11.2

        Revert r11496. (Chromium issue 128146)

        Implement map collection for incremental marking. (issue 1465)

        Add toString method to CallSite (which describes a frame of the
        stack trace).


2012-05-15: Version 3.11.1

        Added a readbuffer function to d8 that reads a file into an ArrayBuffer.

        Fix freebsd build. (V8 issue 2126)

        Performance and stability improvements on all platforms.


2012-05-11: Version 3.11.0

        Fixed compose-discard crasher from r11524 (issue 2123).

        Activated new global semantics by default. Global variables can
        now shadow properties of the global object (ES5.1 erratum).

        Properly set ElementsKind of empty FAST_DOUBLE_ELEMENTS arrays when
        transitioning (Chromium issue 117409).

        Made Error.prototype.name writable again, as required by the spec and
        the web (Chromium issue 69187).

        Implemented map collection with incremental marking (issue 1465).

        Regexp: Fixed overflow in min-match-length calculation
        (Chromium issue 126412).

        MIPS: Fixed illegal instruction use on Loongson in code for
        Math.random() (issue 2115).

        Fixed crash bug in VisitChoice (Chromium issue 126272).

        Fixed unsigned-Smi check in MappedArgumentsLookup
        (Chromium issue 126414).

        Fixed LiveEdit for function with no locals (issue 825).

        Fixed register clobbering in LoadIC for interceptors
        (Chromium issue 125988).

        Implemented clearing of CompareICs (issue 2102).

        Performance and stability improvements on all platforms.


2012-05-03: Version 3.10.8

        Enabled MIPS cross-compilation.

        Ensured reload of elements pointer in StoreFastDoubleElement stub.
        (Chromium issue 125515)

        Fixed corner cases in truncation behavior when storing to
        TypedArrays. (issue 2110)

        Fixed failure to properly recognize and report out-of-memory
        conditions when allocating code space pages. (Chromium issue
        118625)

        Fixed idle notifications to perform a round of incremental GCs
        after context disposal. (issue 2107)

        Fixed preparser for try statement. (issue 2109)

        Performance and stability improvements on all platforms.


2012-04-30: Version 3.10.7

        Performance and stability improvements on all platforms.


2012-04-26: Version 3.10.6

        Fixed some bugs in accessing details of the last regexp match.

        Fixed source property of empty RegExp objects. (issue 1982)

        Enabled inlining some V8 API functions.

        Performance and stability improvements on all platforms.


2012-04-23: Version 3.10.5

        Put new global var semantics behind a flag until WebKit tests are
        cleaned up.

        Enabled stepping into callback passed to builtins.
        (Chromium issue 109564)

        Performance and stability improvements on all platforms.


2012-04-19: Version 3.10.4

        Fixed issues when stressing compaction with WeakMaps.

        Fixed missing GVN flag for new-space promotion. (Chromium issue 123919)

        Simplify invocation sequence at monomorphic function invocation sites.
        (issue 2079)

        Performance and stability improvements on all platforms.


2012-04-17: Version 3.10.3

        Fixed several bugs in heap profiles (including issue 2078).

        Throw syntax errors on illegal escape sequences.

        Implemented rudimentary module linking (behind --harmony flag)

        Implemented ES5 erratum: Global declarations should shadow
        inherited properties.

        Made handling of const more consistent when combined with 'eval'
        and 'with'.

        Fixed V8 on MinGW-x64 (issue 2026).

        Performance and stability improvements on all platforms.


2012-04-13: Version 3.10.2

        Fixed native ARM build (issues 1744, 539)

        Return LOOKUP variable instead of CONTEXT for non-context allocated
        outer scope parameters (Chromium issue 119609).

        Fixed regular and ElementsKind transitions interfering with each other
        (Chromium issue 122271).

        Improved performance of keyed loads/stores which have a HeapNumber
        index (issues 1388, 1295).

        Fixed WeakMap processing for evacuation candidates (issue 2060).

        Bailout on possible direct eval calls (Chromium issue 122681).

        Do not assume that names of function expressions are context-allocated
        (issue 2051).

        Performance and stability improvements on all platforms.


2012-04-10: Version 3.10.1

        Fixed bug with arguments object in inlined functions (issue 2045).

        Fixed performance bug with lazy initialization (Chromium issue
        118686).

        Added suppport for Mac OS X 64bit builds with GYP.
        (Patch contributed by Filipe David Manana <fdmanana@gmail.com>)

        Fixed bug with hidden properties (issue 2034).

        Fixed a performance bug when reloading pages (Chromium issue 117767,
        V8 issue 1902).

        Fixed bug when optimizing throw in top-level code (issue 2054).

        Fixed two bugs with array literals (issue 2055, Chromium issue 121407).

        Fixed bug with Math.min/Math.max with NaN inputs (issue 2056).

        Fixed a bug with the new runtime profiler (Chromium issue 121147).

        Fixed compilation of V8 using uClibc.

        Optimized boot-up memory use.

        Optimized regular expressions.


2012-03-30: Version 3.10.0

        Fixed store IC writability check in strict mode
        (Chromium issue 120099).

        Resynchronize timers if the Windows system time was changed.
        (Chromium issue 119815)

        Removed "-mfloat-abi=hard" from host compiler cflags when building for
        hardfp ARM
        (https://code.google.com/p/chrome-os-partner/issues/detail?id=8539)

        Fixed edge case for case independent regexp character classes
        (issue 2032).

        Reset function info counters after context disposal.
        (Chromium issue 117767, V8 issue 1902)

        Fixed missing write barrier in CopyObjectToObjectElements.
        (Chromium issue 119926)

        Fixed missing bounds check in HasElementImpl.
        (Chromium issue 119925)

        Performance and stability improvements on all platforms.


2012-03-23: Version 3.9.24

        Activated count-based profiler for ARM.

        Fixed use of proxies as f.prototype properties. (issue 2021)

        Enabled snapshots on MIPS.

        Performance and stability improvements on all platforms.


2012-03-21: Version 3.9.23

        Use correct arguments adaptation environment when inlining function
        containing arguments. (Issue 2014)

        Performance and stability improvements on all platforms.


2012-03-20: Version 3.9.22

        Enabled count-based profiler by default.

        Implemented a hash based look-up to speed up address checks
        in large object space (issue 853).

        Performance and stability improvements on all platforms.


2012-03-19: Version 3.9.21

        Fixed push-to-trunk script (and re-push).

        Added API call that identifies strings that are guaranteed only to
        contain ASCII characters.


2012-03-19: Version 3.9.20

        Fixed declarations escaping global strict eval. (Issue 1624)

        Fixed wrapping of receiver for non-strict callbacks. (Issue 1973)

        Fixed function declarations overwriting read-only global properties.
        (Chromium issue 115452)

        Fixed --use-strict flag in combination with --harmony[-scoping].

        Debugger: naive implementation of "step into Function.prototype.bind".

        Debugger: added ability to set script source from within OnBeforeCompile

        Added flag to always call DebugBreak on abort.

        Re-enabled constructor inlining and inline === comparison with boolean
        constants. (Issue 2009)

        Don't use an explicit s0 in ClampDoubleToUint8. (Issue 2004)

        Performance and stability improvements on all platforms.


2012-03-14: Version 3.9.19

        Ensure there is a smi check of the receiver for global load and call
        ICs (Chromium issue 117794).

        Performance and stability improvements on all platforms.


2012-03-13: Version 3.9.18

        Ensure consistency of Math.sqrt on Intel platforms.

        Remove static initializers in v8. (issue 1859)

        Add explicit dependency on v8_base in the GYP-based build.

        Performance and stability improvements on all platforms.


2012-03-12: Version 3.9.17

        Fixed VFP detection through compiler defines. (issue 1996)

        Add Code-related fields to postmortem metadata.

        Performance and stability improvements on all platforms.


2012-03-09: Version 3.9.16

        Added basic interface inference for modules (behind the --harmony flag).

        Added Object.is, Number.isFinite, Number.isNaN.

        Updated the Unicode tables to Unicode version 6.1.0.

        Performance and stability improvements on all platforms.


2012-03-06: Version 3.9.15

        Fix the heap profiler crash caused by memory layout changes between
        passes.

        Fix Error.prototype.toString to throw TypeError. (issue 1980)

        Fix double-rounding in strtod for MinGW. (issue 1062)

        Fix corrupted snapshot serializaton on ia32. (Chromium issue v8/1985)

        Performance and stability improvements on all platforms.


2012-03-01: Version 3.9.14

        Performance and stability improvements on all platforms.


2012-02-29: Version 3.9.13

        Added code kind check before preparing for OSR. (issue 1900, 115073)

        Fixed issue 1802: Pass zone explicitly to zone-allocation on x64 and
        ARM.

        Ported string construct stub to x64. (issue 849)

        Performance and stability improvements on all platforms.


2012-02-28: Version 3.9.12

        Fixed the negative lookup stub to handle deleted entries in a
        dictionary. (issue 1964)

        Added a new API where the host can supply a callback function. The
        callback function can resolve the location of a return address on stack
        to the location where a return-address rewriting profiler stashed the
        original return address.

        Fixed Chromium issue http://crbug.com/115646: When compiling for-in
        pass correct context value to the increment instruction.

        Fixed issue 1853: Update breakpoints set with partial file name after
        compile.


2012-02-27: Version 3.9.11

        Made 'module' a context-sensitive keyword (V8 issue 1957).


2012-02-24: Version 3.9.10

        Fixed V8 issues 1322, 1772 and 1969.

        Conformance improvements.

        Performance and stability improvements on all platforms.


2012-02-23: Version 3.9.9

        Supported fast case for-in in Crankshaft.

        Sped up heap snapshot serialization and dominators construction.

        Randomized allocation addresses on windows. (Chromium issue 115151)

        Fixed compilation with MinGW-w64. (issue 1943)

        Fixed incorrect value of assignments to non-extensible properties.

        Fixed a crash bug in generated code on ia32.

        Performance and stability improvements on all platforms.


2012-02-21: Version 3.9.8

        Fixed memory leak and missing #include in StartupDataDecompressor
        (issue 1960).

        Renamed static methods to avoid shadowing virtual methods and fix Clang
        C++11 compile error.

        Fixed sequence of element access in array builtins (issue 1790).

        Performance and stability improvements on all platforms.


2012-02-16: Version 3.9.7

        Fixed V8 issues 1322, 1878, 1942, 1945 and Chromium issue 113924.

        Fixed GCC-4.7 warnings.

        Added Navier-Stokes benchmark.

        Performance and stability improvements on all platforms.


2012-02-14: Version 3.9.6

        Fixed template-related linker error. (issue 1936)

        Allowed inlining of functions containing object literals.  (issue 1322)

        Added --call-graph-size option to tickprocessor.  (issue 1937)

        Heap Snapshot maximum size limit is too low for really big apps. At the
        moment the limit is 256MB.  (Chromium issue 113015)

        Performance and stability improvements on all platforms.


2012-02-09: Version 3.9.5

        Removed unused command line flags.

        Performance and stability improvements on all platforms.


2012-02-08: Version 3.9.4

        Properly initialize element-transitioning array literals on ARM.
        (issue 1930)

        Bug fixes on all platforms.


2012-02-07: Version 3.9.3

        When rethrowing an exception, print the stack trace of its original
        site instead of rethrow site (Chromium issue 60240).

        Increased size of small stacks from 32k to 64k to avoid hitting limits
        in Chromium (Chromium issue 112843).


2012-02-06: Version 3.9.2

        Added timestamp to --trace-gc output. (issue 1932)

        Heap profiler reports implicit references.

        Optionally export metadata with libv8 to enable debuggers to inspect V8
        state.


2012-02-02: Version 3.9.1

        Fixed memory leak in NativeObjectsExplorer::FindOrAddGroupInfo
        (Chromium issue 112315).

        Fixed a crash in dev tools (Chromium issue 107996).

        Added 'dependencies_traverse': 1 to v8 GYP target.

        Performance and stability improvements on all platforms.


2012-02-01: Version 3.9.0

        Reduced memory use immediately after starting V8.

        Stability fixes and performance improvements on all platforms.


2012-01-26: Version 3.8.9

        Flush number string cache on GC (issue 1605).

        Provide access to function inferred name with
	v8::Function::GetInferredName in V8 public API.

        Fix building with Clang (issue 1912).

        Reduce the space used by the stack for the profiling thread.

        Fix misleading documentation of v8::Locker (issue 542).

        Introduce readbinary function in d8 to read binary files.

        Performance and stability improvements on all platforms.


2012-01-23: Version 3.8.8

        Limited number of loop iterations in Heap::ReserveSpace
        (Chromium issue 99027).

        Fixed solaris build (VirtualMemory) (issue 1761).

        Fixed strict vs. non-strict handling of function proxies in
        higher-order array and string methods.

        Enabled asynchronous remote debugging with d8 (issue 1691).

        Stability and performance improvements on all platforms.


2012-01-19: Version 3.8.7

        Ensure that LRandom restores rsi after call to the C function on x64.
        (Chromium issue http://crbug.com/110509)

        Fixing include issues on *bsd when building with scons.
        (issue 1897)

        Provide a switch to specify -fno-strict-aliasing
        (issue 1887)

        Move WIN32 define from standalone.gypi to common.gypi
        (issue 1760)

        Fix corner-case in heap size estimation.
        (issue 1893)

        Fix and enable NEW_NON_STRICT_FAST ArgumentsAccess stub on x64.
        (issue 1903)

        Performance improvements and bug fixes.


2012-01-16: Version 3.8.6

        Add primitive WebGL array support to d8.

        Improve heap size estimation (issue 1893).

        Hash collision DOS workaround extended from string keys
        to numeric keys.

        Provide an API for iterating through all external strings referenced
        from the JS heap.

        Adjust position recorded for call expressions. http://crbug.com/109195

        Fix GC crash related to instanceof. http://crbug.com/109448

        Performance improvements and bug fixes.


2012-01-05: Version 3.8.5

        Fix broken test that assumes that no GC can clear the regexp cache (GC
        can happen at any time due to Crankshaft).

        Fix handling of bogus receivers for Harmony collections. (issue 1884)

        Add netbsd support to gyp build.

        Determine page size at runtime on posix platforms.

        Ensure that store buffer filtering hash sets are cleared after
        StoreBuffer::Filter.

        Randomize the seed used for string hashing.  This helps guard against
        CPU-eating DOS attacks against node.js servers.  Based on code from
        Bert Belder.  This version only solves the issue for those that compile
        V8 themselves or those that do not use snapshots.  A snapshot-based
        precompiled V8 will still have predictable string hash codes.

        Implement callback when script finishes running in V8 API.

        Improve performance of Math.min and Math.max for the case of two
        arguments. (issue 1325)


2012-01-02: Version 3.8.4

        Performance improvements for large Smi-only arrays.

        Fixed InternalArrays construction. (issue 1878)


2011-12-27: Version 3.8.3

        Avoid embedding new space objects into code objects in the lithium gap
        resolver. (chromium:108296)

        Bug fixes and performance optimizations on all platforms.


2011-12-21: Version 3.8.2

        Add max optimization flag to v8 gyp build to ensure V8 is always built 
        fully optimized in Chrome.

        MIPS: Bring MIPS to parity with other platforms.

        Optimizations and stability improvements on all platforms.


2011-12-19: Version 3.8.1

        Fixed GCC 4.7 warnings. Patch from Tobias Burnus.

        Stability improvements on all platforms.


2011-12-13: Version 3.8.0

        Fixed handling of arrays in DefineOwnProperty. (issue 1756)

        Sync parser and preparser on do-while and return statements. 
        (issue 1856)

        Fixed another corner case for DefineOwnProperty on arrays (issue 1756).

        Stability and performance improvements on all platforms.


2011-12-01: Version 3.7.12

        Increase tick interval for the android platform.

        Fix a bug in the register allocator. (chromium:105112)

        Fix handling of recompiling code. (chromium:105375, v8:1782)

        Start incremental marking on idle notification. (v8:1458)

        Build fixes for various platforms.

        Various performance improvements.


2011-11-29: Version 3.7.11

        Fixed bug when generating padding to ensure space for lazy
        deoptimization.
        (issue 1846)

        Further reduced pause times due to GC.

        Stability and performance improvements on all platforms.


2011-11-23: Version 3.7.10

        Set maximum length of FixedArray in terms of elements instead an
        absolute number of bytes.
        (Chromium issue 103103)

        Stability and performance improvements on all platforms.


2011-11-21: Version 3.7.9

        Removed exit-time destructors.

        Stability and performance improvements on all platforms.


2011-11-17: Version 3.7.8

        Removed hidden prototype from builtins, i.e., deleting an overridden
        function on builtins will not make the original function reappear.

        Added NetBSD support for scons build.

        Performance improvements on all platforms.


2011-11-14: Version 3.7.7

        Fix missing fast property accessors in heap snapshots.
        (issue 1818)


2011-11-11: Version 3.7.6

        Fixed filtering of store buffer for large object pages.
        (issue 1817)

        Fixed generated hash function on all platforms.
        (issue 1808)

        Fixed Heap::Shrink to ensure that it does not free pages that are
        still in use.
        (Chromium issue 100414)

        Stability and performance improvements on all platforms.


2011-11-10: Version 3.7.5

        Added initial gyp infrastructure for MIPS.

        Implemented performance improvements to the incremental garbage
        collector.

        Added optimizations and stability improvements on all platforms.


2011-11-07: Version 3.7.4

        Proper "libv8.so.3.7.4" SONAME for Linux shared library (issue 1786).

        Fix Harmony sets and maps to allow null and undefined as keys
        (still hidden behind --harmony flag) (issue 1622).

        Implement VirtualMemory on FreeBSD to fix build (issue 1807).

        Enable VFP instructions for Android.

        Fix error handling in Date.prototype.toISOString (issue 1792).

        Bug fixes and performance improvements for all platforms.

        Not officially supported but noteworthy: Crankshaft for MIPS :-)


2011-10-28: Version 3.7.3

        Slight deoptimization as a workaround for issue with jslint: Issue
        1789.


2011-10-27: Version 3.7.2

        Fix bug in deoptimization.  Known issue with jslint: Issue 1789.


2011-10-26: Version 3.7.1

        Achieved 33% speedup in debug-mode tests.

        Removed special casing of calls to RegExp test and exec methods with no
        argument.  Now matches new JSC behaviour.  crbug.com/75740.

        Return the empty string on cyclic references in toString (ES5
        conformance).

        Fixed bug triggered by JSBeautifier.  crbug.com/100409.

        Made Math.random state per-context instead of per-process (issue 864).

        Fixed stack traces to skip native functions.

        Make snapshots (new contexts) smaller and faster.

        Fixed handling of Function.apply for non-array arguments.

        Fixed evaluation order in defineProperties to match FireFox.

        Fixed handling of non-object receivers for array builtins,
        crbug.com/100702.

        Multiple fixes to improve compliance with test262.

        Fixed compatibility with older Android releases.

        Fixed compilation with gcc-4.5.3.

        Improved performance of WriteUtf8, issue 1665.

        Made native syntax an early error in the preparser.

        Fixed issues 793 and 893 relating to Function.prototype.bind.

        Improved let, const, Set and Map support and other Harmony features
        (behind the --harmony flag).

        Changed evaluation order for > and <= to match ES5 instead of ES3.

        Bug fixes and performance improvements on all platforms.


2011-10-13: Version 3.7.0

        Fixed array handling for Object.defineOwnProperty (ES5 conformance).

        Fixed issue 1757 (string slices of external strings).

        Fixed issue 1759 (ARM).

        Added flag --noclever-optimizations to disable some things that
        caused trouble in the past.

        Added flag --stress-compaction for testing.

        Added flag --harmony to activate all experimental Harmony features.


2011-10-10: Version 3.6.6

        Added a GC pause visualization tool.

        Added presubmit=no and werror=no flags to Makefile.

        ES5/Test262 conformance improvements.

        Fixed compilation issues with GCC 4.5.x (issue 1743).

        Bug fixes and performance improvements on all platforms.


2011-10-05: Version 3.6.5

        New incremental garbage collector.

        Removed the hard heap size limit (soft heap size limit is still
        700/1400Mbytes by default).

        Implemented ES5 generic Array.prototype.toString (Issue 1361).

        V8 now allows surrogate pair codes in decodeURIComponent (Issue 1415).

        Fixed x64 RegExp start-of-string bug (Issues 1746, 1748).

        Fixed propertyIsEnumerable for numeric properties (Issue 1692).

        Fixed the MinGW and Windows 2000 builds.

        Fixed "Prototype chain is not searched if named property handler does
        not set a property" (Issue 1636).

        Made the RegExp.prototype object be a RegExp object (Issue 1217).

        Disallowed future reserved words as labels in strict mode.

        Fixed string split to correctly coerce the separator to a string
        (Issue 1711).

        API: Added an optional source length field to the Extension
        constructor.

        API: Added Debug::DisableAgent to match existing Debug::EnableAgent
        (Issue 1573).

        Added "native" target to Makefile for the benefit of Linux distros.

        Fixed: debugger stops stepping outside evaluate (Issue 1639).

        More work on ES-Harmony proxies.  Still hidden behind a flag.

        Bug fixes and performance improvements on all platforms.


2011-09-15: Version 3.6.4

        Fixed d8's broken readline history.

        Removed the need for code delete events in CPU profiler (Issue 1466).

        Fixed debugger stepping next with trycatch recursion (Issue 1639).

        Fixing parallel execution in d8 (with -p) and some memory leaks.

        Support for precise stepping in functions compiled before debugging was
        started (step 1).


2011-09-13: Version 3.6.3

        Implemented better support of typed arrays in the d8 shell.

        Bug fixes and performance improvements on all platforms.


2011-09-08: Version 3.6.2

        Added "dependencies" target to top-level Makefile.

        Added ability to turn profiler on/off in d8.

        Added "soname_version" parameter to common.gypi, v8.gyp, and Makefile.

        Fixed several crash bugs.


2011-09-07: Version 3.6.1

        Fixed a bug in abrupt exit from with or catch inside finally.

        Fixed possible crash in FixedDoubleArray::Initialize() (Chromium
        issue 95113).

        Fixed a bug in Page::GetRegionMaskForSpan (Chromium issue 94425).

        Fixed a few clang warnings (which -Werror treated as errors).

        Performance improvements on all platforms.


2011-09-05: Version 3.6.0

        Fixed a bug when optimizing named function expression (issue 1647).

        Fixed a bug when optimizing f.call.apply (issue 1650).

        Made arguments and caller always be null on native functions
        (issues 1548 and 1643).

        Fixed issue 1648 (cross-compiling x64 targeting ia32).

        Fixed issue 371 (d8 printing of strings containing \0).

        Fixed order of evaluation in arguments to parseInt (issue 1649).

        Fixed a problem with large heap snapshots in Chrome DevTools
        (issue 1658, chromium issue 89268).

        Upped default maximum heap size from 512M to 700M.


2011-08-31: Version 3.5.10

        Added dependency of v8_base on WinSocket2 Windows library in
        the GYP-build.

        Various bugfixes.


2011-08-29: Version 3.5.9

        Made FromPropertyDescriptor not trigger inherited setters.

        Fixed .gyp files to work on the ARM simulator.

        Fixed shared library build warnings for MSVS.


2011-08-24: Version 3.5.8

        Added V8EXPORT attributes for v8::Array::CheckCast and
        v8::Number::CheckCast.

        Made a slight API change enabling opting out from null termination
        in String::Write*().

        Fixed arm build for gcc-4.6.


2011-08-22: Version 3.5.7

        Make scanner handle invalid unicode escapes in identifiers correctly.

        Make regexp flag parsing stricter.

        Fix several memory leaks.


2011-08-17: Version 3.5.6

        Fixed issue that could cause crashes when running with --heap-stats.

        Fixed compilation on Linux 2.6.9 and older.

        Fixed live-object-list to work with isolates.

        Fixed memory leaks in zones and isolates.

        Fixed a performance regression for TypedArrays on x64.

        Stability improvements on all platforms.


2011-08-15: Version 3.5.5

        Fixed bugs involving negative zero and the optimizing compiler.

        Fixed optimized version of Function.apply(x, arguments). (issue 1592)

        Eliminated uses of deprecated ARM instructions.

        Sped up Math.floor by using SSE 4.1 roundsd instruction on ia32.

        Removed restriction on the size of disassembled code that is printed.


2011-08-10: Version 3.5.4

        Added a preliminary implementation of ES Harmony weak maps.  Weak
        maps can be enabled by the flag --harmony-weakmaps.

        Introduced a toplevel Makefile to support GYP-based building.  GYP
        can be obtained from http://gyp.googlecode.com.

        Fixed a bug in the length property of functions created by
        Function.prototype.bind.

        Reduced malloc heap allocation on process startup.

        Several important code generation bug fixes.

        Performance improvements on all platforms.


2011-08-03: Version 3.5.3

        MIPS: Port of fix to ClassOf check from ARM.
        Patch from Paul Lind <plind44@gmail.com>.

        Stopped using mprotect on Cygwin.
        Avoided uninitialized member warning on gcc 4.3.4
        Both patches by Bert Belder.

        Bug fixes and performance improvements on all platforms.


2011-08-01: Version 3.5.2

        Performance improvements on all platforms.


2011-07-28: Version 3.5.1

        Fixed setting the readonly flag on the prototype property using the
        API call FunctionTemplate::SetPrototypeAttributes (issue 1539).

        Changed the tools/test.py script to use d8 instead of shell for
        testing.

        Fixed crash in ToBooleanStub when GC happens during invocation.

        Enabled automatic unboxing of double arrays.

        Performance improvements on all platforms.


2011-07-25: Version 3.5.0

        Implemented Object.prototype.{hasOwnProperty, propertyIsEnumerable} for
        proxies.

        Removed logging to memory support.

        Bugfixes and performance work.


2011-07-20: Version 3.4.14

        Fix the debugger for strict-mode functions. (Chromium issue 89236)

        Add GetPropertyAttribute method for Object in the API. (Patch by
        Peter Varga)

        Fix -Wunused-but-set-variable for gcc-4.6 on x64. (Issue 1291)


2011-07-18: Version 3.4.13

        Improved debugger support to allow inspection of optimized frames (issue
        1140).

        Fixed a bug in prototype transitions cache clearing introduced by r8165.

        Fixed shortcutting bug in HInferRepresentation. Patch by Andy Wingo.

        Fixed a memory leak in sample/shell.cc (dispose semaphores).

        Simplified HClampToUint8. Patch by Andy Wingo.

        Exposed APIs for detecting boxed primitives, native errors. Patch by
        Luke Zarko.

        Added map check for COW elements to crankshaft array handling code
        (issue 1560).

        Sample shell and (a light version of) D8 links against a shared library
        now.

        Fixed bug in array filter and reduce functions (issue 1559).

        Avoid TLS load in AstNode constructor.

        Introduced a random entropy source which can optionally be provided at
        initialization. (Chromium issue 89462).


2011-07-13: Version 3.4.12

        Added --prof profiling option to d8 shell.

        Fixed a bug where reading a directory in d8 shell hangs (issue 1533).

        Fixed a potential assertion failure in const declarations.

        Fixed an assertion failure in descriptor arrays (issue 1526).

        Enabled fast thread-local storage by default on supported platforms.

        Improved reporting of source position for global variable loads
        (issue 1527).


2011-07-11: Version 3.4.11

        Fixed MinGW32 build.

        Fixed a GC bug with RegExp code flushing.

        Implemented Object.defineProperty for proxies.

        Fixed a bug in for/in iteration of arguments objects (issue 1531).

        Added debugger support for inspecting optimized frames (issue 1140).

        Allowed JSObject::PreventExtensions to work for arguments objects.

        Bugfixes and performance work.


2011-07-06: Version 3.4.10

        Fixed debugger not breaking on certain "if" statements (issue 1523).

        Fixed assertion failure in runtime profiler when running on IA32
        without snapshot (issue 1522).

        Fixed ABI for API calls on IA32 (for clang compatibility).

        Introduced code flushing of RegExp code to free memory used by
        RegExps sooner.

        Fixed linux-tick-processor built wrong version of v8 (issue 1532).

        Fixed assertion failure in v8::TryCache::StackTrace (issue 1529).

        Performance improvements on all platforms.


2011-07-04: Version 3.4.9

        Added support for debugger inspection of locals in optimized frames
        (issue 1140).

        Fixed SConstruct to pass correct defines to samples/preparser when
        building with library=shared.

        Made date parser handle ES5 Date Time Strings correctly (issue 1498).

        Fixed a bug in Object.defineProperty on the arguments object.

        Performance improvements on all platforms.


2011-06-29: Version 3.4.8

        Ensure 16-byte stack alignment on Solaris (issue 1505).

        Fix "illegal access" when calling parseInt with a radix
        that is not a smi. (issue 1246).


2011-06-27: Version 3.4.7

        Fixed 64-bit build on FreeBSD.

        Added API to set the property attributes for the prototype
        property on functions created from FunctionTemplates.

        Bugfixes and performance work.


2011-06-22: Version 3.4.6

        Lowered limit on code space for systems with low memory supply.

        Allowed compiling v8_shell with the 'host' toolset (issue 82437).

        Extended setBreakpoint API to accept partial script name (issue 1418).

        Made multi-line comments not count when deciding whether the '-->'
        comment starter is first on a line. This matches Safari.

        Made handling of non-array recievers in Array length setter correct
        (issue 1491).

        Added ability to heap profiler to iterate over snapshot's node
        (issue 1481).


2011-06-20: Version 3.4.5

        Fixed issues 794, 1097, 1215(partial), 1417, 1435, 1472, 1473,
        1476, and 1477.

        Improved code generation for !0 and !1.

        Reduced memory usage for regular expressions with nested qualifiers.
        (issue 1472)

        Fixed V8 to count line terminators in multi-line comments.
        (Chromium issue 86431)

        Fixed disassembler=on option for release-mode builds. (issue 1473)

        Performance improvements on all platforms.


2011-06-15: Version 3.4.4

        Added snapshot compression support and --stress-opt flag to d8.

        Improved performance of try/catch.

        Several GYP-related changes: Added support for building Xcode project
        files. Make the ARM simulator build with GYP again. Generate Makefiles
        for all architectures on Linux.

        Fixed Array.prototype.{reduce,reduceRight} to pass undefined as the
        receiver for strict mode callbacks. (issue 1436)

        Fixed a bug where an array load was incorrectly hoisted by GVN.

        Handle 'undefined' correctly when === has been specialized for doubles.
        (issue 1434)

        Corrected the limit of local variables in an optimized function from 64
        to 63.

        Correctly set ReadOnly flag on indexed properties when using the API Set
        method. (issue 1470)

        Give the correct error message when Object.isExtensible is called on a
        non-object. (issue 1452)

        Added GetOwnPropertyNames method for Object in the API. Patch by Peter
        Varga.

        Do not redefine properties unneccesarily in seal and freeze. (issue
        1447)

        IsExecutionTerminating has an Isolate parameter now.

        Distinguish keyed loads with a symbol key from fast elements loads,
        avoiding some useless deoptimizations. (issue 1471)


2011-06-08: Version 3.4.3

        Clear the global thread table when an isolate is disposed
        (issue 1433).

        Converted time zone name to UTF8 on Windows (issue 1290).

        Limited the number of arguments in a function call to 32766
        (issue 1413).

        Compress sources of JS libraries in addition to the snapshot.

        Fixed a bug in Lithium environment iteration.

        Performance improvements on all platforms.


2011-06-06: Version 3.4.2

        More work on ES-Harmony proxies.  Still hidden behind a flag.

        Fixed some crash bugs and improved performance.

        Fixed building with gdb debugging support.

        Do not install SIGPROF handler until it is needed.

        Added DateTimeFormat to i18n API.

        Fixed compilation on OpenBSD.

        Take the ulimit into account when sizing the heap.  OpenBSD users
        may still have to increase the default ulimit to run heavy pages in
        the browser.


2011-06-01: Version 3.4.1

        Fixed JSON stringify issue with arrays.

        Changed calls to JS builtins to be passed undefined when called with
        implicit receiver.

        Implemented the set trap for Harmony proxies. Proxies still need to
        be enabled with the --harmony-proxies flag.


2011-05-30: Version 3.4.0

        Changed calls to undefined property setters to not throw (issue 1355).

        Made RegExp objects not callable.

        Fixed issues on special case large JSON strings in new json parser
        (issues http://crbug.com/83877 and http://crbug.com/84186).

        Performance improvements on all platforms.


2011-05-25: Version 3.3.10

        Fixed calls of strict mode function with an implicit receiver.

        Fixed fast handling of arrays to properly deal with changes to the
        Object prototype (issue 1403).

        Changed strict mode poison pill to be the same type error function
        (issue 1387).

        Fixed a debug crash in arguments object handling (issue 1227).

        Fixed a bug in deoptimization on x64 (issue 1404).

        Performance improvements and bug fixes on all platforms.


2011-05-23: Version 3.3.9

        Added DateTimeFormat class to experimental i18n API.

        Extended preparser to give early errors for some strict mode
        restrictions.

        Removed legacy execScript function from V8.

        Extended isolate API with the ability to add embedder-specific
        data to an isolate.

        Added basic support for polymorphic loads from JS and external
        arrays.

        Fixed bug in handling of switch statements in the optimizing
        compiler.


2011-05-18: Version 3.3.8

        Added MarkIndependent to the persistent handle API.  Independent
        handles are independent of all other persistent handles and can be
        garbage collected more frequently.

        Implemented the get trap for Harmony proxies.  Proxies are enabled
        with the --harmony-proxies flag.

        Performance improvements and bug fixes on all platforms.


2011-05-16: Version 3.3.7

        Updated MIPS infrastructure files.

        Performance improvements and bug fixes on all platforms.


2011-05-11: Version 3.3.6

        Updated MIPS infrastructure files.

        Added method IsCallable for Object to the API.
        Patch by Peter Varga.


2011-05-09: Version 3.3.5

        Fixed build on FreeBSD. Patch by Akinori MUSHA.

        Added check that receiver is JSObject on API calls.

        Implemented CallAsConstructor method for Object in the API (Issue 1348).
        Patch by Peter Varga.

        Added CallAsFunction method to the Object class in the API (Issue 1336).
        Patch by Peter Varga.

        Added per-isolate locking and unlocking.

        Fixed bug in x64 >>> operator (Issue 1359).


2011-05-04: Version 3.3.4

        Implemented API to disallow code generation from strings for a context
        (issue 1258).

        Fixed bug with whitespaces in parseInt (issue 955).

        Fixed bug with == comparison of Date objects (issue 1356).

        Added GYP variables for ARM code generation:
        v8_can_use_vfp_instructions, v8_can_use_unaligned_accesses
        and v8_use_arm_eabi_hardfloat.


2011-05-02: Version 3.3.3

        Added support for generating Visual Studio solution and project files
        using GYP.

        Implemented support for ARM EABI calling convention variation where
        floating-point arguments are passed in registers (hardfloat).

        Added Object::HasOwnProperty() to the API.

        Added support for compressing startup data to reduce binary size. This
        includes build time support and an API for the embedder to decompress
        the startup data before initializing V8.

        Reduced the profiling hooks overhead from >400% to 25% when using
        ll_prof.

        Performance improvements and bug fixes on all platforms.


2011-04-27: Version 3.3.2

        Fixed crash bug on ARM with no VFP3 hardware.

        Fixed compilation of V8 without debugger support.

        Improved performance on JSLint.

        Added support Float64 WebGL arrays.

        Fixed crash bug in regexp replace.


2011-04-20: Version 3.3.1

        Reduced V8 binary size by removing virtual functions from hydrogen.

        Fixed crash bug on x64.

        Performance improvements on ARM and IA32.


2011-04-18: Version 3.3.0

        Fixed bug in floating point rounding in Crankshaft on ARM
        (issue 958)

        Fixed a number of issues with running without VFPv3 support on ARM
        (issue 1315)

        Introduced v8Locale.Collator, a partial implementation of Collator
        per last ECMAScript meeting + mailing list.

        Minor performance improvements and bug fixes.


2011-04-13: Version 3.2.10

        Fixed bug in external float arrays on ARM (issue 1323).

        Minor performance improvements and bug fixes.


2011-04-11: Version 3.2.9

        Removed support for ABI prior to EABI on ARM.

        Fixed multiple crash bugs.

        Added GCMole to the repository, a simple static analysis tool that
        searches for GC-unsafe evaluation order dependent callsites.

        Made preparser API be exported in shared libraries.

        Fixed multiple issues in EcmaScript 5 strict mode implementation.

        Fixed mutable __proto__ property if object is not extensible
        (Issue 1309).

        Fixed auto suspension of the sampler thread.


2011-04-06: Version 3.2.8

        Exposed WebGL typed array constructors in the shell sample.

        Performance improvements on all platforms.


2011-04-04: Version 3.2.7

        Disabled the original 'classic' V8 code generator.  Crankshaft is
        now the default on all platforms.

        Changed the heap profiler to use more descriptive names.

        Performance and stability improvements to isolates on all platforms.


2011-03-30: Version 3.2.6

        Fixed xcode build warning in shell.cc (out of order initialization).

        Fixed null-pointer dereference in the compiler when running without
        SSE3 support (Chromium issue 77654).

        Fixed x64 compilation error due to some dead code. (Issue 1286)

        Introduced scons target to build the preparser stand-alone example.

        Made FreeBSD build and pass all tests.


2011-03-28: Version 3.2.5

        Fixed build with Irregexp interpreter (issue 1266).

        Added Crankshaft support for external arrays.

        Fixed two potential crash bugs.


2011-03-23: Version 3.2.4

        Added isolates which allows several V8 instances in the same process.
        This is controlled through the new Isolate class in the API.

        Implemented more of EcmaScript 5 strict mode.

        Reduced the time it takes to make detailed heap snapshot.

        Added a number of commands to the ARM simulator and enhanced the ARM
        disassembler.


2011-03-17: Version 3.2.3

        Fixed a number of crash bugs.

        Fixed Array::New(length) to return an array with a length (issue 1256).

        Fixed FreeBSD build.

        Changed __defineGetter__ to not throw (matching the behavior of Safari).

        Implemented more of EcmaScript 5 strict mode.

        Improved Crankshaft performance on all platforms.


2011-03-14: Version 3.2.2

        Fixed a number of crash and correctness bugs.

        Improved Crankshaft performance on all platforms.

        Fixed Crankshaft on Solaris/Illumos.


2011-03-10: Version 3.2.1

        Fixed a number of crash bugs.

        Improved Crankshaft for x64 and ARM.

        Implemented more of EcmaScript 5 strict mode.


2011-03-07: Version 3.2.0

        Fixed a number of crash bugs.

        Turned on Crankshaft by default on x64 and ARM.

        Improved Crankshaft for x64 and ARM.

        Implemented more of EcmaScript 5 strict mode.


2011-03-02: Version 3.1.8

        Fixed a number of crash bugs.

        Improved Crankshaft for x64 and ARM.

        Implemented more of EcmaScript 5 strict mode.

        Fixed issue with unaligned reads and writes on ARM.

        Improved heap profiler support.


2011-02-28: Version 3.1.7

        Fixed a number of crash bugs.

        Improved Crankshaft for x64 and ARM.

        Fixed implementation of indexOf/lastIndexOf for sparse
        arrays (http://crbug.com/73940).

        Fixed bug in map space compaction (http://crbug.com/59688).

        Added support for direct getter accessors calls on ARM.


2011-02-24: Version 3.1.6

        Fixed a number of crash bugs.

        Added support for Cygwin (issue 64).

        Improved Crankshaft for x64 and ARM.

        Added Crankshaft support for stores to pixel arrays.

        Fixed issue in CPU profiler with Crankshaft.


2011-02-16: Version 3.1.5

        Change RegExp parsing to disallow /(*)/.

        Added GDB JIT support for ARM.

        Fixed several crash bugs.

        Performance improvements on the IA32 platform.


2011-02-14: Version 3.1.4

        Fixed incorrect compare of prototypes of the global object (issue
        1082).

        Fixed a bug in optimizing calls to global functions (issue 1106).

        Made optimized Function.prototype.apply safe for non-JSObject first
        arguments (issue 1128).

        Fixed an error related to element accessors on Object.prototype and
        parser errors (issue 1130).

        Fixed a bug in sorting an array with large array indices (issue 1131).

        Properly treat exceptions thrown while compiling (issue 1132).

        Fixed bug in register requirements for function.apply (issue 1133).

        Fixed a representation change bug in the Hydrogen graph construction
        (issue 1134).

        Fixed the semantics of delete on parameters (issue 1136).

        Fixed a optimizer bug related to moving instructions with side effects
        (issue 1138).

        Added support for the global object in Object.keys (issue 1150).

        Fixed incorrect value for Math.LOG10E
        (issue http://code.google.com/p/chromium/issues/detail?id=72555)

        Performance improvements on the IA32 platform.

        Implement assignment to undefined reference in ES5 Strict Mode.


2011-02-09: Version 3.1.3

        Fixed a bug triggered by functions with huge numbers of declared
        arguments.

        Fixed zap value aliasing a real object - debug mode only (issue 866).

        Fixed issue where Array.prototype.__proto__ had been set to null
        (issue 1121).

        Fixed stability bugs in Crankshaft for x86.


2011-02-07: Version 3.1.2

        Added better security checks when accessing properties via
        Object.getOwnPropertyDescriptor.

        Fixed bug in Object.defineProperty and related access bugs (issues
        992, 1083 and 1092).

        Added LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to ease
        copyright notice generation for embedders.


2011-02-02: Version 3.1.1

        Perform security checks before fetching the value in
        Object.getOwnPropertyDescriptor.

        Fixed a bug in Array.prototype.splice triggered by passing no
        arguments.

        Fixed bugs in -0 in arithmetic and in Math.pow.

        Fixed bugs in the register allocator and in switching from optimized
        to unoptimized code.


2011-01-31: Version 3.1.0

        Performance improvements on all platforms.


2011-01-28: Version 3.0.12

        Added support for strict mode parameter and object property
        validation.

        Fixed a couple of crash bugs.


2011-01-25: Version 3.0.11

        Fixed a bug in deletion of lookup slots that could cause global
        variables to be accidentally deleted (http://crbug.com/70066).

        Added support for strict mode octal literal verification.

        Fixed a couple of crash bugs (issues 1070 and 1071).


2011-01-24: Version 3.0.10

        Fixed External::Wrap for 64-bit addresses (issue 1037).

        Fixed incorrect .arguments variable proxy handling in the full
        code generator (issue 1060).

        Introduced partial strict mode support.

        Changed formatting of recursive error messages to match Firefox and
        Safari (issue http://crbug.com/70334).

        Fixed incorrect rounding for float-to-integer conversions for external
        array types, which implement the Typed Array spec
        (issue http://crbug.com/50972).

        Performance improvements on the IA32 platform.


2011-01-19: Version 3.0.9

        Added basic GDB JIT Interface integration.

        Make invalid break/continue statements a syntax error instead of a
        runtime error.


2011-01-17: Version 3.0.8

        Exposed heap size limit to the heap statistics gathered by
        the GetHeapStatistics API.

        Wrapped external pointers more carefully (issue 1037).

        Hardened the implementation of error objects to avoid setters
        intercepting the properties set then throwing an error.

        Avoided trashing the FPSCR when calculating Math.floor on ARM.

        Performance improvements on the IA32 platform.


2011-01-10: Version 3.0.7

        Stopped calling inherited setters when creating object literals
        (issue 1015).

        Changed interpretation of malformed \c? escapes in RegExp to match
        JSC.

        Enhanced the command-line debugger interface and fixed some minor
        bugs in the debugger.

        Performance improvements on the IA32 platform.


2011-01-05: Version 3.0.6

        Allowed getters and setters on JSArray elements (issue 900).

        Stopped JSON objects from hitting inherited setters (part of
        issue 1015).

        Allowed numbers and strings as names of getters/setters in object
        initializer (issue 820).

        Added use_system_v8 option to gyp (off by default), to make it easier
        for Linux distributions to ship with system-provided V8 library.

        Exported external array data accessors (issue 1016).

        Added labelled thread names to help with debugging (on Linux).


2011-01-03: Version 3.0.5

        Fixed a couple of cast errors for gcc-3.4.3.

        Performance improvements in GC and IA32 code generator.


2010-12-21: Version 3.0.4

        Added Date::ResetCache() to the API so that the cached values in the
        Date object can be reset to allow live DST / timezone changes.

        Extended existing support for printing (while debugging) the contents
        of objects.  Added support for printing objects from release builds.

        Fixed V8 issues 989, 1006, and 1007.


2010-12-17: Version 3.0.3

        Reapplied all changes for version 3.0.1.

        Improved debugger protocol for remote debugging.

        Added experimental support for using gyp to generate build files
        for V8.

        Fixed implementation of String::Write in the API (issue 975).


2010-12-15: Version 3.0.2

        Revert version 3.0.1 and patch 3.0.1.1.


2010-12-13: Version 3.0.1

        Added support for an experimental internationalization API as an
        extension.  This extension is disabled by default but can be enabled
        when building V8.  The ECMAScript internationalization strawman is
        at http://wiki.ecmascript.org/doku.php?id=strawman:i18n_api.

        Made RegExp character class parsing stricter.  This mirrors a change
        to RegExp parsing in WebKit.

        Fixed a bug in Object.defineProperty when used to change attributes
        of an existing property.  It incorrectly set the property value to
        undefined (issue 965).

        Fixed several different compilation failures on various platforms
        caused by the 3.0.0 release.

        Optimized Math.pow so it can work on unboxed doubles.

        Sped up quoting of JSON strings by removing one traversal of the
        string.


2010-12-07: Version 3.0.0

        Improved performance by (partially) addressing issue 957 on
        IA-32. Still needs more work for the other architectures.


2010-11-29: Version 2.5.9

        Fixed crashes during GC caused by partially initialize heap
        objects.

        Fixed bug in process sample that caused memory leaks.

        Improved performance on ARM by implementing missing stubs and
        inlining.

        Improved heap profiler support.

        Added separate seeding on Windows of the random number generator
        used internally by the compiler (issue 936).

        Exposed API for getting the name of the function used to construct
        an object.

        Fixed date parser to handle one and two digit millisecond
        values (issue 944).

        Fixed number parsing to disallow space between sign and
        digits (issue 946).


2010-11-23: Version 2.5.8

        Removed dependency on Gay's dtoa.

        Improved heap profiler precision and speed.

        Reduced overhead of callback invocations on ARM.


2010-11-18: Version 2.5.7

        Fixed obscure evaluation order bug (issue 931).

        Split the random number state between JavaScript and the private API.

        Fixed performance bug causing GCs when generating stack traces on
        code from very large scripts.

        Fixed bug in parser that allowed (foo):42 as a labelled statement
        (issue 918).

        Provide more accurate results about used heap size via
        GetHeapStatistics.

        Allow build-time customization of the max semispace size.

        Made String.prototype.split honor limit when separator is empty
        (issue 929).

        Added missing failure check after expecting an identifier in
        preparser (Chromium issue 62639).


2010-11-10: Version 2.5.6

        Added support for VFP rounding modes to the ARM simulator.

        Fixed multiplication overflow bug (issue 927).

        Added a limit for the amount of executable memory (issue 925).


2010-11-08: Version 2.5.5

        Added more aggressive GC of external objects in near out-of-memory
        situations.

        Fixed a bug that gave the incorrect result for String.split called
        on the empty string (issue 924).


2010-11-03: Version 2.5.4

        Improved V8 VFPv3 runtime detection to address issue 914.


2010-11-01: Version 2.5.3

        Fixed a bug that prevents constants from overwriting function values
        in object literals (issue 907).

        Fixed a bug with reporting of impossible nested calls of DOM functions
        (issue http://crbug.com/60753).


2010-10-27: Version 2.5.2

        Improved sampler resolution on Linux.

        Allowed forcing the use of a simulator from the build script
        independently of the host architecture.

        Fixed FreeBSD port (issue 912).

        Made windows-tick-processor respect D8_PATH.

        Implemented --noinline-new flag fully on IA32, X64 and ARM platforms.


2010-10-20: Version 2.5.1

        Fixed bug causing spurious out of memory exceptions
        (issue http://crbug.com/54580).

        Fixed compilation error on Solaris platform (issue 901).

        Fixed error in strtod (string to floating point number conversion)
        due to glibc's use of 80-bit floats in the FPU on 32-bit linux.

        Adjusted randomized allocations of executable memory to have 64k
        granularity (issue http://crbug.com/56036).

        Supported profiling using kernel perf_events on linux.  Added ll_prof
        script to tools and --ll-prof flag to V8.


2010-10-18: Version 2.5.0

        Fixed bug in cache handling of lastIndex on global regexps
        (issue http://crbug.com/58740).

        Added USE_SIMULATOR macro that explicitly indicates that we wish to use
        the simulator as the execution engine (by Mark Lam <mark.lam@palm.com>
        from Hewlett-Packard Development Company, LP).

        Fixed compilation error on ARM with gcc 4.4 (issue 894).


2010-10-13: Version 2.4.9

        Fixed a bug in the handling of conditional expressions in test
        contexts in compiler for top-level code.

        Added "//@ sourceURL" information to the StackTrace API.

        Exposed RegExp construction through the API.


2010-10-04: Version 2.4.8

        Fixed a bug in ResumeProfilerEx causing it to not always write out the
        whole snapshot (issue 868).

        Performance improvements on all platforms.


2010-09-30: Version 2.4.7

        Changed the command-line flag --max-new-space-size to be in kB and the
        flag --max-old-space-size to be in MB (previously they were in bytes).

        Added Debug::CancelDebugBreak to the debugger API.

        Fixed a bug in getters for negative numeric property names
        (https://bugs.webkit.org/show_bug.cgi?id=46689).

        Performance improvements on all platforms.


2010-09-27: Version 2.4.6

        Fixed assertion failure related to copy-on-write arrays (issue 876).

        Fixed build failure of 64-bit V8 on Windows.

        Fixed a bug in RegExp (issue http://crbug.com/52801).

        Improved the profiler's coverage to cover more functions (issue 858).

        Fixed error in shift operators on 64-bit V8
        (issue http://crbug.com/54521).


2010-09-22: Version 2.4.5

        Changed the RegExp benchmark to exercise the regexp engine on different
        inputs by scrambling the input strings.

        Fixed a bug in keyed loads on strings.

        Fixed a bug with loading global function prototypes.

        Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).

        Performance improvements on all platforms.


2010-09-15: Version 2.4.4

        Fixed bug with hangs on very large sparse arrays.

        Now tries harder to free up memory when running out of space.

        Added heap snapshots to JSON format to API.

        Recalibrated benchmarks.


2010-09-13: Version 2.4.3

        Made Date.parse properly handle TZ offsets (issue 857).

        Performance improvements on all platforms.


2010-09-08: Version 2.4.2

        Fixed GC crash bug.

        Fixed stack corruption bug.

        Fixed compilation for newer C++ compilers that found Operand(0)
        ambiguous.


2010-09-06: Version 2.4.1

        Added the ability for an embedding application to receive a callback
        when V8 allocates (V8::AddMemoryAllocationCallback) or deallocates
        (V8::RemoveMemoryAllocationCallback) from the OS.

        Fixed several JSON bugs (including issue 855).

        Fixed memory overrun crash bug triggered during V8's tick-based
        profiling.

        Performance improvements on all platforms.


2010-09-01: Version 2.4.0

        Fixed bug in Object.freeze and Object.seal when Array.prototype or
        Object.prototype are changed (issue 842).

        Updated Array.splice to follow Safari and Firefox when called
        with zero arguments.

        Fixed a missing live register when breaking at keyed loads on ARM.

        Performance improvements on all platforms.


2010-08-25: Version 2.3.11

        Fixed bug in RegExp related to copy-on-write arrays.

        Refactored tools/test.py script, including the introduction of
        VARIANT_FLAGS that allows specification of sets of flags with which
        all tests should be run.

        Fixed a bug in the handling of debug breaks in CallIC.

        Performance improvements on all platforms.


2010-08-23: Version 2.3.10

        Fixed bug in bitops on ARM.

        Build fixes for unusual compilers.

        Track high water mark for RWX memory.

        Performance improvements on all platforms.


2010-08-18: Version 2.3.9

        Fixed compilation for ARMv4 on OpenBSD/FreeBSD.

        Removed specialized handling of GCC 4.4 (issue 830).

        Fixed DST cache to take into account the suspension of DST in
        Egypt during the 2010 Ramadan (issue http://crbug.com/51855).

        Performance improvements on all platforms.


2010-08-16: Version 2.3.8

        Fixed build with strict aliasing on GCC 4.4 (issue 463).

        Fixed issue with incorrect handling of custom valueOf methods on
        string wrappers (issue 760).

        Fixed compilation for ARMv4 (issue 590).

        Improved performance.


2010-08-11: Version 2.3.7

        Reduced size of heap snapshots produced by heap profiler (issue 783).

        Introduced v8::Value::IsRegExp method.

        Fixed CPU profiler crash in start / stop sequence when non-existent
        name is passed (issue http://crbug.com/51594).

        Introduced new indexed property query callbacks API (issue 816). This
        API is guarded by USE_NEW_QUERY_CALLBACK define and is disabled
        by default.

        Removed support for object literal get/set with number/string
        property name.

        Fixed handling of JSObject::elements in CalculateNetworkSize
        (issue 822).

        Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).


2010-08-09: Version 2.3.6

        RegExp literals create a new object every time they are evaluated
        (issue 704).

        Object.seal and Object.freeze return the modified object (issue 809).

        Fixed building using GCC 4.4.4.


2010-08-04: Version 2.3.5

        Added support for ES5 property names. Object initialisers and
        dot-notation property access now allows keywords. Also allowed
        non-identifiers after "get" or "set" in an object initialiser.

        Randomized the addresses of allocated executable memory on Windows.


2010-08-02: Version 2.3.4

        Fixed problems in implementation of ES5 function.prototype.bind.

        Fixed error when using apply with arguments object on ARM (issue 784).

        Added setting of global flags to debugger protocol.

        Fixed an error affecting cached results of sin and cos (issue 792).

        Removed memory leak from a boundary case where V8 is not initialized.

        Fixed issue where debugger could set breakpoints outside the body
        of a function.

        Fixed issue in debugger when using both live edit and step in features.

        Added Number-letter (Nl) category to Unicode tables.  These characters
        can now be used in identifiers.

        Fixed an assert failure on X64 (issue 806).

        Performance improvements on all platforms.


2010-07-26: Version 2.3.3

        Fixed error when building the d8 shell in a fresh checkout.

        Implemented Function.prototype.bind (ES5 15.3.4.5).

        Fixed an error in inlined stores on ia32.

        Fixed an error when setting a breakpoint at the end of a function
        that does not end with a newline character.

        Performance improvements on all platforms.


2010-07-21: Version 2.3.2

        Fixed compiler warnings when building with LLVM.

        Fixed a bug with for-in applied to strings (issue 785).

        Performance improvements on all platforms.


2010-07-19: Version 2.3.1

        Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.

        Fixed bug related to code flushing while compiling a lazy
        compilable function (issue http://crbug.com/49099).

        Performance improvements on all platforms.


2010-07-15: Version 2.3.0

        Added ES5 Object.seal and Object.isSealed.

        Added debugger API for scheduling debugger commands from a
        separate thread.


2010-07-14: Version 2.2.24

        Added API for capturing stack traces for uncaught exceptions.

        Fixed crash bug when preparsing from a non-external V8 string
        (issue 775).

        Fixed JSON.parse bug causing input not to be converted to string
        (issue 764).

        Added ES5 Object.freeze and Object.isFrozen.

        Performance improvements on all platforms.


2010-07-07: Version 2.2.23

        API change: Convert Unicode code points outside the basic multilingual
        plane to the replacement character.  Previous behavior was to silently
        truncate the value to 16 bits.

        Fixed crash: handle all flat string types in regexp replace.

        Prevent invalid pre-parsing data passed in through the API from
        crashing V8.

        Performance improvements on all platforms.


2010-07-05: Version 2.2.22

        Added ES5 Object.isExtensible and Object.preventExtensions.

        Enabled building V8 as a DLL.

        Fixed a bug in date code where -0 was not interpreted as 0
        (issue 736).

        Performance improvements on all platforms.


2010-06-30: Version 2.2.21

        Fixed bug in externalizing some ASCII strings (Chromium issue 47824).

        Updated JSON.stringify to floor the space parameter (issue 753).

        Updated the Mozilla test expectations to the newest version.

        Updated the ES5 Conformance Test expectations to the latest version.

        Updated the V8 benchmark suite.

        Provide actual breakpoints locations in response to setBreakpoint
        and listBreakpoints requests.


2010-06-28: Version 2.2.20

        Fixed bug with for-in on x64 platform (issue 748).

        Fixed crash bug on x64 platform (issue 756).

        Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).

        Fixed a bug on ARM that caused the result of 1 << x to be
        miscalculated for some inputs.

        Performance improvements on all platforms.


2010-06-23: Version 2.2.19

        Fixed bug that causes the build to break when profillingsupport=off
        (issue 738).

        Added expose-externalize-string flag for testing extensions.

        Resolve linker issues with using V8 as a DLL causing a number of
        problems with unresolved symbols.

        Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
        defined.

        Performance improvements on all platforms.


2010-06-16: Version 2.2.18

        Added API functions to retrieve information on indexed properties
        managed by the embedding layer.  Fixes bug 737.

        Made ES5 Object.defineProperty support array elements.  Fixes bug 619.

        Added heap profiling to the API.

        Removed old named property query from the API.

        Incremental performance improvements.


2010-06-14: Version 2.2.17

        Improved debugger support for stepping out of functions.

        Incremental performance improvements.


2010-06-09: Version 2.2.16

        Removed the SetExternalStringDiposeCallback API. Changed the
        disposal of external string resources to call a virtual Dispose
        method on the resource.

        Added support for more precise break points when debugging and
        stepping.

        Memory usage improvements on all platforms.


2010-06-07: Version 2.2.15

        Added an API to control the disposal of external string resources.

        Added missing initialization of a couple of variables which makes
        some compilers complaint when compiling with -Werror.

        Improved performance on all platforms.


2010-06-02: Version 2.2.14

        Fixed a crash in code generated for String.charCodeAt.

        Fixed a compilation issue with some GCC versions (issue 727).

        Performance optimizations on x64 and ARM platforms.


2010-05-31: Version 2.2.13

        Implemented Object.getOwnPropertyDescriptor for element indices and
        strings (issue 599).

        Fixed bug for windows 64 bit C calls from generated code.

        Added new scons flag unalignedaccesses for arm builds.

        Performance improvements on all platforms.


2010-05-26: Version 2.2.12

        Allowed accessors to be defined on objects rather than just object
        templates.

        Changed the ScriptData API.


2010-05-21: Version 2.2.11

        Fixed crash bug in liveedit on 64 bit.

        Use 'full compiler' when debugging is active.  This should increase
        the density of possible break points, making single step more fine
        grained.  This will only take effect for functions compiled after
        debugging has been started, so recompilation of all functions is
        required to get the full effect.  IA32 and x64 only for now.

        Misc. fixes to the Solaris build.

        Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.

        Added filtering of CPU profiles by security context.

        Fixed crash bug on ARM when running without VFP2 or VFP3.

        Incremental performance improvements in all backends.


2010-05-17: Version 2.2.10

        Performance improvements in the x64 and ARM backends.


2010-05-10: Version 2.2.9

        Allowed Object.create to be called with a function (issue 697).

        Fixed bug with Date.parse returning a non-NaN value when called on a
        non date string (issue 696).

        Allowed unaligned memory accesses on ARM targets that support it (by
        Subrato K De of CodeAurora <subratokde@codeaurora.org>).

        C++ API for retrieving JavaScript stack trace information.


2010-05-05: Version 2.2.8

        Performance improvements in the x64 and ARM backends.


2010-05-03: Version 2.2.7

        Added support for ES5 date time string format to Date.parse.

        Performance improvements in the x64 backend.


2010-04-28: Version 2.2.6

        Added "amd64" as recognized architecture in scons build script
        (by Ryan Dahl <coldredlemur@gmail.com>).

        Fixed bug in String search and replace with very simple RegExps.

        Fixed bug in RegExp containing "\b^".

        Performance improvements on all platforms.


2010-04-26: Version 2.2.5

        Various performance improvements (especially for ARM and x64)

        Fixed bug in CPU profiling (http://crbug.com/42137)

        Fixed a bug with the natives cache.

        Fixed two bugs in the ARM code generator that can cause
        wrong calculations.

        Fixed a bug that may cause a wrong result for shift operations.


2010-04-21: Version 2.2.4

        Fixed warnings on arm on newer GCC versions.

        Fixed a number of minor bugs.

        Performance improvements on all platforms.


2010-04-14: Version 2.2.3

        Added stack command and mem command to ARM simulator debugger.

        Fixed scons snapshot and ARM build, and Windows X64 build issues.

        Performance improvements on all platforms.


2010-04-12: Version 2.2.2

        Introduced new profiler API.

        Fixed random number generator to produce full 32 random bits.


2010-04-06: Version 2.2.1

        Debugger improvements.

        Fixed minor bugs.


2010-03-29: Version 2.2.0

        Fixed a few minor bugs.

        Performance improvements for string operations.


2010-03-26: Version 2.1.10

        Fixed scons build issues.

        Fixed a couple of minor bugs.


2010-03-25: Version 2.1.9

        Added API support for reattaching a global object to a context.

        Extended debugger API with access to the internal debugger context.

        Fixed Chromium crashes (issues http://crbug.com/39128 and
        http://crbug.com/39160)


2010-03-24: Version 2.1.8

        Added fine-grained garbage collection callbacks to the API.

        Performance improvements on all platforms.


2010-03-22: Version 2.1.7

        Fixed issue 650.

        Fixed a bug where __proto__ was sometimes enumerated (issue 646).

        Performance improvements for arithmetic operations.

        Performance improvements for string operations.

        Print script name and line number information in stack trace.


2010-03-17: Version 2.1.6

        Performance improvements for arithmetic operations.

        Performance improvements for string operations.


2010-03-10: Version 2.1.4

        Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).

        Performance improvements on all platforms.


2010-03-10: Version 2.1.3

        Added API method for context-disposal notifications.

        Added API method for accessing elements by integer index.

        Added missing implementation of Uint32::Value and Value::IsUint32
        API methods.

        Added IsExecutionTerminating API method.

        Disabled strict aliasing for GCC 4.4.

        Fixed string-concatenation bug (issue 636).

        Performance improvements on all platforms.


2010-02-23: Version 2.1.2

        Fixed a crash bug caused by wrong assert.

        Fixed a bug with register names on 64-bit V8 (issue 615).

        Performance improvements on all platforms.


2010-02-19: Version 2.1.1

        [ES5] Implemented Object.defineProperty.

        Improved profiler support.

        Added SetPrototype method in the public V8 API.

        Added GetScriptOrigin and GetScriptLineNumber methods to Function
        objects in the API.

        Performance improvements on all platforms.


2010-02-03: Version 2.1.0

        Values are now always wrapped in objects when used as a receiver.
        (issue 223).

        [ES5] Implemented Object.getOwnPropertyNames.

        [ES5] Restrict JSON.parse to only accept strings that conforms to the
        JSON grammar.

        Improvement of debugger agent (issue 549 and 554).

        Fixed problem with skipped stack frame in profiles (issue 553).

        Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
        <ry@tinyclouds.org>.

        Fixed a bug that Math.round() returns incorrect results for huge
        integers.

        Fixed enumeration order for objects created from some constructor
        functions (isue http://crbug.com/3867).

        Fixed arithmetic on some integer constants (issue 580).

        Numerous performance improvements including porting of previous IA-32
        optimizations to x64 and ARM architectures.


2010-01-14: Version 2.0.6

        Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
        GetOwnProperty, FromPropertyDescriptor.

        Fixed Mac x64 build errors.

        Improved performance of some math and string operations.

        Improved performance of some regexp operations.

        Improved performance of context creation.

        Improved performance of hash tables.


2009-12-18: Version 2.0.5

        Extended to upper limit of map space to allow for 7 times as many map
        to be allocated (issue 524).

        Improved performance of code using closures.

        Improved performance of some binary operations involving doubles.


2009-12-16: Version 2.0.4

        Added ECMAScript 5 Object.create.

        Improved performance of Math.max and Math.min.

        Optimized adding of strings on 64-bit platforms.

        Improved handling of external strings by using a separate table
        instead of weak handles.  This improves garbage collection
        performance and uses less memory.

        Changed code generation for object and array literals in toplevel
        code to be more compact by doing more work in the runtime.

        Fixed a crash bug triggered when garbage collection happened during
        generation of a callback load inline cache stub.

        Fixed crash bug sometimes triggered when local variables shadowed
        parameters in functions that used the arguments object.


2009-12-03: Version 2.0.3

        Optimized handling and adding of strings, for-in and Array.join.

        Heap serialization is now non-destructive.

        Improved profiler support with information on time spend in C++
        callbacks registered through the API.

        Added commands to the debugger protocol for starting/stopping
        profiling.

        Enabled the non-optimizing compiler for top-level code.

        Changed the API to only allow strings to be set as data objects on
        Contexts and scripts to avoid potentially keeping global objects
        around for too long (issue 528).

        OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.

        Fixed bugs.


2009-11-24: Version 2.0.2

        Improved profiler support.

        Fixed bug that broke compilation of d8 with readline support.


2009-11-20: Version 2.0.1

        Fixed crash bug in String.prototype.replace.

        Reverted a change which caused Chromium interactive ui test
        failures.


2009-11-18: Version 2.0.0

        Added support for VFP on ARM.

        Added TryCatch::ReThrow method to the API.

        Reduced the size of snapshots and improved the snapshot load time.

        Improved heap profiler support.

        64-bit version now supported on Windows.

        Fixed a number of debugger issues.

        Fixed bugs.


2009-10-29: Version 1.3.18

        Reverted a change which caused crashes in RegExp replace.

        Reverted a change which caused Chromium ui_tests failure.


2009-10-28: Version 1.3.17

        Added API method to get simple heap statistics.

        Improved heap profiler support.

        Fixed the implementation of the resource constraint API so it
        works when using snapshots.

        Fixed a number of issues in the Windows 64-bit version.

        Optimized calls to API getters.

        Added valgrind notification on code modification to the 64-bit version.

        Fixed issue where we logged shared library addresses on Windows at
        startup and never used them.


2009-10-16: Version 1.3.16

        X64: Convert smis to holding 32 bits of payload.

        Introduced v8::Integer::NewFromUnsigned method.

        Added missing null check in Context::GetCurrent.

        Added trim, trimLeft and trimRight methods to String
        Patch by Jan de Mooij <jandemooij@gmail.com>

        Implement ES5 Array.isArray
        Patch by Jan de Mooij <jandemooij@gmail.com>

        Skip access checks for hidden properties.

        Added String::Concat(Handle<String> left, Handle<String> right) to the
        V8 API.

        Fixed GYP-based builds of V8.


2009-10-07: Version 1.3.15

        Expanded the maximum size of the code space to 512MB for 64-bit mode.

        Fixed a crash bug happening when starting profiling (issue
        http://crbug.com/23768).


2009-10-07: Version 1.3.14

        Added GetRealNamedProperty to the API to lookup real properties
        located on the object or in the prototype chain skipping any
        interceptors.

        Fixed the stack limits setting API to work correctly with threads. The
        stack limit now needs to be set to each thread thich is used with V8.

        Removed the high-priority flag from IdleNotification()

        Ensure V8 is initialized before locking and unlocking threads.

        Implemented a new JavaScript minifier for compressing the source of
        the built-in JavaScript. This removes non-Open Source code from Douglas
        Crockford from the project.

        Added a missing optimization in StringCharAt.

        Fixed some flaky socket tests.

        Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
        in 64-bit mode.

        Fixed memory leaks in the thread management code.

        Fixed the result of assignment to a pixel array. The assigned value
        is now the result.

        Error reporting for invalid left-hand sides in for-in statements, pre-
        and postfix count expressions, and assignments now matches the JSC
        behavior in Safari 4.

        Follow the spec in disallowing function declarations without a name.

        Always allocate code objects within a 2 GB range. On x64 architecture
        this is used to use near calls (32-bit displacement) in Code objects.

        Optimized array construction ported to x64 and ARM architectures.

        [ES5] Changed Object.keys to return strings for element indices.


2009-09-23: Version 1.3.13

        Fixed uninitialized memory problem.

        Improved heap profiler support.


2009-09-22: Version 1.3.12

        Changed behavior of |function|.toString() on built-in functions to
        be compatible with other implementations.  Patch by Jan de Mooij.

        Added Object::IsDirty in the API.

        Optimized array construction; it is now handled purely in native
        code.

        [ES5] Made properties of the arguments array enumerable.

        [ES5] Added test suite adapter for the es5conform test suite.

        [ES5] Added Object.keys function.


2009-09-15: Version 1.3.11

        Fixed crash in error reporting during bootstrapping.

        Optimized generated IA32 math code by using SSE2 instructions when
        available.

        Implemented missing pieces of debugger infrastructure on ARM.  The
        debugger is now fully functional on ARM.

        Made 'hidden' the default visibility for gcc.


2009-09-09: Version 1.3.10

        Fixed profiler on Mac in 64-bit mode.

        Optimized creation of objects from simple constructor functions on
        ARM.

        Fixed a number of debugger issues.

        Reduced the amount of memory consumed by V8.


2009-09-02: Version 1.3.9

        Optimized stack guard checks on ARM.

        Optimized API operations by inlining more in the API.

        Optimized creation of objects from simple constructor functions.

        Enabled a number of missing optimizations in the 64-bit port.

        Implemented native-code support for regular expressions on ARM.

        Stopped using the 'sahf' instruction on 64-bit machines that do
        not support it.

        Fixed a bug in the support for forceful termination of JavaScript
        execution.


2009-08-26: Version 1.3.8

        Changed the handling of idle notifications to allow idle
        notifications when V8 has not yet been initialized.

        Fixed ARM simulator compilation problem on Windows.


2009-08-25: Version 1.3.7

        Reduced the size of generated code on ARM platforms by reducing
        the size of constant pools.

        Changed build files to not include the 'ENV' user environment
        variable in the build environment.

        Changed the handling of idle notifications.


2009-08-21: Version 1.3.6

        Added support for forceful termination of JavaScript execution.

        Added low memory notification to the API. The embedding host can signal
        a low memory situation to V8.

        Changed the handling of global handles (persistent handles in the API
        sense) to avoid issues regarding allocation of new global handles
        during weak handle callbacks.

        Changed the growth policy of the young space.

        Fixed a GC issue introduced in version 1.3.5.


2009-08-19: Version 1.3.5

        Optimized initialization of some arrays in the builtins.

        Fixed mac-nm script to support filenames with spaces.

        Support for using the V8 profiler when V8 is embedded in a Windows DLL.

        Changed typeof RegExp from 'object' to 'function' for compatibility.
        Fixed bug where regexps were not callable across contexts.

        Added context independent script compilation to the API.

        Added API call to get the stack trace for an exception.

        Added API for getting object mirrors.

        Made sure that SSE3 instructions are used whenever possible even when
        running off a snapshot generated without using SSE3 instructions.

        Tweaked the handling of the initial size and growth policy of the heap.

        Added native code generation for RegExp to 64-bit version.

        Added JavaScript debugger support to 64-bit version.


2009-08-13: Version 1.3.4

        Added a readline() command to the d8 shell.

        Fixed bug in json parsing.

        Added idle notification to the API and reduced memory on idle
        notifications.


2009-08-12: Version 1.3.3

        Fixed issue 417: incorrect %t placeholder expansion.

        Added .gitignore file similar to Chromium's one.

        Fixed SConstruct file to build with new logging code for Android.

        API: added function to find instance of template in prototype
        chain.  Inlined Object::IsInstanceOf.

        Land change to notify valgrind when we modify code on x86.

        Added api call to determine whether a string can be externalized.

        Added a write() command to d8.


2009-08-05: Version 1.3.2

        Started new compiler infrastructure for two-pass compilation using a
        control flow graph constructed from the AST.

        Profiler stack sampling for X64.

        Safe handling of NaN to Posix platform-dependent time functions.

        Added a new profiler control API to unify controlling various aspects
        of profiling.

        Fixed issue 392.


2009-07-30: Version 1.3.1

        Speed improvements to accessors and interceptors.

        Added support for capturing stack information on custom errors.

        Added support for morphing an object into a pixel array where its
        indexed properties are stored in an external byte array. Values written
        are always clamped to the 0..255 interval.

        Profiler on x64 now handles C/C++ functions from shared libraries.

        Changed the debugger to avoid stepping into function.call/apply if the
        function is a built-in.

        Initial implementation of constructor heap profile for JS objects.

        More fine grained control of profiling aspects through the API.

        Optimized the called as constructor check for API calls.


2009-07-27: Version 1.3.0

        Allowed RegExp objects to be called as functions (issue 132).

        Fixed issue where global property cells would escape after
        detaching the global object; see http://crbug.com/16276.

        Added support for stepping into setters and getters in the
        debugger.

        Changed the debugger to avoid stopping in its own JavaScript code
        and in the code of built-in functions.

        Fixed issue 345 by avoiding duplicate escaping labels.

        Fixed ARM code generator crash in short-circuited boolean
        expressions and added regression tests.

        Added an external allocation limit to avoid issues where small V8
        objects would hold on to large amounts of external memory without
        causing garbage collections.

        Finished more of the inline caching stubs for x64 targets.


2009-07-13: Version 1.2.14

        Added separate paged heap space for global property cells and
        avoid updating the write barrier when storing into them.

        Improved peep-hole optimization on ARM platforms by not emitting
        unnecessary debug information.

        Re-enabled ICs for loads and calls that skip a global object
        during lookup through the prototype chain.

        Allowed access through global proxies to use ICs.

        Fixed issue 401.


2009-07-09: Version 1.2.13

        Fixed issue 397, issue 398, and issue 399.

        Added support for breakpoint groups.

        Fixed bugs introduced with the new global object representation.

        Fixed a few bugs in the ARM code generator.


2009-07-06: Version 1.2.12

        Added stack traces collection to Error objects accessible through
        the e.stack property.

        Changed RegExp parser to use a recursive data structure instead of
        stack-based recursion.

        Optimized Date object construction and string concatenation.

        Improved performance of div, mod, and mul on ARM platforms.


2009-07-02: Version 1.2.11

        Improved performance on IA-32 and ARM.

        Fixed profiler sampler implementation on Mac OS X.

        Changed the representation of global objects to improve
        performance of adding a lot of new properties.


2009-06-29: Version 1.2.10

        Improved debugger support.

        Fixed bug in exception message reporting (issue 390).

        Improved overall performance.


2009-06-23: Version 1.2.9

        Improved math performance on ARM.

        Fixed profiler name-inference bug.

        Fixed handling of shared libraries in the profiler tick processor
        scripts.

        Fixed handling of tests that time out in the test scripts.

        Fixed compilation on MacOS X version 10.4.

        Fixed two bugs in the regular expression engine.

        Fixed a bug in the string type inference.

        Fixed a bug in the handling of 'constant function' properties.

        Improved overall performance.


2009-06-16: Version 1.2.8

        Optimized math on ARM platforms.

        Fixed two crash bugs in the handling of getters and setters.

        Improved the debugger support by adding scope chain information.

        Improved the profiler support by compressing log data transmitted
        to clients.

        Improved overall performance.


2009-06-08: Version 1.2.7

        Improved debugger and profiler support.

        Reduced compilation time by improving the handling of deferred
        code.

        Optimized interceptor accesses where the property is on the object
        on which the interceptors is attached.

        Fixed compilation problem on GCC 4.4 by changing the stack
        alignment to 16 bytes.

        Fixed handle creation to follow stric aliasing rules.

        Fixed compilation on FreeBSD.

        Introduced API for forcing the deletion of a property ignoring
        interceptors and attributes.


2009-05-29: Version 1.2.6

        Added a histogram recording hit rates at different levels of the
        compilation cache.

        Added stack overflow check for the RegExp analysis phase. Previously a
        very long regexp graph could overflow the stack with recursive calls.

        Use a dynamic buffer when collecting log events in memory.

        Added start/stop events to the profiler log.

        Fixed infinite loop which could happen when setting a debug break while
        executing a RegExp compiled to native code.

        Fixed handling of lastIndexOf called with negative index (issue 351).

        Fixed irregular crash in profiler test (issue 358).

        Fixed compilation issues with some versions of gcc.


2009-05-26: Version 1.2.5

        Fixed bug in initial boundary check for Boyer-Moore text
        search (issue 349).

        Fixed compilation issues with MinGW and gcc 4.3+ and added support
        for armv7 and cortex-a8 architectures.  Patches by Lei Zhang and
        Craig Schlenter.

        Added a script cache to the debugger.

        Optimized compilation performance by improving internal data
        structures and avoiding expensive property load optimizations for
        code that's infrequently executed.

        Exposed the calling JavaScript context through the static API
        function Context::GetCalling().


2009-05-18: Version 1.2.4

        Improved performance of floating point number allocation for ARM
        platforms.

        Fixed crash when using the instanceof operator on functions with
        number values in their prototype chain (issue 341).

        Optimized virtual frame operations in the code generator to speed
        up compilation time and allocated the frames in the zone.

        Made the representation of virtual frames and jump targets in the
        code generator much more compact.

        Avoided linear search for non-locals in scope code when resolving
        variables inside with and eval scopes.

        Optimized lexical scanner by dealing with whitespace as part of
        the token scanning instead of as a separate step before it.

        Changed the scavenging collector so that promoted objects do not
        reside in the old generation while their remembered set is being
        swept for pointers into the young generation.

        Fixed numeric overflow handling when compiling count operations.


2009-05-11: Version 1.2.3

        Fixed bug in reporting of out-of-memory situations.

        Introduced hidden prototypes on certain builtin prototype objects
        such as String.prototype to emulate JSC's behavior of restoring
        the original function when deleting functions from those prototype
        objects.

        Fixed crash bug in the register allocator.


2009-05-04: Version 1.2.2

        Fixed bug in array sorting for sparse arrays (issue 326).

        Added support for adding a soname when building a shared library
        on Linux (issue 151).

        Fixed bug caused by morphing internal ASCII strings to external
        two-byte strings.  Slices over ASCII strings have to forward ASCII
        checks to the underlying buffer string.

        Allowed API call-as-function handlers to be called as
        constructors.

        Fixed a crash bug where an external string was disposed but a
        slice of the external string survived as a symbol.


2009-04-27: Version 1.2.1

        Added EcmaScript 5 JSON object.

        Fixed bug in preemption support on ARM.


2009-04-23: Version 1.2.0

        Optimized floating-point operations on ARM.

        Added a number of extensions to the debugger API.

        Changed the enumeration order for unsigned integer keys to always
        be numerical order.

        Added a "read" extension to the shell sample.

        Added support for Array.prototype.reduce and
        Array.prototype.reduceRight.

        Added an option to the SCons build to control Microsoft Visual C++
        link-time code generation.

        Fixed a number of bugs (in particular issue 315, issue 316,
        issue 317 and issue 318).


2009-04-15: Version 1.1.10

        Fixed crash bug that occurred when loading a const variable in the
        presence of eval.

        Allowed using with and eval in registered extensions in debug mode
        by fixing bogus assert.

        Fixed the source position for function returns to enable the
        debugger to break there.


2009-04-14: Version 1.1.9

        Made the stack traversal code in the profiler robust by avoiding
        to look into the heap.

        Added name inferencing for anonymous functions to facilitate
        debugging and profiling.

        Re-enabled stats timers in the developer shell (d8).

        Fixed issue 303 by avoiding to shortcut cons-symbols.


2009-04-11: Version 1.1.8

        Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).

        Fixed step-in handling for Function.prototype.apply and call in
        the debugger (issue 269).

        Fixed v8::Object::DeleteHiddenValue to not bail out when there
        are no hidden properties.

        Added workaround for crash bug, where external symbol table
        entries with deleted resources would lead to NPEs when looking
        up in the symbol table.


2009-04-07: Version 1.1.7

        Added support for easily importing additional environment
        variables into the SCons build.

        Optimized strict equality checks.

        Fixed crash in indexed setters on objects without a corresponding
        getter (issue 298).

        Re-enabled script compilation cache.


2009-04-01: Version 1.1.6

        Reverted an unsafe code generator change.


2009-04-01: Version 1.1.5

        Fixed bug that caused function literals to not be optimized as
        much as other functions.

        Improved profiler support.

        Fixed a crash bug in connection with debugger unloading.

        Fixed a crash bug in the code generator caused by losing the
        information that a frame element was copied.

        Fixed an exception propagation bug that could cause non-null
        return values when exceptions were thrown.


2009-03-30: Version 1.1.4

        Optimized String.prototype.match.

        Improved the stack information in profiles.

        Fixed bug in ARM port making it possible to compile the runtime
        system for thumb mode again.

        Implemented a number of optimizations in the code generator.

        Fixed a number of memory leaks in tests.

        Fixed crash bug in connection with script source code and external
        strings.


2009-03-24: Version 1.1.3

        Fixed assertion failures in compilation of loop conditions.

        Removed STL dependency from developer shell (d8).

        Added infrastructure for protecting the V8 heap from corruption
        caused by memory modifications from the outside.


2009-03-24: Version 1.1.2

        Improved frame merge code generated by the code generator.

        Optimized String.prototype.replace.

        Implemented __defineGetter__ and __defineSetter__ for properties
        with integer keys on non-array objects.

        Improved debugger and profiler support.

        Fixed a number of portability issues to allow compilation for
        smaller ARM devices.

        Exposed object cloning through the API.

        Implemented hidden properties.  This is used to expose an identity
        hash for objects through the API.

        Implemented restarting of regular expressions if their input
        string changes representation during preemption.

        Fixed a code generator bug that could cause assignments in loops
        to be ignored if using continue to break out of the loop (issue
        284).


2009-03-12: Version 1.1.1

        Fixed an assertion in the new compiler to take stack overflow
        exceptions into account.

        Removed exception propagation code that could cause crashes.

        Fixed minor bug in debugger line number computations.

        8-byte align the C stack on Linux and Windows to speed up floating
        point computations.


2009-03-12: Version 1.1.0

        Improved code generation infrastructure by doing simple register
        allocation and constant folding and propagation.

        Optimized regular expression matching by avoiding to create
        intermediate string arrays and by flattening nested array
        representations of RegExp data.

        Traverse a few stack frames when recording profiler samples to
        include partial call graphs in the profiling output.

        Added support for using OProfile to profile generated code.

        Added remote debugging support to the D8 developer shell.

        Optimized creation of nested literals like JSON objects.

        Fixed a bug in garbage collecting unused maps and turned it on by
        default (--collect-maps).

        Added support for running tests under Valgrind.


2009-02-27: Version 1.0.3

        Optimized double-to-integer conversions in bit operations by using
        SSE3 instructions if available.

        Optimized initialization sequences that store to multiple
        properties of the same object.

        Changed the D8 debugger frontend to use JSON messages.

        Force garbage collections when disposing contexts.

        Align code objects at 32-byte boundaries.


2009-02-25: Version 1.0.2

        Improved profiling support by performing simple call stack
        sampling for ticks and by fixing a bug in the logging of code
        addresses.

        Fixed a number of debugger issues.

        Optimized code that uses eval.

        Fixed a couple of bugs in the regular expression engine.

        Reduced the size of generated code for certain regular expressions.

        Removed JSCRE completely.

        Fixed issue where test could not be run if there was a dot in the
        checkout path.


2009-02-13: Version 1.0.1

        Fixed two crash-bugs in irregexp (issue 231 and 233).

        Fixed a number of minor bugs (issue 87, 227 and 228).

        Added support for morphing strings to external strings on demand
        to avoid having to create copies in the embedding code.

        Removed experimental support for external symbol callbacks.


2009-02-09: Version 1.0.0

        Fixed crash-bug in the code generation for case independent 16 bit
        backreferences.

        Made shells more robust in the presence of string conversion
        failures (issue 224).

        Fixed a potential infinite loop when attempting to resolve
        eval (issue 221).

        Miscellaneous fixes to the new regular expression engine.

        Reduced binary by stripping unneeded text from JavaScript library and
        minifying some JavaScript files.


2009-01-27: Version 0.4.9

        Enabled new regular expression engine.

        Made a number of changes to the debugger protocol.

        Fixed a number of bugs in the preemption support.

        Added -p option to the developer shell to run files in parallel
        using preemption.

        Fixed a number of minor bugs (including issues 176, 187, 189, 192,
        193, 198 and 201).

        Fixed a number of bugs in the serialization/deserialization
        support for the ARM platform.


2009-01-19: Version 0.4.8.1

        Minor patch to debugger support.


2009-01-16: Version 0.4.8

        Fixed string length bug on ARM (issue 171).

        Made most methods in the API const.

        Optimized object literals by improving data locality.

        Fixed bug that caused incomplete functions to be cached in case of
        stack overflow exceptions.

        Fixed bugs that caused catch variables and variables introduced by
        eval to behave incorrectly when using accessors (issues 186, 190
        and 191).


2009-01-06: Version 0.4.7

        Minor bugfixes and optimizations.

        Added command line debugger to D8 shell.

        Fixed subtle bug that caused the wrong 'this' to be used when
        calling a caught function in a catch clause.

        Inline array loads within loops directly in the code instead of
        always calling a stub.


2008-12-11: Version 0.4.6

        Fixed exception reporting bug where certain exceptions were
        incorrectly reported as uncaught.

        Improved the memory allocation strategy used during compilation to
        make running out of memory when compiling huge scripts less
        likely.

        Optimized String.replace by avoiding the construction of certain
        sub strings.

        Fixed bug in code generation for large switch statements on ARM.

        Fixed bug that caused V8 to change the global object template
        passed in by the user.

        Changed the API for creating object groups used during garbage
        collection.  Entire object groups are now passed to V8 instead of
        individual members of the groups.


2008-12-03: Version 0.4.5

        Added experimental API support for allocating V8 symbols as
        external strings.

        Fixed bugs in debugging support on ARM.

        Changed eval implementation to correctly detect whether or not a
        call to eval is aliased.

        Fixed bug caused by a combination of the compilation cache and
        dictionary probing in native code.  The bug caused us to sometimes
        call functions that had not yet been compiled.

        Added platform support for FreeBSD.

        Added support for building V8 on Windows with either the shared or
        static version of MSVCRT

        Added the v8::jscre namespace around the jscre functions to avoid
        link errors (duplicate symbols) when building Google Chrome.

        Added support for calling a JavaScript function with the current
        debugger execution context as its argument to the debugger
        interface.

        Changed the type of names of counters from wchar_t to char.

        Changed the Windows system call used to compute daylight savings
        time.  The system call that we used to use became four times
        slower on WinXP SP3.

        Added support in the d8 developer shell for memory-mapped counters
        and added a stats-viewer tool.

        Fixed bug in upper/lower case mappings (issue 149).


2008-11-17: Version 0.4.4

        Reduced code size by using shorter instruction encoding when
        possible.

        Added a --help option to the shell sample and to the d8 shell.

        Added visual studio project files for building the ARM simulator.

        Fixed a number of ARM simulator issues.

        Fixed bug in out-of-memory handling on ARM.

        Implemented shell support for passing arguments to a script from
        the command line.

        Fixed bug in date code that made certain date functions return -0
        instead of 0 for dates before the epoch.

        Restricted applications of eval so it can only be used in the
        context of the associated global object.

        Treat byte-order marks as whitespace characters.


2008-11-04: Version 0.4.3

        Added support for API accessors that prohibit overwriting by
        accessors defined in JavaScript code by using __defineGetter__ and
        __defineSetter__.

        Improved handling of conditionals in test status files.

        Introduced access control in propertyIsEnumerable.

        Improved performance of some string operations by caching
        information about the type of the string between operations.

        Fixed bug in fast-case code for switch statements that only have
        integer labels.


2008-10-30: Version 0.4.2

        Improved performance of Array.prototype.concat by moving the
        implementation to C++ (issue 123).

        Fixed heap growth policy to avoid growing old space to its maximum
        capacity before doing a garbage collection and fixed issue that
        would lead to artificial out of memory situations (issue 129).

        Fixed Date.prototype.toLocaleDateString to return the date in the
        same format as WebKit.

        Added missing initialization checks to debugger API.

        Added removing of unused maps during GC.


2008-10-28: Version 0.4.1

        Added caching of RegExp data in compilation cache.

        Added Visual Studio project file for d8 shell.

        Fixed function call performance regression introduced in version
        0.4.0 when splitting the global object in two parts (issue 120).

        Fixed issue 131 by checking for empty handles before throwing and
        reporting exceptions.


2008-10-23: Version 0.4.0

        Split the global object into two parts: The state holding global
        object and the global object proxy.

        Fixed bug that affected the value of an assignment to an element
        in certain cases (issue 116).

        Added GetPropertyNames functionality (issue 33) and extra Date
        functions (issue 77) to the API.

        Changed WeakReferenceCallback to take a Persistent<Value> instead
        of a Persistent<Object> (issue 101).

        Fixed issues with message reporting for exceptions in try-finally
        blocks (issues 73 and 75).

        Optimized flattening of strings and string equality checking.

        Improved Boyer-Moore implementation for faster indexOf operations.

        Added development shell (d8) which includes counters and
        completion support.

        Fixed problem with the receiver passed to functions called from
        eval (issue 124).


2008-10-16: Version 0.3.5

        Improved string hash-code distribution by excluding bit-field bits
        from the hash-code.

        Changed string search algorithm used in indexOf from KMP to
        Boyer-Moore.

        Improved the generated code for the instanceof operator.

        Improved performance of slow-case string equality checks by
        specializing the code based on the string representation.

        Improve the handling of out-of-memory situations (issue 70).

        Improved performance of strict equality checks.

        Improved profiler output to make it easier to see anonymous
        functions.

        Improved performance of slow-case keyed loads.

        Improved property access performance by allocating a number of
        properties in the front object.

        Changed the toString behavior on the built-in object constructors
        to print [native code] instead of the actual source.  Some web
        applications do not like constructors with complex toString
        results.


2008-10-06: Version 0.3.4

        Changed Array.prototype.sort to use quick sort.

        Fixed code generation issue where leaving a finally block with
        break or continue would accumulate elements on the expression
        stack (issue 86).

        Made sure that the name accessor on functions returns the expected
        names for builtin JavaScript functions and C++ callback functions.

        Added fast case code for extending the property storage array of
        JavaScript objects.

        Ported switch statement optimizations introduced in version 0.3.3
        to the ARM code generator.

        Allowed GCC to use strict-aliasing rules when compiling.

        Improved performance of arguments object allocation by taking care
        of arguments adaptor frames in the generated code.

        Updated the V8 benchmark suite to version 2.


2008-09-25: Version 0.3.3

        Improved handling of relocation information to enable more
        peep-hole optimizations.

        Optimized switch statements where all labels are constant small
        integers.

        Optimized String.prototype.indexOf for common cases.

        Fixed more build issues (issue 80).

        Fixed a couple of profiler issues.

        Fixed bug where the body of a function created using the Function
        constructor was not allowed to end with a single-line comment
        (issue 85).

        Improved handling of object literals by canonicalizing object
        literal maps.  This will allow JSON objects with the same set of
        properties to share the same map making inline caching work better
        for JSON objects.


2008-09-17: Version 0.3.2

        Generalized the EvalCache into a CompilationCache and enabled it
        for scripts too.  The current strategy is to retire all entries
        whenever a mark-sweep collection is started.

        Fixed bug where switch statements containing only a default case
        would lead to an unbalanced stack (issue 69).

        Fixed bug that made access to the function in a named function
        expression impossible in certain situations (issue 24).

        Fixed even more build issues.

        Optimized calling conventions on ARM.  The conventions on ARM and
        IA-32 now match.

        Removed static initializers for flags and counters.

        Improved inline caching behavior for uncommon cases where lazily
        loading Date and RegExp code could force certain code paths go
        megamorphic.

        Removed arguments adaption for builtins written in C++.  This
        makes Array.prototype.push and Array.prototype.pop slightly
        faster.


2008-09-11: Version 0.3.1

        Fixed a number of build issues.

        Fixed problem with missing I-cache flusing on ARM.

        Changed space layout in memory management by splitting up
        code space into old data space and code space.

        Added utf-8 conversion support to the API (issue 57).

        Optimized repeated calls to eval with the same strings.  These
        repeated calls are common in web applications.

        Added Xcode project file.

        Optimized a couple of Array operation.

        Fixed parser bug by checking for end-of-string when parsing break
        and continue (issue 35).

        Fixed problem where asian characters were not categorized as
        letters.

        Fixed bug that disallowed calling functions fetched from an array
        using a string as an array index (issue 32).

        Fixed bug where the internal field count on object templates were
        sometimes ignored (issue 54).

        Added -f option to the shell sample for compatibility with other
        engines (issue 18).

        Added source info to TryCatches in the API.

        Fixed problem where the seed for the random number generator was
        clipped in a double to unsigned int conversion.

        Fixed bug where cons string symbols were sometimes converted to
        non-symbol flat strings during GC.

        Fixed bug in error reporting when attempting to convert null to an
        object.


2008-09-04: Version 0.3.0

        Added support for running tests on the ARM simulator.

        Fixed bug in the 'in' operator where negative indices were not
        treated correctly.

        Fixed build issues on gcc-4.3.1.

        Changed Date.prototype.toLocaleTimeString to not print the
        timezone part of the time.

        Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
        with user code.


2008-09-02: Version 0.2.5

        Renamed the top level directory 'public' to 'include'.

        Added 'env' option to the SCons build scripts to support
        overriding the ENV part of the build environment.  This is mostly
        to support Windows builds in cases where SCons cannot find the
        correct paths to the Windows SDK, as these paths cannot be passed
        through shell environment variables.

        Enabled "Buffer Security Check" on for the Windows SCons build and
        added the linker option /OPT:ICF as an optimization.

        Added the V8 benchmark suite to the repository.


2008-09-01: Version 0.2.4

        Included mjsunit JavaScript test suite and C++ unit tests.

        Changed the shell sample to not print the result of executing a
        script provided on the command line.

        Fixed issue when building samples on Windows using a shared V8
        library.  Added visibility option on Linux build which makes the
        generated library 18% smaller.

        Changed build system to accept multiple build modes in one build
        and generate separate objects, libraries and executables for each
        mode.

        Removed deferred negation optimization (a * -b => -(a * b)) since
        this visibly changes operand conversion order.

        Improved parsing performance by introducing stack guard in
        preparsing.  Without a stack guard preparsing always bails out
        with stack overflow.

        Changed shell sample to take flags directly from the command-line.
        Added API call that implements this.

        Added load, quit and version functions to the shell sample so it's
        easier to run benchmarks and tests.

        Fixed issue with building samples and cctests on 64-bit machines.

        Fixed bug in the runtime system where the prototype chain was not
        always searched for a setter when setting a property that does not
        exist locally.


2008-08-14: Version 0.2.3

        Improved performance of garbage collection by moving the
        function that updates pointers during compacting collection
        into the updating visitor.  This gives the compiler a better
        chance to inline and avoid a function call per (potential)
        pointer.

        Extended the shell sample with a --runtime-flags option.

        Added Visual Studio project files for the shell.cc and
        process.cc samples.


2008-08-13: Version 0.2.2

        Improved performance of garbage collection by changing the way
        we use the marking stack in the event of stack overflow during
        full garbage collection and by changing the way we mark roots.

        Cleaned up ARM version by removing top of stack caching and by
        introducing push/pop elimination.

        Cleaned up the way runtime functions are called to allow
        runtime calls with no arguments.

        Changed Windows build options to make sure that exceptions are
        disabled and that optimization flags are enabled.

        Added first version of Visual Studio project files.


2008-08-06: Version 0.2.1

        Improved performance of unary addition by avoiding runtime calls.

        Fixed the handling of '>' and '<=' to use right-to-left conversion
        and left-to-right evaluation as specified by ECMA-262.

        Fixed a branch elimination bug on the ARM platform where incorrect
        code was generated because of overly aggressive branch
        elimination.

        Improved performance of code that repeatedly assigns the same
        function to the same property of different objects with the same
        map.

        Untangled DEBUG and ENABLE_DISASSEMBLER defines.  The disassembler
        no longer expects DEBUG to be defined.

        Added platform-nullos.cc to serve as the basis for new platform
        implementations.


2008-07-30: Version 0.2.0

        Changed all text files to have native svn:eol-style.

        Added a few samples and support for building them. The samples
        include a simple shell that can be used to benchmark and test V8.

        Changed V8::GetVersion to return the version as a string.

        Added source for lazily loaded scripts to snapshots and made
        serialization non-destructive.

        Improved ARM support by fixing the write barrier code to use
        aligned loads and stores and by removing premature locals
        optimization that relied on broken support for callee-saved
        registers (removed).

        Refactored the code for marking live objects during garbage
        collection and the code for allocating objects in paged
        spaces. Introduced an abstraction for the map word of a heap-
        allocated object and changed the memory allocator to allocate
        executable memory only for spaces that may contain code objects.

        Moved StringBuilder to utils.h and ScopedLock to platform.h, where
        they can be used by debugging and logging modules. Added
        thread-safe message queues for dealing with debugger events.

        Fixed the source code reported by toString for certain builtin
        empty functions and made sure that the prototype property of a
        function is enumerable.

        Improved performance of converting values to condition flags in
        generated code.

        Merged disassembler-{arch} files.


2008-07-28: Version 0.1.4

        Added support for storing JavaScript stack traces in a stack
        allocated buffer to make it visible in shallow core dumps.
        Controlled by the --preallocate-message-memory flag which is
        disabled by default.


2008-07-25: Version 0.1.3

        Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
        map transitions would count as properties.

        Allowed aliased eval invocations by treating them as evals in the
        global context. This may change in the future.

        Added support for accessing the last entered context through the
        API and renamed Context::Current to Context::GetCurrent and
        Context::GetSecurityContext to Context::GetCurrentSecurityContext.

        Fixed bug in the debugger that would cause the debugger scripts to
        be recursively loaded and changed all disabling of interrupts to
        be block-structured.

        Made snapshot data read-only to allow it to be more easily shared
        across multiple users of V8 when linked as a shared library.


2008-07-16: Version 0.1.2

        Fixed building on Mac OS X by recognizing i386 and friends as
        IA-32 platforms.

        Added propagation of stack overflow exceptions that occur while
        compiling nested functions.

        Improved debugger with support for recursive break points and
        handling of exceptions that occur in the debugger JavaScript code.

        Renamed GetInternal to GetInternalField and SetInternal to
        SetInternalField in the API and moved InternalFieldCount and
        SetInternalFieldCount from FunctionTemplate to ObjectTemplate.


2008-07-09: Version 0.1.1

        Fixed bug in stack overflow check code for IA-32 targets where a
        non-tagged value in register eax was pushed to the stack.

        Fixed potential quadratic behavior when converting strings to
        numbers.

        Fixed bug where the return value from Object::SetProperty could
        end up being the property holder instead of the written value.

        Improved debugger support by allowing nested break points and by
        dealing with stack-overflows when compiling functions before
        setting break points in them.


2008-07-03: Version 0.1.0

        Initial export.

# Local Variables:
# mode:text
# End:
