Commit notifications for all Sup repositories
 help / color / mirror / Atom feed
From: Dan Callaghan <noreply@github.com>
To: djc@djc.id.au,  sup-commits@supmua.dev
Subject: [sup-heliotrope/sup] efdca8: prepare for next release
Date: Tue, 21 Apr 2026 01:57:02 -0700	[thread overview]
Message-ID: <sup-heliotrope/sup/push/refs/heads/master/8173db-3a51f3@github.com> (raw)

  Branch: refs/heads/master
  Home:   https://github.com/sup-heliotrope/sup
  Commit: efdca8c7195228698ccd6a4dc21debd478014e61
      https://github.com/sup-heliotrope/sup/commit/efdca8c7195228698ccd6a4dc21debd478014e61
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M lib/sup/version.rb

  Log Message:
  -----------
  prepare for next release


  Commit: aeefd695c6ebeb8c486590a49e38db466f43c3bc
      https://github.com/sup-heliotrope/sup/commit/aeefd695c6ebeb8c486590a49e38db466f43c3bc
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2025-05-03 (Sat, 03 May 2025)

  Changed paths:
    M Manifest.txt
    M lib/sup/draft.rb
    A test/integration/test_draft.rb

  Log Message:
  -----------
  tests: add rudimentary coverage for drafts


  Commit: a2bd945dc883e8f65222e84c61a72bd3541fac70
      https://github.com/sup-heliotrope/sup/commit/a2bd945dc883e8f65222e84c61a72bd3541fac70
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2025-05-03 (Sat, 03 May 2025)

  Changed paths:
    M lib/sup/draft.rb
    M test/integration/test_draft.rb

  Log Message:
  -----------
  fix typo in DraftManager#discard handling already deleted draft


  Commit: a0a496fa0fd6cbda3c9768bf0b8ad18b8f9013ce
      https://github.com/sup-heliotrope/sup/commit/a0a496fa0fd6cbda3c9768bf0b8ad18b8f9013ce
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2025-05-03 (Sat, 03 May 2025)

  Changed paths:
    M lib/sup/draft.rb
    M lib/sup/source.rb
    M test/integration/test_draft.rb

  Log Message:
  -----------
  handle drafts with missing Date header


  Commit: ccfaadf2740009b6adeb8d70ee472c225ffe72bf
      https://github.com/sup-heliotrope/sup/commit/ccfaadf2740009b6adeb8d70ee472c225ffe72bf
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2025-05-03 (Sat, 03 May 2025)

  Changed paths:
    M lib/sup/draft.rb
    M test/integration/test_draft.rb

  Log Message:
  -----------
  parse drafts as individual messages, not mboxes

As far as I can see they were always being written with one message per
file and no From envelope (maildir style) so there is no reason to try
iterating the draft as if it were an mbox.

Fixes the pathological case of trying to load an empty file as a draft.


  Commit: 39289820a7a9573d0ca830ce0cb2881deba87aa8
      https://github.com/sup-heliotrope/sup/commit/39289820a7a9573d0ca830ce0cb2881deba87aa8
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2025-05-04 (Sun, 04 May 2025)

  Changed paths:
    M contrib/nix/Gemfile.lock
    M contrib/nix/gemset.nix
    M contrib/nix/ruby2.4-Gemfile.lock
    M contrib/nix/ruby2.4-gemset.nix
    M contrib/nix/ruby2.5-Gemfile.lock
    M contrib/nix/ruby2.5-gemset.nix
    M contrib/nix/ruby2.6-Gemfile.lock
    M contrib/nix/ruby2.6-gemset.nix
    M contrib/nix/ruby2.7-Gemfile.lock
    M contrib/nix/ruby2.7-gemset.nix
    M contrib/nix/ruby3.0-Gemfile.lock
    M contrib/nix/ruby3.0-gemset.nix
    M contrib/nix/ruby3.1-shell.nix
    M contrib/nix/ruby3.2-shell.nix
    M contrib/nix/ruby3.3-shell.nix
    M contrib/nix/ruby3.4-shell.nix

  Log Message:
  -----------
  ncursesw: 1.4.11 → 1.4.12


  Commit: beeae7c6e260d3ea5b262fac2d1096c2c8858514
      https://github.com/sup-heliotrope/sup/commit/beeae7c6e260d3ea5b262fac2d1096c2c8858514
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2025-05-11 (Sun, 11 May 2025)

  Changed paths:
    M lib/sup/draft.rb

  Log Message:
  -----------
  use $encoding for drafts instead of forcing UTF-8

If the user's locale charset is not UTF-8 (unlikely) let's respect that,
instead of forcing drafts to always be treated as UTF-8.


  Commit: a927293263d4c7c48bfa925d23a648ebca0d12db
      https://github.com/sup-heliotrope/sup/commit/a927293263d4c7c48bfa925d23a648ebca0d12db
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2025-05-11 (Sun, 11 May 2025)

  Changed paths:
    M lib/sup/draft.rb
    M test/integration/test_draft.rb

  Log Message:
  -----------
  assume draft charset is $encoding instead of ASCII when indexing

Sup writes drafts without any Content-Type header. It assumes when
sending the mail that it is text/plain with charset=$encoding.
Assume the same when indexing the draft.

Fixes #343.


  Commit: 0e1d70ece10efc171e5b91d101d253b1cc4db2a6
      https://github.com/sup-heliotrope/sup/commit/0e1d70ece10efc171e5b91d101d253b1cc4db2a6
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2025-05-18 (Sun, 18 May 2025)

  Changed paths:
    M contrib/nix/Gemfile.lock
    M contrib/nix/gemset.nix
    M contrib/nix/ruby2.4-Gemfile.lock
    M contrib/nix/ruby2.4-gemset.nix
    M contrib/nix/ruby2.5-Gemfile.lock
    M contrib/nix/ruby2.5-gemset.nix
    M contrib/nix/ruby2.6-Gemfile.lock
    M contrib/nix/ruby2.6-gemset.nix
    M contrib/nix/ruby2.7-Gemfile.lock
    M contrib/nix/ruby2.7-gemset.nix
    M contrib/nix/ruby3.0-Gemfile.lock
    M contrib/nix/ruby3.0-gemset.nix

  Log Message:
  -----------
  ncursesw: 1.4.12 → 1.4.13


  Commit: 861becad89df65d55ed3cbd001ab36b909154ca0
      https://github.com/sup-heliotrope/sup/commit/861becad89df65d55ed3cbd001ab36b909154ca0
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2025-05-18 (Sun, 18 May 2025)

  Changed paths:
    M lib/sup/modes/edit_message_mode.rb

  Log Message:
  -----------
  rescue TypeError when sending mails

If the user has not set the "sendmail" key in their account config, we
will try to invoke Popen on nil, which is a TypeError.

Showing this TypeError to the user in a flash message is not very nice,
but it's still better than crashing and losing their draft.

Relates to #524.


  Commit: 67e38b99c44d8d882d3f178095a5968a2ea54dd9
      https://github.com/sup-heliotrope/sup/commit/67e38b99c44d8d882d3f178095a5968a2ea54dd9
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2025-05-18 (Sun, 18 May 2025)

  Changed paths:
    M lib/sup/account.rb
    M test/test_crypto.rb
    M test/unit/test_edit_message_mode.rb

  Log Message:
  -----------
  refuse to start if sendmail command is not configured

Fixes #524.


  Commit: 4ab9d747ae5f52485a5393cac9435e1ac9202a83
      https://github.com/sup-heliotrope/sup/commit/4ab9d747ae5f52485a5393cac9435e1ac9202a83
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2025-05-18 (Sun, 18 May 2025)

  Changed paths:
    M lib/sup/account.rb

  Log Message:
  -----------
  refuse to start if default account is missing from config

Fixes #533.


  Commit: c39852484ff5dc9680edab8e9b10b9ec568b3252
      https://github.com/sup-heliotrope/sup/commit/c39852484ff5dc9680edab8e9b10b9ec568b3252
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2025-10-12 (Sun, 12 Oct 2025)

  Changed paths:
    M README.md
    M sup.gemspec

  Log Message:
  -----------
  update links to point at the new supmua.dev domain


  Commit: e80ea65987671aeedc0e493ba42f7c832e96870b
      https://github.com/sup-heliotrope/sup/commit/e80ea65987671aeedc0e493ba42f7c832e96870b
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-03-21 (Sat, 21 Mar 2026)

  Changed paths:
    M Manifest.txt
    R shell.nix

  Log Message:
  -----------
  delete top-level shell.nix symlink

I keep forgetting that it doesn't actually work, because nowadays nix
tries to resolve the reference to gemset.nix relative to the symlink not
its real path.


  Commit: 7580318c9d58be5a24b320c0d69a87a319292d2d
      https://github.com/sup-heliotrope/sup/commit/7580318c9d58be5a24b320c0d69a87a319292d2d
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-03-28 (Sat, 28 Mar 2026)

  Changed paths:
    M lib/sup.rb
    M test/integration/test_sup-add.rb

  Log Message:
  -----------
  adjust regex for fixing old YAML tag URIs to handle SentLoader

Apparently some old sources.yaml files would have a source like this:

    - !supmua.org,2006-10-01/Redwood/SentLoader {}

The regex previously added in commit 1aac9d4388 would fail to fix up an
invalid tag URI like this because of the trailing empty map.

Fixes #516.


  Commit: beff97f84382cbcf3494ab1fd87b7b076ee0a2ca
      https://github.com/sup-heliotrope/sup/commit/beff97f84382cbcf3494ab1fd87b7b076ee0a2ca
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-03-28 (Sat, 28 Mar 2026)

  Changed paths:
    M doc/wiki

  Log Message:
  -----------
  update wiki submodule

Deletes the obsolete sup-psych-ify-config-files(1) man page.


  Commit: d0b8f05c221e4005a61602481395fba1d424525e
      https://github.com/sup-heliotrope/sup/commit/d0b8f05c221e4005a61602481395fba1d424525e
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-05 (Sun, 05 Apr 2026)

  Changed paths:
    M Manifest.txt
    A test/dummy_buffer.rb
    A test/unit/test_line_cursor_mode.rb

  Log Message:
  -----------
  tests: add coverage for lazy loading behaviour in LineCursorMode


  Commit: 55c9afceac1eda9f2a66023983ec05a55cd073a4
      https://github.com/sup-heliotrope/sup/commit/55c9afceac1eda9f2a66023983ec05a55cd073a4
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-05 (Sun, 05 Apr 2026)

  Changed paths:
    M lib/sup/modes/line_cursor_mode.rb
    M test/unit/test_line_cursor_mode.rb

  Log Message:
  -----------
  configurable hysteresis delay for loading more threads

Mainly this is for the tests, to avoid needing to sprinkle a bunch of
sleep 0.5 throughout them.


  Commit: a3d6ea4087e8493d71b2e5154a04b1fc5a85827d
      https://github.com/sup-heliotrope/sup/commit/a3d6ea4087e8493d71b2e5154a04b1fc5a85827d
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-05 (Sun, 05 Apr 2026)

  Changed paths:
    M bin/sup
    M lib/sup/buffer.rb
    M lib/sup/mode.rb
    M lib/sup/modes/contact_list_mode.rb
    M lib/sup/modes/label_search_results_mode.rb
    M lib/sup/modes/line_cursor_mode.rb
    M lib/sup/modes/search_results_mode.rb
    M lib/sup/modes/thread_view_mode.rb
    M test/unit/test_line_cursor_mode.rb

  Log Message:
  -----------
  refactor LineCursorMode to handle initial load

Rather than having every calling site explicitly load the initial set of
threads whenever one of the subclasses of LineCursorMode is spawned,
make LineCursorMode itself handle the initial load. This way, the
logic for deciding how many threads to load at what time is consolidated
into LineCursorMode.


  Commit: 4dc5f0c1fa330375b2287c1d64667a539f27b625
      https://github.com/sup-heliotrope/sup/commit/4dc5f0c1fa330375b2287c1d64667a539f27b625
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-05 (Sun, 05 Apr 2026)

  Changed paths:
    M lib/sup/modes/line_cursor_mode.rb
    M test/unit/test_line_cursor_mode.rb

  Log Message:
  -----------
  simplify and fix thread loading behaviour for page-down

The expected behaviour for page-down is that it scrolls the complete
buffer content height, with no overlapping lines. But this would not
behave correctly if you pressed page-down after spawning a thread
listing, because it was initially populated with exactly the buffer
content height. It meant there would never be a next page to
scroll to.

Change the initial load size to be the buffer content height plus 1,
so that if there is more than one page of threads, pressing page-down
can always scroll to the next page.

Delete the different special cases trying to guess whether there are
more pages of threads to load. There are many edge cases where this
logic would fall over (different combinations of scroll-down and
page-down) and the logic is not necessary. ThreadIndexMode already has
logic to return early from its load_more callback when all threads have
been loaded. Always invoke load_more callbacks when the bottom is
visible.


  Commit: dc62829249629046dee28d2df521894346be1130
      https://github.com/sup-heliotrope/sup/commit/dc62829249629046dee28d2df521894346be1130
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-05 (Sun, 05 Apr 2026)

  Changed paths:
    M lib/sup/modes/line_cursor_mode.rb
    M test/unit/test_line_cursor_mode.rb

  Log Message:
  -----------
  load more threads when jumping to the end


  Commit: 8044d63cdefd47b1b900c0be54038ea1e06f9665
      https://github.com/sup-heliotrope/sup/commit/8044d63cdefd47b1b900c0be54038ea1e06f9665
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-05 (Sun, 05 Apr 2026)

  Changed paths:
    M lib/sup/modes/line_cursor_mode.rb
    M test/unit/test_line_cursor_mode.rb

  Log Message:
  -----------
  fix cursor position handling for half-page-{up,down}


  Commit: e95a132c6adc9dcf2220c2e09920b0830ba789b7
      https://github.com/sup-heliotrope/sup/commit/e95a132c6adc9dcf2220c2e09920b0830ba789b7
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-05 (Sun, 05 Apr 2026)

  Changed paths:
    M lib/sup/modes/line_cursor_mode.rb
    M test/unit/test_line_cursor_mode.rb

  Log Message:
  -----------
  load more threads on half-page-down

Similar to the page-down behaviour, if it is nearing the bottom it
should try to load more threads.


  Commit: b49dcfe7dd25100feb88ed8aefe629fd91423a26
      https://github.com/sup-heliotrope/sup/commit/b49dcfe7dd25100feb88ed8aefe629fd91423a26
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-05 (Sun, 05 Apr 2026)

  Changed paths:
    M Manifest.txt
    A test/unit/test_index.rb

  Log Message:
  -----------
  tests: add coverage for date query parsing


  Commit: 6bced04a5d2f68bec16d72b0ac6e5720ceb072cf
      https://github.com/sup-heliotrope/sup/commit/6bced04a5d2f68bec16d72b0ac6e5720ceb072cf
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-05 (Sun, 05 Apr 2026)

  Changed paths:
    M lib/sup/index.rb

  Log Message:
  -----------
  use Xapian::NumberRangeProcessor when available

It was added in Xapian 1.3. Xapian::NumberValueRangeProcessor is
deprecated and removed in Xapian 2.0.

Relates to #627.


  Commit: 41afb3f131171fd680b6249d9f33313dce59a27e
      https://github.com/sup-heliotrope/sup/commit/41afb3f131171fd680b6249d9f33313dce59a27e
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-05 (Sun, 05 Apr 2026)

  Changed paths:
    M test/integration/test_draft.rb
    M test/integration/test_maildir.rb
    M test/integration/test_mbox.rb

  Log Message:
  -----------
  tests: try to avoid index writing race on teardown

In one run through the tests, TestMbox#teardown failed with ENOTEMPTY
from rmdir. It didn't reproduce. My best guess is that Xapian was not
finished writing its index updates to disk when the teardown ran.

Call Index.save_index in all tests that write an index to disk, to try
and avoid the race. This also requires removing the $stderr logging sink
in these tests to avoid having the info message from Index.save_index
mingled in with the test output.


  Commit: 09f987e08b028d47a15f3a18700bb497063ec49f
      https://github.com/sup-heliotrope/sup/commit/09f987e08b028d47a15f3a18700bb497063ec49f
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-05 (Sun, 05 Apr 2026)

  Changed paths:
    M lib/sup/index.rb

  Log Message:
  -----------
  use Xapian commit method instead of flush

It was added in Xapian 1.1. Xapian::WritableDatabase::flush is
deprecated and removed in Xapian 2.0.

Relates to #627.


  Commit: 4ac006085b555420262ca60a0b0565508727690b
      https://github.com/sup-heliotrope/sup/commit/4ac006085b555420262ca60a0b0565508727690b
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-05 (Sun, 05 Apr 2026)

  Changed paths:
    M .github/workflows/checks.yml

  Log Message:
  -----------
  Github Actions: update actions to latest versions


  Commit: e5b96de0f61042ffdc73467b27baf0423e5b58a9
      https://github.com/sup-heliotrope/sup/commit/e5b96de0f61042ffdc73467b27baf0423e5b58a9
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-06 (Mon, 06 Apr 2026)

  Changed paths:
    M Manifest.txt
    M contrib/nix/Gemfile.lock
    M contrib/nix/gemset.nix
    A contrib/nix/ruby3.1-Gemfile.lock
    A contrib/nix/ruby3.1-gemset.nix
    M contrib/nix/ruby3.1-shell.nix
    A contrib/nix/ruby3.2-Gemfile.lock
    A contrib/nix/ruby3.2-gemset.nix
    M contrib/nix/ruby3.2-shell.nix
    M contrib/nix/ruby3.3-shell.nix
    M contrib/nix/ruby3.4-shell.nix

  Log Message:
  -----------
  contrib/nix: bump nixpkgs

This is to get ruby_4_0.

ruby_3_1 and ruby_3_2 have been dropped, so pin these to their current
nixpkgs commit.

This also brings in gpgme 2.0.0, which broke ruby-gpgme. Bump ruby-gpgme
to 2.0.26 to get the fixes:
https://github.com/ueno/ruby-gpgme/pull/203


  Commit: d5b5955a344fab493f4dad1798ccdcbdbfb4e1f2
      https://github.com/sup-heliotrope/sup/commit/d5b5955a344fab493f4dad1798ccdcbdbfb4e1f2
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-06 (Mon, 06 Apr 2026)

  Changed paths:
    M .github/workflows/checks.yml
    M Manifest.txt
    A contrib/nix/ruby4.0-shell.nix

  Log Message:
  -----------
  test against Ruby 4.0


  Commit: 099412d0b5d622c320e4bca8e3c1fb0bb57cacaa
      https://github.com/sup-heliotrope/sup/commit/099412d0b5d622c320e4bca8e3c1fb0bb57cacaa
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-06 (Mon, 06 Apr 2026)

  Changed paths:
    M .rubocop.yml
    M Rakefile
    M contrib/nix/Gemfile.lock
    M contrib/nix/gemset.nix

  Log Message:
  -----------
  rubocop: 1.63.2 → 1.86.0

Skip rubocop checks on Ruby < 3.3 since these cannot get the newer
rubocop and so they will not understand the .rubocop.yml changes.


  Commit: 2837f0614381052c77e213cf6ab23729ba84777b
      https://github.com/sup-heliotrope/sup/commit/2837f0614381052c77e213cf6ab23729ba84777b
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-06 (Mon, 06 Apr 2026)

  Changed paths:
    M contrib/nix/Gemfile.lock
    M contrib/nix/gemset.nix

  Log Message:
  -----------
  contrib/nix: bump all gem dependencies to their latest versions


  Commit: 6a5717ce15cb23dbe7ddfe3db74b6f63d22034db
      https://github.com/sup-heliotrope/sup/commit/6a5717ce15cb23dbe7ddfe3db74b6f63d22034db
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-06 (Mon, 06 Apr 2026)

  Changed paths:
    M test/unit/test_index.rb

  Log Message:
  -----------
  tests: avoid leaking index writes from TestIndex

Fixes a randomly occurring test failure:

    Finished in 5.187590s, 16.9636 runs/s, 74.4083 assertions/s.

      1) Failure:
    TestSupSyncBackMaildir#test_it_syncs_seen_unread_flags [/home/runner/work/sup/sup/test/integration/test_sup-sync-back-maildir.rb:36]:
    Expected true to not be truthy.

    88 runs, 386 assertions, 1 failures, 0 errors, 0 skips

Reproducible using:

    nix-shell contrib/nix/ruby2.6-shell.nix --run 'rake test TESTOPTS=--seed=29609'

Bisected to commit b49dcfe7dd25100feb88ed8aefe629fd91423a26.

It seems Dir.mktmpdir is aggressively reusing temp directory names(!)
which in itself would be fine, since each test cleans up its temp
directory in teardown. But it seems that the newly added TestIndex was
leaving the Xapian database open and Xapian may write to it even after
the test teardown has finished... apparently re-creating the cleaned-up
temp directory in the process(!).

Since we have no way to explicitly close or destroy the index, the best
we can do is to explicitly flush it before removing the temp directory
so that it will not try to write again later.


  Commit: ad657e383d6914c053b7cceff082c05c096d0245
      https://github.com/sup-heliotrope/sup/commit/ad657e383d6914c053b7cceff082c05c096d0245
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-06 (Mon, 06 Apr 2026)

  Changed paths:
    M lib/sup/message_chunks.rb

  Log Message:
  -----------
  delete unused Tempfile monkey-patch for Ruby < 1.8.7

Ruby 2.0+ has been required since commit cce594e35 so this is dead code.


  Commit: 4e23e13e705c02f9a341a04338b5b46994c01d24
      https://github.com/sup-heliotrope/sup/commit/4e23e13e705c02f9a341a04338b5b46994c01d24
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M lib/sup/contact.rb
    M test/fixtures/contacts.txt
    M test/unit/test_contact.rb

  Log Message:
  -----------
  fix handling of contacts with no alias

This avoids showing empty parentheses (displaying an alias which is
empty string) after contacts' email addresses in ThreadViewMode.


  Commit: b570d0cd16c9176cebf70739fd02ddf7f84a8c06
      https://github.com/sup-heliotrope/sup/commit/b570d0cd16c9176cebf70739fd02ddf7f84a8c06
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M lib/sup/rfc2047.rb
    M test/fixtures/rfc2047-header-encoding.eml
    M test/test_message.rb

  Log Message:
  -----------
  fix handling of RFC2047 words containing invalid bytes after decoding

Yet another bad case somehow not covered by all the tests. If the
encoding is recognised, and the word is successfully decoded, but the
resulting string contains an invalid byte sequence for its declared
encoding, Sup would crash with ArgumentError.

Only use the decoded word if the end result has a valid encoding.


  Commit: 3a51f318eac474952d23df057d9ae6c2dde19d50
      https://github.com/sup-heliotrope/sup/commit/3a51f318eac474952d23df057d9ae6c2dde19d50
  Author: Dan Callaghan <djc@djc.id.au>
  Date:   2026-04-21 (Tue, 21 Apr 2026)

  Changed paths:
    M History.txt
    M lib/sup/version.rb

  Log Message:
  -----------
  release 1.4


Compare: https://github.com/sup-heliotrope/sup/compare/8173db9f7bd3...3a51f318eac4

To unsubscribe from these emails, change your notification settings at https://github.com/sup-heliotrope/sup/settings/notifications

                 reply	other threads:[~2026-04-21 12:02 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=sup-heliotrope/sup/push/refs/heads/master/8173db-3a51f3@github.com \
    --to=noreply@github.com \
    --cc=djc@djc.id.au \
    --cc=sup-commits@supmua.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox