Page MenuHomePhabricator

Sent out announcement for LuaSandbox 3.0.0 / 3.0.1 release
Closed, DeclinedPublic

Description

Important commits in 3.0.0:

4061be2 Add basic information to README and generate PHP documentation
df0ab7c SECURITY: Reduce precision on os.clock() to mitigate timing attacks
58f3b52 Remove LuaJIT support
122132a Sanify handling of array keys
76122a0 Remove PHP→Lua object conversion

And in 3.0.1:

47ac17d Don't test round-tripping "long" on 32-bit systems

We can also highlight the new wiki page, documentation, and Debian package.

Event Timeline

Which specific changes do you have in mind that are important enough to tell all users?

This task reads "sent out announcement", but doesn't say to who; so I guess users as destinataries of the features, yet as I was unsure, I didn't added the tag.

This is more Developer-notice if anything, I was anticipating sending the email to wikitech-l and mediawiki-l. I don't think it makes sense for Wikimedia users, since nothing will change until T187673, and even then those changes are extremely minor.

Legoktm renamed this task from Sent out announcement for LuaSandbox 3.0 release to Sent out announcement for LuaSandbox 3.0.0 / 3.0.1 release.Mar 7 2018, 4:30 AM
Legoktm updated the task description. (Show Details)

Proposed:

Hi,

LuaSandbox 3.0 has been released. If you're not familiar with it, LuaSandbox is a PHP extension that allows for safe and secure execution of arbitrary Lua code, and is primarily used to power the Scribunto MediaWiki extension. 3.0 supports PHP 5.5-7.2 and HHVM.

As part of this release, LuaSandbox has a new homepage on mediawiki.org[1], and autogenerated documentation is published on doc.wikimedia.org[2].

Instructions on how to build and install LuaSandbox are available[3], and a package is also available for Debian 9 users in the backports repository. It will also be included in the upcoming Ubuntu 18.04 LTS release. On MediaWiki 1.30+, Scribunto will automatically take advantage of LuaSandbox if it is installed.

The only breaking change was the removal of unmaintained and likely unused luajit support. Other changes include:

* Remove PHP→Lua object conversion
* Sanify handling of array keys
* Reduce precision on os.clock() to mitigate potential future timing attacks
* Fix tests on 32-bit systems

[1] https://www.mediawiki.org/wiki/LuaSandbox
[2] https://doc.wikimedia.org/mediawiki-php-luasandbox/master/
[3] https://www.mediawiki.org/wiki/LuaSandbox#Installation

"Remove PHP→Lua object conversion" is a breaking change too.

Seems a bit late to bother with it now, 10 months later.