Skip to content

Bump boltons from 26.1.0 to 26.2.0 - #509

Merged
anatoly-scherbakov merged 1 commit into
masterfrom
dependabot/pip/boltons-26.2.0
Sep 12, 2026
Merged

anatoly-scherbakov merged 1 commit into
masterfrom
dependabot/pip/boltons-26.2.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 12, 2026

Copy link
Copy Markdown
Contributor

Bumps boltons from 26.1.0 to 26.2.0.

Release notes

Sourced from boltons's releases.

26.2.0

Full Changelog: mahmoud/boltons@26.1.0...26.2.0

Changelog

Sourced from boltons's changelog.

26.2.0

(September 7, 2026)

  • Added [statsutils.mode][statsutils.mode] to return the most common value, breaking ties by first appearance (#453)
  • Fixed [setutils.IndexedSet.update][setutils.IndexedSet.update] adding the iterables themselves instead of their elements when given multiple inputs (#474)
  • Fixed [strutils.iter_splitlines][strutils.iter_splitlines] and [strutils.indent][strutils.indent] splitting dates containing 28 or 29 instead of recognizing Unicode line separators (#475)
  • Added [strutils.ellipsize][strutils.ellipsize] for word-boundary-aware text truncation with an ellipsis
  • Fixed [funcutils.wraps][funcutils.wraps] passing arguments positionally to wrappers that only accept them as keywords (#261)
  • Fixed [tableutils.Table.to_text][tableutils.Table] crashes on empty tables, None headers, and short header rows; empty headers now render no header row, matching to_html
  • Fixed [timeutils.isoparse][timeutils.isoparse] misreading fractional seconds (.851 parsed as 851µs instead of 851000µs); >6-digit fractions now truncate instead of raising
  • Fixed [timeutils.daterange][timeutils.daterange] looping forever on non-advancing steps: zero and self-cancelling month/day steps now raise ValueError, wrong-direction steps yield nothing like range()
  • Fixed [strutils.MultiReplace][strutils.MultiReplace] raising KeyError on empty substitution maps (now a no-op)
  • Fixed [jsonutils.JSONLIterator][jsonutils.JSONLIterator] hanging when a seek lands past the last newline, and negative rel_seek values seeking past EOF (sign bug)
  • Fixed [iterutils.xfrange][iterutils.xfrange] yielding nothing for descending ranges; now shares [frange][iterutils.frange]'s count-based semantics, so both agree at inexact float boundaries
  • Fixed [urlutils.parse_qsl][urlutils.parse_qsl] ignoring its encoding argument when decoding keys and values (#455)
  • Fixed [dictutils.OrderedMultiDict.addlist][dictutils.OrderedMultiDict.addlist] dropping values from one-shot iterables, including the vendored copy in urlutils (#458)
  • Fixed [ecoutils.get_profile][ecoutils.get_profile] looking up identifying host, username, and working-directory information when scrub=True (#461)
  • Fixed [namedutils.namedtuple][namedutils.namedtuple] and [namedutils.namedlist][namedutils.namedlist] raising IndexError instead of ValueError for empty type and field names (#462)
  • Fixed [iterutils.GUIDerator][iterutils.GUIDerator] error text to reflect the inclusive minimum size of 20 (#451)
  • Fixed [timeutils.decimal_relative_time][timeutils.decimal_relative_time] and relative_time rejecting aware datetimes when the comparison time is omitted (#469)
  • Fixed [timeutils.USTimeZone][timeutils.USTimeZone] handling of repeated and missing DST hours, including fold on UTC conversion (#441)
  • Fixed [mathutils.Bits][mathutils.Bits] negative indexing (#450)
  • Fixed [mathutils.Bits][mathutils.Bits] empty binary, hexadecimal, and byte round trips (#468)
  • Sped up [setutils.IndexedSet][setutils.IndexedSet] bulk difference and intersection updates with a single-pass rebuild (#440)
  • Fixed [listutils.BarrelList][listutils.BarrelList] out-of-range indexing returning unrelated values (#440)
  • Fixed [listutils.BarrelList][listutils.BarrelList] insertion clamping across multiple internal lists (#440)
  • Fixed [listutils.BarrelList][listutils.BarrelList] popping after an internal list was emptied by indexed removals (#440)
  • Fixed [listutils.BarrelList.iter_slice][listutils.BarrelList.iter_slice] slice normalization and reverse steps (#471)
  • Fixed [listutils.BarrelList.del_slice][listutils.BarrelList.del_slice] deletion across internal lists and through the end of the list (#472)
  • Fixed [jsonutils.JSONLIterator][jsonutils.JSONLIterator] rejecting the documented rel_seek=1.0 endpoint (#465)
  • Fixed [jsonutils.JSONLIterator][jsonutils.JSONLIterator] relative seeking in binary streams (#464)
  • Fixed [statsutils.Stats.get_histogram_counts][statsutils.Stats.get_histogram_counts] division by zero for data with no interquartile spread (#467)
  • Fixed [jsonutils.reverse_iter_lines][jsonutils.reverse_iter_lines] ignoring explicit and stream encodings (#463)
  • Fixed [jsonutils.reverse_iter_lines][jsonutils.reverse_iter_lines] detaching the caller's text stream, preventing later reads and context-manager cleanup (#466)
  • Fixed [cacheutils.ThresholdCounter.update][cacheutils.ThresholdCounter.update] ignoring mapping and keyword counts (#476)
  • Fixed [cacheutils.LRI.update][cacheutils.LRI.update] and [cacheutils.LRU.update][cacheutils.LRU.update] rejecting empty and keyword-only updates, and ignoring keywords when the source is the cache itself (#478)
  • Fixed [cacheutils.ThresholdCounter.most_common][cacheutils.ThresholdCounter.most_common] returning no pairs when the limit is omitted (#460)
  • Fixed [strutils.bytes2human][strutils.bytes2human] failing to use the Y suffix for yottabyte-sized values (#459)
  • Fixed [urlutils.URL.get_authority][urlutils.URL.get_authority] dropping passwords when the username is empty (#477)
  • Fixed [strutils.args2sh][strutils.args2sh] and [strutils.args2cmd][strutils.args2cmd] ignoring the sep argument (#454)
  • Fixed [statsutils.Stats.pearson_type][statsutils.Stats.pearson_type] raising RuntimeError instead of classifying Pearson types IV, V, and VI (#434)
  • Fixed [statsutils.Stats.pearson_type][statsutils.Stats.pearson_type] division by zero at the exact coefficient boundary, preserving the existing Normal and Gamma cases (#434)
  • Fixed [setutils.complement][setutils.complement] subset and superset comparisons raising AttributeError (#438)
  • Fixed [mathutils.Bits][mathutils.Bits] accepting values too large for the requested bit length
  • Fixed [tbutils.ParsedException][tbutils.ParsedException] dropping Python 3.11+ traceback anchor lines during round trips (#333)
  • Fixed [strutils.pluralize][strutils.pluralize] handling of words ending in x, such as box
  • Fixed [iterutils.backoff_iter][iterutils.backoff_iter] division by zero with factor=1.0 and no count; equal bounds yield once, and unequal bounds raise ValueError
Commits
  • 4332b35 boltons version 26.2.0
  • 1216b46 Complete September PR sweep for 26.2.0 (#481)
  • 8bb31ba statsutils: complete Pearson classification and maintainer review (#434)
  • 73e22c9 statsutils: finish Pearson zero-denominator review and regression coverage
  • 3913220 Merge current master into Pearson classification branch
  • 45a2511 strutils: recognize Unicode line separators without splitting dates (#475)
  • 1cdc0e9 statsutils: handle zero interquartile range in histograms (#467)
  • 805c803 jsonutils: align binary streams to binary newlines (#464)
  • 5150802 jsonutils: accept explicit end-of-file relative seek (#465)
  • 574393a listutils: preserve barrel endpoints during slice deletion (#472)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [boltons](https://github.com/mahmoud/boltons) from 26.1.0 to 26.2.0.
- [Release notes](https://github.com/mahmoud/boltons/releases)
- [Changelog](https://github.com/mahmoud/boltons/blob/master/CHANGELOG.md)
- [Commits](mahmoud/boltons@26.1.0...26.2.0)

---
updated-dependencies:
- dependency-name: boltons
  dependency-version: 26.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Sep 12, 2026
@anatoly-scherbakov
anatoly-scherbakov merged commit 5139d39 into master Sep 12, 2026
1 check failed
@anatoly-scherbakov
anatoly-scherbakov deleted the dependabot/pip/boltons-26.2.0 branch September 12, 2026 09:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant