Releases: itchio/itch
v18.6.0
18.6.0 is a bugfix release.
- When games change the path of their executables on update, the app now automatically rescans the install folder to find the new location of executable. Developers are encouraged not to do that, as each extra scan makes player wait unnecessarily, but at least it won't prevent the app from launching the games any further.
- The Windows sandbox sometimes choked on the
output_log.txt
file created by some Debug builds of Unity games. These errors are now ignored, since they're harmless. They still appear in the game logs.
v18.5.0
.rar support!
In the past, we tried really hard to wipe .rar off the surface of the earth. But there'll always be old builds of games around that are packed with RARs.
I'm happy to report that the app will now extract .rar files without complaining. This means you can now play The Wild Eight demo, or the classic Momodora II with itch.
In order to do so, we switched away from 7-zip to a new decompression engine (see discussion). unarchiver handles .rar files (and all archive types 7-zip supports) without any license restrictions, making it feasible for us to ship this feature.
The app should still be able to install anything it did before, and more! If it doesn't, please use the Send feedback
button (from the main menu, bottom-left) so we can get it fixed.
HTTP proxy support
The app is now usable behind HTTP proxies (useful for universities and work environments, for instance). Simply export the HTTP_PROXY
environment variable, if the automatically-detected settings don't work for you.
Translation highlight: Swedish & Turkish
Thanks to, respectively, Local Minimum and Talha Kaya, we now have highly-complete (97%+) translations of the app in Swedish and Turkish:
These languages join the list of highly-complete translations of the app, along with Norwegian Bokmรฅl, Russian, Japanese, French, and Spanish. Anyone is welcome to contribute translations on our translation server!
Better documentation
The app guide had gotten a bit out-of-date since v0.14. I promised to keep it a living document, so it was given a complete overhaul, including among other things, answers to questions we frequently get from both players and game developers.
In particular, it now includes a handy contributor guide that lets you know what you can do to help, if you want to!
Install & download locations
Historically, the app used to install games to an apps
subfolder. Now it only does so in the initial install location (so it doesn't clash with the rest of the app install). The app now installs directly in the folder given.
Additionally, it used to download always to the initial install location, filling up your SSD with files. It now downloads to whichever install location is set to default.
Known issue: the app keeps around more files than is strictly needed in downloads
folders. This will be resolved in a future release. In the meantime, you can delete the whole folder without causing any issues.
Minor fixes
- The app no longer makes any requests to an HTTP server on its own, only HTTPS. You're still able to visit HTTP websites from the in-app browser, that's on you! #659
- diego (our reporting tool) has been improved to report processor architecture (32 or 64-bit) on Windows.
- Switching to unarchiver has allowed us to simplify some parts of the code quite a bit, and to drop the
file(1)
utility, which is no longer required to detect self-extracting CAB archives (#836) - A bug almost sneaked into the final release (#846) but the combined forces of our QA process thwarted it.
v18.4.0
Important note: 18.3.0 broke the 'Click to restart & apply update button'. Please just quit the app (Ctrl+Q, Command+Q on macOS) and start it again to apply the update.
Translation highlight: Norwegian Bokmรฅl
Thanks to the relentless efforts of Flesk and friends, our Norwegian Bokmรฅl translation is now 98% complete:
Norwegian thus joins the list of highly-complete translations (97%+) of the app, along with Russian, Japanese, French, and Spanish. Anyone is welcome to contribute translations on our translation server!
Game highlight: Kentucky Route Zero
The fourth act of Kentucky Route Zero is out, and you can now get all four acts (+ the fifth when it comes out) DRM-free on itch.io. Confirmed working in the app on Windows, macOS & Linux!
Link to game page: Kentucky Route Zero โ All acts
Time zones
The app incorrectly interpreted some dates as local time instead of UTC. It now correctly interprets API dates as UTC, stores them as UTC (already did), and displays them as local time (already did but as date +0200
rather than date (CEST)
Update checks
As a result of the app incorrectly interpreting some dates as local time, users behind UTC (for example, EDT (Montrรฉal, Canada), UTC-4) kept getting prompted to install updates for a game, if they installed it a few hours before the update went out. On the contrary, users ahead of UTC (for example, CEST (Paris, France), UTC+2), could potentially miss out on updates if they installed a game a few hours before an update went out.
Since the app was already storing everything correctly, the only difference in 18.4.0 is that users behind or ahead of UTC will now see correct update checking behavior, when manually picking which upload to install.
Scroll position restore on back/forward
When navigating any website using the itch.io app, hitting Back
wouldn't restore the last scroll position. Since that is not a built-in feature of Electron (but since Chrome does it), we've implemented it directly into the app.
It'll even attempt to restore the scroll position on pages with lazy loading (all browse pages on itch.io), for up to ten seconds.
Note that it will no longer be accurate if the window is resized while navigating โ we don't have any solution for that at the moment.
This feature is rated 'experimental', please use the 'Send feedback' button (bottom-left menu) to tell us how you feel about it!
Linux compatibility
A virtual repository for Debian stretch has been added on Bintray. Our .deb package has been confirmed compatible with stretch on /r/linux_gaming.
Additionally, the portable Linux build (.tar.xz
) has been fixed in the following ways:
- When extracted it would create nested folders:
build/v18.4.0/itch-linux-x64/
it now creates a single folder, like so:itch-18.4.0-amd64/
- When no system packages (.deb or .rpm) of the app were ever installed, the Unity dock was not showing the app's icon. After jumping through ridiculous hoops (cf. #804), this issue is resolved.
Known issue: The .deb package now shows up proper metadata when opened in the Ubuntu Software Center, and also ships with appstream metadata for launchers and other package managers. Hahaha actually no, that's only if your .deb is in an official repository. In fact even installing third-party .deb files from the graphical interface in the latest Ubuntu is broken. Please just sudo dpkg -i itch*.deb && sudo apt-get install -f
instead if you care about your own sanity.
Search performance
Using the app search on large libraries (or lots of collections) used to be slow. It still is, but it'll at least let you type your search query in peace and only then start looking for games. I would like to thank my colleague @leafo for having such a large library of games and bringing this to my attention.
Manifest support
App manifests are now validated better (use right click -> Developer -> Show debug log to see warnings, errors will display the 'Could not launch 'dialog).
Additionally, the args
property is now being correctly handled (lets developers pass command-line arguments to their executables), and the documentation has been clarified with regards to specifying multiple actions.
Automatic issue reporting
Automatic issue reports when a game won't launch on someone's machine, now includes the output from diego, our diagnostics tool.
Known issue: the Github gist created with the log is not editable (since it's anonymous) - we're looking to move to something else (cf. #762) but in the meantime, you can always hit 'Preview' before submitting your issue report, and change the link to point to another gist, without the information you want to censor.
macOS support
The application menu on macOS now feel more native - some things have been moved around, only when the app runs on macOS. Additionally, Command+H will now hide the window, just like any mac app.
Various bug fixes
- The 'retry' button on the downloads page didn't retry. Now it does. It was a silly mistake, and measures have been taken so that this particular kind of silly mistake doesn't happen again.
- Non-executable pages on itch.io (books, soundtracks, game assets) would show up as dimmed in the search results, because the app thought they were not platform-compatible. It now knows better.
- Font alignment (#814) of the search and filter text boxes was amiss both on Windows and Linux, but not macOS, ever since we shipped a version of Lato that includes non-Latin characters. Running the font through FontSquirrel's webfont pack generator fixed vertical alignment (along with a minor CSS change).
- Navigating search results with the keyboard (up and down arrows, enter to select) is now usable, but still incomplete. More improvements will follow.
- On Flixel games,
flixel.exe
was sometimes incorrectly selected instead of the main game executable, for games without a manifest. It is now given a lower score, which prevents this from happening. - Games with a malformed manifest (missing
actions
field, etc.) used to fail to launch silently. The app now displays the standard "Couldn't launch" dialog with the option to 'Send feedback' or 'Examine cause of failure' (#760) - With sandbox enabled, but not setup yet, when launching a game with multiple manifest actions, the app would cycle between two dialogs (#826)
- A tooltip was clipped in the downloads tab. It now points in another direction.
- The 'Last played' row would get stuck on 'now'. Now it doesn't.
Important note: 18.3.0 broke the 'Click to restart & apply update button'. Please just quit the app (Ctrl+Q, Command+Q on macOS) and start it again to apply the update.
v18.3.0
Download picker
The app will now let you pick if multiple compatible downloads are available:
When new compatible uploads are added, it'll ask again to make sure it doesn't update to, for example, an alternative version of the game, or an extra download that isn't the main game.
Internationalization
We're happy to announce that this version ships with a full professional Japanese translation. This is the first translation we commissioned, and certainly won't be the last!
Additionally, the app now includes an updated version of the Lato font, which means Cyrillic characters are now displayed in a consistent font:
Finally, some users from Iran, Libya and India were unable to use the app due to the default CloudFlare rules disallowing certain requests to our update server. We have explicitly whitelisted these countries and will continue to do so as we receive user feedback.
Preferences
The preferences screen has been simplified and its design slightly updated:
A new option has been added to disable Close to tray
behavior. This makes the app completely quit when the window is closed.
Collections
The collections view now has a Share
button, and allows clearing filters at the bottom, where + n items hidden by filters
is shown.
Linux support
The ArchLinux package (in AUR) for the application was unusable for certain users depending on their ruby setup. All scripts have been rewritten to get rid of ruby, solving the problem once and for all.
Bugfixes
Version 18.2.0 mistakenly disallowed taking screenshots of the application for security purposes. This was a misunderstanding on our part of how the feature worked. We've disabled it for the main window, making screen capture software work again, and it's now only active for purchase windows (that pop up when you click Buy now
or Donate
).
Some errors are now better isolated, and will show this friendly message in the tab instead of making the app unstable:
The app sometimes launched wrong html file for some HTML5 games, it now correctly prefers at the top-most index.html
file (:video_game: NeuroIDE).
If a game exits with a non-zero exit code, but has been running for more than 10 seconds, the app no longer opens a 'Send feedback' dialog (:video_game: Overland & others).
The itch.io sandbox was broken on macOS systems when a case-sensitive filesystem was used, it now works as expected (thanks to Alexander Bich for the fix).
Wording has been changed from 'Report issue' to 'Send feedback' in several places to encourage user feedback rather than scare them away.
Update checking interval has been slightly randomized to avoid DOSing the update server. This applies to self-update checks, locale update checks, and game update checks.
v18.2.0
- โฌ๏ธ 18.2.0
- Add missing padding next to sidebar download progress indicator, closes #742
- ๐ Fix window behavior when devtools are opened and/or when restoring the window after it being closed for 10s
- shrinkwrap dependencies to avoid shipping broken releases like 18.1.0 and 18.1.1 in the future
v18.1.2
One of the libraries itch depends upon has released a major/breaking change in a patch version (2.5.1
=> 2.5.2
). Our fault for not using npm shrinkwrap, but anyway, the mess is resolved!
v18.1.1
This is a bugfix-fixing release. My working theory is that a broken dependency was published on npm at the time the CI build for v18.1.0 was running, which broke the build. Apologies for the inconvenience.
v18.1.0
itch v18.1.0 is a bugfix release.
Unreliable login / blank session
The itch app is made up of two parts, which keep an internal state synchronized. Since v18, some delays had been removed, but as a result, one part of the app could progress faster than the other one, resulting in desynchronized state. This has been fixed (auto-login of the most recent remembered session is now only triggered when the graphical side of the app has been fully initialized).
nw.js executables on Linux
nw.js exports have many different executables, and our heuristics (poker.js
) picked the wrong ones. Any files with nacl_helper
are now given a lower score, when looking for the right executable to launch.
Security enhancements
As of v18.1.0, on Windows and macOS, the main window is created with attributes that should prevent screen grabbing by other applications. This helps protects against malicious (external) apps trying to steal sensitive information displayed on screen.
Maximized state & close behavior
On all platforms except macOS, when closing & reopening the window, the right size and position were restored, but not the 'maximized' state, which resulted in the window being annoyingly placed 10px too low on Windows 10. This is now fixed.
Also, on macOS, one expects a program's window to hide immediately when hitting the 'close' (red x) button. Previous versions violated that assumption by first minimizing the window for 10 seconds, then destroying it. v18.1.0 still has that 10s grace delay to allow quick "woops didn't mean to close that" action without rebuilding the whole UI, but no longer minimizes the windows first. The one-time "the app is now in the background" notification is hopefully enough to warn users about that behavior. See also #666 for a known missing setting.
Log files
Previous versions used to create two log files per session, one of them being almost empty except for a boot-up message. This is no longer the case. Known issue: the app still doesn't have log rotation logic.
Downloads
Finished download rows would 1) navigate to game page 2) clear row from downloads, no matter where you clicked (even if you clicked on the 'retry' button, or on the 'clear but do not navigate' button). This is no longer the case.
Collections
Collections with fewer than 4 elements displayed with an incorrect aspect ratio. They now display 4 elements always, no matter how many games the collection contains.
Preferences
This version introduces (sigh) an additional, collapsable section in preferences, cowardly named "Advanced", which displays the current app version along with a link to open the current app log.
Update dialog
Changelogs shown in the update dialog could have images wider than the message body. This is no longer the case.
v18.0.0
โจ itch v18.0.0 is the result of almost 600 commits since v17.6.6
It brings two major new features and a large number of small improvements.
Sandboxing ๐
itch v18 introduces the itch.io sandbox, which isolates game processes from the rest of the system and prevents them from accessing sensitive user data.
It can be enabled from the preferences panel:
The itch.io sandbox is experimental ๐ฅ๐ฒ, but creators are encouraged to make sure their content is compatible. It uses a separate user account on Windows, native sandboxing facilities (sandbox-exec
) on OSX, and firejail on Linux.
More information on the sandbox's design and its implementation on Windows, macOS, and Linux can be found in the official documentation. Feel free to read #670 for our sandboxing research.
App manifests ๐
Letting developers pick which executable(s) the app should launch has been requested almost since the first version we've released. App manifests are now supported in itch v18: if there is a file named .itch.toml
in the game's folder, itch will let the player pick between different actions:
Valid actions may point to:
- ๐ Executables / binaries, e.g.
bin/MyGame.exe
- ๐ HTML games, such as
twine1/index.html
- ๐ URLs, such as
https://itch.io/community
- ๐ Local files, such as
docs/manual.pdf
ordocs/howtoplay.txt
Manifests are described in detail in the itch app integration guide. See also known issues at the end of this changelog.
API integration ๐ฒ
App manifests may request authorization to access the itch.io API within a certain scope.
The only valid scope so far is profile:me
, which allows identifying the itch.io account of the player and getting basic information about them:
The screenshot above is Sample HTML app
itch.io API integration is available both to native games and HTML5 games (launched with the itch app). For more information, read the documentation.
Download manager improvements โ๏ธ
The new download manager lets you pause and resume downloads, and prioritize them.
Additionally, download progress is shown in the dock / task bar.
Local search and filtering ๐
All game and collection grids can now be filtered by typing a keyword, and by default only shows games compatible with the current system:
The sidebar search now looks for 1) local results 2) creators 3) all games on itch.io. Local results include all games made, owned, or in collections:
Browser improvements ๐
The in-app browser no longer flashes a white background when loading a page, and now has a button to open the current page in your external web browser:
Actions now appear on the right-hand side, making a dropdown menu unnecessary and allowing for bigger targets. The โค๏ธ 'Buy now / Donate' and the new ๐ 'Share' button will wiggle after playing something, as a friendly reminder. Cmd-clicking / middle clicking a link now opens it in a background tab.
Collection view ๐
Someone had to something about it:
Automatic issue report ๐จ
When a game crashes, a dialog will pop up, suggesting to either View the game log, or Report the issue:
Issue reports are posted to the itch-compatibility-watchlist issue tracker (requires a GitHub account). They help us ensure that a great number of itch.io games are compatible with the app.
Developers are, of course, encouraged to first view the logs and see if it might be an easy fix!
Press & review copies ๐ฐ
Users enrolled in the itch.io press system now have a Review
button that lets them install games from creators who have opted-in to the press system.
- Developers can opt their games into the press system in their user settings
- Press can apply for access on our application page
Internationalization ๐
After a bit of inactivity, translation has picked up again โ each language now has a person who can approve or discard suggestions (see #696), instead of having to wait on Amos to approve them.
Weblate has been updated to version 2.6, which improved its UX a lot. Additionally, all dates and durations in the app are now localized properly via moment.js.
Linux support ๐ง
Previously, the itch update server (serving download links on itch.io/app) considered Linux
to be a uniform platform. Obviously, that was foolish, hence, it now treats Linux as three platforms: linux
(.tar.xz portable builds), rpm
(.rpm packages for yum/dnf) and deb
(.deb packages which are NOT for the Ubuntu Software Center. Bad software center, you're GROUNDED. Stay down.)
Links on https://itch.io/app should now serve .deb files of the appropriate architecture to Ubuntu users, and .rpm files of the appropriate architecture to Fedora users. Debian seems to refuse to identify itself in the user agent, which means if you're using Debian you'll have to read docs (but you knew what you were getting into).
Linux packages now depend on libappindicator1
, which is necessary for proper tray icon behavior and explains a LOT of strange reports. The app is now powered by electron 1.2.5, which includes various fixes, and various bugs that we'll discover together once this release is out, of course.
Last but not least, Ethan Lee aka flibitijibibo, wrote a lengthy guide on packaging games for Linux the pragmatic way: Hope you like reading ldd output!.
Icons ๐
Somebody had to do something:
Miscellaneous ๐ด
- Overall performance of the app has been improved, especially startup time
- Animated GIFs are now frozen until proven innocent (until hovered) โ turns out this saves a ton of CPU time, especially important when a game is launched.
- The app now restores your previous tabs and logs you back in
- Tab reordering is a lot faster, tab close icons are more visible
- Added a 'Close all tabs' button. Shortcut: CommandOrCtrl+Shift+W
- You can now force games to close by clicking on the 'Running...' button and confirming, or hitting the global shortcut Ctrl+Alt+Backspace (might not work with some Linux games that capture keyboard input)
- Scrollbars are higher-contrast, making them easier to read
- The 'me' menu (bottom-left) has a lot more entries, including functionality that used to be in the 'Help' menu (now hidden by default).
.unitypackage
files used to be mistakenly extracted โ they're now simply downloaded.- Closing the last tab now goes back to the last 'essential' tab used, instead of the bottom-most one.
- In preferences, app now displays a 'Translated X%' badge corresponding to the % translated
- Thumbnail aspect ratio has been fixed everywhere
- After downloading butler, the app runs it once to make sure that, well, it can run. (Hashes+size already cover corrupt downloads, but nobody can protect you from a really really old glibc...)
- Instead of showing 'Buy now' button that leads to a 404, app now uses the API (which is now fixed) to know if a game can be purchased or not.
- This release completely drops
redux-saga
and is not looking back. - This release goes to great lengths to make React and electron's webview play well together. Trust me, you don't want to know.
- Oh yeah I guess I redesigned a bunch of things I didn't mention? Well, download it already!
Known issues ๐
- Still can't edit collections from within the app
- Up/down arrow in search box will highlight results, but enter won't select them
- AUR package is still affected by gem install issue, depending on how your Ruby is installed
- Some outdated versions of Kaspersky detect butler.exe as a trojan โ simply update Kaspersky and reinstall itch if needed
- In-progress downloads do not survive app restarts at the moment (but will resume once queued again)
- Download mana...
v17.6.6
- Uncollapse 'filter by X'. Closes #682
- Closes #681
- Fix loading indicator. Closes #680
- Closes #679
- โฌ๏ธ 17.6.6
- Fix 'Check for updates' copy. cf. #634
- Raise minimum sidebar width to 200, cf. #634
- Fix 'show in finder' wording. cf. #634
- Actually hide tabs when they're not focused (trade slight flashing for speed up)
- ๐ Rewrite camelifyObject without ::map/::object - speed up + closes #592