tag:github.com,2008:https://github.com/termux/termux-api/releasesRelease notes from termux-api2025-09-01T23:16:14Ztag:github.com,2008:Repository/38464245/v0.53.02025-09-01T23:56:49Zv0.53.0<h2>v0.53.0 - 2025-09-01</h2>
<p><strong>Commit history:</strong> <a href="https://github.com/termux/termux-api/compare/v0.52.0...v0.53.0"><code>v0.52.0...v0.53.0</code></a></p>
<details>
<summary>Changelog</summary>
<h3>Fixed</h3>
<ul>
<li>Fix <code>NullPointerException</code> in <code>BatteryStatusAPI</code> while converting a <code>null</code> <code>Integer</code> to an <code>int</code> for <code>batteryCurrentNow</code> and also do not output <code>null</code> values. (<a href="https://github.com/termux/termux-api/commit/27a75996144b"><code>27a75996144b</code></a>)</li>
</ul>
<hr>
<p> </p>
</details>agnostic-apollotag:github.com,2008:Repository/38464245/v0.52.02025-05-28T01:18:11Zv0.52.0<h2>v0.52.0 - 2025-05-22 10:50</h2>
<p><strong>Commit history:</strong> <a href="https://github.com/termux/termux-api/compare/v0.51.0...v0.52.0"><code>v0.51.0...v0.52.0</code></a></p>
<details>
<summary>Changelog</summary>
<h3>Fixed</h3>
<ul>
<li>
<p>Bump <code>termux-shared</code> to <code>da3a0ac4e2</code>. Related commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/termux/termux-app/commit/4de0caac/hovercard" href="https://github.com/termux/termux-app/commit/4de0caac">termux/termux-app@<tt>4de0caac</tt></a>. Related commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/termux/termux-app/commit/da3a0ac4/hovercard" href="https://github.com/termux/termux-app/commit/da3a0ac4">termux/termux-app@<tt>da3a0ac4</tt></a>. Related commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/termux/termux-api/commit/28bc8c85/hovercard" href="https://github.com/termux/termux-api/commit/28bc8c85"><tt>28bc8c85</tt></a>. (<a href="https://github.com/termux/termux-api/commit/a3a231e6"><code>a3a231e6</code></a>)</p>
</li>
<li>
<p>JobSchedulerAPI: Fix <code>ResultReturner.returnData()</code> being called multiple times for different printing since <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/termux/termux-api/commit/51a02f4fd8ad5f7c709ba3904115533fc032ef38/hovercard" href="https://github.com/termux/termux-api/commit/51a02f4fd8ad5f7c709ba3904115533fc032ef38"><tt>51a02f4</tt></a> and <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/termux/termux-api/commit/61262f751061ba44f5790ef2643bce38a53ecead/hovercard" href="https://github.com/termux/termux-api/commit/61262f751061ba44f5790ef2643bce38a53ecead"><tt>61262f7</tt></a> throwing <code>Connection refused</code> exceptions for calls after the first one instead of printing, and also refactor actions out to functions and change action output format.</p>
<p>The <code>ResultReturner.returnData()</code> will be called once for each action.</p>
<p>The schedule job action will not print all pending jobs at end and only the pending job that was scheduled if successful. Users should use <code>termux-job-scheduler -p</code> to get all pending jobs.</p>
<p>The <code>termux-job-scheduler --p</code> action will print <code>No jobs found</code> instead of <code>No pending jobs</code> if no pending job exists.</p>
<p>The <code>termux-job-scheduler --cancel-all</code> action will now print all jobs to be cancelled, or <code>No jobs found</code> found.</p>
<p>The job description will use <code>4</code> spaces instead of a tab after the path.</p>
<p>Closes <a href="https://github.com/termux/termux-api/issues/762" data-hovercard-type="issue" data-hovercard-url="/termux/termux-api/issues/762/hovercard">#762</a>, Closes <a href="https://github.com/termux/termux-api/issues/773" data-hovercard-type="issue" data-hovercard-url="/termux/termux-api/issues/773/hovercard">#773</a>.</p>
<p>(<a href="https://github.com/termux/termux-api/commit/6fbf61aa"><code>6fbf61aa</code></a>)</p>
</li>
<li>
<p>Fix <code>termux-notification --icon</code> not working for release builds as icon drawables were being removed by resource shrinker possibly related to <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/termux/termux-api/commit/6ef2618f65d276d32c8854cd8c25008b5ee41e7c/hovercard" href="https://github.com/termux/termux-api/commit/6ef2618f65d276d32c8854cd8c25008b5ee41e7c"><tt>6ef2618</tt></a>.</p>
<p>Use standard Android API to get resource id for drawable icon instead of using reflection into drawable class. Additionally use <code>String.format()</code> so that resource shrinker does not remove icons used by <code>NotificationAPI</code> for release builds.</p>
<p>Closes <a href="https://github.com/termux/termux-api/issues/483" data-hovercard-type="issue" data-hovercard-url="/termux/termux-api/issues/483/hovercard">#483</a>.</p>
<p>(<a href="https://github.com/termux/termux-api/commit/1639e73f"><code>1639e73f</code></a>)</p>
</li>
<li>
<p>Fix <code>termux-notification</code> actions not updating or conflicting between notifications due to same request code being used for the <code>PendingIntent</code> of all actions and also specify <code>PendingIntent.FLAG_IMMUTABLE</code> to prevent any modification.</p>
<ul>
<li><a href="https://developer.android.com/about/versions/12/behavior-changes-12#pending-intent-mutability" rel="nofollow">https://developer.android.com/about/versions/12/behavior-changes-12#pending-intent-mutability</a>.</li>
</ul>
<p>Closes <a href="https://github.com/termux/termux-api/issues/677" data-hovercard-type="issue" data-hovercard-url="/termux/termux-api/issues/677/hovercard">#677</a>, Closes <a href="https://github.com/termux/termux-api/issues/764" data-hovercard-type="issue" data-hovercard-url="/termux/termux-api/issues/764/hovercard">#764</a>.</p>
<p>(<a href="https://github.com/termux/termux-api/commit/7c1759a3"><code>7c1759a3</code></a>)</p>
</li>
<li>
<p>BatteryStatusAPI: Output double value instead of string for temperature field with value rounded up to 1 decimal place. (<a href="https://github.com/termux/termux-api/commit/97b41002"><code>97b41002</code></a>)</p>
</li>
<li>
<p>Manually add stack trace of caller function that called <code>ResultReturner.returnData()</code> to exception messages as exceptions thrown inside <code>Runnable</code> lambda thread will not include it by default. (<a href="https://github.com/termux/termux-api/commit/922f3585"><code>922f3585</code></a>)</p>
</li>
<li>
<p>Fix disabling obfuscation added in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/termux/termux-api/commit/6ef2618f65d276d32c8854cd8c25008b5ee41e7c/hovercard" href="https://github.com/termux/termux-api/commit/6ef2618f65d276d32c8854cd8c25008b5ee41e7c"><tt>6ef2618</tt></a> caused due to wrong proguard file being used.</p>
<p>This caused Termux classes like <code>ReportInfo</code> to be obfuscated making stacktraces harder to read.</p>
<p>Related commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/termux/termux-app/commit/da3a0ac4/hovercard" href="https://github.com/termux/termux-app/commit/da3a0ac4">termux/termux-app@<tt>da3a0ac4</tt></a>.</p>
<p>(<a href="https://github.com/termux/termux-api/commit/28bc8c85"><code>28bc8c85</code></a>)</p>
</li>
<li>
<p>Explicitly specify <code>PendingIntent.FLAG_MUTABLE</code> flag for <code>PendingIntent</code> passed to <code>NfcAdapter.enableForegroundDispatch()</code>. (<a href="https://github.com/termux/termux-api/commit/5040a66f"><code>5040a66f</code></a>)</p>
</li>
<li>
<p>Check if <code>NfcAdapter</code> is available and not <code>null</code> in <code>NfcActivity.onResume()</code> in addition to <code>onCreate()</code> before calling its methods otherwise would trigger a <code>NullPointerException</code>. (<a href="https://github.com/termux/termux-api/commit/4ba140dd"><code>4ba140dd</code></a>)</p>
</li>
<li>
<p>Fix <code>termux-nfc -t x</code> resulting in error notification being shown as method was not returned from after sending error resulting in <code>ResultReturner.returnData()</code> being called twice. (<a href="https://github.com/termux/termux-api/commit/c986fb09"><code>c986fb09</code></a>)</p>
</li>
</ul>
<hr>
<p> </p>
</details>agnostic-apollotag:github.com,2008:Repository/38464245/v0.51.02025-03-29T07:12:15Zv0.51.0<h2>v0.51.0 - 2025-03-29 07:10</h2>
<p><strong>Commit history:</strong> <a href="https://github.com/termux/termux-api/compare/v0.50.1...v0.51.0"><code>v0.50.1...v0.51.0</code></a></p>
<details>
<summary>Changelog</summary>
<h3>Added</h3>
<ul>
<li>
<p>Add <code>SAFAPI</code>. Implemented by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tareksander/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tareksander">@tareksander</a> in <a href="https://github.com/termux/termux-api/pull/476" data-hovercard-type="pull_request" data-hovercard-url="/termux/termux-api/pull/476/hovercard">#476</a>. (<a href="https://github.com/termux/termux-api/commit/a546eeb5"><code>a546eeb5</code></a>)</p>
</li>
<li>
<p>Enhance <code>SmsInboxAPI</code> with new options and fix errors for non existent columns.</p>
<p>The following options have been added. Check <code>termux-sms-list --help</code> for examples and more info.</p>
<ul>
<li><code>conversation-limit=<limit></code>: The SQL limit for returned SMS conversations.</li>
<li><code>conversation-offset=<offset></code>: The SQL offset for returned SMS conversations.</li>
<li><code>conversation-return-multiple-messages</code>: Return multiple SMS messages per conversation.</li>
<li><code>conversation-return-nested-view</code>: Return a nested object view of conversations where each conversation contains an array of SMS messages with the conversation id as the key.</li>
<li><code>conversation-return-no-order-reverse</code>: Return SMS conversations without reversing order of conversation sort.</li>
<li><code>conversation-selection=<selection></code>: The SQL selection for returned SMS conversations.</li>
<li><code>conversation-sort-order=<order></code>: The SMS conversations sort order as per SQL 'ORDER BY col1, col2, ... ASC|DESC' clause. Default value: 'date DESC'.</li>
<li><code>message-return-no-order-reverse</code>: Return SMS messages without reversing order of message sort.</li>
<li><code>message-selection=<selection></code>: The SQL selection for returned SMS messages.</li>
<li><code>message-sort-order=<order></code>: The SMS messages sort order as per SQL 'ORDER BY col1, col2, ... ASC|DESC' clause. Default value: 'date DESC'.</li>
</ul>
<p>(<a href="https://github.com/termux/termux-api/commit/1b60b23c"><code>1b60b23c</code></a>)</p>
</li>
<li>
<p>Add <code>present</code>, <code>technology</code>, <code>voltage</code>, <code>current_avg</code>, <code>level</code>, <code>scale</code>, <code>charge_counter</code>, <code>energy</code> and <code>cycle</code> properties to battery API. Fix <code>BATTERY_PROPERTY_CURRENT_NOW</code> unit if required. Use <code>percentage</code> returned by <code>BATTERY_PROPERTY_CAPACITY</code> instead of using scale and level as suggested by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Wetitpig/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Wetitpig">@Wetitpig</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1971899318" data-permission-text="Title is private" data-url="https://github.com/termux/termux-api/issues/630" data-hovercard-type="pull_request" data-hovercard-url="/termux/termux-api/pull/630/hovercard" href="https://github.com/termux/termux-api/pull/630">#630</a>. (<a href="https://github.com/termux/termux-api/commit/d5364ef3"><code>d5364ef3</code></a>)</p>
</li>
<li>
<p>Add Termux:API app settings activity directly in the app itself so that the main Termux app is not required. Currently, it allows changing the log level. (<a href="https://github.com/termux/termux-api/commit/ed867bc3"><code>ed867bc3</code></a>)</p>
</li>
<li>
<p>Add <code>last_modified</code> attribute for <code>termux-saf-stat</code> and <code>termux-saf-ls</code>. Co-authored-by: <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BryanJacobs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BryanJacobs">@BryanJacobs</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/agnostic-apollo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/agnostic-apollo">@agnostic-apollo</a> (<a href="https://github.com/termux/termux-api/commit/3f743003"><code>3f743003</code></a>)</p>
</li>
<li>
<p>Add opus audio encoder. (<a href="https://github.com/termux/termux-api/commit/992ce17d"><code>992ce17d</code></a>)</p>
</li>
<li>
<p>Add monochrome icon. (<a href="https://github.com/termux/termux-api/commit/0eae9395"><code>0eae9395</code></a>)</p>
</li>
<li>
<p>Add <code>DUMP</code> and <code>PACKAGE_USAGE_STATS</code> permissions. (<a href="https://github.com/termux/termux-api/commit/989a19b7"><code>989a19b7</code></a>)</p>
</li>
<li>
<p>Add <code>INTERNET</code> permission. The internet permission may solve problems for Termux app not having internet access if Termux:API app is installed first due to Android <code>sharedUserId</code> bugs which shares permissions across all apps. (<a href="https://github.com/termux/termux-api/commit/ea094b0a"><code>ea094b0a</code></a>)</p>
</li>
<li>
<p>Add support for unix filesystem sockets for API communication. (<a href="https://github.com/termux/termux-api/commit/fe6e3d48"><code>fe6e3d48</code></a>)</p>
</li>
<li>
<p>Add <code>workflow_dispatch</code> and <code>cron</code> schedule for "00:15 on 1st of every 2nd month" to <code>github_action_build</code> workflow triggers. (<a href="https://github.com/termux/termux-api/commit/f60affe5"><code>f60affe5</code></a>)</p>
</li>
<li>
<p>Add <code>capabilities</code> field to <code>termux-wifi-scaninfo</code> output. Closes <a href="https://github.com/termux/termux-api/issues/676" data-hovercard-type="issue" data-hovercard-url="/termux/termux-api/issues/676/hovercard">#676</a>. (<a href="https://github.com/termux/termux-api/commit/cff225e4"><code>cff225e4</code></a>)</p>
</li>
<li>
<p>Request disable battery optimizations and grant draw over apps permission. (<a href="https://github.com/termux/termux-api/commit/ba2836ba"><code>ba2836ba</code></a>)</p>
</li>
<li>
<p>Add support to send crash notifications if exceptions are caught in <code>TermuxApiReceiver</code> and <code>ResultReturner</code>. This will allow users to know if an exception caused an API command to fail instead of having to check <code>logcat</code>. Currently, <code>Termux:API</code> app is broken a lot and crash reports from users for edge case exceptions or device specific exceptions will help solve such issues. In future, likely <code>stderr</code> will be used instead, once support is added. (<a href="https://github.com/termux/termux-api/commit/6112bf67"><code>6112bf67</code></a>)</p>
</li>
<li>
<p>Add launcher icon/activity. This must not be allowed to be disabled since there is no other way to start Termux:API app again if it crashes multiple times and gets marked as bad process by android. This is also required to bypass OEM battery restrictions like DuraSpeed. This also easily allows users to know if the app is installed or not. Related issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="983680097" data-permission-text="Title is private" data-url="https://github.com/termux/termux-widget/issues/56" data-hovercard-type="issue" data-hovercard-url="/termux/termux-widget/issues/56/hovercard" href="https://github.com/termux/termux-widget/issues/56">termux/termux-widget#56</a>. Related issue <a href="https://github.com/termux/termux-api/issues/447" data-hovercard-type="issue" data-hovercard-url="/termux/termux-api/issues/447/hovercard">#447</a>. (<a href="https://github.com/termux/termux-api/commit/f2c1342f"><code>f2c1342f</code></a>)</p>
</li>
<li>
<p>Add storage permissions since <code>PermissionUtils.checkPermissions()</code> will check if app has requested them before checking if permission is granted. (<a href="https://github.com/termux/termux-api/commit/ec390259"><code>ec390259</code></a>)</p>
</li>
<li>
<p>Declare <code>READ_PRIVILEGED_PHONE_STATE</code> permission for <code>TelephonyAPI</code> IMEI and MEID. (<a href="https://github.com/termux/termux-api/commit/8d6c6ce1"><code>8d6c6ce1</code></a>)</p>
</li>
<li>
<p>Request <code>ACCESS_BACKGROUND_LOCATION</code> as required by android 10+.(<a href="https://github.com/termux/termux-api/commit/7ef6b206"><code>7ef6b206</code></a>)</p>
</li>
<li>
<p>Add dual sim feature to CallLog api. (<a href="https://github.com/termux/termux-api/commit/a8574836"><code>a8574836</code></a>)</p>
</li>
<li>
<p>Notification channel support. Implemented by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tareksander/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tareksander">@tareksander</a> in <a href="https://github.com/termux/termux-api/pull/477" data-hovercard-type="pull_request" data-hovercard-url="/termux/termux-api/pull/477/hovercard">#477</a>. (<a href="https://github.com/termux/termux-api/commit/75a5ffe3"><code>75a5ffe3</code></a>)</p>
</li>
</ul>
<h2> </h2>
<p> </p>
<h3>Changed</h3>
<ul>
<li>
<p>Add <code>UsbService</code> to process usb api requests and fix multiple exceptions for Android 12+ and hang up for Android 14+. Co-authored-by: <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/agnostic-apollo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/agnostic-apollo">@agnostic-apollo</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/9hm2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/9hm2">@9hm2</a>. Closes <a href="https://github.com/termux/termux-api/issues/675" data-hovercard-type="issue" data-hovercard-url="/termux/termux-api/issues/675/hovercard">#675</a>. (<a href="https://github.com/termux/termux-api/commit/15d5fb62"><code>15d5fb62</code></a>)</p>
</li>
<li>
<p>The <code>TermuxAPILauncherActivity</code> activity alias has been added for <code>TermuxAPIMainActivity</code>. This will allow disabling the launcher activity, but still allow the main activity to be launched from Termux app. The launcher activity will also now be allowed to be enabled again without having to reinstall the app with the <code>Enable Launcher Icon</code> button in the main activity if its currently disabled. (<a href="https://github.com/termux/termux-api/commit/280e5c7c"><code>280e5c7c</code></a>, <a href="https://github.com/termux/termux-api/commit/bab9ef3a"><code>bab9ef3a</code></a>)</p>
</li>
<li>
<p>Send plugin error notification instead of crash notification for uncaught exceptions for API calls. (<a href="https://github.com/termux/termux-api/commit/1f4a3f2c"><code>1f4a3f2c</code></a>)</p>
</li>
<li>
<p>Rename <code>PhotoAPI</code> to <code>CameraPhotoAPI</code>. (<a href="https://github.com/termux/termux-api/commit/ac967e8a"><code>ac967e8a</code></a>)</p>
</li>
<li>
<p>Do not hang indefinitely when exceptions are thrown in <code>TermuxApiReceiver</code> and <code>ResultReturner</code>. (<a href="https://github.com/termux/termux-api/commit/3c1a6be8"><code>3c1a6be8</code></a>)</p>
</li>
<li>
<p>Fix potential NullPointerException in <code>StorageGetAPI</code> and use FileUtils for missing permissions check. (<a href="https://github.com/termux/termux-api/commit/950f9be3"><code>950f9be3</code></a>)</p>
</li>
<li>
<p>Fix potential NullPointerException in <code>PhotoAPI</code> and use FileUtils for photo directory creation. (<a href="https://github.com/termux/termux-api/commit/cc186d03"><code>cc186d03</code></a>)</p>
</li>
<li>
<p>Use <code>TERMUX_API_FILE_SHARE_URI_AUTHORITY</code> for content provided uri and fix sharing paths with "#". (<a href="https://github.com/termux/termux-api/commit/9a9e3eae"><code>9a9e3eae</code></a>)</p>
</li>
<li>
<p>Remove hardcoded <code>com.termux</code> values. (<a href="https://github.com/termux/termux-api/commit/3bea1942"><code>3bea1942</code></a>)</p>
</li>
<li>
<p>Use night-mode instead of use-black-ui termux.properties property for setting DialogActivity theme as per <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/termux/termux-app/commit/6631599f/hovercard" href="https://github.com/termux/termux-app/commit/6631599f">termux/termux-app@<tt>6631599f</tt></a>. (<a href="https://github.com/termux/termux-api/commit/5c71e2df"><code>5c71e2df</code></a>)</p>
</li>
<li>
<p>Protect <code>ShareAPI.ContentProvider</code> write access with permission in case it was allowed in future without setting permission. (<a href="https://github.com/termux/termux-api/commit/2968854f"><code>2968854f</code></a>)</p>
</li>
<li>
<p>Add 5G NR radio support and additional fields for LTE for <code>TelephonyAPI</code>. (<a href="https://github.com/termux/termux-api/commit/dc89cd69"><code>dc89cd69</code></a>)</p>
</li>
</ul>
<h2> </h2>
<p> </p>
<h3>Deprecated</h3>
<ul>
<li>Deprecate <code>phone</code> key for message info and replace it with <code>address</code> as address column can be a name like service provider instead of a number. (<a href="https://github.com/termux/termux-api/commit/603f6d7c"><code>603f6d7c</code></a>)</li>
</ul>
<h2> </h2>
<p> </p>
<h3>Fixed</h3>
<ul>
<li>
<p>Use shortest matched sensor. Closes <a href="https://github.com/termux/termux-api/issues/570" data-hovercard-type="issue" data-hovercard-url="/termux/termux-api/issues/570/hovercard">#570</a>. (<a href="https://github.com/termux/termux-api/commit/d5da7173"><code>d5da7173</code></a>)</p>
</li>
<li>
<p><strong>!</strong> Fix exception in <code>SmsInboxAPI</code> for message address/from selection and use exact match. Users can use <code>%</code> wildcards in the address passed if they want to do prefix/contains/suffix matching. (<a href="https://github.com/termux/termux-api/commit/12e7b651"><code>12e7b651</code></a>)</p>
</li>
<li>
<p>Fix usb fd not being sent due to refactoring in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/termux/termux-api/commit/3c1a6be86ff0768fa8be029267fbe96dd7fbfb7f/hovercard" href="https://github.com/termux/termux-api/commit/3c1a6be86ff0768fa8be029267fbe96dd7fbfb7f"><tt>3c1a6be</tt></a>. Closes <a href="https://github.com/termux/termux-api/issues/643" data-hovercard-type="issue" data-hovercard-url="/termux/termux-api/issues/643/hovercard">#643</a>. (<a href="https://github.com/termux/termux-api/commit/4c6a5196"><code>4c6a5196</code></a>)</p>
</li>
<li>
<p>Fix vibration not happening if duration is under 1000ms and touch vibration is disabled. Closes <a href="https://github.com/termux/termux-api/issues/666" data-hovercard-type="issue" data-hovercard-url="/termux/termux-api/issues/666/hovercard">#666</a>. (<a href="https://github.com/termux/termux-api/commit/a9abc964"><code>a9abc964</code></a>)</p>
</li>
<li>
<p>Fix exception in ResultReturner while setting result for a non-ordered broadcast. (<a href="https://github.com/termux/termux-api/commit/e994de52"><code>e994de52</code></a>)</p>
</li>
<li>
<p>Fix bool extras parsing for <code>SocketListener</code>. (<a href="https://github.com/termux/termux-api/commit/8bd22936"><code>8bd22936</code></a>)</p>
</li>
<li>
<p>Fix termux-call-log api <code>IllegalArgumentException: Invalid token LIMIT</code> on Android 11+ since limit and offset are being passed as sort parameters instead of query parameters. Closes <a href="https://github.com/termux/termux-api/issues/434" data-hovercard-type="issue" data-hovercard-url="/termux/termux-api/issues/434/hovercard">#434</a>. (<a href="https://github.com/termux/termux-api/commit/11eff565"><code>11eff565</code></a>)</p>
</li>
<li>
<p>Handle unexpected socket client disconnects. (<a href="https://github.com/termux/termux-api/commit/a0809090"><code>a0809090</code></a>)</p>
</li>
<li>
<p>Text not visible when in dark mode for bottom sheet dialog. (<a href="https://github.com/termux/termux-api/commit/df3cb50b"><code>df3cb50b</code></a>)</p>
</li>
<li>
<p>Fix crash if input or output socket extras are not set. (<a href="https://github.com/termux/termux-api/commit/3b85bc1e"><code>3b85bc1e</code></a>)</p>
</li>
<li>
<p>Fix exception for missing <code>android.nfc.action.TECH_DISCOVERED</code> meta-data for <code>NfcAPI$NfcActivity</code>. (<a href="https://github.com/termux/termux-api/commit/fab68728"><code>fab68728</code></a>)</p>
</li>
<li>
<p>Fix typo in <code>CameraPhotoAPI</code> and <code>StorageGetAPI</code> that was getting basename instead of dirname of file paths for parent dir. (<a href="https://github.com/termux/termux-api/commit/24fbea78"><code>24fbea78</code></a>)</p>
</li>
<li>
<p>Fix <code>NullPointerException</code> triggered when trying to show keyboard without dialog view in focus by pressing outside of bottom sheets dialog. Closes <a href="https://github.com/termux/termux-api/issues/486" data-hovercard-type="issue" data-hovercard-url="/termux/termux-api/issues/486/hovercard">#486</a>. (<a href="https://github.com/termux/termux-api/commit/30a58d7e"><code>30a58d7e</code></a>)</p>
</li>
<li>
<p>Prevent multiple calls to <code>ResultReturner.returnData()</code> in <code>DialogAPI</code> button press which throws <code>IOException</code> due to connecting to output socket again. (<a href="https://github.com/termux/termux-api/commit/166595c8"><code>166595c8</code></a>)</p>
</li>
<li>
<p>Catch IllegalStateException "Broadcast already finished" and any other exceptions thrown while finishing ResultSender. (<a href="https://github.com/termux/termux-api/commit/4c5c27bb"><code>4c5c27bb</code></a>)</p>
</li>
<li>
<p>Fix NullPointerException when running bell/vibrate on Samsung devices on android 8 and handled deprecated code.</p>
<p>Apparently occurs on only Samsung android 8 devices and there is no fix for vibrator except catching the exception so that app doesn't crash. (<a href="https://github.com/termux/termux-api/commit/99080bab"><code>99080bab</code></a>)</p>
</li>
<li>
<p>Fix raw use of parameterized class 'Pair' for NotificationAPI. (<a href="https://github.com/termux/termux-api/commit/237d36a5"><code>237d36a5</code></a>)</p>
</li>
<li>
<p>Fix potential NullPointerException in NotificationAPI $REPLY parsing. (<a href="https://github.com/termux/termux-api/commit/94d478d2"><code>94d478d2</code></a>)</p>
</li>
<li>
<p>Exit loop after "android.nfc.tech.Ndef" found in tech list. (<a href="https://github.com/termux/termux-api/commit/cfdcab92"><code>cfdcab92</code></a>)</p>
</li>
<li>
<p>Fallback from cellular to unmetered on Android < 9 for JobSchedulerAPI network requirement. (<a href="https://github.com/termux/termux-api/commit/58c272ba"><code>58c272ba</code></a>)</p>
</li>
<li>
<p>Check for READ_PHONE_STATE for SmsSend API. (<a href="https://github.com/termux/termux-api/commit/bf6d834a"><code>bf6d834a</code></a>)</p>
</li>
<li>
<p>Add missing return statement after error in onReceiveTelephonyCall() for <code>TelephonyAPI</code>. (<a href="https://github.com/termux/termux-api/commit/feb568c2"><code>feb568c2</code></a>)</p>
</li>
<li>
<p>Fix socket connection. Implemented by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tareksander/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tareksander">@tareksander</a> in <a href="https://github.com/termux/termux-api/pull/487" data-hovercard-type="pull_request" data-hovercard-url="/termux/termux-api/pull/487/hovercard">#487</a>. (<a href="https://github.com/termux/termux-api/commit/f88a6a58"><code>f88a6a58</code></a>)</p>
</li>
</ul>
<hr>
<p> </p>
</details>agnostic-apollotag:github.com,2008:Repository/38464245/v0.50.12021-12-31T11:25:10Zv0.50.1<p>Re-release of <code>v0.50.0</code> with semantic versioned github release tag since APK attachment to release failed previously. Too late to do this without version bump since F-Droid has already <a href="https://gitlab.com/fdroid/fdroiddata/-/commit/61045adbaba14d41dc00052133170179ffa35c03" rel="nofollow">detected <code>v0.50.0</code> release</a>.</p>agnostic-apollotag:github.com,2008:Repository/38464245/v0.502021-12-26T07:58:41Zv0.50<p>Noticeable changes, except for various cleanup and "under-the-hood" improvements, include:</p>
<ul>
<li>fix <a href="https://github.com/termux/termux-api/commit/89794f7460870f2f18353f775e6eb3c81148d779">sender name</a> in termux-sms-list</li>
<li>fix so that <a href="https://github.com/termux/termux-api/commit/d62768c9f72edd99ea4d835fe951958af62e01a0">inbox message filtering works</a> in termux-sms-list</li>
<li>fix so that <a href="https://github.com/termux/termux-api/commit/a5f7d1452ce5f2d27831d020331ca1cb9072da99">termux-camera-photo works</a> (at least on Samsung devices)</li>
<li>add the option for api scripts to <a href="https://github.com/termux/termux-api/commit/9e496d69334eab7ac0f5061c93367f66e663f8ff">communicate with termux-api through a unix socket</a>, thereby decreasing execution time</li>
</ul>
<p>Thanks to all the contributors!</p>Grimler91tag:github.com,2008:Repository/38464245/v0.492021-08-21T19:55:59Zv0.49<ul>
<li>
<p>termux-telephony-call: fix dialing USSD codes.</p>
</li>
<li>
<p>termux-notification-list: return a human-readable date in "when" field instead of epoch.</p>
</li>
<li>
<p>termux-call-log: fix time formatting</p>
</li>
</ul>fornwalltag:github.com,2008:Repository/38464245/v0.482021-04-26T06:40:33Zv0.48<ul>
<li>
<p>Support choosing sim card slot to use when sending text messages. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andremarcais/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andremarcais">@andremarcais</a>.</p>
</li>
<li>
<p>Add possibility to sort text messages per conversation instead of just date. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rsanjuan87/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rsanjuan87">@rsanjuan87</a>.</p>
</li>
<li>
<p>Enumerate more camera info capabilities. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tstein/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tstein">@tstein</a>.</p>
</li>
</ul>Grimler91tag:github.com,2008:Repository/38464245/v0.472020-12-29T13:07:38Zv0.47<ul>
<li>termux-job-scheduler: return the full list of pending jobs. Should resolve issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="705080698" data-permission-text="Title is private" data-url="https://github.com/termux/termux-api/issues/368" data-hovercard-type="issue" data-hovercard-url="/termux/termux-api/issues/368/hovercard" href="https://github.com/termux/termux-api/issues/368">#368</a>.</li>
<li>termux-camera-photo: use a dummy preview to give camera a chance to select a proper exposure/focus. Should resolve issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="197533382" data-permission-text="Title is private" data-url="https://github.com/termux/termux-api/issues/52" data-hovercard-type="issue" data-hovercard-url="/termux/termux-api/issues/52/hovercard" href="https://github.com/termux/termux-api/issues/52">#52</a>.</li>
</ul>fornwalltag:github.com,2008:Repository/38464245/v0.462020-12-06T21:19:20Zv0.46 (F-Droid only)<p>Added support for reading/writing data to NFC Ndef tags.</p>fornwalltag:github.com,2008:Repository/38464245/v0.452020-11-17T18:24:44Zv0.45 (F-Droid only)<ul>
<li>Minor fix for <code>termux-telephony-*</code> commands.</li>
<li>Call log and SMS functionality is added back.</li>
</ul>fornwall