Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ruby/net-imap
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 364869b
Choose a base ref
...
head repository: ruby/net-imap
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: f76d433
Choose a head ref
  • 16 commits
  • 5 files changed
  • 2 contributors

Commits on Apr 26, 2025

  1. 🐛 Check for Ractor (for JRuby, TruffleRuby)

    This is the same code I used in the `v0.4-stable` backport.  I didn't
    use it in the main branch because the minimum ruby version is 3.1.  But
    that breaks when JRuby and TruffleRuby try to `require "net/imap"`.
    
    Fixes #452.
    nevans committed Apr 26, 2025
    Configuration menu
    Copy the full SHA
    4e14547 View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2025

  1. ⬆️ Bump step-security/harden-runner from 2.11.1 to 2.12.0 (#455)

    Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.11.1 to 2.12.0.
    - [Release notes](https://github.com/step-security/harden-runner/releases)
    - [Commits](step-security/harden-runner@c6295a6...0634a26)
    
    ---
    updated-dependencies:
    - dependency-name: step-security/harden-runner
      dependency-version: 2.12.0
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Apr 28, 2025
    Configuration menu
    Copy the full SHA
    c362be8 View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2025

  1. 🐛 Fix SequenceSet#slice with range (start...0)

    The bug was that exclusive ranges ending in zero would be converted to
    end on `-1`, which would be interpretted as the last value in the range.
    nevans committed Apr 29, 2025
    Configuration menu
    Copy the full SHA
    16e60a4 View commit details
    Browse the repository at this point in the history
  2. 🐛 Fix inconsistently frozen SequenceSet#[] result

    This maybe isn't actually documented very well (or at all...) but most
    SequenceSet transform methods return a frozen result when +self+ is
    frozen and a mutable result when +self+ is mutable.  Except +limit+
    which always returns a frozen result.  And (before this commit) +slice+,
    which inconsistently returned with matching frozen status when the
    result wasn't empty, but always returned a frozen set when the result
    _was_ empty.
    
    Adding these tests exposed a much more significant bug:
    `SequenceSet#xor` mutates the reciever.
    nevans committed Apr 29, 2025
    Configuration menu
    Copy the full SHA
    ac7f7b9 View commit details
    Browse the repository at this point in the history
  3. 🐛 SequenceSet#xor should not modify self

    `set ^ other` and `set.xor other` are supposed to be safe transforms.
    But, unfortunately, they modified the receiver if it wasn't frozen, and
    crashed when it was!
    
    The fix is trivial: convert `self` to `dup`.
    nevans committed Apr 29, 2025
    Configuration menu
    Copy the full SHA
    59f259e View commit details
    Browse the repository at this point in the history
  4. 🐛 Fix SequenceSet#slice when length > result size

    The goal is for `#[]` (aliased as `#slice`) to behave similarly to
    `Array#[]`/`Array#slice`.  When `Array#slice` has a length or range that
    extends beyond the end of the array, they simply return everything
    up to the end.
    nevans committed Apr 29, 2025
    Configuration menu
    Copy the full SHA
    14c011e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9cd0ca8 View commit details
    Browse the repository at this point in the history
  6. ✨ Add SequenceSet#min(count) and #max(count)

    When `count` is given to either of these methods, a new `SequenceSet` is
    returned, containing only the last `count` numbers.  An empty
    SequenceSet is returned when `self` is empty.
    
    The goal is for these to behave similarly to `Array#min`/`#max` when
    they are given a count.
    nevans committed Apr 29, 2025
    Configuration menu
    Copy the full SHA
    eb5dd29 View commit details
    Browse the repository at this point in the history
  7. 🔀 Merge pull request #460 from ruby/sequence_set/min-max-with-count

    ✨ Add `SequenceSet#min(count)` and `#max(count)`
    nevans authored Apr 29, 2025
    Configuration menu
    Copy the full SHA
    da45d8c View commit details
    Browse the repository at this point in the history
  8. ✨ Add SequenceSet#above and SequenceSet#below

    These are just sugar over `set - (..num)` and `set - (num..)`.  They are
    included because they can sometimes make the code much easier to read
    than doing set algebra with `-` or `&`.
    nevans committed Apr 29, 2025
    Configuration menu
    Copy the full SHA
    e1e0ecb View commit details
    Browse the repository at this point in the history
  9. ✅ Add tests for SequenceSet#xor

    I'm not sure how this escaped testing before, but yikes!
    nevans committed Apr 29, 2025
    Configuration menu
    Copy the full SHA
    17e50b7 View commit details
    Browse the repository at this point in the history
  10. ✅ Add basic fuzz tests for SequenceSet operators

    I almost accidentally committed a big bug for `#xor`.  Yikes!  I decided
    to take that opportunity to simply add some randomized tests on all of
    the set operators, based on set identities that should always hold true.
    
    These can also be used for microbenchmarks and profiling of SequenceSet.
    nevans committed Apr 29, 2025
    Configuration menu
    Copy the full SHA
    c6e2520 View commit details
    Browse the repository at this point in the history
  11. 📚 Various SequenceSet rdoc improvements

    * Links back to "Ordered and Normalized Sets".
    * Small updates to `*` description.
    * Small updates to `min`, `max`, `minmax` summary.
    * Added more "related" links.
    * Added more "Set identities" sections to set operators.
    nevans committed Apr 29, 2025
    Configuration menu
    Copy the full SHA
    6f6e8ee View commit details
    Browse the repository at this point in the history
  12. 🔀 Merge pull request #464 from ruby/sequence_set/set_op_fuzz_tests

    ✅ Test `SequenceSet#xor` and fuzz test all set operations
    nevans authored Apr 29, 2025
    Configuration menu
    Copy the full SHA
    d70f7fd View commit details
    Browse the repository at this point in the history
  13. 🔀 Merge pull request #465 from ruby/sequence_set/improved-rdoc

    📚 Various `SequenceSet` rdoc improvements
    nevans authored Apr 29, 2025
    Configuration menu
    Copy the full SHA
    fc9948e View commit details
    Browse the repository at this point in the history
  14. 🔖 Bump version to 0.5.8

    nevans committed Apr 29, 2025
    Configuration menu
    Copy the full SHA
    f76d433 View commit details
    Browse the repository at this point in the history
Loading