BIP 77: Delimit fragment params with - instead of + #1890

pull nothingmuch wants to merge 2 commits into bitcoin:master from nothingmuch:fragment-fixes changing 1 files +23 −9
  1. nothingmuch commented at 12:48 pm on July 5, 2025: contributor

    This PR addresses the concerns raised in #1885 with regards using + as a delimiter, by switching to -. Some URI libraries implement RFC 1866’s (HTML 2.0) “keyword” delimitation in query parameters by decoding + as unconditionally, which necessitates kludgy workarounds.

    Additionally fragment parameters must now ordered lexicographically (instead of reverse), the motivation for a canonical ordering was to reduce implementation fingerprinting concerns, but the reverse lexicographical ordering was specified simply because that was the behavior that was already implemented in PDK. Since that is somewhat surprising and the delimiter change breaks backwards compatibility anyway, the marginal cost in terms of compatibility of reducing the surprisingness of the reversed ordering is arguably zero, so this is also addressed here.

    cc @kumulynja

  2. Separate fragment params with `-` instead of `+`
    Since only Bull Bitcoin Mobile and Cake wallet are currently deployed in
    production, both using PDK, and the `+` character is causing some
    friction, this change seems justified to avoid similar issues with
    future implementations.
    7ea6cfe64f
  3. Specify lexicographical order for fragment params
    The rationale for this change is that since `-` instead of `+` breaks
    compatibility anyway, the marginal cost of removing this
    unusual/surprising requirement for reverse lexicographical ordering is
    zero.
    315dcc2252


nothingmuch


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bips. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-07-06 04:10 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me