3.7 is not supported from 31 January. Failure to upgrade appears to result in the inability to push new versions. 3.12 is the latest available Python version for App Engine, and should last the longest.
Tested on DOM-Tutorials and Glockenspiel. No issues there.
The cgi modue disappears in the next version of Python. This PR adds an import of urllib.parse, but that's not a new dependency since cgi already imported it.
Glockenspiel broke due to 'query' now being required within a client context. This change fixed Glockenspiel. Blockly samples doesn't appear to be broken yet, but Glokenspeil broke at midnight yesterday.
Similar change being made to Blockly Games.
* refactor(xml): Move textToDom to core/utils/xml.ts
This function being in core/xml.ts was the cause for the last
remaining circular import in core/ (between variables.ts and
xml.ts).
Moving it to utils/xml.ts makes sense anyway, since there is
nothing Blockly-specific about this function.
Fixes#6817.
* fix(closure): Reenable goog.declareModuleId multiple-call check
Reenable an assertion which check to make sure that
goog.declareModuleId is not called more than once in a module
(and which also catches circular imports amongst ES modules, which
are not detected by closure-make-deps).
* chore(tests,demos): Augo-migrate use of textToDom
Testing the migration file entry by auto-migrating all uses of
Blockly.Xml.textToDom to Blockly.utils.xml.textToDom.
* chore(blocks): Manually migrate remaining use of textToDom
Update the one remaining call to textToDom (in blocks/lists.ts)
to the function's new location - also removing the last use of
the Blockly.Xml / core/xml.ts) module from this file.
* docs(xml): Remove unneeded @alias per comments on PR #6818
* fix(imports): Remove unused import
Logs show about a dozen orgs actively using Blockly instances that are hot-linked to blockly-demo.appspot.com
These files disappeared on 25 November 2022, breaking a bunch of people. This alert should point developers in the right direction.
Our files are up to a decade old, and have churned so much, that the initial author of the file no longer has much meaning.
Furthermore, this will encourage developers to post to the developer group, rather than emailing Googlers (usually me) directly.
* Google changed from an Inc to an LLC.
This happened back in 2017 but we didn’t notice. Officially we should update files from Inc to LLC when they are changed as part of regular edits, but this is a nightmare to remember for the next decade.
* Remove project description/titles from licenses
This is no longer part of Google’s header requirements. Our existing descriptions were useless (“Visual Blocks Editor”) or grossly obselete (“Visual Blocks Language”).
* License no longer requires URL.
* Fix license regexps.
Back-ports from Blockly Games:
* db is old and busted, ndb is the new hotness (there’s no known
difference, just pointless API churn).
* Use SHA1 which is consistent, rather than Python’s hash() which has
started changing between executions. This stops duplicate programs
from being stored.
* Restructure so that storage.py can be used as a library, with
xmlToKey and keyToXml being callable by external programs.
* Use print function compatible with Python 3.
This is based on the JS generator, with a lot of inspiration from Ellen
Spertus's blockly-lua: https://github.com/espertus/blockly-lua
All unit tests pass with Lua 5.3.2.