# Termux changelog
> A terminal emulator and Linux environment for Android, no rooting required.
- Vendor: Termux
- Category: Developer Tools
- Platforms: Android
- Official site: https://termux.dev
- Tracked by: What's New (https://whatsnew.fyi/product/termux)
- Harvested from: GitHub (termux/termux-app)
- Entries below: 10 (newest first)
What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog.
Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'.
## Releases
### v0.119.0-beta.3
- Date: 2025-05-22
- Version: v0.119.0-beta.3
- Original notes: https://github.com/termux/termux-app/releases/tag/v0.119.0-beta.3
- Permalink: https://whatsnew.fyi/product/termux/releases/v0.119.0-beta.3
- Labels: Pre-release; Platforms: Android
##### v0.119.0-beta.3 - 2025-05-22 10:48
**Commit history:** [`v0.119.0-beta.2...v0.119.0-beta.3`](https://github.com/termux/termux-app/compare/e3449515...v0.119.0-beta.3)
##### Downloads
###### Android `7+` only
- [`termux-app_v0.119.0-beta.3+apt-android-7-github-debug_universal.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-7-github-debug_universal.apk)
- [`termux-app_v0.119.0-beta.3+apt-android-7-github-debug_arm64-v8a.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-7-github-debug_arm64-v8a.apk)
- [`termux-app_v0.119.0-beta.3+apt-android-7-github-debug_armeabi-v7a.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-7-github-debug_armeabi-v7a.apk)
- [`termux-app_v0.119.0-beta.3+apt-android-7-github-debug_x86_64.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-7-github-debug_x86_64.apk)
- [`termux-app_v0.119.0-beta.3+apt-android-7-github-debug_x86.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-7-github-debug_x86.apk)
###### Android `5` and `6` only
- [`termux-app_v0.119.0-beta.3+apt-android-5-github-debug_universal.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-5-github-debug_universal.apk)
- [`termux-app_v0.119.0-beta.3+apt-android-5-github-debug_arm64-v8a.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-5-github-debug_arm64-v8a.apk)
- [`termux-app_v0.119.0-beta.3+apt-android-5-github-debug_armeabi-v7a.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-5-github-debug_armeabi-v7a.apk)
- [`termux-app_v0.119.0-beta.3+apt-android-5-github-debug_x86_64.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-5-github-debug_x86_64.apk)
- [`termux-app_v0.119.0-beta.3+apt-android-5-github-debug_x86.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-5-github-debug_x86.apk)
#####
**NOTICE:** Use `apt-android-7` variant for Android `>= 7` and `apt-android-5` variant for Android `5`/`6` and do not mix. Use `universal` variant if device/Android architecture is unknown. Basically, use [`termux-app_v0.119.0-beta.3+apt-android-7-github-debug_universal.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-7-github-debug_universal.apk) variant for Android `>= 7` if in doubt. Check [install](https://github.com/termux/termux-app#installation) and [GitHub install source](https://github.com/termux/termux-app#github) docs for more info.
### v0.118.3
- Date: 2025-05-22
- Version: v0.118.3
- Original notes: https://github.com/termux/termux-app/releases/tag/v0.118.3
- Permalink: https://whatsnew.fyi/product/termux/releases/v0.118.3
- Labels: Platforms: Android
- **changed** — Remove TERMUX_APP__BUILD_DATA_DIR and rename TERMUX__ROOTFS to TERMUX__ROOTFS_DIR
- **fixed** — Bump org.lsposed.hiddenapibypass:hiddenapibypass to 6.1 to fix crash on Android 16 QPR1
- **fixed** — Declare MANAGE_EXTERNAL_STORAGE to prevent revocation of storage permission after updates
- **fixed** — Add explicit serialVersionUID to Serializable classes like ReportInfo and TextIOInfo to fix deserialization exception
##### v0.118.3 - 2025-05-22 10:47
**Commit history:** [`v0.118.2...v0.118.3`](https://github.com/termux/termux-app/compare/21c0d51f...v0.118.3)
Changelog
###### Changed
- **!** Remove `TERMUX_APP__BUILD_DATA_DIR` as a different naming scheme will be used for build variables and rename `TERMUX__ROOTFS` to `TERMUX__ROOTFS_DIR`. ([`849e6b10`](https://github.com/termux/termux-app/commit/849e6b10))
#####
###### Fixed
- Bump `org.lsposed.hiddenapibypass:hiddenapibypass` to `6.1` to fix crash on Android 16 QPR1. Related commit https://github.com/LSPosed/AndroidHiddenApiBypass/commit/9efadf06. Related commit https://android-review.googlesource.com/c/platform/libcore/+/3380841. Related commit https://cs.android.com/android/_/android/platform/libcore/+/0dc31afe. Closes [#4556](https://github.com/termux/termux-app/issues/4556). ([`fda17afa`](https://github.com/termux/termux-app/commit/fda17afa))
- Declare `MANAGE_EXTERNAL_STORAGE` as it being added in Termux:API version `0.51.0` is revoking the storage permission of Termux app after updates and sometimes later. Related issue [#4486](https://github.com/termux/termux-app/issues/4486). ([`23756528`](https://github.com/termux/termux-app/commit/23756528))
- Add explicit `serialVersionUID` to `Serializable` classes like `ReportInfo` and `TextIOInfo`. Reading `ReportInfo` with `Bundle.getSerializable()` by `ReportActivity` is triggering exception when default algorithm is used for `serialVersionUID` in Termux:API plugin app when error notification created in `ResultReturner.returnData()` by `TermuxPluginUtils.sendPluginCommandErrorNotification()` is clicked. Related issue https://github.com/termux/termux-api/issues/762. ([`4f033b34`](https://github.com/termux/termux-app/commit/4f033b34))
---
### v0.119.0-beta.2
- Date: 2025-03-29
- Version: v0.119.0-beta.2
- Original notes: https://github.com/termux/termux-app/releases/tag/v0.119.0-beta.2
- Permalink: https://whatsnew.fyi/product/termux/releases/v0.119.0-beta.2
- Labels: Pre-release; Platforms: Android
##### v0.119.0-beta.2 - 2025-03-29 07:05
**Commit history:** [`v0.119.0-beta.1...v0.119.0-beta.2`](https://github.com/termux/termux-app/compare/7c5992d3...v0.119.0-beta.2)
##### Downloads
###### Android `7+` only
- [`termux-app_v0.119.0-beta.2+apt-android-7-github-debug_universal.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.2/termux-app_v0.119.0-beta.2+apt-android-7-github-debug_universal.apk)
- [`termux-app_v0.119.0-beta.2+apt-android-7-github-debug_arm64-v8a.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.2/termux-app_v0.119.0-beta.2+apt-android-7-github-debug_arm64-v8a.apk)
- [`termux-app_v0.119.0-beta.2+apt-android-7-github-debug_armeabi-v7a.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.2/termux-app_v0.119.0-beta.2+apt-android-7-github-debug_armeabi-v7a.apk)
- [`termux-app_v0.119.0-beta.2+apt-android-7-github-debug_x86_64.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.2/termux-app_v0.119.0-beta.2+apt-android-7-github-debug_x86_64.apk)
- [`termux-app_v0.119.0-beta.2+apt-android-7-github-debug_x86.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.2/termux-app_v0.119.0-beta.2+apt-android-7-github-debug_x86.apk)
###### Android `5` and `6` only
- [`termux-app_v0.119.0-beta.2+apt-android-5-github-debug_universal.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.2/termux-app_v0.119.0-beta.2+apt-android-5-github-debug_universal.apk)
- [`termux-app_v0.119.0-beta.2+apt-android-5-github-debug_arm64-v8a.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.2/termux-app_v0.119.0-beta.2+apt-android-5-github-debug_arm64-v8a.apk)
- [`termux-app_v0.119.0-beta.2+apt-android-5-github-debug_armeabi-v7a.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.2/termux-app_v0.119.0-beta.2+apt-android-5-github-debug_armeabi-v7a.apk)
- [`termux-app_v0.119.0-beta.2+apt-android-5-github-debug_x86_64.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.2/termux-app_v0.119.0-beta.2+apt-android-5-github-debug_x86_64.apk)
- [`termux-app_v0.119.0-beta.2+apt-android-5-github-debug_x86.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.2/termux-app_v0.119.0-beta.2+apt-android-5-github-debug_x86.apk)
#####
**NOTICE:** Use `apt-android-7` variant for Android `>= 7` and `apt-android-5` variant for Android `5`/`6` and do not mix. Use `universal` variant if device/Android architecture is unknown. Basically, use [`termux-app_v0.119.0-beta.2+apt-android-7-github-debug_universal.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.2/termux-app_v0.119.0-beta.2+apt-android-7-github-debug_universal.apk) variant for Android `>= 7` if in doubt. Check [install](https://github.com/termux/termux-app#installation) and [GitHub install source](https://github.com/termux/termux-app#github) docs for more info.
### v0.118.2
- Date: 2025-03-29
- Version: v0.118.2
- Original notes: https://github.com/termux/termux-app/releases/tag/v0.118.2
- Permalink: https://whatsnew.fyi/product/termux/releases/v0.118.2
- Labels: Platforms: Android
- **added** — Add package SE_PROCESS_CONTEXT, SE_FILE_CONTEXT and SE_INFO when generating app info markdown string
- **added** — Add info to device info for supported ABIs for armv8l and 64-bit-only aarch64 devices and PAGE_SIZE for 16KB page size devices
- **added** — Export additional primary TERMUX_* scoped shell environment variables including TERMUX__ROOTFS, TERMUX__HOME, TERMUX__PREFIX, TERMUX_APP__DATA_DIR, TERMUX_APP__LEGACY_DATA_DIR, TERMUX_APP__BUILD_DATA_DIR, TERMUX__SE_PROCESS_CONTEXT, TERMUX_APP__SE_FILE_CONTEXT, TERMUX_APP__SE_INFO and ANDROID__BUILD_VERSION_SDK
- **added** — Add basic MIME type recognition in ContentProvider
- **added** — Add terminal CSI reporting of window and cell pixel size
- **added** — Fill .ws_xpixel and .ws_ypixel in winsize
- **added** — Do not show AutoFill UI on Termux start and add support for usernames
- **added** — Add support for Share selected text of terminal in long hold MORE menu
- **changed** — Bump apt-android-7 bootstraps to 2025.03.28-r1
- **changed** — Add PGUP and PGDN extra keys to repetitive keys so that long holding them triggers page scrolling
- **changed** — Make Shift-PgUp and Shift-PgDn scroll by pages rather than lines
- **fixed** — Generate debug report before deleting broken prefix directory after bootstrap second stage failure to get stat info at time of failure
- **fixed** — Fully consume unknown CSI sequences containing unsupported parameter and intermediate bytes
- **fixed** — Implement colon separated CSI parameters
- **fixed** — Make ScrollDown escape respect margins
- **fixed** — Use Canvas.drawTextRun instead of drawText to ensure consistent left-to-right text rendering
- **fixed** — Mark view as important for AutoFill before requesting an AutoFill
- **fixed** — Parse terminal APC sequences
- **fixed** — Fix SHIFT+PAGE_UP and SHIFT+PAGE_DOWN behaviour to scroll 1 line of scrollback history
- **fixed** — Improve handling of empty ';' SGR sequences
##### v0.118.2 - 2025-03-29 07:00
**Commit history:** [`v0.118.1...v0.118.2`](https://github.com/termux/termux-app/compare/43317b78...v0.118.2)
Changelog
###### Added
- Add package `SE_PROCESS_CONTEXT`, `SE_FILE_CONTEXT` and `SE_INFO` when generating app info markdown string. ([`999f10d7`](https://github.com/termux/termux-app/commit/999f10d7))
- Add info to device info for supported ABIs for armv8l and 64-bit-only aarch64 devices and `PAGE_SIZE` for `16KB` page size devices. ([`3aa986cf`](https://github.com/termux/termux-app/commit/3aa986cf))
- Export additional primary `TERMUX_*` scoped shell environment variables, i.e `TERMUX__ROOTFS`, `TERMUX__HOME`, `TERMUX__PREFIX`, `TERMUX_APP__DATA_DIR`, `TERMUX_APP__LEGACY_DATA_DIR`, `TERMUX_APP__BUILD_DATA_DIR`, `TERMUX__SE_PROCESS_CONTEXT`, `TERMUX_APP__SE_FILE_CONTEXT`, `TERMUX_APP__SE_INFO` and `ANDROID__BUILD_VERSION_SDK`. This is also required for `libtermux-exec-*-ld-preload.so` `$LD_PRELOAD` library as well for `termux-exec` version `>= 2.0.0`. ([`b7d2a4b6`](https://github.com/termux/termux-app/commit/b7d2a4b6), [`8440a728`](https://github.com/termux/termux-app/commit/8440a728))
- Basic MIME type recognition in ContentProvider. ([`c5f000a1`](https://github.com/termux/termux-app/commit/c5f000a1))
- Terminal CSI reporting of window and cell pixel size. ([`254e885f`](https://github.com/termux/termux-app/commit/254e885f))
- Fill `.ws_xpixel` and `.ws_ypixel` in `winsize`. ([`bb7fa88f`](https://github.com/termux/termux-app/commit/bb7fa88f))
- Do not show AutoFill UI on Termux start and add support for usernames. Closes [#3909](https://github.com/termux/termux-app/issues/3909). ([`043923e6`](https://github.com/termux/termux-app/commit/043923e6))
- Add support for `Share selected text` of terminal in long hold `MORE` menu so that users don't have to copy and paste to move text between apps. ([`2d38a1ca`](https://github.com/termux/termux-app/commit/2d38a1ca))
#####
###### Changed
- Bump `apt-android-7` bootstraps to `2025.03.28-r1`. ([`a8f8be18`](https://github.com/termux/termux-app/commit/a8f8be18))
- Add `PGUP` and `PGDN` extra keys to repetitive keys so that long holding them triggers page scrolling instead of having to repeatedly press the key to change pages. ([`fa710c47`](https://github.com/termux/termux-app/commit/fa710c47))
- Make Shift-PgUp and Shift-PgDn scroll by pages rather than lines. ([`915e053a`](https://github.com/termux/termux-app/commit/915e053a))
#####
###### Fixed
- Generate debug report before deleting broken prefix directory after bootstrap second stage failure to get `stat` info at time of failure. ([`7f632cf4`](https://github.com/termux/termux-app/commit/7f632cf4))
- Fully consume unknown CSI sequences containing unsupported parameter and intermediate bytes. Closes [#4338](https://github.com/termux/termux-app/issues/4338). Co-authored-by: @krobelus and @agnostic-apollo. ([`3f237502`](https://github.com/termux/termux-app/commit/3f237502))
- Implement colon separated CSI parameters. ([`0415681d`](https://github.com/termux/termux-app/commit/0415681d))
- Make ScrollDown escape respect margins. Closes [#2576](https://github.com/termux/termux-app/issues/2576). ([`4baf12ba`](https://github.com/termux/termux-app/commit/4baf12ba))
- Use Canvas.drawTextRun instead of drawText. drawText does (very) basic BiDi, which causes inconsistent behaviour. This ensures everything is LtR. ([`c1544076`](https://github.com/termux/termux-app/commit/c1544076))
- Mark view as important for AutoFill before requesting an AutoFill. Co-authored-by: @AChep and @agnostic-apollo. ([`ee9b31a0`](https://github.com/termux/termux-app/commit/ee9b31a0))
- Parse (but ignore for now) terminal APC sequences. ([`f35063da`](https://github.com/termux/termux-app/commit/f35063da))
- Fix `SHIFT+PAGE_UP` and `SHIFT+PAGE_DOWN` behaviour to scro
_[Truncated at 4000 characters — full notes: https://github.com/termux/termux-app/releases/tag/v0.118.2]_
### v0.119.0-beta.1
- Date: 2024-06-18
- Version: v0.119.0-beta.1
- Original notes: https://github.com/termux/termux-app/releases/tag/v0.119.0-beta.1
- Permalink: https://whatsnew.fyi/product/termux/releases/v0.119.0-beta.1
- Labels: Pre-release; Platforms: Android
##### v0.119.0-beta.1 - 2024-06-18 00.11
**Commit history:** [`v0.118.0...v0.119.0-beta.1`](https://github.com/termux/termux-app/compare/9259ef0b...v0.119.0-beta.1)
##### Downloads
###### Android `7+` only
- [`termux-app_v0.119.0-beta.1+apt-android-7-github-debug_universal.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.1/termux-app_v0.119.0-beta.1+apt-android-7-github-debug_universal.apk)
- [`termux-app_v0.119.0-beta.1+apt-android-7-github-debug_arm64-v8a.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.1/termux-app_v0.119.0-beta.1+apt-android-7-github-debug_arm64-v8a.apk)
- [`termux-app_v0.119.0-beta.1+apt-android-7-github-debug_armeabi-v7a.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.1/termux-app_v0.119.0-beta.1+apt-android-7-github-debug_armeabi-v7a.apk)
- [`termux-app_v0.119.0-beta.1+apt-android-7-github-debug_x86_64.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.1/termux-app_v0.119.0-beta.1+apt-android-7-github-debug_x86_64.apk)
- [`termux-app_v0.119.0-beta.1+apt-android-7-github-debug_x86.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.1/termux-app_v0.119.0-beta.1+apt-android-7-github-debug_x86.apk)
###### Android `5` and `6` only
- [`termux-app_v0.119.0-beta.1+apt-android-5-github-debug_universal.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.1/termux-app_v0.119.0-beta.1+apt-android-5-github-debug_universal.apk)
- [`termux-app_v0.119.0-beta.1+apt-android-5-github-debug_arm64-v8a.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.1/termux-app_v0.119.0-beta.1+apt-android-5-github-debug_arm64-v8a.apk)
- [`termux-app_v0.119.0-beta.1+apt-android-5-github-debug_armeabi-v7a.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.1/termux-app_v0.119.0-beta.1+apt-android-5-github-debug_armeabi-v7a.apk)
- [`termux-app_v0.119.0-beta.1+apt-android-5-github-debug_x86_64.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.1/termux-app_v0.119.0-beta.1+apt-android-5-github-debug_x86_64.apk)
- [`termux-app_v0.119.0-beta.1+apt-android-5-github-debug_x86.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.1/termux-app_v0.119.0-beta.1+apt-android-5-github-debug_x86.apk)
#####
**NOTICE:** Use `apt-android-7` variant for Android `>= 7` and `apt-android-5` variant for Android `5`/`6` and do not mix. Use `universal` variant if device/Android architecture is unknown. Basically, use [`termux-app_v0.119.0-beta.1+apt-android-7-github-debug_universal.apk`](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.1/termux-app_v0.119.0-beta.1+apt-android-7-github-debug_universal.apk) variant for Android `>= 7` if in doubt. Check [install](https://github.com/termux/termux-app#installation) and [GitHub install source](https://github.com/termux/termux-app#github) docs for more info.
### v0.118.1
- Date: 2024-06-18
- Version: v0.118.1
- Original notes: https://github.com/termux/termux-app/releases/tag/v0.118.1
- Permalink: https://whatsnew.fyi/product/termux/releases/v0.118.1
- Labels: Platforms: Android
- **added** — Add support for Termux bootstrap second stage by running termux-bootstrap-second-stage.sh
- **added** — Request SET_ALARM permission to allow broadcasting an intent to set an alarm or timer in an alarm clock app
- **changed** — Update support and donate users to termux.dev domain
- **changed** — Use black or white cursor color based on terminal background instead of always white if colors.properties didn't have cursor color set
- **changed** — Update WcWidth.java to Unicode 15.0.0
- **fixed** — Limit max combining characters in TerminalRow to 15 characters to prevent buffer overflows
- **fixed** — Fix shared terminal transcript joining back lines
- **fixed** — Ensure CSI parameter value is not greater than 9999 as per vt510
- **fixed** — Fix CSI parameters parsing like for SGR sequences that start with a semicolon or have sequential semicolon characters
- **fixed** — Fix message dialog button text not showing in day mode due to white text
- **fixed** — Fix wrong input type selected if toolbar is switched back to extra keys after tapping terminal if in text input mode
- **fixed** — Change extra keys and terminal input view background to black for day/night theming and to fix translucency issues with light terminal color themes
- **fixed** — Fix issue where a colour tint/highlight would be added to the terminal on activity re-creation
- **fixed** — Fix termux app restarting on Samsung DeX version less than 3.0 when switching modes
- **fixed** — Fix ArrayIndexOutOfBoundsException when setting zero width terminal character
- **fixed** — Log exception instead of crashing app on NumberFormatException for invalid termcap/terminfo string requested
- **fixed** — Fix CSI Delete Ps Column(s) (DECDC)
- **fixed** — Fix ArrayIndexOutOfBoundsException thrown because length was less than 0 when selecting text from terminal buffer
- **fixed** — Fix issue where menu wouldn't show when text on bottom row of terminal was selected
##### v0.118.1 - 2024-06-18 00.05
**Commit history:** [`v0.118.0...v0.118.1`](https://github.com/termux/termux-app/compare/9259ef0b...v0.118.1)
Changelog
###### Added
- Add support for Termux bootstrap second stage by running `termux-bootstrap-second-stage.sh`. ([`2c82a558`](https://github.com/termux/termux-app/commit/2c82a558))
- Request `SET_ALARM` permission to allow broadcasting an intent to set an alarm or timer in an alarm clock app. Closes [#3990](https://github.com/termux/termux-app/issues/3990). ([`9735ae28`](https://github.com/termux/termux-app/commit/9735ae28))
#####
###### Changed
- Update support and donate users to `termux.dev` domain. ([`2a008d83`](https://github.com/termux/termux-app/commit/2a008d83))
- Use black or white cursor color based on terminal background instead of always white if `colors.properties` didn't have cursor color set. Credit for algorithm link belong to @Jamie-Landeg-Jones. Closes [#2653](https://github.com/termux/termux-app/issues/2653). ([`160ab68e`](https://github.com/termux/termux-app/commit/160ab68e))
- Update `WcWidth.java` to Unicode `15.0.0`. ([`63833d9c`](https://github.com/termux/termux-app/commit/63833d9c), [`fc8245bb`](https://github.com/termux/termux-app/commit/fc8245bb), [`6ece249c`](https://github.com/termux/termux-app/commit/6ece249c))
#####
###### Fixed
- Limit max combining characters in TerminalRow to `15` characters to prevent buffer overflows. Closes [#3839](https://github.com/termux/termux-app/issues/3839). ([`0813e463`](https://github.com/termux/termux-app/commit/0813e463))
- Fix shared terminal transcript joining back lines. ([`c9e2a75e`](https://github.com/termux/termux-app/commit/c9e2a75e))
- Ensure CSI parameter value is not greater than `9999` as per `vt510`. ([`9433f107`](https://github.com/termux/termux-app/commit/9433f107))
- Fix CSI parameters parsing like for SGR sequences that start with a `;` or have sequential `;` characters. Credits for finding the issue belongs to @Screwtapello. Closes [#2272](https://github.com/termux/termux-app/issues/2272), Closes [mawww/kakoune#4339](https://github.com/mawww/kakoune/issues/4339). ([`fbf55fd4`](https://github.com/termux/termux-app/commit/fbf55fd4))
- Fix message dialog button text not showing in day mode due to white text. ([`903f2496`](https://github.com/termux/termux-app/commit/903f2496))
- Fix wrong input type selected if toolbar is switched back to extra keys after tapping terminal if in text input mode. Closes [#2503](https://github.com/termux/termux-app/issues/2503). ([`2dc7381b`](https://github.com/termux/termux-app/commit/2dc7381b))
- Change extra keys and terminal input view background to black. Required for day/night theming and should fix issues where both views were translucent with light terminal color themes. ([`e55639e4`](https://github.com/termux/termux-app/commit/e55639e4))
- Fix issue where a colour tint/highlight would be added to the terminal on activity re-creation. ([`087da0b5`](https://github.com/termux/termux-app/commit/087da0b5))
- Fix termux app restarting on samsung dex version `< 3.0` when switching modes. ([`d7f22982`](https://github.com/termux/termux-app/commit/d7f22982))
- Fix `ArrayIndexOutOfBoundsException` when setting zero width terminal character. ([`f222315b`](https://github.com/termux/termux-app/commit/f222315b))
- Log exception instead of crashing app on `NumberFormatException` for invalid termcap/terminfo string requested. ([`e11bcfc9`](https://github.com/termux/termux-app/commit/e11bcfc9))
- Fix `CSI` Delete `Ps` Column(s) (`DECDC`). ([`af5fef4c`](https://github.com/termux/termux-app/commit/af5fef4c))
- Fix `ArrayIndexOutOfBoundsException` thrown because length was less than 0 when selecting text from terminal buffer. ([`03e31d19`](https://github.com/termux/termux-app/commit/03e31d19))
- Fix issue where menu wouldn't show whe
_[Truncated at 4000 characters — full notes: https://github.com/termux/termux-app/releases/tag/v0.118.1]_
### v0.118.0
- Date: 2022-01-07
- Version: v0.118.0
- Original notes: https://github.com/termux/termux-app/releases/tag/v0.118.0
- Permalink: https://whatsnew.fyi/product/termux/releases/v0.118.0
- Labels: Platforms: Android
- **added** — Allow users to directly open URL links in terminal transcript when clicked or tapped via terminal-onclick-url-open=true in termux.properties
- **added** — Allow users to disable auto capitalization of extra keys text via extra-keys-text-all-caps=false in termux.properties
- **added** — Allow users to adjust terminal horizontal and vertical margin using terminal-margin-horizontal and terminal-margin-vertical keys in termux.properties
- **added** — Allow users to disable hardware keyboard shortcuts via disable-hardware-keyboard-shortcuts=true in termux.properties
- **added** — Request android.permission.PACKAGE_USAGE_STATS permission
- **added** — Add TERMUX_API_VERSION to termux shell environment
- **added** — Add TERMUX_IS_DEBUGGABLE_BUILD, TERMUX_APK_RELEASE and TERMUX_APP_PID to termux shell environment
- **added** — Add support for ~/.termux/termux.float.properties
- **added** — Convert extra-keys to agnosticism by moving them to termux-shared library
- **added** — Add support for SHIFT or SHFT extra-keys
- **added** — Add support for PASTE extra-keys for pasting text from clipboard
##### [v0.118.0] - 2022-01-07 22.35
Changelog
###### Added
- Allow users to directly open URL links in terminal transcript when clicked or tapped. The user can add `terminal-onclick-url-open=true` entry to `termux.properties` file to enable opening of URL links in terminal transcript when clicked or tapped. The default value is `false`. Running `termux-reload-settings` command will also update the behaviour instantaneously if changed. Implemented by @trygveaa in [#2146](https://github.com/termux/termux-app/pull/2146). ([`af16e79b`](https://github.com/termux/termux-app/commit/af16e79b), [`1a5a66d0`](https://github.com/termux/termux-app/commit/1a5a66d0))
- Allow users to disable auto capitalization of extra keys text. The user can add `extra-keys-text-all-caps=false` entry to `termux.properties` file to disable auto capitalization of extra keys text for both normal and popup buttons. The default value is `true`. Running `termux-reload-settings` command will also update the behaviour instantaneously if changed. ([`5c72c3ca`](https://github.com/termux/termux-app/commit/5c72c3ca))
- Allow users to adjust terminal horizontal and vertical margin. The `terminal-margin-horizontal` key can be used to adjust the terminal left/right margin and the `terminal-margin-vertical` can be used to adjust the terminal top/bottom margin. This will also affect drawer. The user can set an integer value between `0` and `100` as `dp` units. The default value is still `3` for horizontal and `0` for vertical margin. So adding an entry like `terminal-margin-horizontal=10` to `termux.properties` file will allow users to set a horizontal margin of `10dp`. After updating the value, either restart termux or run `termux-reload-settings` for changes to take effect.
This was added since for some users text on edges would not be shown on the screen or they had screen protectors/cases that covered screen edges (Of course, that would require fixing every single app and android system UI itself, so kinda stupid to use). Moreover, horizontal margin of like `10dp` may be helpful with peek-and-slide for people having gesture navigation enabled on android `10+` since they won't be to touch at exactly the edge of the screen to trigger peek (#1325).
Closes [#2210](https://github.com/termux/termux-app/issues/2210)
([`63504f0a`](https://github.com/termux/termux-app/commit/63504f0a))
- Allow users to disable hardware keyboard shortcuts. The user can add `disable-hardware-keyboard-shortcuts=true` entry to `termux.properties` file to disable hardware keyboard shortcuts. The default value is `false`. Running `termux-reload-settings` command will also update the behaviour instantaneously if changed. Note that for `ctrl+alt+p` to work, you need to unset `shortcut.rename-session = ctrl + n`. https://wiki.termux.com/wiki/Terminal_Settings. Closes [#1825](https://github.com/termux/termux-app/issues/1825). ([`829cc398`](https://github.com/termux/termux-app/commit/829cc398), [`fcc0d362`](https://github.com/termux/termux-app/commit/fcc0d362))
- Request `android.permission.PACKAGE_USAGE_STATS` permission. The permission can be granted from `Android Settings` -> `System` -> `Usage Access`. Closes [#2269](https://github.com/termux/termux-app/issues/2269). ([`865f29d4`](https://github.com/termux/termux-app/commit/865f29d4))
- Add `TERMUX_API_VERSION` to termux shell environment. This can be used to check if `Termux:API` is installed and enabled for cases where users try to run `termux-api` commands and it hangs. ([`0cf3cef7`](https://github.com/termux/termux-app/commit/0cf3cef7))
- Add `TERMUX_IS_DEBUGGABLE_BUILD`, `TERMUX_APK_RELEASE` and `TERMUX_APP_PID` to termux shell environment.
The `TERMUX_IS_DEBUGGABLE_BUILD` env variable will be set to `1` if termux APK is a debuggable APK and `0` otherwise. Note that the `dev_keystore.jks` shipped with termux app and plugin source code can also b
_[Truncated at 4000 characters — full notes: https://github.com/termux/termux-app/releases/tag/v0.118.0]_
### v0.117 — v0.117 (F-Droid only)
- Date: 2021-07-08
- Version: v0.117
- Original notes: https://github.com/termux/termux-app/releases/tag/v0.117
- Permalink: https://whatsnew.fyi/product/termux/releases/v0.117
- Labels: Platforms: Android
- **added** — Enable split apks for debug builds with architecture-specific APKs and a universal APK available from Github Actions
- **added** — Add app and device info to crash notifications shown when bootstrap installation or setup storage fails
- **added** — Trigger termux library builds on jitpack on releases
- **changed** — Move terminal margin adjustment setting from termux.properties to Termux Settings accessible via Terminal View options
- **fixed** — Fix java.lang.AbstractMethodError crash on dual screen and foldable devices caused by androidx.window library proguard rules
- **fixed** — Fix issue where a colour tint or highlight would be added to the terminal when soft keyboard was disabled and a hardware keyboard was attached
- **fixed** — Fix RUN_COMMAND intent failing for coreutils and busybox applets
- **fixed** — Attempt to fix bootstrap installation failure caused by invalid mkdirs return value
##### [0.117] - 2021-07-08
Changelog
###### Added
- Enable split apks for debug builds. APKs for each architecture and a universal APK that is compatible for all architectures will now be available from Github Actions page from the workflow runs labeled `Build`. The APKs will be available as zips under the Artifact section named `termux-app-*`. Architecture specific APKs can be used by users with low disk space since F-Droid releases are universal (since it doesn't support split APKs #1904) and their install+bootstrap installation size is `~180MB` instead of `~120MB` if an architecture specific APK is used. This should also reduce bandwidth usage and download time for debug builds users if they download an architecture specific zip instead of the universal one. Related #2153. (dccd155b, b90d5947)
- Add app and device info too for crash notification shown when bootstrap installation or setup storage fails. (56c38266)
- Trigger termux library builds on jitpack on releases. (d49fd6b0)
###### Changed
- Allow users to disable terminal margin adjustment from termux settings. Previously in `v0.115` (32135025) support was added with `disable-terminal-margin-adjustment` `termux.properties` property to disable terminal margin adjustment in case in causes screen flickering or other issues on some devices. It has now been removed in (7aefd943) and moved to Termux Settings since if it causes issues at startup and users can't access `termux.properties` file from the terminal, they will have to use `SAF` or root to access it, which will require an external app. Users can set the value from the `Termux Settings` -> `Termux` -> `Terminal View` -> `Terminal Margin Adjustment` toggle. The `Termux Settings` can be accessed from left drawer in termux and from the android launcher shortcut for Termux `Settings`, usually accessible by long holding on Termux icon. (e0ad9ff5)
###### Fixed
- Fix `java.lang.AbstractMethodError: androidx.window.sidecar.SidecarInterface$SidecarCallback.onDeviceStateChanged`. The crash was reported for `Microsoft Surface Duo`, which would affect some Samsung and other devices as well, mainly dual screens/foldables. It was caused by `androidx:window` library that has been used by `termux-shared` since `v0.115` having a typo in its proguard rules which didn't stop the removal of the required method for release builds (not debug) by proguard. For people who are getting the crash in `v0.115` and `v0.116` should set `disable-terminal-margin-adjustment=true` in `termux.properties` created as per instructions [here](https://github.com/termux/termux-app/issues/1896#issuecomment-766188879) and then start termux again and see if it fixes the issue. If you had termux installed before updating, you should be able to directly access the `~/.termux/termux.properties` file with `SAF`. The property will not work in `v0.117` as mentioned in `Changed` section above. (4361c5e0)
- Fix issue where a colour tint/highlight would be added to the terminal. This would happen when soft keyboard was to be disabled or hidden at startup and a hardware keyboard was attached and user started typing on hardware keyboard without tapping on the terminal first. (c6b4114f)
- Fix issue where `RUN_COMMAND` intent was failing for `coreutils`/`busybox` applets. (cce6dfed)
- Attempt to fix bootstrap installation failure that may be caused by invalid `mkdirs` return value. (dc8bdfe6)
#####
[`Github Build` APK](https://github.com/termux/termux-app/actions/runs/1010928970). Check [Installation](https://github.com/termux/termux-app#github) for more info on `Github Build` APKs.
[0.117]: https://github.com/termux/termux-app/compare/v0.116...v0.117
### v0.116 — v0.116 (F-Droid only)
- Date: 2021-07-01
- Version: v0.116
- Original notes: https://github.com/termux/termux-app/releases/tag/v0.116
- Permalink: https://whatsnew.fyi/product/termux/releases/v0.116
- Labels: Platforms: Android
- **fixed** — Fix Jitpack library publishing issue where v0.115 initial release was not properly picked up due to build caching, requiring v0.116 release for correct library imports
##### [0.116] - 2021-07-01
Changelog
###### Fixed
- Jitpack library publishing failed for initial `v0.115` release so 886e52dc was done to fix it and `v0.115` was re-released but jitpack kept building pre-fix initial release as per commit `Date` in [`build.log`](https://jitpack.io/com/github/termux/termux-app/0.115/build.log), likely due to one time download. So releasing `v0.116` so that it gets picked up. Users can import library based on entries like the following. The one mentioned in b7b12ebe are invalid.
- `implementation 'com.termux.termux-app:termux-shared:0.116'`
- `implementation 'com.termux.termux-app:termux-shared:master-SNAPSHOT'`
- `implementation 'com.termux.termux-app:termux-shared:e547c15481'`
- `implementation 'com.github.termux.termux-app:termux-shared:0.116'`
Note that the first time someone imports a new version, it will take some time to build and you may get errors like `Unable to resolve dependency for ':app@debug/compileClasspath'`. It will take a few minutes for builds to be downloadable even after `build.log` shows them to have succeeded, run `Sync Project with Gradle Files` again to try to redownload. You can check builds and their logs at https://jitpack.io/#termux/termux-app and the API at e.g https://jitpack.io/api/resolve/com.termux/termux-app/master-SNAPSHOT.
#####
[`Github Build` APK](https://github.com/termux/termux-app/actions/runs/988922416). Check [Installation](https://github.com/termux/termux-app#github) for more info on `Github Build` APKs.
[0.116]: https://github.com/termux/termux-app/compare/v0.115...v0.116
### v0.115 — v0.115 (F-Droid only)
- Date: 2021-07-01
- Version: v0.115
- Original notes: https://github.com/termux/termux-app/releases/tag/v0.115
- Permalink: https://whatsnew.fyi/product/termux/releases/v0.115
- Labels: Platforms: Android
- **added** — Add support to send back or store RUN_COMMAND intent command results in files and provide way to fix argument splitting caused by commas in arguments
- **added** — Add termux settings button to left drawer
- **added** — Allow users to disable terminal margin adjustment via disable-terminal-margin-adjustment=true entry in termux.properties file
- **added** — Show crash notification when bootstrap installation or setup storage failures
- **changed** — Move from github packages to jitpack.io for hosting termux library packages
- **changed** — Change license for non-termux utils from GPLv3 to MIT
- **changed** — Implement Errno system and add Error class for returning errors including suppressed throwables
- **changed** — Update bootstrap to 2021.06.30-r1
##### [0.115] - 2021-07-01
Changelog
###### Added
- Add support to send back or store `RUN_COMMAND` intent command results in files and provide way to fix argument splitting sent with `am` command caused by commas `,` in arguments itself. Native support has been added inside termux to store results of both foreground and background commands inside files, that also sends back internal `errmsgs` as long as result files extras are valid. This can be used to run synchronous commands from inside termux, with other apps that have `Run commands in Termux environment` (`com.termux.permission.RUN_COMMAND`) like Tasker, from pc over `adb` or inside `adb shell` if you have a rooted device, or from pc if you have setup termux `sshd`. The `RUN_COMMAND` intent can only be sent by the `termux` user itself, by an app that has the permission or by the `root` user. The `shell` user of `adb` cannot send it. A script will be provided at a later time that will automatically detect these cases to easily run `RUN_COMMAND` intent commands which will also automatically create temp directories and do cleanup. This can also be useful inside termux itself, like if you want to start a new foreground session and to automatically store its output to a log file when you exit. Support can also be added for this to be done for `termux-boot` and `termux-widget` as well but will require updates for them. Check the commit message for full details and examples for this since too long to be added here. (2aafcf84)
- Add termux settings button to left drawer too since apparently people can't find the one in context menu. (59877a08)
- Allow users to disable terminal margin adjustment. The user can add `disable-terminal-margin-adjustment=true` entry to `termux.properties` file to disable terminal view margin adjustment that is done to prevent soft keyboard from covering bottom part of terminal view on some devices. Margin adjustment may cause screen flickering on some devices and so should be disabled. The default value is `false`. So adding the entry `disable-terminal-margin-adjustment=true` to `termux.properties` file will disable margin adjustment. Exit termux and restart for changes to take affect after updating value. In case e5a9b99a did not fix screen flickering issues for [#2127](https://github.com/termux/termux-app/issues/2127), then this can be used to disable it. Closes [#2127](https://github.com/termux/termux-app/issues/2127).
- Show crash notification when bootstrap installation or setup storage failures. Sometimes users report that bootstrap installation failed on their devices but provide no details. Since they don't check logcat for the exception or exception is one time only, we can't know what happened. Although, reasons are likely root ownership files. The notification will show the full stacktrace including suppressed ones for why failure occurred and hopefully be easier to find the problems and we can get reports too. (e408fdcc)
- Updated `bootstrap` to [`2021.06.30-r1`](https://github.com/termux/termux-packages/releases/tag/bootstrap-2021.06.30-r1). (56701282)
###### Changed
- Move from github packages to https://jitpack.io for hosting termux library packages. Github Package hosting is considered a private repository since it requires github APIs keys if a hosted library needs to be imported as a dependency. Importing from private repositories is not allowed as per `F-Droid` policy so termux plugin apps can't import termux libraries as dependencies so hence we move to `Jitpack`. Usage details for importing termux libraries in your own app as dependencies are in the commit message. (b7b12ebe, 69e5deed, 886e52dc)
- Change license for non-termux utils from `GPLv3` to `MIT` so that they can be used by other termux plugin apps or apps that may be released under a different license. Termux is already using a lot of libraries that are not GPL and such general utils shouldn't be restrictive
_[Truncated at 4000 characters — full notes: https://github.com/termux/termux-app/releases/tag/v0.115]_