Releases: termux/termux-widget
v0.15.0
v0.15.0 - 2025-09-02 00.37
Commit history: v0.14.0...v0.15.0
v0.14.0
v0.14.0 - 2025-01-16
Commit history: v0.13.0...v0.14.0
Changelog
Added
-
Add dynamic shortcuts. Implemented by @fabian-thomas and @agnostic-apollo in #80. (
6253df51,bf224475) -
Add support for shared day/night theming based on
night-modetermux.propertiesvalue. (397359b9) -
Add
SystemEventReceiverthat receives theACTION_BOOT_COMPLETEDandACTION_MY_PACKAGE_REPLACEDintents to refresh widgets. This should help fix issues on any potential devices that fail to send theAppWidgetManager.ACTION_APPWIDGET_UPDATEintent that is normally sent by Android to the app for it to refresh its widgets, but do send other intents on boot or app updates and don't kill the app after app updates. (d480a8ae) -
Refresh all widgets when main activity starts instead of having to press the
Refresh Widgetsbutton manually. (aed127d7) -
Add support for refreshing all widgets in in-app button and passing
0inam broadcast -n com.termux.widget/.TermuxWidgetProvider -a com.termux.widget.ACTION_REFRESH_WIDGET --ei appWidgetId <id>broadcast. This also allows a way to fix occasional non-responsive widgets after app updates ifACTION_APPWIDGET_UPDATEwas not sent/received by Termux:Widget app. (497c1cfb) -
Add monochrome icon. Implemented by @daywalk3r666 in #99 (
72fff0f5) -
Add
workflow_dispatchandcronschedule for "00:15 on 1st of every 2nd month" togithub_action_buildworkflow triggers. (222cab3a) -
! Change
sha256sumsfilename tochecksums-sha256.txtthat is generated for APKs built and uploaded to GitHub releases/actions with GitHub actions and log checksum file contents. This is done so that the checksums gets stored internally in GitHub action logs as well and if APK/checksum files attached to GitHub releases are modified manually by someone, this can be detected, at least until logs expire. (fa85579c)
Changed
-
Rename
TermuxWidgetActivitytoTermuxWidgetMainActivity. TheTermuxWidgetLauncherActivityactivity alias has been added forTermuxWidgetMainActivity. This will allow disabling the launcher activity, but still allow the main activity to be launched from Termux app (by runningam start com.termux.widget/com.termux.widget.activities.TermuxWidgetMainActivity) or from widget title in future. The launcher activity will also now be allowed to be enabled again without having to reinstall the app with theEnable Launcher Iconbutton in the main activity if its currently disabled. (639483ad,d4cfdb2c) -
Refactor
TermuxCreateShortcutActivityto move shortcut functions toShortcutFileand change shortcut path behaviour.The
ShortcutFilewill now store the path instead of the file object.This commit will also now pass absolute path of shortcuts when creating intents for shortcuts and widgets instead of canonical path. This will allow path expansion to be done during execution instead of at creation and if underlying symlink destination changes, new destination will be executed. There will still be a security check during execution to check if shortcut is under allowed directories. The shortcut label will now also be generated from absolute path instead of canonical path as mentioned in #59.
Co-authored-by: Fabian Thomas [email protected].
Co-authored-by: agnostic-apollo [email protected].(
b67203aa) -
Change the word
reloadtorefreshwhen refreshing widgets to be consistent. (a19b8edd) -
! Add
-appsuffix to app name and add version name in APKs generated. (96c5d1e4) -
! Use dot
.as tags separator instead of dash-forgithubrelease source anddebugbuild type in the apk version tag. This is done to be consistent with semver build metadata tags. For examplegithub-debugwill now begithub.debug. (07cef6c3) -
! Rename
app/build.gradleenvironmental variables toTERMUX_WIDGET_APP__BUILD__scope instead ofTERMUX_WIDGET_.- Renamed
TERMUX_WIDGET_APP_VERSION_NAMEtoTERMUX_WIDGET_APP__BUILD__APP_VERSION_NAME. - Renamed
TERMUX_WIDGET_APK_VERSION_TAGtoTERMUX_WIDGET_APP__BUILD__APK_VERSION_TAG.
- Renamed
-
Remove termux-emulator JNI libs from APK. (
750f981e) -
Update suggested permissions for
.shortcuts/icons. Implemented by @SuspectTyrannosaurus in #69. (a5e1f43b)
Fixed
-
Show
Open Termux:Widget app to refresh widgetmessage instead ofNo files in ~/.shortcuts/message when initial layout of widget is being shown so that it is not confused with shortcuts directory being empty.In this stuck state which may happen after app updates or if app process gets killed without being restarted by Android, the widgets must be refreshed by starting the Termux:Widget app or with the refresh button in the main activity.
If the widget was successfully refreshed/updated and shortcuts directory was empty, only then the
No files in ~/.shortcuts/message will be shown.(
de8c1a63) -
Fix issue where app main activity will be brought to front if it existed in recent apps stack and a shortcut was run from launcher. (
03c9cb77) -
Remove replacement of '-' to ' ' in file names. (
ad155a6c)
Check Installation for more info on termux-widget_<version>+github-debug.apk files attached.
v0.13.0
0.13.0 - 2021-09-23
Changelog
Added
-
Add support for launching scripts from Device Control Menu in power menu on Android
11. Implemented in #55. (8c034da) -
Use
ShortcutManagerAPIs to create pinned shortcut on android version>=8. This is better way to create shortcuts since launcher does not get access to shortcut data of the app and android itself stores them. It may even solve problems on some launchers, mainly Samsung launcher where randomly all shortcuts get renamed to the app name, considering it will be queuering android for the shortcut names at startup. The only issue with this is that shortcuts may have an app badge on the icon as well, depending on launcher. This is likely a safety mechanism to know which app created the shortcut in case a malicious app creates shortcuts with icons of a different app. This is not controlled bytermux-widgetbut the launcher itself, so contact launcher devs for an option to remove them. For android version< 8, static shortcuts will still be used since pinned shortcuts are not supported. For more info on shortcut types, check https://github.com/agnostic-apollo/TaskerLauncherShortcut#shortcut-types. Related issue #28. (e94d777) -
Provide a way to refresh widget shortcuts list from Termux terminal/scripts with the
com.termux.widget.ACTION_REFRESH_WIDGETintent. CheckREADME.mdfor details. (15b3698) -
Add logging system based on
Loggerclass. Log levels can be changed intermux-appsettings. (32f344e) -
Add crash handler so that crash notifications can be shown in
termux-appat startup. (32f344e) -
Add launcher icon/activity that can optionally be disabled. Related issue #56. (7c7612a)
Changed
-
Remove all hardcoded
com.termuxconstants and use the values defined byTermuxConstantsandTermuxPreferenceConstantsintermux-sharedlibrary. (32f344e) -
!Move to semantic versioning for app version and add commit hash and
githubto APK file names. (af8b7c1) -
!Remove
token.xmlSharedPreferencesmanagement and use the one intermux-sharedprovided byTermuxWidgetAppSharedPreferences. This will invalidate all previous user shortcuts and they will have to be created again. This is necessary due to various reasons including design changes added in this commit and for usage of android's internalShortcutManagerAPIs to create pinned shortcut added in e94d777. (32f344e) -
!Do not show files as shortcuts that are broken symlinks or their canonical path is not under the
~/.shortcutsor~/.termuxdirectory and do not allow execution for the later. (32f344e, 13954b8, bcb0ab6) -
Remove duplicated code and handle sending execution intent in the single function
TermuxWidgetProvider.sendExecutionIntentToTermuxService(), which will also do proper validation of termux app access and shortcut file. (32f344e) -
Update naming convention of resources. (32f344e)
-
Enable
minifyEnabledbut still keepshrinkResourcesand obfuscation disabled for testing reproducible builds and maintaining stacktraces of crashes. (e0c248d)
Fixed
-
Do not use files as icons that are non-regular files, are broken symlinks or their canonical path is not under the
~/.shortcuts/iconsor~/.termuxdirectory. (9df1ab7, bcb0ab6) -
Attempt to fix shortcuts token not being saved to SharedPreferences file with termux/termux-app@4f66786b. Related issue #16. (da4b437)
Check Installation for more info on termux-widget_<version>+github-debug.apk files attached.
v0.12
0.12 - 2021-07-30
Added
-
Add ability to have custom icons for shortcuts. Users can create the
/data/data/com.termux/files/home/.shortcuts/iconsdirectory withmkdir -p ~/.shortcuts/iconsand add a file named<script_name>.pngthat should be used as the icon when a launcher shortcut is created. For example a script namedtest.shshould have the icon file namedtest.sh.png. The directory is shared for both foreground and background tasks. Added by @AbdullahM0hamed in #43. (1287072) -
Automatically attach debug APKs when a release is created. (7870600)
v0.11
v0.10
v0.9
v0.8
v0.7
v0.6
- Add support for folders inside
~/.shortcuts/when creating single shortcuts. - Tweak how nested folders are shown to save vertical space.
- Add support for launching background tasks without a terminal: A script in a folder named
taskswill now be executed in the background without starting a terminal. NOTE: This requires updating the main Termux app to v0.43, which will be released shortly.