Last month we put a news item out about our retention policy. We have decided to start actively enforcing this policy from the 1st of March.
This is needed to maintain proper stability of our services. Each night a 03:00 UTC our server will cleanup any files that are outside of the retention policy.
To be sure we don't lose builds that are needed we have a copy of the current data available. Should you feel like a build (for this first month) has been removed in an incorrect way we can verify our logs and fix any issues that should arise. We have run our cleanup script on a dry run for some period to prevent such errors. Should they occur contact us through IRC.
This version brings some major changes compared to the 0.3.x versions:
- Conversion to python3. The minimum required python version now is python 3.2.
- Rigerous caching of real sprites. This improves encoding speed a lot on subsequent runs, especially for NewGRFs with many real sprites, more so for 32bpp
- Statistics on the NewGRF on used IDs for vehicles, houses, etc as well as available switches, parameters etc
- Feature: [NewGRF] create_effect and effect_spawn_model
- Feature: [NewGRF] EFFECT_SPRITE_NONE constant for create_effect callback
- Feature: [NewGRF] support for OTTD_RECOLOUR action5 sprite(s)
- Feature: [NewGRF] Support for Latin
- Feature: [NewGRF] Variable to test for enabled wagon speed limits. (issue #6474)
- Feature: [NewGRF] Warn about usage of animation and semi-transparent colours, and add spriteset flags to enable/disable the checks. (issue #1085)
- Fix: [NewGRF] Number of vehicles in var 41 is one-based, only var 40 is zero-based.
- Fix: [NewGRF] Patch flags can only be accessed via action 7/9. (issue #6996)
- Fix: [NewGRF] Action7/9 bit tests must use varsize 1.
There's numerous other fixes, changes and additions. For a full changelog, see http://bundles.openttdcoop.org/nml/releases/0.4.0/changelog.txt
Get the latest release version from the bundles server: http://bundles.openttdcoop.org/nml/releases/LATEST/
Note to package maintainers:
- Dependency change: python 3.2+
- Dependency change: preferably use pillow for python3 as imaging library instead of PIL.
- Build requirement change (optional): c compiler needed to build the optional cython module for grf encoding (nml/_lz77.c). It's an optional speed improvement over the python-only implementation.
In recent months the retention policy for builds created by the DevZone's compile farm was rather liberal and all build for every push were kept. However, with the increasing size of NewGRFs (we needed to upgrade the allocated space for builds several times already) we need to go back to the original retention policy:
- The three most recent builds on push will be kept available
- Up to 20 nightly builds will be kept
- All releases (tagged builds) will be kept
Nightlies are not built specifically anymore. But once a day, the build from the most recent push will be promoted to a nightly build.
See also our wiki page at UsingTheCF which documents the data retention policy. If you need one of the old nightly builds or push-builds, then please grab it now. The new build management script will be switched on in the coming days.
Due to the increasing size of some projects we changed some settings in the compile farm itself, in Jenkins so that build results will not be kept any longer on that build server. As previously all build results will always be published to our file server at http://bundles.openttdcoop.org. The results of the latest build can always be found at http://bundles.openttdcoop.org/PROJECTNAME/push/LATEST (where PROJECTNAME is the name as it appears here on the DevZone, which is also part of the repository URLs)
Today Alberth and myself changed the required python version of NML nightly versions and a future NML 0.4.0 to python 3.2 or newer as python2 is slowly phasing out, and also the imaging module is better supported with python3. For some time there will continue be updates to the 0.3 branch as well with an occasional maintenance release, though.
If you're on windows, this is of little consequence to you, we continue to provide an exe file which can be used out-of-box, now based on python 3.3.
If you're on OSX or linux and use nmlc from a repository checkout, you'll want to use the package manager of choice and install python3 and python3-ply and python3-pillow (or called python3-imaging or similar).
If you encounter any problems, please let us know
Also package maintainers may consider to already look into updating their dependency lists accordingly
Alberth & planetmaker
This is a maintenance release for the 0.3 branch of NML.
It brings a few user-visible changes by introducing new variables:
vehicle variable vehicle_is_unloading and object variable nearby_tile_object_view, introduces new string commands CARGO_LONG, CARGO_SHORT and CARGO_TINY and the house callback result CB_RESULT_HOUSE_NO_MORE_PRODUCTION.
Notably for packagers or users of old(er) systems: NML requires python 2.6 or 2.7 henceforth, the support for python 2.5 is dropped. This version also fixes a problem with the reported version in the source tar ball as found in the previous release. Additionally a python-2.7 egg can be downloaded from the bundle site.
Compared to OpenGFX 0.5.0 it fixes a number of issues with packaging.
The source is available as xz-compressed tar archive. You can (again) opt to not install license.txt, readme.txt and changelog.txt via the variables DO_NOT_INSTALL_LICENSE, DO_NOT_INSTALL_README and DO_NOT_INSTALL_CHANGELOG.
Additionally the borked check for the build from tar archives with the checksums (by grfid -m) of the grf files was fixed again.
It's recommended to use NML 0.3.1 in order to build OpenGFX 0.5.1 or the md5sum of the grf files might differ.
The http interface to the repositories is performing currently very badly and either is very slow or not available at all. In order to push to or pull from the repositories currently an ssh access is required. Please see http://dev.openttdcoop.org/projects/home/wiki/Setting_up_SSH_%28Windows%29 on how to obtain a pair of keys. Provide us (either by opening an issue here in the Help Centre, via message at tt-forums.net, e-mail or on IRC) with the public key of yours and change your path in your project's .hg/hgrc to ssh://email@example.com/PROJECTNAME Contact us if you have any questions or issues. See also https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Mercurial and replace step5 by giving the public key of yours to us. Never share the private key with anyone!
We are working on setting up a new http interface and access which should perform much better than the current one.
Sorry for the inconvenience. But I'm confident that the changes we're going to make will be profitable
to Get all Item as Array -> ItemsToArray
to Get all values as Array -> ValuesToArray
to get the pair of [item, value] as array -> toarray
to set the list from array of [item, value] -> AddFromArray
The Christmas release brings you one visible change which will make it easy for trunk users and those of the future OpenTTD 1.3.0-beta1 to get rid of the "missing sprites" warning:
- Feature: GUI sprites for delete buttons introduced in OpenTTD r24749
Note to package maintainers: as this sprite is only used in trunk (and in OpenTTD 1.3.0-beta1 and later), there is no need to update your package, if you ship OpenTTD 1.2 or earlier. You want this, if you want to ship OpenTTD 1.3.0-beta1.
NOTE: You'll also need NML 0.2.5.r2050:7c249349d2a9. As of writing no binary-compatible stable NML release exists for that. I hope we can supply that within the next days.
Also available in: Atom