If two messages were received within the same second, they may be sorted by the order they were received. Using `id` as a tie breaker should give a more consistent result. I noticed this issue when writing tests for my Codeception testing framework Mailcatcher module: captbaritone/codeception-mailcatcher-module#13 **Note:** I have not tested this change, but I think it should be correct.
ActiveSupport has weird load order problems when loading only the core extensions now. For instance, active_support/core_ext/numeric/conversions.rb now loads active_support/number_helper which needs ActiveSupport::Autoload but doesn't require it, so causes a missing constant error in MailCatcher. Also tightening up the version constraint because I can't guarantee backward compatibility now.