Skip to content
Tags give the ability to mark specific points in history as being important
  • 2.19.0 protected
    0fd95208 · 2.19.0 feature release ·
    2.19.0 feature release
    
    Deprecation warnings
    
    * The legacy variables for content inclusion are no longer supported for game scripts targeting ./play.it ≥ 2.19:
      - ARCHIVE_xxx_PATH
      - ARCHIVE_xxx_FILES
      The new variables introduced with ./play.it 2.18 must be used instead:
      - CONTENT_xxx_PATH
      - CONTENT_xxx_FILES
      The legacy ones can still be used only from game scripts targeting ./play.it ≤ 2.18.
    * The following global variables are still available, but are deprecated:
      - PATH_BIN
      - PATH_DESK
      - PATH_DOC
      - PATH_GAME
      - PATH_ICON_BASE
    * "APP_xxx_LIBS" is deprecated, game scripts should no longer rely on it. Libraries installed under /usr/lib/games/${GAME_ID} are automatically added to LD_LIBRARY_PATH.
    * The following internal functions are dropped:
      - launcher_write_script_dosbox_application_variables
      - launcher_write_script_dosbox_run
      - launcher_write_script_java_application_variables
      - launcher_write_script_java_run
      - launcher_write_script_mono_application_variables
      - launcher_write_script_mono_run
      - launcher_write_script_native_application_variables
      - launcher_write_script_native_run
      - launcher_write_script_nativenoprefix_run
      - launcher_write_script_native_run_common
      - launcher_write_script_renpy_run
      - launcher_write_script_residualvm_application_variables
      - launcher_write_script_residualvm_run
      - launcher_write_script_scummvm_application_variables
      - launcher_write_script_scummvm_run
    * "application_type" no longer fails if no type could be found. Support for the special fallback value "unknown" is dropped, as its only purpose was to avoid the error on empty application type.
    * "package_get_current" no longer falls back on "PKG_MAIN", see "Changes related to packages" below for more details.
    
    Improved integration of shipped libraries
    
    * In addition to standard system paths, libraries are loaded from the following paths, ordered from lower priority to higher priority:
      - APP_xxx_LIBS (deprecated)
      - /usr/lib/games/${GAME_ID} (/usr is replaced by the custom install prefix)
      - ${HOME}/.local/lib/games/${GAME_ID}
    * In addition to game data files and documentation files, "content_inclusion_default" now automatically fetches listed
    native libraries and put them into a specific install path.
      The native libraries can be listed using global variables similar to the ones already in use:
      - CONTENT_LIBS_xxx_PATH
      - CONTENT_LIBS_xxx_FILES
      As with game data files and documentation files, a single-digit number can be appended to "LIBS":
      - CONTENT_LIBS0_xxx_FILES
      - CONTENT_LIBS1_xxx_FILES
      - (…)
      - CONTENT_LIBS9_xxx_FILES
    
    New dedicated functions printing install paths are available
    - path_binaries
    - path_xdg_desktop
    - path_documentation
    - path_game_data
    - path_icons
    - path_libraries
    These should be used instead of the deprecated "PATH_xxx" variables.
    
    Rework launchers generation
    
    Game execution failure no longer prevents the execution of post-run actions.
    * The late extra eval step of JAVA_OPTIONS and MONO_OPTIONS is dropped, no current game script was relying on these.
    * APP_xxx_OPTIONS support is added to ResidualVM and ScummVM launchers.
    
    Changes related to icons integration
    
    * Rework icons requirement check to no longer rely on applications.
    * Add support for archive context to application_icons_list.
    * If no icon is set for a WINE application, try to extract one from the game binary.
    
    Changes related to applications
    
    * Update applications_list to follow the archive context.
    * Add automatic application type detection based on file type, APP_xxx_TYPE declaration is now optional in more cases.
    
    Changes related to packages
    
    * Extend the list of supported native libraries for packages dependencies declarations.
    * package_get_current returns the first package of the list of packages to build if no value is explicitly set, instead of the previously hardcoded value "PKG_MAIN".
    
    Other changes
    
    * Drop system-specific install prefix. The default install prefix is now the same for all supported systems: /usr
    * Do not run a full dependencies check when initializing an archive, only the presence of the dependencies required to handle the current archive is tested.
    * Set working directory path as soon as the archive is found.
    * Automatically add dependency on winetricks if APP_WINETRICKS is set.
    
  • 2.18.3 protected
    24e544c4 · 2.18.3 bugfix release ·
    2.18.3 bugfix release
    
    * content_path_default - Do not throw an error if no default path is set.
    * Extend the list of supported native libraries for packages dependencies declarations.
    * Add a format check for package id.
    * WINE: Fix APP_WINE_LINK_DIRS failure on non-empty target.
    
  • 2.18.2 protected
    52dc6f12 · 2.18.2 bugfix release ·
    2.18.2 bugfix release
    
    * Add ability to get the name of a context-specific variable, using a new dedicated function: "context_specific_name".
      This new function should not be used from game scripts before ./play.it 2.19 release.
    * Fix dependencies addition using dedicated functions.
    * Extend the list of supported native libraries for packages dependencies declarations.
    
  • 2.18.1 protected
    fa1321ff · 2.18.1 bugfix release ·
    2.18.1 bugfix release
    
    * Identify SteamOS as an Arch Linux derivative.
    * Extend the list of supported native libraries for packages dependencies declarations.
    * archive_dependencies_check - Include archive extra parts during extraction dependencies check.
    * icons_inclusion - Fail explicitly if called with no argument and no applications list can be guessed.
    * launcher_write_script - Throw an explicit error if called with an empty argument.
    * print_instructions - Clear the list of unknown libraries after it has been displayed once.
    
  • 2.18.0 protected
    7e292e66 · 2.18.0 feature release ·
    2.18.0 feature release
    
    Changes related to archive contents inclusion
    
    * "CONTENT_xxx_PATH" is a new variable replacing "ARCHIVE_xxx_PATH".
    * "CONTENT_xxx_FILES" is a new variable replacing "ARCHIVE_xxx_FILES".
    * "content_inclusion" is a new function replacing "organize_data".
    * "content_inclusion_default" is a new function replacing "prepare_package_layout".
    
    Changes related to packages
    
    * Provide a new dependency system for native libraries, using a new variable:
      "PKG_xxx_DEPENDENCIES_LIBRARIES"
    * Support is added for extra native libraries.
    
    Changes specific to WINE
    
    * "WINEDLLOVERRIDES" can be overridden at runtime.
    * Provide persistent storage for registry keys, using a new dedicated variable:
      "WINE_REGEDIT_PERSISTENT_KEYS"
    * Add ability to set the Direct3D renderer using "WINE_DIRECT3D_RENDERER".
    
    Other changes
    
    * Drop messages on completion of long tasks.
    
    Codebase improvements
    
    * Rework prefix generation for WINE games.
    
  • 2.17.2 protected
    097e3ffe · 2.17.2 bugfix release ·
    2.17.2 bugfix release
    
    * Prefixes - Fix handling of symbolic links in read-only game data
    * icons_move_to (deprecated) - Drop declaration of unused variable
    * Improve automatic package format setting
    * Identify Artix as an Arch Linux derivative
    
  • 2.17.1 protected
    ded3adf5 · 2.17.1 bugfix release ·
    2.17.1 bugfix release
    
    * icons_get_from_legacy_path - Fix clean-up step, to avoid an error from rmdir.
    
  • 2.17.0 protected
    6987a943 · 2.17.0 feature release ·
    2.17.0 feature release
    
    Changes related to launchers
    
    * Prefix type can be set at the application level (using APP_xxx_PREFIX_TYPE)
      or for all applications (using APPLICATIONS_PREFIX_TYPE), with the following valid values:
      - symlinks: generate our usual symbolic links farm, the default for most application types
      - none: the game is run from the read-only system directory, the default for ScummVM and ResidualVM
    * Prefix path can be overridden for the current game session by setting PLAYIT_PREFIX_PATH
      The default value is: ~/.cache/play.it/prefixes/${GAME_ID}
    * WINE prefix path follows WINEPREFIX if it is set.
      If the variable is unset, it defaults to:
      ~/.cache/play.it/wine/${GAME_ID}
    * A single directory is used for persistent storage of user data.
      It can be set using PLAYIT_PERSISTENT_USER_PATH, and defaults to:
      ~/.local/share/games/${GAME_ID}
    * The undocumented runtime variable PREFIX_ID is no longer supported.
    
    Changes related to archives
    
    * New archive type "tar.bz2".
    * For multi-part archives, type is optional for extra parts.
    * Allow use of unzip for data extraction from mojosetup archives, if bsdtar is not available.
    * Force the use of a specific tool for content extraction:
      - An archive extractor can be set with ARCHIVE_xxx_EXTRACTOR
      - An options strings can be set with ARCHIVE_xxx_EXTRACTOR_OPTIONS
    
    Changes related to icons
    
    * Icons inclusion is now done using a single function, icons_inclusion.
    * The following functions are deprecated:
      - icons_get_from_package
      - icons_get_from_workdir
      - icons_move_to
    
    Other changes
    
    * Drop option to do partial runs with no actual disk write.
      (--dry-run option)
    * New option provided to change ./play.it working path: --tmpdir
      The default value is $TMPDIR, falling back on /tmp
    
    Codebase improvements
    
    * New layout for source files.
    * Use a dedicated check to detect unexpected empty variables.
    
  • 2.16.2 protected
    1249b03d · 2.16.2 bugfix release ·
    2.16.2 bugfix release
    
    * applications_list - Throw an explicit error on unexpected empty list.
    * prepare_package_layout - Prevent PKG value changes to leak outside of
      the current function call.
    
  • 2.16.1 protected
    ceda54ef · 2.16.1 bugfix release ·
    2.16.1 bugfix release
    
    * icons_list_dependencies - Rely on application_icons_list to get the
      list of icons.
    * launcher_write_desktop - Drop requirement on APP_xxx_TYPE.
    * get_context_specific_value:
      - Do not try to guess a package identifier if none is set.
      - Do not look for an archive-specific value before an archive is set.
    * Check for dependencies only after the main archive is set.
    
  • 2.16.0 protected
    b8f7d603 · 2.16.0 feature release ·
    2.16.0 feature release
    
  • 2.15.1 protected
    07bb1d56 · 2.15.1 bugfix release ·
    2.15.1 bugfix release
    
  • 2.15.0 protected
    9f336741 · 2.15.0 feature release ·
    2.15.0 feature release
    
  • 2.14.4 protected
    50368b7f · 2.14.4 bugfix release ·
    2.14.4 bugfix release
    
  • 2.14.3 protected
    80064408 · 2.14.3 bugfix release ·
    2.14.3 bugfix release
    
  • 2.14.2 protected
    16fb2f0e · 2.14.2 bugfix release ·
    2.14.2 bugfix release
    
  • 2.14.1 protected
    d7ab7a70 · 2.14.1 bugfix release ·
    2.14.1 bugfix release
    
  • 2.14.0 protected
    0fea9449 · 2.14.0 feature release ·
    2.14.0 feature release
    
  • 2.13.3 protected
    72aba977 · 2.13.3 bugfix release ·
    2.13.3 bugfix release
    
  • 2.13.2 protected
    48480096 · 2.13.2 bugfix release ·
    2.13.2 bugfix release