multimedia/moviebox-tui: update to 0.1.25
Fixed
Search Navigation & Pagination Engine:
Gated background search pagination in src/tui/app/navigation.rs so arrow navigation on result sets smaller than the visible viewport never triggers background page fetches.
Added search_exhausted tracking in src/tui/state.rs and src/tui/app/requests.rs, stopping pagination crawls when provider search returns fewer than 15 items or zero query-matching results.
Preserved stable card slot positions during search pagination in src/tui/app/requests.rs by appending subsequent page items to the list rather than re-sorting the entire array out from under the cursor.
Removed redundant "Provider: {name}" status message override from the search bar on provider switch in src/tui/app/navigation.rs, preserving the clean search placeholder while the active provider pill displays on the right.
Media Playback & Buffering Engine:
Prioritized native desktop media players (mpv, VLC) over Android intent openers in src/player.rs when an active X11/Wayland display server ($DISPLAY, $WAYLAND_DISPLAY) is detected, preventing Ubuntu Xfce (udroid/PRoot) and Termux:X11 desktop sessions from dispatching playback to external Android app choosers.
Routed DASH .mpd streams through the local StreamRelay proxy (src/proxy.rs, src/tui/app/playback.rs) across all media players (mpv, IINA, VLC, AndroidIntent), caching rewritten .mpd manifests in RAM, warm-prefetching initialization and opening segments on sidecar startup, fetching .m4s segments via concurrent 95 KB HTTP Range sub-requests (0.286s per segment vs 3.120s), and prefetching both the next 3 video segments (N+1..N+3) and synchronized audio segments (chunk-stream3-N..N+1).
Tuned mpv and IINA playback flags (--hwdec=auto-safe, --stream-buffer-size=4M, --cache-secs=120, --cache-pause-wait=3, --cache-pause-initial=no, and --ytdl=no on non-DASH direct streams) in src/player.rs, reducing 1080p cold-seek latency at 01:00:00 from 11.96s to 3.87s and boosting read-ahead buffer fill rate from 1 MB (9.3s) to 7 MB (53s).
Replaced aggressive VLC buffering flags (--network-caching=10000, --adaptive-logic=nearoptimal) with --network-caching=3000, --file-caching=3000, --http-reconnect, and --adaptive-logic=predictive in src/player.rs to stop demuxer stream restarts and reconnect cleanly on dropped HTTP streams.
Enforced max_height resolution limits in the loopback stream proxy manifest rewriter (src/proxy.rs, src/main.rs, src/tui/app/playback.rs), pruning representations exceeding the chosen ceiling so Android players and VLC respect 480p and 720p selections.
Parsed signed expiration timestamps (:t=) from MovieBox Edge-Cache-Cookie headers in src/cache.rs alongside CloudFront policies, automatically invalidating stale stream cache entries within 60 seconds of expiration to prevent HTTP 403 playback crashes.
Persisted selected stream filenames (stream_filename) in watch history (src/history.rs, src/player/tracker.rs, src/tui/app/playback.rs) and auto-focused matching stream rows on load (src/tui/app/requests.rs, src/tui/app/system.rs), restoring the user's previously chosen quality mirror when resuming multi-stream releases.
Enabled TCP nodelay (stream.set_nodelay(true)) and per-chunk immediate flushes on the local StreamRelay proxy in src/proxy.rs, eliminating 100–300ms time-to-first-frame buffering delays on loopback sockets.
Implemented negative caching (Option<Option<String>>) for media player detection (MPV_CACHED, VLC_CACHED, IINA_CACHED) in src/player.rs, eliminating redundant filesystem scans and registry lookups when players are absent.
[45 lines not shown]
py-zeroconf: updated to 0.151.5
v0.151.5 (2026-09-28)
Bug Fixes
- Build only the sdist in the release job
v0.151.4 (2026-09-28)
Bug Fixes
- Skip adapter scan for interface lists with no IPv6 entries
sysutils/dua-cli: update to 2.45.1
Documentation
correct platform defaults in threads help
Bug Fixes
don't fail on sole directory inputs beyond MAX_PATH on Windows
A sole directory input is changed into so its entries can be listed and
reported relative to it, but set_current_dir enforces MAX_PATH on
Windows (os error 206) even though the directory itself can still be
traversed through verbatim paths.
When the change fails, expand the directory into absolute input paths
directly instead of aborting, which makes a single long directory input
work in list, aggregate, stacks and interactive modes alike. Reported
paths are absolute then, consistent with how multiple inputs are already
displayed.
[26 lines not shown]
git: updated to 2.56.0
Git v2.56 Release Notes
UI, Workflows & Features
Advice shown by "git status" when the local branch is behind or has
diverged from its push branch has been updated to suggest "git pull
<remote> <branch>".
The handling of promisor-remote protocol capability has been updated
to allow the other side to add to the list of promisor remotes via the
promisor.acceptFromServerURL configuration variable.
The ort merge backend has been hardened against corrupt trees by
ensuring it aborts under appropriate error conditions.
[180 lines not shown]
py-cftime: updated to 1.6.6
version 1.6.6 (release tag v1.6.6rel)
* added new CF calendar "tai", which is the same as proleptic_gregorian but is only
valid for dates after 1958-01-01.
misc/rozi: update to 0.0.27
Added
rozi pane reveal --target <ID> scrolls a Scrollable strip to show a pane without moving focus. It also works when the pane's workspace is off screen, and does not change the shared layout. (#78)
rozi split --size COLSxROWS opens a pane at the requested terminal size until a UI displays it. Each dimension must be between 1 and 1000 cells. (#80)
The palette has a Mark UI recording… command while the UI is recording. It has no default key. (#79)
Changed
Sidebar descriptions now leave at least three cells between the label and description. Activity project headers keep the project name and truncate branch names from the start. Worktree rows keep their status and hover action while truncating the branch name first. (#81)
UI recording can hide its REC badge for one recording with rozi record start ui --hide-indicator, or for all UI recordings with [recording] ui_indicator = false. (#79)
Fixed
Copy feedback now includes the final character or cell that was copied. (No PR link was provided.)
When a recording ends on its own, the UI shows a toast with its path. A failed recording reports the error, and a recording that fails to finish after a stop request is labeled as failed. (#79)
Compatibility
[6 lines not shown]
pgpdump: updated to 0.38
0.38 2026/09/25
* Support RFC 9580 (OpenPGP v6): v6 keys, signatures, and one-pass
signatures, X25519/X448/Ed25519/Ed448, PKESK/SKESK v6, SEIPD v2,
AEAD (EAX, OCB, GCM), Argon2 S2K, Padding packet, and new
subpackets. Armor without CRC24 is also accepted.
* Support the post-quantum algorithms of RFC 9980: ML-DSA-65+Ed25519,
ML-DSA-87+Ed448, SLH-DSA-SHAKE-128s/128f/256s, ML-KEM-768+X25519, and
ML-KEM-1024+X448.
* Support the OCB Encrypted Data packet (tag 20) and version 5
Symmetric-Key Encrypted Session Key packets generated by GnuPG
(LibrePGP).
* Support LibrePGP version 5 keys and signatures generated by GnuPG.
* Show the LibrePGP meanings of feature flags 0x02 and 0x04, and the
names of signature subpackets 34, 37, and 38, and the LibrePGP
signature subpackets 40 (Literal Data Meta Hash) and 41 (Trust Alias).
* Use the RFC 9580 names EdDSALegacy (pub 22), Ed25519Legacy, and
[8 lines not shown]
py-fonttools: updated to 4.66.1
4.66.1 (released 2026-09-29)
- [designspaceLib] When splitting a DesignSpace v5 document with ``makeNames=True``
(as ``varLib.build_many`` does), family and style names set explicitly on an
instance now take precedence over the ones computed from the STAT labels, in
all languages, and a PostScript name is no longer made up from the labels for
an instance that has its own style name
- [cmap] Decompiling a format 4 subtable whose ``idRangeOffset`` points outside
``glyphIndexArray`` now raises ``TTLibError``. A negative index used to silently
map the code point to the wrong glyph, and one past the end raised a bare
``AssertionError``
- [cmap] Fix compiling a format 2 subtable when the lowest glyph ID in a lead-byte
row is 32768 or higher, which failed with ``struct.error``
py-atpublic: updated to 8.0.1
8.0.1 (2026-09-21)
* The source distribution ships ``tests/``, ``docs/``, and ``conftest.py`` again. 8.0.0 shipped
only ``src/public/``, so downstream packagers had no way to run the test suite against the
released sdist. (:GL:`30`)
* The ``install`` extra now requires ``atpublic-install >= 1.0.0``. Unbounded it could resolve to
the ``0.1.0a1`` prerelease, since installers fall back to a prerelease for a requirement that has
no final release. ``atpublic-install`` in turn now requires ``atpublic >= 8.0.0``, the first
final release to export ``install()`` from the package itself.
8.0.0 (2026-09-18)
New features
* ``public()`` and ``private()`` now accept a single positional argument, which can be an object
imported from another module, a module or submodule, or a string. The resolved name is added to
[35 lines not shown]
hunspell: updated to 1.7.4
1.7.4
- New --trace option, and Hunspell::set_trace_callback in the library,
to report how each word was accepted or rejected, for dictionary
developers
- Add version macros in hunversion.h, and
Hunspell_get_library_version / Hunspell::get_library_version
- Search $XDG_DATA_HOME/hunspell (default ~/.local/share/hunspell)
and the hunspell folder of each $XDG_DATA_DIRS entry for
dictionaries, and %APPDATA%\hunspell on Windows
- Search LibreOffice's dictionary folders, recursively, on Windows and
POSIX
- New --no-default-personal option to leave out ~/.hunspell_<dict>
- Fix morphological analysis of compound words whose parts carry
affixes
- CHECKCOMPOUNDPATTERN conditions match flags from continuation
classes
- Much faster ICONV handling with a trie (ssvb), and shorter ICONV/REP
[12 lines not shown]