From 51d34e0acd04c7322a3d4dfcb3e5f67d3e78b15c Mon Sep 17 00:00:00 2001 From: Mark Grainger Date: Mon, 30 May 2022 20:24:55 +0000 Subject: [PATCH 1/2] Fix for V8 timezone notification --- tests/timezones.phpt | 10 ++++------ v8js_v8.cc | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/tests/timezones.phpt b/tests/timezones.phpt index 1d22001..73c7c81 100644 --- a/tests/timezones.phpt +++ b/tests/timezones.phpt @@ -1,8 +1,6 @@ --TEST-- Test V8::executeString() : Check timezone handling --SKIPIF-- -SKIP test currently broken, see #378 - ===EOF=== --EXPECT-- -Thu Mar 20 2014 11:03:24 GMT+0200 (EET) -Thu Mar 20 2014 05:03:24 GMT-0400 (EDT) -Thu Mar 20 2014 11:03:24 GMT+0200 (EET) -===EOF=== +Thu Mar 20 2014 11:03:24 GMT+0200 (Eastern European Standard Time) +Thu Mar 20 2014 05:03:24 GMT-0400 (Eastern Daylight Time) +Thu Mar 20 2014 11:03:24 GMT+0200 (Eastern European Standard Time) +===EOF=== \ No newline at end of file diff --git a/v8js_v8.cc b/v8js_v8.cc index 282cd8d..8d8f99a 100644 --- a/v8js_v8.cc +++ b/v8js_v8.cc @@ -148,7 +148,7 @@ void v8js_v8_call(v8js_ctx *c, zval **return_value, c->tz = strdup(tz); } else if (strcmp(c->tz, tz) != 0) { - c->isolate->DateTimeConfigurationChangeNotification(); + c->isolate->DateTimeConfigurationChangeNotification(v8::Isolate::TimeZoneDetection::kRedetect); free(c->tz); c->tz = strdup(tz); From acd9431ec9d8212f6503490639bc7997c9488c46 Mon Sep 17 00:00:00 2001 From: Stefan Siegl Date: Tue, 31 May 2022 09:10:55 +0200 Subject: [PATCH 2/2] increase minimum V8 version to 7.5 --- README.md | 2 +- config.m4 | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 377ee3e..64182da 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Minimum requirements V8 is written in C++ and is used in Google Chrome, the open source browser from Google. V8 implements ECMAScript as specified in ECMA-262, 5th edition. - This extension requires V8 6.9 (6.9.427.18 is known to work) or higher. + This extension requires V8 7.5 or higher. V8 releases are published rather quickly and the V8 team usually provides security support for the version line shipped with the Chrome browser (stable channel) and newer (only). diff --git a/config.m4 b/config.m4 index 228c9a4..44918de 100644 --- a/config.m4 +++ b/config.m4 @@ -140,8 +140,8 @@ int main () set $ac_cv_v8_version IFS=$ac_IFS V8_API_VERSION=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3` - if test "$V8_API_VERSION" -lt 6009000 ; then - AC_MSG_ERROR([libv8 must be version 6.9 or greater]) + if test "$V8_API_VERSION" -lt 7005000 ; then + AC_MSG_ERROR([libv8 must be version 7.5 or greater]) fi AC_DEFINE_UNQUOTED([PHP_V8_API_VERSION], $V8_API_VERSION, [ ]) AC_DEFINE_UNQUOTED([PHP_V8_VERSION], "$ac_cv_v8_version", [ ])