textproc/inlyne: update to 0.5.3
Deprecations
- Deprecate implicit inlyne <FILE> viewing in favor of inlyne view <FILE> ([#466])
Releases
- Add ARM linux to the set of prebuilt release artifacts (#455)
Fixes
- Downgrade copypasta to fix wayland-client version issues (#462)
- Update taffy to fix errant rendering hangs (#459 #467)
- Correctly track relative files when navigating (#465)
Internal
- Migrate YAML parsing from serde_yaml -> yaml_serde (#454)
[4 lines not shown]
news/bulletty: update to 0.3.0
🎉 bulletty v0.3.0 is finally out!
This is the most packed release ever! With parallel requests, updating the feeds is fast. A library with 50+ feeds can be updated in a matter of a couple seconds now. So many improvements to the general navigation in the TUI, especially from caching the Library, made the TUI feel as fluid as it can get. The interface also got an indication of unread articles per feed and a feed source status bar can give more context of your library. The reader now has support for code highlighting, as well as other improvements to markdown rendering. bulletty now supports user themes, defined in the library, opening possibilities for future procedural theming like matugen. Also, catpuccin was introduced in two flavors: Latte and Mocha. Although not yet a first-class citizen, but now mouse scroll work when running bulletty from tmux. We introduced hooks to bulletty, just points in the app where the user can hook their own tools, something essential to automate a library backup, as I explained here. Many issues with requests, rendering and interaction were also fixed.
This work couldn't be possible without the help of all our contributors. Thanks for making bulletty a better piece of software.
🆕 What's Changed
refactor: html parsing by @jlledo in #145
feat: add support for modern CLI base directories by @jlledo in #156
feature: bulletty hooks! integrate bulletty better with your process! by @crocidb in #164
feat: feed library caching by @crocidb in #175
Add NetBSD by @0323pin in #186
feat: Add tui_auto_update config file option to disable auto update on TUI launch by @gyozanoid in #187
fix: Opening in browser should fork the process by @gyozanoid in #189
feat: add an update keybind to the tui by @willshuttleworth in #185
feat: Load user themes from file at runtime by @gyozanoid in #191
[5 lines not shown]
mail/himalaya: update to 2.0.0
Added
Added Gmail REST API support: a [gmail] account backend behind the shared mail commands (--backend gmail), plus a protocol-specific gmail command exposing the full REST surface (profile, labels, messages, attachments, drafts, threads, history, settings). Authenticates with a single OAuth 2.0 bearer token (gmail.auth.token.raw / .command), the only authorization Gmail's REST API accepts.
Added Microsoft Graph REST API support: a [msgraph] account backend behind the shared mail commands (--backend msgraph), plus a protocol-specific msgraph command exposing the Graph mail surface (profile, mail-folder, message, attachment). Mirrors [gmail], authenticating with a single OAuth 2.0 bearer token.
Restored the RFC 2971 ID-after-auth quirk as imap.id.{auto, fields}, replacing the v1.2.0 imap.extensions.id.send-after-auth flag dropped during the v2 migration.
Brought the m2dir backend to CLI feature parity with maildir (messages, flags, envelopes). Mailbox rename and message copy / move still await io-m2dir support.
Added --save <MAILBOX> to messages send, mirroring the flag on messages compose / reply / forward.
Added --send to messages add (alias messages save), mirroring messages send --save.
Added raw passthrough commands imap raw <command> and smtp raw <command>.
The wizard now pre-fills mailbox.alias.* from the server, so a generated account has a working default mailbox (the inbox alias, which backs commands that omit -m/--mailbox) and known Sent/Drafts/Trash/… targets without hand-editing ids. JMAP reads the RFC 8621 mailbox roles live over the tested connection. Gmail and Microsoft Graph map their fixed system-label ids (INBOX, SENT, …) and well-known folder names (inbox, sentitems, …). IMAP pins the reserved INBOX only. The other special-use roles await LIST RETURN (SPECIAL-USE) support in io-imap (upstream imap-codec has none yet).
[44 lines not shown]
devel/gitpane: update to 0.10.3
[0.10.3] - 2026-08-06
Changed
Repo rows were redesigned around one aligned seam. Names and branches now form the only two aligned columns (the branch column sizes to the widest visible branch, capped to a third of the panel), and everything after the branch (stash and worktree toggles, ahead/behind arrows, submodule markers, fetch warning, live-session dot, changed-file count) packs tightly per row. A row's indicators sit right next to its branch instead of floating in reserved columns that most rows leave empty, and clicking the stash/worktree toggles still hits exactly the drawn cells.
The default branch is dimmed instead of loud. main and master now render in a new branch_default theme color (DarkGray by default, overridable in custom themes), so a clean repo on its default branch reads as a quiet row and only deviating branches carry the branch color.
Removed
The [ui] compact_repo_list option. The new layout packs rows by default while keeping names and branches aligned, which covers what both of the old modes were for; a leftover key in an existing config is ignored and disappears the next time gitpane saves the config.
[0.10.2] - 2026-08-06
Added
The file context menu gained "Copy path". Right-clicking a changed file now offers copying its absolute path (resolved against the active worktree, like Open folder) to the clipboard via OSC 52, so it works over SSH too.
Status-bar toasts now pulse. A toast flashes its accent color every 150ms for its whole lifetime, so an OK or ERROR message no longer appears motionless in the bar and slips by unnoticed.
A reverse-alphabetical sort mode. s now cycles A-Z, Z-A, then dirty-first, and every press shows a "sort: ..." toast in the status bar so the active mode is never a guess (previously the only indicator was a small label buried in the hint line, which truncates on narrow windows).
Path completion in the add-repo input now shows its candidates. The first Tab extends what you typed to the longest common prefix and opens a menu above the input listing every matching directory; Tab and the arrow keys then move a visible selection through the list, and Esc closes the menu before it closes the input. Previously Tab silently replaced the input with the first match and cycled through the rest blindly.
[11 lines not shown]
devel/gitnr: update to 0.3.0
v0.3.0
What's New
- Shell completions — new completions command to generate shell completions for bash, zsh, fish, elvish, and powershell (#15)
- Linux arm64 binary — pre-built aarch64 binary now included in releases (#13)
- Homebrew support — brew install gitnr via homebrew-core (#19)
Fixes & Maintenance
- Fixed CLI showing an error instead of help when run without a subcommand
- Resolved 4 dependency security vulnerabilities (openssl, idna, hashbrown)
- Updated all dependencies to latest compatible versions
- Fixed clippy warnings for latest stable Rust toolchain
v0.2.2
- Updated dependencies
py-tinydb: updated to 4.9.0
4.9.0
Drop official support for Python 3.8 and 3.9. Both versions have reached their official End of Life (Python 3.8 in October 2024, Python 3.9 in October 2025). TinyDB now requires Python 3.10 or later.
Fix: Make Table.update(doc_ids=...) and Table.remove(doc_ids=...) behave consistently with Table.get(doc_id=...) when given document IDs that don't exist: missing IDs are now silently skipped and the returned list only contains IDs that were actually updated/removed. Previously both methods raised KeyError, and update could leave the table in a partially-updated state when a mix of existing and missing IDs was passed
Fix: Prevent TypeError when passing unhashable extra arguments (like lists or dicts) to Query.test()
Fix: Prevent FileNotFoundError when creating a database file in the current directory without an explicit path prefix
Fix: Correctly handle falsy values (like 0 or None) stored in LRUCache
Improvement: More precise type hints for Table.get
Improvement: Correct the type hints for Table.update and tinydb.operations to use MutableMapping, so transform functions that modify documents in place type-check correctl
py-packaging: updated to 26.3
26.3 - 2026-08-03
Features:
* Add a public :class:`~packaging.ranges.VersionRange` API and
:meth:`SpecifierSet.to_range() <packaging.specifiers.SpecifierSet.to_range>`,
representing the versions a specifier set accepts as an interval set that
supports intersection, union, difference, complement, set relations,
membership tests, and filtering.
:meth:`~packaging.ranges.VersionRange.to_specifier_set` converts a range back
to a :class:`~packaging.specifiers.SpecifierSet` where a PEP 440 form exists.
(:pull:`1267`, :pull:`1270`, :pull:`1298`)
* PEP 808: accept ``Metadata-Version: 2.6``. (:pull:`1194`)
* Add a ``limit`` argument to ``parse_tag()`` for compressed tag sets.
(:issue:`1220`)
* Add a ``prefer_sdist_predicate`` argument to ``Pylock.select()`` to prefer
source distributions over wheels for selected packages. (:pull:`1334`)
[7 lines not shown]
py-dateparser: updated to 1.4.2
1.4.2 (2026-08-04)
New features:
- Add an ``IGNORE_SURROUNDING_TEXT`` setting that, when enabled, retries
parsing after ignoring the leading and trailing words the language does
not recognize, so a date wrapped in extra text such as "Published on
16/04/2019" is parsed
- Add a ``strategy`` argument to ``search_dates()`` to choose the search
strategy: the default ``"split"`` keeps the current behavior, while the
new ``"ngram"`` strategy parses the longest sequences of tokens as dates
for more predictable results on noisy text
Fixes:
- Do not read a two-digit number as a year once a later component has been
found in year-first date orders, so the day in Japanese dates such as
[21 lines not shown]
py-soupsieve: updated to 2.9.2
2.9.2
- **FIX**: Fix issue where `:is()` and `:where()` were not accounting for empty selectors in the max selector count as
they should (@arpitjain099).
- **FIX**: Fix issue where `:has()` was allowing empty selectors in some circumstances even though it is not
forgiving.
- **FIX**: Reduce selector object size when `:is()` and `:where()` contain empty selectors.
py-tornado: updated to 6.5.8
Tornado 6.5.8
Security fixes
- Form-encoded ``POST`` bodies are now subject to a limit of 1000 arguments by default. This
prevents a CPU and memory denial of service attack. This limit can be overridden via the
`.set_parse_body_config` function. Thanks to `Arpit Jain <https://github.com/arpitjain099>`_
for reporting this issue.
- Multipart parsing now rejects requests with an excessive number of parts earlier in the parsing
process, limiting memory consumption. Thanks to `afldl <https://github.com/afldl>`_ for
reporting this issue.
- The deprecated mixed-case arguments to `.RequestHandler.set_cookie` now enforce the same
restrictions on invalid characters that were introduced in Tornado 6.5.5 for the standard
lowercase arguments. Thanks to `sec-reex <https://github.com/sec-reex>`_ and
`Arpit Jain <https://github.com/arpitjain099>`_ for reporting this issue.
Deprecations
[3 lines not shown]
py-absl-py: updated to 2.5.0
2.5.0
Added
(app) Add support for enabling Python profiling via the ABSL_PYTHON_PROFILE_FILE environment variable.
(flags) Introduce --only_check_flags built-in flag to validate flag definitions without executing main().
(flagsaver) Add support for async test functions in @flagsaver.flagsaver.
(testing) Add record_property and get_recorded_properties methods to absltest.TestCase.
Changed
(flags) Apply defensive copying in save_flag_values to prevent dictionary mutation flakiness.
(logging) Update type signatures for absl.logging functions to support standard logging arguments (exc_info, stack_info, stacklevel, extra).
(cleanup) Expand usage of FlagHolder objects in app and absltest.
Fixed
[3 lines not shown]
py-coverage: updated to 7.15.4
7.15.4 — 2026-08-06
- Fix: in the HTML report, a source file name containing a double quote (legal
on POSIX) wasn't escaped where it's dropped into the ``href`` of the index
and prev/next links, so it could close the attribute early and inject markup.
Page URLs are now escaped. Thanks, `Rajath Mohare <pull 2227_>`_.
- Fix: the LCOV report wrote file names and other fields into its
line-oriented records without neutralizing control characters. A measured
file whose name contained a newline (legal on POSIX) could forge extra
records, inflating the coverage seen by tools that read the report. Control
characters in a field are now replaced. Thanks, `Rajath Mohare <pull
2226_>`_.
- Wheels are now provided for Python 3.15.
py-argcomplete: updated to 3.7.2
Changes for v3.7.2 (2026-08-05)
Require Python 3.10+
Changes for v3.7.1 (2026-08-04)
- Fix for kislyuk-544 => TestZshGlobalExplicit tests are failing after
upgrade to zsh 5.9.0.1
- Expand ~ in \_FilteredFilesCompleter (DirectoriesCompleter)