Ren'Py Changelog

What's new in Ren'Py 6.18.3

Jan 16, 2015
  • This release adds the showif statement to screen language. The showif statement shows and hides its children based on a condition. When its children are ATL transforms, showif delivers ATL events to manage the show and hide process.
  • Ren'Py's image prediction mechanism now models the return stack, and can predict images through a call and return pair. Previously, a call followed by a return would block image prediction.
  • Ren'Py now predicts that the start label will be called from the main menu. This will help to avoid unpredicted image loads at the very start of a game.
  • The ATL on statement now can take a comma-separated list of event names.
  • The new updater.UpdateVersion() function contacts an update server and determines if an update is available.
  • The new renpy.invoke_in_thread() function runs a function in a background thread, and restarts the interaction when that thread finishes.

New in Ren'Py 6.16.3 (Dec 13, 2013)

  • This release fixes a problem that could cause excessive texture memory usage. It also improves Android support in several ways, making it possible for Ren'Py games to appear in the tablet section of Google Play.

New in Ren'Py 6.16.2 (Nov 26, 2013)

  • This release adds a Spanish translation of the launcher and the template game.
  • This release adds the new renpy.get_mouse_pos() function, which retrieves the mouse position if a mouse is supported.

New in Ren'Py 6.14 (Aug 20, 2012)

  • The Ren'Py launcher has been rewritten. It's now far more attractive, and contains a new script navigation function that makes it easy to navigate Ren'Py code.
  • For most creators, we now recommend using the Editra editor with Ren'Py support. While still in beta, Editra is a lightweight and powerful programmer's editor to which we've added features that ease Ren'Py development. (jEdit is still supported, when Editra is not suitable.)
  • The Ren'Py build process has also been updated. Now, it's possible to, in a single click, archive files and build a distribution of your game. Games may also use the same web updater that's used to update Ren'Py.
  • The engine proper has also seen many improvements:
  • Video playback has been rewritten to improve robustness, performance, and stability. WebM is now a supported format.
  • The new A White Tulip theme, written from scratch, provides some diversity to the look of Ren'Py games.
  • Improvements to rollback, including the ability to fix rollback so that the user can't change a choice once made, without reloading.
  • Several convenience shortcuts have been added to screens. A viewport with scrollbars can now be created as a single statement, and the style properties of text inside textbuttons and labels can be changed directly.
  • An experimental new image load log helps creators understand image prediction and cache misses.
  • Linux x86_64 is now supported by Ren'Py. Linux distributions will support both x86 and x86_64 cpus.
  • Ren'Py ships with Python 2.7, and many of the libraries that underly Ren'Py have been updated.
  • This release has seen a huge amount of support from the community. I especially thank:
  • Edwin, for contributing the improved rollback support and several bug fixes and new features.
  • Doomfest, for the visual design of the new launcher.
  • Ren and Jake Staines for contributing the new A White Tulip theme.
  • SleepKirby for improvements to Ren'Py's documentation.
  • Apricotorange, for adding the NVL-mode tutorial to Ren'Py's documentation.

New in Ren'Py 6.13.12 (Apr 19, 2012)

  • Fixes a related minimize and restore bug.
  • Improves compatibility with games that replace config.keymap.
  • Allows StylePreference and Language to work together.
  • Logs to the system temp directory if it can't writhe to the current directory.
  • Allows the screenshot filename to be configured by the creator.
  • Fixes keyboard adjustment of bars.
  • Updates the preferences screen when the window resizes.
  • Clears keyboard modifiers (like alt) when the window gains focus. This fixes a problem where the alt from an alt-tab would be remembered by Ren'Py, even after the key has been released.

New in Ren'Py 6.13.8 (Jan 19, 2012)

  • A crash when dealing with certain invalid fonts.
  • Pausing too long when typing out text.
  • Cutting one pixel off a block of text when fractional kerning was used.
  • Crashing when the time was set in the far future or past.
  • Immediately exiting when rolling forward at the quit prompt.
  • Crashing when a non-existing directory is added to the search path. (This prevented Katawa Shoujo from starting in the latest version.)
  • Save-file size was overly large due to screens being included in save files.

New in Ren'Py 6.13.0 (Sep 15, 2011)

  • Text display has been rewritten from scratch. In addition to supporting many new features, the new implementation of Text is much faster at text layout and display, and contains much cleaner code.
  • Some of the new features that are now supported by the text display system are:
  • Interpolation of variables enclosed in square brackets. It's now possible to write code like:
  • "You scored [score] out of a possible [max_score] points."
  • The new string interpolation takes place on all text that is displayed, rather than just say and menu statements. When used as part of a screen, interpolation has access to screen-local variables.
  • PEP 3101-style string formatting is supported, which means that this syntax can be used to display fields and items, as well as variables.
  • Kerning support was added, both as the kerning style property and the k text tag.
  • Support for ruby text (also known as furigana), via the rt and rb text tags, and the ruby_style style property.
  • The new space and vspace text tags make it easy to whitespace into the text.
  • The new cps text tag controls the speed of text display.
  • By default, Ren'Py uses the unicode linebreaking algorithm to find points at which a line can be broken. This algorithm should correctly break lines that contain a mix of western and eastern languages. Since that algorithm is incorrect on some Korean texts, Ren'Py also implements a korean-with-spaces variant, that only breaks runs of Korean text at whitespace. These algorithms can be selected by the language style property.
  • Ren'Py now uses the Knuth-Plass linebreaking algorithm to choose the points at which it actually splits lines. This algorithm attempts to minimize the unevenness of all lines except the last. Ren'Py also supports a nobreak mode, which allows one to create a Text larger than the screen without it being automatically wrapped. These can be selected using the layout style property.
  • The new newline_indent style property determines if Ren'Py adds indentation after a newline in text.
  • The new line_leading style property inserts space above a line of text. (Ruby text can be placed into this space.)
  • Text can be automatically translated before it is displayed. (This support will be improved in a future major release.)
  • DirectX Support
  • On Windows systems that have the February 2010 DirectX update installed, Ren'Py will use DirectX via the ANGLE adaptation layer, in preference to OpenGL or software rendering. The ANGLE layer is used by popular web browsers such as Firefox and Google Chrome. This allows hardware rendering to be used on systems with built-in graphics, where drivers often support DirectX far better than OpenGL.
  • At startup, Ren'Py will test the graphics capabilities of the computer it is running on. If the software render is being used, or the game renders at an unacceptably slow speed, Ren'Py will display a warning message to the user. The warning message includes a link to a page on renpy.org that explains how to update the graphics drivers.
  • This version of Ren'Py will only use the software renderer if both DirectX and OpenGL are incapable of rendering Ren'Py games. Screen-scaling in the software renderer has been replaced by a simpler but slower version.
  • Other Changes
  • Ren'Py now includes a style preference system. This system allows styles to be changed after the init phase has finished. These changes are saved with the persistent data. Among other things, style preferences allow a game to offer the user the option to change the font, size, and color of dialogue text.
  • Support has been added for screen-based image galleries and music rooms. This support consists of a classes that provides actions that make it easy to present the user with graphics and music. The creator is responsible for creating screens that use the supplied actions.
  • The default screens.rpy file, used when a new game is created, contains support for a "quick menu". This menu adds buttons to screens that allow the user to quick save, quick load, save, toggle skipping, toggle auto-forward mode, and access the preferences menu.
  • Ren'Py includes 5 new themes, and a number of new color schemes.
  • Several new actions have been added. The SelectedIf() action allows the creator to control if a button is displayed in the selected state. The SetMixer() action allows a mixer to be set to a specific value. The Rollback() and RollForward() actions allow the creator to bind rollback to buttons.
  • The behavior of the xfill and yfill style properties was accidentally changed in the 6.12 series. It has been returned to the historical behavior.
  • The Dissolve() and ImageDissolve() transitions now take a time_warp parameter.
  • The Frame() displayable now allows the user to specify the left, top, right, and bottom borders independently.
  • The caret style property allows the user to customize the caret of an input widget.
  • The renpy.displayable() function has been exposed to the user.
  • Timers can now take a list of actions, rather than just a single callable.
  • Three transforms were added to the default library: top, topleft, and topright.
  • Ren'Py can now load files (including images, music, and fonts) from an Android package.
  • User-defined statements can now take a block, which the statement is responsible for parsing.
  • Wrote documentation for:
  • Menus
  • Transforms
  • Creator-Defined Displayables
  • Several indexes were added to the documentation, and the style was updated.
  • Ren'Py now uses the libjpeg-turbo library, for faster jpeg loading. Ren'Py now uses libav 0.7.1, for improved compatibility with movie formats.
  • Removed support for the iLiad platform.
  • PowerPC support has been removed from the main Ren'Py distribution. It's available as a download from the Ren'Py web site.
  • Thanks to Aleema for contributing the new themes and color schemes.

New in Ren'Py 6.12.2 (Aug 1, 2011)

  • ATL Transforms with parameters compile correctly.
  • MultipleTransition works in conjunction with pauses.
  • The mouse is shown when a quit action is run while a movie is playing.
  • A fix for a lockup that occured when the user entered the game menu while a transition was running.
  • RENPY_SCALE_FAST works again.
  • Ren'Py compiles with newer versions of ffmpeg.
  • Skipping ends when the game restarts.
  • Fixed a problem with texture upload that made games noticeably slower.
  • Choose a better default size for windows on small monitors, like netbooks.
  • xfill and yfill now work for vbox and hbox, respectively.
  • Click-to-continue fixes.
  • Side image fixes.
  • Documentation fixes.

New in Ren'Py 6.12.1 (May 3, 2011)

  • Image attributes make it no longer necessary to specify every part of a changed image.
  • The say statement can change image attributes when a character speaks.
  • Side images can be specified with the image statement, and can be used with NVL-mode dialogue.
  • Sticky transforms allow a transform to continue through an image change.

New in Ren'Py 6.12.0 (Feb 8, 2011)

  • This release adds suport for the Android platform, allowing Ren'Py games to run on millions of smartphones and tablets. It's possible to package Ren'Py games and distribute them through the Android market.
  • On all platforms, this release benefits from improved performance in the areas of image prediction and OpenGL rendering. New functionality includes sprites, mouse hover areas, and drag-and-drop. The screen support added in 6.11 has been improved, and new games now use screens by default.

New in Ren'Py 6.11.2 (Nov 2, 2010)

  • The primary focus of this release is to fix bugs found in previous releases. It also includes four new themes, and updates the included jEdit text editor.

New in Ren'Py 6.11.1 (Sep 20, 2010)

  • The primary focus of this release is to fix bugs found in 6.11.0, but it also includes a few low-risk new features, including alpha-controlled dissolves and a notification system.

New in Ren'Py 6.11.0 (Aug 20, 2010)

  • The first major new feature is OpenGL accelerated rendering, allowing Ren'Py to take advantage of the GPU to render the screen. Apart from the speed improvement provided, Ren'Py games can now be scaled on the fly, by resizing the window. Other advantages are that fullscreen games are displayed with the proper aspect ratio, and Ren'Py will synchronize to the screen's vertical refresh, preventing tearing on properly configured systems.
  • The second major new feature is the new screen system, which supersedes layouts, overlay functions, imagemaps, and most other means of customizing the out-of-game menus and the in-game screens. The screen system allows you to use a language to add any supported function to any screen.
  • In addition to these major features:
  • Transforms were rewritten to make the more composeable and better-integrated.
  • New style and transform properties were added.
  • A new LiveTile displayable was added.
  • Python and FFmpeg were updated.
  • Ren'Py was made more correct, configurable, and better performing.

New in Ren'Py 6.10.2 (Jan 24, 2010)

  • It primarily fixes bugs that were reported, found through testing, and detected using static analysis. It also includes few changes and new features that were added to address issues people encountered while making games.

New in Ren'Py 6.10.1 (Dec 17, 2009)

  • Ren'Py 6.10.1 is a release that fixes several issues that cropped up in our previous release, including several bugs that were proactively found through static analysis. It also includes a new architecture for image loading that can scale images more precisely, and a few minor new features.

New in Ren'Py 6.10.0 (Nov 19, 2009)

  • Comes with the start of the new tutorial game.
  • Keeps track of image positions.
  • Adds a define statement, making init blocks often unnecessary.
  • Adds a pause statement.
  • Adds support for Arabic and Hebrew.
  • Allows images to be used as displayables.
  • Can automatically define images.
  • Can automatically load a saved game at startup.
  • Allows save games to be deleted.
  • Adds an image location picker to the developer (shift+D) menu.

New in Ren'Py 6.9.3 (Aug 4, 2009)

  • This release fixes several bugs with Ren'Py, includes better support for running from a portable storage device, and includes a rewritten Ren'Py Launcher.

New in Ren'Py 6.9.2 (May 5, 2009)

  • This release focuses on fixing bugs that have been found in 6.9.1. The largest bug fixed was one that made Ren'Py not run when sound playback was enabled on a computer with Data Execution Protection enabled, as it is in 64-bit Windows Vista. There was also a change to the play and queue statements to make them match the documented semantics. Please see the changelog for a list of other bugs that have been fixed.

New in Ren'Py 6.9.1 (Apr 19, 2009)

  • This release focuses on fixing bugs, and generally improving the behavior of Ren'Py. The biggest change is the new ffmpeg-based sound, music, and movie code. This rewrite improves the range of files we support, and increases the quality and compatibility of that support. This release also includes new "window show" and "window hide" statements, which are now the preferred way of keeping the dialogue window show outside of say statements. The use of game menu imagemaps has been simplified, as it's possible to include navigation elements on the various screens. This release automatically scales the game down when it is too large for the screen. Finally, this release fixes all bugs that I know about.

New in Ren'Py 6.9.0 (Mar 11, 2009)

  • The release of Ren'Py 6.9.0 has been updated to fix a bug with subpixel rendering.