Releases: termux/termux-app
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
SettingsActivity
to launcher shortcuts. (2b3f681, 325a6f7) -
Added
ReportActivity
andReportInfo
to be used as base for showing reports to users. Currently supports plugin errors, app crashes and issue reports. (9d36e9a) -
Added centralized
Logging
framework to the entire app andterminal-view
andterminal-emulator
libraries which has 4 levels,Off
,Normal
(default),Debug
,Verbose
which can be used by users vialogcat
to 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 Logging
toggle without having to recompile the app. Support for writing to files in addition to writing tologcat
will/can be added in future. (d39972b) -
Added logging for termux bootstrap package installation and setup of storage symlinks. (92b804d).
-
Requested
android.permission.DUMP permission
so that users can usedumsys
commands without root after runningadb shell pm grant com.termux android.permission.DUMP
. (356a442) -
Requested
android.permission.REQUEST_INSTALL_PACKAGES permission
to allow users to accessAndroid/obb
on android 11 after explicitly granting Termux the permission by going to TermuxApp Info
in AndroidSettings
->Advance
->Install unknown apps
. (93a5bf8) -
Added support to warn users if
Draw over other apps permission
is missing when attempting to start Termux foreground session from the background with plugin commands, like forRUN_COMMAND
intent. 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-startup
termux.properties
property which when set totrue
will 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 Keyboard
toggle. (2a8d5e2) -
Added support for adjusting termux toolbar height with
terminal-toolbar-height
termux.properties
property. The user can set a float value between0.4
and3.0
which will be used as the scaling factor for the default height. The default scaling factor is1
. So adding an entry liketerminal-toolbar-height=2.0
totermux.properties
file will make the toolbar height twice its original height. Fixes #1857. (ff0440d) -
Added executable and working directory validation for
RUN_COMMAND
intent. 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_COMMAND
intent ortermux-tasker
. (ec7568d) -
Added support for sending back background and foreground command results for
RUN_COMMAND
intent and foreground command results forTermux:Tasker
. CheckRUN_COMMAND
Intent Wiki for more info. (a2209dd) -
Added support to notify users of errors via flashes and notifications for plugin commands, like for
allow-external-apps
not set totrue
whenRUN_COMMAND
intent is received. Clicking the notification will open theReportActivity
to show the report. The flashes and notifications can be controlled with theTermux Settings
->Debugging
->Plugin Error Notifications
toggle. (8612a1d, 31371b5) -
Added support for
stdin
for backgroundRUN_COMMAND
intent,TERMUX_SERVICE.ACTION_SERVICE_EXECUTE
andTermux:Tasker
(will require update) commands. This will allow users to pass (bash
,python
, etc) scripts or other data viastdin
to 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.md
file 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 ([email protected]), 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.md
file will be moved to~/crash_log-backup.md
so 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 Notifications
toggle. (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 theReportActivity
with the terminal transcript, app device and APT info with important links like email ([email protected]), 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-shared
library. 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
TermuxConstants
class 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
TermuxPropertyConstants
class that defines shared constants ofSharedProperties
used by Termux app and its plugins. Also addedTermuxSharedProperties
class that acts as manager for handling termux properties. (7b4acb5) -
Added
TermuxPreferenceConstants
class that defines shared constants of theSharedPreferences
used by Termux app and its plugins. Also addedTermuxSharedPreferences
class that acts as manager for handling termux preferences. (93b506a, 9e82561) -
Added
SharedProperties
class which is an implementation similar to android'sSharedPreferences
interface for reading from.properties
files which also maintains an in-memory cache for the key/value pairs. Write support is currently not there since.properties
files 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
ExecutionCommand
to 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
ShellUtils
to provide utilities for shell related stuff, since they don't belong inBackgroundJob
which has been removed. (dff2794, 249f7c6, 8598b92) -
Added the
TermuxSession
class for linking aTerminalSession
to anExecutionCommand
and to maintain info for foreground Termux sessions. (78a99fd, 0cd7cb8) -
Added the
TermuxTask
class for linking aProcess
to anExecutionCommand
and 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
StreamGobbler
class which has been imported from libsuperuser and partially modified to readstdout
andstderr
of background commands. (f62febb) -
Added interface methods to
TerminalViewClient
interminal-view
library so that it becomes agnostic oftermux.properties
files. (10d6eaa) -
Added
MarkdownUtitls
to 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
ShareUtils
to provide utilities for sharing data from termux apps. It will also try to preventandroid.os.TransactionTooLargeException
exceptions when sharing large data. (c28990a) -
Added
TermuxUtils
to provide utilities for termux app specific operations, like getting termux app info, device info, report info,Context
object of each termux plugin app, etc. (c9e18e5, 3491956, 69e4b57, 15eb56d) -
Added
NotificationUtils
to provide utilities to build and manage notifications. (20d20f4) -
Added
PackageUtils
to provide utilities to get various package related info. This will be used to get info based on appContext
objects instead of usingBuildConfig
which wouldn't have been available across termux plugins. (15eb56d) -
Added
FileUtils
to provide utilities to safely manage files. Also added support to get detailedUNIX
file 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 optionfullscreen
to toggle fullscreen mode. You may need to enableuse-fullscreen-workaround
on 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-directory
which 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-workaround
to 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-workaround
to enable ctrl+space usable on hardware keyboard for some devices. - Updated bootstrap archives.
This release is broken, sorry. Use v0.104 instead!
v0.104 (F-Droid only)
- Expose dotfiles through SAF. #1220
- Updated bootstrap archives.
v0.103 (F-Droid only)
- Added
READ_LOGS
andWRITE_SECURE_SETTINGS
permissions for advanced users. These permissions can be enabled with ADB. - Updated bootstrap archives.
v0.102 (F-Droid only)
- Add context menu action "Autofill password". Pull request #1664.
- Update bootstrap archives.