Maintenance release: Godot 2.1.3 By: Rémi Verschelde

Short of three months after the release of Godot 2.1.2, the community is proud to announce this new maintenance update in the stable branch, Godot 2.1.3!

Due to the long development process of the upcoming Godot 3.0 (see our Devblog for technical posts about its impressive progress), many contributors took a renewed interest in the 2.1 branch. This release therefore brings various new features to GDScript, the editor, some nodes' API – but we tried to ensure that compatibility with earlier 2.1.x releases would be fully preserved.

Download it now, and read on for details on the update!

A big thankyou to all the contributors who worked on this release by implementing bug fixes or features, or testing the changes to spot potential regressions and help debug issues.

As an aside, please note that there is no ETA for the release of Godot 3.0. We still vividly recommend to new and existing users to develop their projects with the stable branch, as the current development branch is not production-ready (and might still see slight compatibility breakages as we continue improving the consistency of its API).

Highlights

Audio: Add priority setting for samples in a library

Audio: Make spatial AudioServers prefer inactive voices instead of unconditionally playing on the next voice slot

Controls: Add ColorFrame control

Controls: Add shape property to TouchScreenButton

Editor: Add contextual create/load script button to the Scene Tree dock

Editor: Implement warped mouse panning for 2D & 3D editors (enabled by default)

Editor: Only assume HiDPI mode if DPI >= 192 and screen width > 2000 (fixes editor starting in excessively upscaled mode on some configurations)

GDScript: Add enumerators (enums)

Nodes: Add ability to change A-star cost function

Nodes: Add modulate (color) to TileSet tiles

Nodes: Add get_used_rect() method to TileMap

method to TileMap iOS: Implement core motion API

Tools: Work in progress (read: buggy, will be improved for Godot 2.1.4) exporter to Godot 3.0 alpha format

About the Godot 2 to 3 converter, please note that it's an early version. It does not modify your scripts, so you will have to do the relevant API changes manually (the debugger will report invalid syntax, and the documentation should help find what the next syntax is). It might also crash on some projects, it was only tested on simple demos so far.

Other notable changes

The full list of changes is of course lengthier, as it contains 201 commits made since 2.1.2-stable (excluding merge commits). Here's a selection of some of the most interesting ones for end users:

Android: Cache DynamicFont resource

Android: Implement gravity vector

Controls: Various fixes and improvements to TouchScreenButton

Editor: Add 'Copy Node Path' action to right mouse menu

Editor: Add option for automatically closing the output when stopping the game

Editor: Don't show lock icons for hidden nodes

Editor: Fixed bug in GDScript autocompletion of the parent class

Editor: Implement single-field property change for multinode edit

Editor: Improve 2D snapping behavior

Editor: Make buttons closer in Scene Tree dock

Editor: Several enhancements for the tile map editor

GUI: Fixes for TouchScreenButton

Input: Update mouse position on touch and release events and mouse button events

iOS: Fix magnetometer

Networking: Many fixes for IPv6 support, HTTPClient, UDP and TCP

Nodes: Add flags parameter to Node.duplicate() to decide whether signals, groups and/or scripts should copied

Nodes: Add process mode option to Particles2D

Nodes: Implement texture flip parameters for Particles2D

Nodes: Improve resize behaviour of TextureButton and TextureFrame

Nodes: Honor the Tween's final value

Physics: Fix KinematicBody2D wrong motion origin

Physics: Improvements to Area and Area2D's monitoring flag

Windows: Fix debugging when offline

Resources: Improve .tscn and .tres VCS friendliness

Various crash fixes and other bug fixes

Updates to gamepad mappings

Updates to bundled libpng (1.6.29), libwebp (0.6.0), opus (1.1.4) and squish (1.15)

Translations updates (adds WIP Czech, Danish, Greek, Dutch and Thai translations)

That's it for this release, as usual it brought its fair share of bug fixes and improvements and upgrading existing projects to this new version should be hassle-free.

Support duration

As mentioned previously, the 2.1.x stable branch will continue to receive bug fixes and enhancements at least until Godot 3.0-stable is released. Given that Godot 3.0 alpha currently has no support for OpenGL 2.x / OpenGL ES 2.x devices, we will likely continue to maintain the 2.1.x branch further until Godot 3.1, which should add back support for older devices.

Have fun with this new release!

The illustration image (full size) is a screenshot from RPG in a Box, a set of tools for creating 3D voxel RPGs based on Godot. It is developed by Justin Arnold and is already used for various RPG games.