Releases: termux/termux-app
v0.114 (F-Droid only)
0.114 - 2021-06-11
Changelog
Added
-
Allow users to adjust terminal transcript rows with termux.properties. The
terminal-transcript-rowskey can be used to adjust the terminal transcript rows. The user can set an integer value between100and50000. The default value is still2000. So adding an entry liketerminal-transcript-rows=10000totermux.propertiesfile will allow users to scroll back~10000lines of command output. After updating the value, termux must be restarted. You can also runtermux-reload-settingscommand so that termux loads the updated value, but only new sessions will use the updated value, existing sessions will not be affected. Be advised that using large values may have a performance impact depending on your device capabilities, so use at your own risk. Closes #2071. (0b4bbaf) -
Allow users to set terminal cursor style with termux.properties. The
terminal-cursor-stylekey can be used to set the terminal cursor style. The user can set a string value toblockfor■,underlinefor_orbarfor|cursor style. The default value is stillblock. So adding an entry liketerminal-cursor-style=bartotermux.propertiesfile will allow users to change to thebarcursor style. After updating the value, termux must be restarted. You can also runtermux-reload-settingscommand so that termux loads the updated value, but only new sessions will use the updated value, existing sessions will not be affected unless you Reset them from terminal's long hold options menuMore->Resetor restart termux activity after double back press to exit. Closes #2075. (f545ebf) -
Allow users to disable terminal session change toast. The user can add
disable-terminal-session-change-toast=trueentry totermux.propertiesfile to disable terminal session change toast. The default value isfalse. Runningtermux-reload-settingscommand will also update the behaviour instantaneously if changed. Closes #2118. (7ac62c9) -
Updated
bootstrapto2021.06.04-r1. (7620800)
Changed
- Change default extra keys style. If a user does not define a custom value in termux.properties file, then by default
2rows will be shown with all arrow keys (up/down/left/right) for ease of terminal use. (fd80cda)
Fixed
-
Do not close soft keyboard when toolbar text input view is focused on. Fixes #2077. (e08e3b5)
-
Fix issue where soft keyboard would not show in some cases. Fixes #2111, Fixes #2112. (1ad038e)
-
Fix issue where soft keyboard overlaps extra keys or terminal in some cases. Check TermuxActivityRootView javadocs for the details. This affected people who had set
enforce-char-based-input=trueintermux.propertiesand Gboard clipboard suggestions covered part of extra keys/terminal, but only when text is copied and clipboard suggestions and number keys row toggles are enabled in its settings. Reports have been received for other keyboards as well, like for SwiftKey number key rows overlapping, but hopefully it should be fixed now. If not, then report it. Related #538 and #1539. (e7dd0ee) -
Remove hardcoded wiki.termux.com url from
HelpActivity. (7ef9255) -
Fix issue where terminal cursor blinking would not automatically start again if termux activity was restarted after exiting it with double back press. (e119d34)
-
Fix issue where if termux installer failed with an exception after prefix directory was already created, then try again would load a broken environment. (19c690d)
Github Build APK. Check Installation for more info on Github Build APKs.
v0.113 (F-Droid only)
0.113 - 2021-05-16
Changelog
Added
- Allow users to
enable/disablekeyboard instead of justshow/hidewithKEYBOARDtoggle buttons. Thissoft-keyboard-toggle-behaviourkey can be used to change the behaviour. The default behaviour isshow/hide. The user can add a linesoft-keyboard-toggle-behaviour=enable/disablein~/termux.propertiesfile to change default behaviour of keyboard toggle buttons toenable/disable. In this mode, tapping the keyboard toggle button will disable (and hide) the keyboard and tapping on the terminal view will not open the keybaord automatically, until the keyboard toggle button is pressed again manually. This applies to split screen and floating keyboard as well. The keyboard can also be enabled fromTermux Settings->Termux->Terminal I/O->Soft Keyboard Enabledtoggle. Runningtermux-reload-settingscommand will also update the behaviour instantaneously if changed. Also fixes #1098. (e4e638b) - Allow users to disable soft keyboard automatically if hardware keyboard is connected. Users can enable this behaviour by enabling the
Termux Settings->Termux->Terminal I/O->Soft Keyboard Only If No Hardwaretoggle. (90c9a7b) - Allow users to enable terminal cursor blinking with termux.properties. This
terminal-cursor-blink-ratekey can be used to enable terminal cursor blinking. The user can set an int value between100and2000which will be used as blink rate in millisecond. The default value is0, which disables cursor blinking. So adding an entry liketerminal-cursor-blink-rate=600to~/termux.propertiesfile will make the cursor attempt to blink every 600ms. Runningtermux-reload-settingscommand will also update the cursor blinking rate instantaneously if changed.
This will have a performance impact, so use wisely and at your own risk. Note that you can also change the cursor color by addingcursorproperty to~/colors.propertiesfile, likecursor=#FFFFFFfor a white cursor. Closes #153. (31298b8, 89a1e02) - Add in-app Donation link in Termux Settings for non google playstore releases. We require donations due to bintray shutdown to pay for termux apt repository hosting costs. Related issue termux-packages#6348. (6de3713)
- Moved
Termuxapp settings into dedicated "directory" inTermux Settingsand addedAboutpage to show info of all termux apps installed and important links. (d42514d) - Added support for showing
APKrelease type inApp Inforeports andAboutpage. (1e30022) - Add support for setting
Termux:Taskerlog level fromTermux Settings. (339b2a2) - All invalid values stored in
termux.propertiesfile during load time will be logged. (f8ccbb4) - Updated
bootstrapto2021.05.16-r1. (6524a61)
Fixed
- Disable error flashes when clearing
TMPDIRdirectory on termux app exit. (b268b6e) - Fixed
NullPointerException on com.termux.app.TermuxService.wantsToStop(). Fixes #2026. (42ad372) - Attempt to fix issues where soft keyboard was not shown in some cases when hardware keyboard was attached. The extra keys and drawer
KEYBOARDtoggle button andctrl+alt+khardware keyboard shortcut will all behave the same now and may help in showing soft keyboard forcefully. Related issues #1995. (Requires testers). (4d1851e, 39c69db) - Release terminal beep
SoundPoolresources on activity stop to attempt to prevent exception. (58d5770) - Generate potentially long running reports in background threads instead of main UI thread. (2f82825)
Github Build APK. Check Installation for more info on Github Build APKs.
v0.112 (F-Droid only)
0.112 - 2021-04-22
Fixed
- Reverted the versioning logic change done in a6ae656 since that caused F-Droid bot and Github Packages to fail to pick up new releases. The versions must be bumped directly in
build.gradlefile in future and not through other files likegradle.properties. Thanks to @jspricke for notifying us. (0aa5a12)
Github Build APK. Check Installation for more info on Github Build APKs.
v0.111 (F-Droid only)
0.111 - 2021-04-21 (RE-RELEASED)
Changed
- Bumped gradle wrapper to 7.0. (1d06ff9)
Fixed
- Fixed
termux-resetnot working properly since v0.109. (d6eb5e3) - Fixed cases where bootstrap was not reinstalled even if
PREFIXwas broken, i.e if it was empty or only contained thetmpdirectory. (107927f, b34f60b)
Github Build APK. Check Installation for more info on Github Build APKs.
v0.110 (F-Droid only)
v0.109 (F-Droid only)
Change Log:
- Updated bootstrap archives.
- Lots of fixes and improvements (see expandable list below).
Full change log
Added
-
Added
SettingsActivity(Termux Settings)which can be accessed byLong pressing terminal view->More->Settings. This will allow GUI based management of settings in future, like keyboard key mapping, etc. Currently supports controlling log level, plugin errors and softkeyboard state. (d39972b) -
Add
SettingsActivityto launcher shortcuts. (2b3f681, 325a6f7) -
Added
ReportActivityandReportInfoto be used as base for showing reports to users. Currently supports plugin errors, app crashes and issue reports. (9d36e9a) -
Added centralized
Loggingframework to the entire app andterminal-viewandterminal-emulatorlibraries which has 4 levels,Off,Normal(default),Debug,Verbosewhich can be used by users vialogcatto debug problems. Users can set the log level fromTermux Settings->Debugging->Log Level. Terminal view key logging can now also be enabled with theTerminal View Key Loggingtoggle without having to recompile the app. Support for writing to files in addition to writing tologcatwill/can be added in future. (d39972b) -
Added logging for termux bootstrap package installation and setup of storage symlinks. (92b804d).
-
Requested
android.permission.DUMP permissionso that users can usedumsyscommands without root after runningadb shell pm grant com.termux android.permission.DUMP. (356a442) -
Requested
android.permission.REQUEST_INSTALL_PACKAGES permissionto allow users to accessAndroid/obbon android 11 after explicitly granting Termux the permission by going to TermuxApp Infoin AndroidSettings->Advance->Install unknown apps. (93a5bf8) -
Added support to warn users if
Draw over other apps permissionis missing when attempting to start Termux foreground session from the background with plugin commands, like forRUN_COMMANDintent. Check android background restrictions for more info. Now, the Termux foreground session will not even be attempted to be started if permission is missing since it would fail randomly otherwise and users would report bugs for it. (d3ddb21) -
Added
hide-soft-keyboard-on-startuptermux.propertiesproperty which when set totruewill automatically hide the soft keyboard on Termux startup to solve issues for when users use hardware keyboard and soft keyboard wastes screen space. Fixes #1978. (1ef8eb9) -
Added support for disabling soft keyboard completely for when users use hardware keyboard. Users can toggle the state from
Termux Settings->Keyboard I/O->Soft Keyboardtoggle. (2a8d5e2) -
Added support for adjusting termux toolbar height with
terminal-toolbar-heighttermux.propertiesproperty. The user can set a float value between0.4and3.0which will be used as the scaling factor for the default height. The default scaling factor is1. So adding an entry liketerminal-toolbar-height=2.0totermux.propertiesfile will make the toolbar height twice its original height. Fixes #1857. (ff0440d) -
Added executable and working directory validation for
RUN_COMMANDintent. The working directory will also also be created if its underTermuxConstants.TERMUX_FILES_DIR_PATH. (b4995ef) -
Added support for session actions for foreground session commands received via
RUN_COMMANDintent ortermux-tasker. (ec7568d) -
Added support for sending back background and foreground command results for
RUN_COMMANDintent and foreground command results forTermux:Tasker. CheckRUN_COMMANDIntent Wiki for more info. (a2209dd) -
Added support to notify users of errors via flashes and notifications for plugin commands, like for
allow-external-appsnot set totruewhenRUN_COMMANDintent is received. Clicking the notification will open theReportActivityto show the report. The flashes and notifications can be controlled with theTermux Settings->Debugging->Plugin Error Notificationstoggle. (8612a1d, 31371b5) -
Added support for
stdinfor backgroundRUN_COMMANDintent,TERMUX_SERVICE.ACTION_SERVICE_EXECUTEandTermux:Tasker(will require update) commands. This will allow users to pass (bash,python, etc) scripts or other data viastdinto the executable. Arguments would still be passed to the executable and not the script. (192b208, f1034c2) -
Added crash reporting so that whenever the Termux app crashes, the crash report (stacktrace, app and device info) will be logged to
~/crash_log.mdfile in markdown format. When the user will reopen the app, a notification will be shown which when clicked will show the crash report content inReportActivity. The activity will have important links like email (termuxreports@groups.io), reddit, github issues of termux app and packages at which the user can optionally report an issue if necessary after copying the crash report text. The~/crash_log.mdfile will be moved to~/crash_log-backup.mdso that a notification is not shown again on next startup and can be viewed again viaSAF, etc. The notifications can be controlled with theTermux Settings->Debugging->Crash Report Notificationstoggle. (69e4b57, cf5bb69) -
Added support to allow users to report an issue based on terminal transcript with
Long pressing terminal view->More->Report Issue. Selecting the option will open theReportActivitywith the terminal transcript, app device and APT info with important links like email (termuxreports@groups.io), reddit, github issues of termux app and packages at which the user can optionally report an issue after copying the report text. The report text will be in markdown format so that it is more readable and will take a few seconds to generate. (939338a, df4d8ac, 6293f5f) -
Added
termux-sharedlibrary. This defines shared constants and utils of Termux app and its plugins. This allows for removal of all hardcoded paths in Termux app. The termux plugins should use this in future as well. (682ce08) -
Added
TermuxConstantsclass to store all shared constants of Termux app and its plugins. This also has info on what changes need to be made if forking Termux app and changing its package name. (14c4986, 0225a8b) -
Added
TermuxPropertyConstantsclass that defines shared constants ofSharedPropertiesused by Termux app and its plugins. Also addedTermuxSharedPropertiesclass that acts as manager for handling termux properties. (7b4acb5) -
Added
TermuxPreferenceConstantsclass that defines shared constants of theSharedPreferencesused by Termux app and its plugins. Also addedTermuxSharedPreferencesclass that acts as manager for handling termux preferences. (93b506a, 9e82561) -
Added
SharedPropertiesclass which is an implementation similar to android'sSharedPreferencesinterface for reading from.propertiesfiles which also maintains an in-memory cache for the key/value pairs. Write support is currently not there since.propertiesfiles also have comments and escapes, so in-place editing would be required to update values. For this apron library could be looked into. (7b4acb5) -
Added
ExecutionCommandto stores all data related to an execution command. This allows easier management and passing of execution command data between classes and management of it, like post processing and failure management. (bccc35b, 31371b5, 1b5e5b5) -
Added
ShellUtilsto provide utilities for shell related stuff, since they don't belong inBackgroundJobwhich has been removed. (dff2794, 249f7c6, 8598b92) -
Added the
TermuxSessionclass for linking aTerminalSessionto anExecutionCommandand to maintain info for foreground Termux sessions. (78a99fd, 0cd7cb8) -
Added the
TermuxTaskclass for linking aProcessto anExecutionCommandand to maintain info for background Termux tasks. It also supports synchronous command execution as well to run shell commands and scripts from anywhere for internal use by termux app and its plugins. (f62febb, 0cd7cb8) -
Added
StreamGobblerclass which has been imported from libsuperuser and partially modified to readstdoutandstderrof background commands. (f62febb) -
Added interface methods to
TerminalViewClientinterminal-viewlibrary so that it becomes agnostic oftermux.propertiesfiles. (10d6eaa) -
Added
MarkdownUtitlsto provide utilities for markdown support in the app, like for error and crash reports. It uses the commonmark-spec via the markwon library. (131f481) -
Added
ShareUtilsto provide utilities for sharing data from termux apps. It will also try to preventandroid.os.TransactionTooLargeExceptionexceptions when sharing large data. (c28990a) -
Added
TermuxUtilsto provide utilities for termux app specific operations, like getting termux app info, device info, report info,Contextobject of each termux plugin app, etc. (c9e18e5, 3491956, 69e4b57, 15eb56d) -
Added
NotificationUtilsto provide utilities to build and manage notifications. (20d20f4) -
Added
PackageUtilsto provide utilities to get various package related info. This will be used to get info based on appContextobjects instead of usingBuildConfigwhich wouldn't have been available across termux plugins. (15eb56d) -
Added
FileUtilsto provide utilities to safely manage files. Also added support to get detailedUNIXfile attributes by porting classes from android'slibcore/ojluni. (d4fc34c)
Changed
- Refactored
TermuxActivity. Dedicated classes and functions have been cre...
v0.108 (F-Droid only)
Special release to fix F-Droid build issue as new build configuration (split apks) is not supported by F-Droid in way how it was introduced. Now it is reverted back to all-in-one architecture apk. Otherwise, changelog is same as unreleased v0.107.
v0.107 (F-Droid only)
Changes:
- Implement numpad arrows/home/end/pgup/pgdn/ins/del when num lock is off.
- Extra keys: handle multiple defined special buttons and in popup. Fix for #1881.
~/.termux/termux.properties: add optionfullscreento toggle fullscreen mode. You may need to enableuse-fullscreen-workaroundon some devices to fix layout issues, though on some devices it still doesn't work properly. Consider fullscreen mode as unstable for now.~/.termux/termux.properties: add optiondefault-working-directorywhich allows to open Termux in a specified directory instead of home.- Added back PNG icons in addition to current adaptive/vector icon. This should fix issues with launchers still not supporting adaptive icons.
- Export current application version as environment variable
TERMUX_VERSION. - Update bootstrap archives.
From this point Termux does split-apk builds. One APK per CPU architecture: for aarch64, arm, i686 and x86_64.
v0.106 (F-Droid only)
This is actually fixed v0.105 release, so changes are same by comparing to v0.104:
- Remove restrictions from file types viewable by
~/bin/termux-file-editor. - If Termux:Styling is not installed, suggest to install it from F-Droid instead of Play Store, when attempting to change terminal font/colors.
- Add property
ctrl-space-workaroundto enable ctrl+space usable on hardware keyboard for some devices. - Updated bootstrap archives.
v0.105 (DO NOT INSTALL: IT'S BROKEN)
- Remove restrictions from file types viewable by
~/bin/termux-file-editor. - If Termux:Styling is not installed, suggest to install it from F-Droid instead of Play Store, when attempting to change terminal font/colors.
- Add property
ctrl-space-workaroundto enable ctrl+space usable on hardware keyboard for some devices. - Updated bootstrap archives.
This release is broken, sorry. Use v0.104 instead!