Skip to content

Commit

Permalink
Merge pull request #2895 from cdonati/1.8.4-sdk
Browse files Browse the repository at this point in the history
Update Python and PHP runtime to 1.8.4 SDK
  • Loading branch information
obino committed Nov 5, 2018
2 parents 1a98475 + 7be9b25 commit 503bea6
Show file tree
Hide file tree
Showing 103 changed files with 3,261 additions and 15,639 deletions.
54 changes: 54 additions & 0 deletions AppServer/RELEASE_NOTES
Expand Up @@ -3,6 +3,60 @@ All rights reserved.

App Engine SDK - Release Notes

Version 1.8.4

All
==============================
- A Datastore Admin fix in this release improves security by ensuring that
scheduled backups can now only be started by a cron or task queue task.
Administrators can still start a backup by going to the Datastore Admin
in the Admin Console.

Python
==============================
- Better support is now provided for the _$folder$ magic cloud storage keyword,
and the implementation of basic mkdir()/rmdir() functionality via GCS
streams.
- This release adds the wrappers @transactional_async and @transactonal_tasklet
to correct (a) @transactional @tasklet being synchronous despite the
decorator, and (b) @tasklet @transactional not running the generator in a
transaction.
https://code.google.com/p/appengine-ndb-experiment/issues/detail?id=195
- Fixed a unicode issue associated with expressions in the Search API. A search
with snippeted fields was failing on documents containing unicode characters.
- Fixed an issue with the dev_appserver not auto-detecting the lib/ directory
in the SDK.
https://code.google.com/p/googleappengine/issues/detail?id=8459
https://code.google.com/p/googleappengine/issues/detail?id=9847
- Fixed an issue where Blobstore usage was being charged even though the
actual data was being stored in Cloud Storage. All affected developers have
been informed and reimbursements are underway.
https://code.google.com/p/googleappengine/issues/detail?id=9659
- Fixed an issue that ensures all .py files in google.appengine.api that are
available in the SDK are also available in the runtime.
https://code.google.com/p/googleappengine/issues/detail?id=9755
- Fixed an issue of warning messages being displayed when running appcfg
update (eg. appcfg.py update . --oauth2) from the 1.8.3 Python SDK. The
appengine_rpc_httplib2 will work without warnings regardless of which
oauth2client library is being used.
https://code.google.com/p/googleappengine/issues/detail?id=9807


PHP
==============================
- The PHP interpreter was upgraded from PHP 5.4.8 to PHP 5.4.17.
- The is_writable() method now supports Google Cloud Storage files and buckets.
- You no longer need to specify the PHP runtime on the command line when
deploying applications via appcfg.py
- Backends are disabled for PHP and are no longer supported with the PHP
runtime.
- Upload of PHP apps now ignores any pre-compilation errors. This allows
precompilation to be disabled on a per-runtime basis, and defaults to
disabled for PHP.
- Fixed an issue where SYSTEMROOT was not passed to the environment checking
script thereby not recognizing the PHP intepreter for Windows in the SDK.
https://code.google.com/p/googleappengine/issues/detail?id=9382

Version 1.8.3

Python
Expand Down
4 changes: 2 additions & 2 deletions AppServer/VERSION
@@ -1,5 +1,5 @@
release: "1.8.3"
timestamp: 1374030712
release: "1.8.4"
timestamp: 1375825037
api_versions: ['1']
supported_api_versions:
python:
Expand Down
31 changes: 22 additions & 9 deletions AppServer/_php_runtime.py
Expand Up @@ -52,15 +52,28 @@ def _get_dir_path(sibling):
Raises:
ValueError: If no proper path could be determined.
"""
py_file = __file__.replace('.pyc', '.py')
dir_paths = [os.path.abspath(os.path.dirname(os.path.realpath(py_file))),
os.path.abspath(os.path.dirname(py_file))]
for dir_path in dir_paths:
sibling_path = os.path.join(dir_path, sibling)
if os.path.exists(sibling_path):
return dir_path
raise ValueError('Could not determine directory that contains both, this '
'file and %s.' % sibling)
if 'GAE_SDK_ROOT' in os.environ:
gae_sdk_root = os.path.abspath(os.environ['GAE_SDK_ROOT'])



os.environ['GAE_SDK_ROOT'] = gae_sdk_root
for dir_path in [gae_sdk_root,
os.path.join(gae_sdk_root, 'google_appengine')]:
if os.path.exists(os.path.join(dir_path, sibling)):
return dir_path
raise ValueError('GAE_SDK_ROOT %r does not refer to a valid SDK '
'directory' % gae_sdk_root)
else:
py_file = __file__.replace('.pyc', '.py')
dir_paths = [os.path.abspath(os.path.dirname(os.path.realpath(py_file))),
os.path.abspath(os.path.dirname(py_file))]
for dir_path in dir_paths:
sibling_path = os.path.join(dir_path, sibling)
if os.path.exists(sibling_path):
return dir_path
raise ValueError('Could not determine SDK root; please set GAE_SDK_ROOT '
'environment variable.')



Expand Down
31 changes: 22 additions & 9 deletions AppServer/_python_runtime.py
Expand Up @@ -52,15 +52,28 @@ def _get_dir_path(sibling):
Raises:
ValueError: If no proper path could be determined.
"""
py_file = __file__.replace('.pyc', '.py')
dir_paths = [os.path.abspath(os.path.dirname(os.path.realpath(py_file))),
os.path.abspath(os.path.dirname(py_file))]
for dir_path in dir_paths:
sibling_path = os.path.join(dir_path, sibling)
if os.path.exists(sibling_path):
return dir_path
raise ValueError('Could not determine directory that contains both, this '
'file and %s.' % sibling)
if 'GAE_SDK_ROOT' in os.environ:
gae_sdk_root = os.path.abspath(os.environ['GAE_SDK_ROOT'])



os.environ['GAE_SDK_ROOT'] = gae_sdk_root
for dir_path in [gae_sdk_root,
os.path.join(gae_sdk_root, 'google_appengine')]:
if os.path.exists(os.path.join(dir_path, sibling)):
return dir_path
raise ValueError('GAE_SDK_ROOT %r does not refer to a valid SDK '
'directory' % gae_sdk_root)
else:
py_file = __file__.replace('.pyc', '.py')
dir_paths = [os.path.abspath(os.path.dirname(os.path.realpath(py_file))),
os.path.abspath(os.path.dirname(py_file))]
for dir_path in dir_paths:
sibling_path = os.path.join(dir_path, sibling)
if os.path.exists(sibling_path):
return dir_path
raise ValueError('Could not determine SDK root; please set GAE_SDK_ROOT '
'environment variable.')



Expand Down
31 changes: 22 additions & 9 deletions AppServer/api_server.py
Expand Up @@ -56,15 +56,28 @@ def get_dir_path(sibling):
Raises:
ValueError: If no proper path could be determined.
"""
py_file = __file__.replace('.pyc', '.py')
dir_paths = [os.path.abspath(os.path.dirname(os.path.realpath(py_file))),
os.path.abspath(os.path.dirname(py_file))]
for dir_path in dir_paths:
sibling_path = os.path.join(dir_path, sibling)
if os.path.exists(sibling_path):
return dir_path
raise ValueError('Could not determine directory that contains both, this '
'file and %s.' % sibling)
if 'GAE_SDK_ROOT' in os.environ:
gae_sdk_root = os.path.abspath(os.environ['GAE_SDK_ROOT'])



os.environ['GAE_SDK_ROOT'] = gae_sdk_root
for dir_path in [gae_sdk_root,
os.path.join(gae_sdk_root, 'google_appengine')]:
if os.path.exists(os.path.join(dir_path, sibling)):
return dir_path
raise ValueError('GAE_SDK_ROOT %r does not refer to a valid SDK '
'directory' % gae_sdk_root)
else:
py_file = __file__.replace('.pyc', '.py')
dir_paths = [os.path.abspath(os.path.dirname(os.path.realpath(py_file))),
os.path.abspath(os.path.dirname(py_file))]
for dir_path in dir_paths:
sibling_path = os.path.join(dir_path, sibling)
if os.path.exists(sibling_path):
return dir_path
raise ValueError('Could not determine SDK root; please set GAE_SDK_ROOT '
'environment variable.')



Expand Down
1 change: 0 additions & 1 deletion AppServer/apiclient/__init__.py

This file was deleted.

0 comments on commit 503bea6

Please sign in to comment.