sadovnik / reader

A simple feed reader app https://reader-app.herokuapp.com
2 stars 0 forks source link

Update sidekiq: 5.2.5 → 6.0.5 (major) #229

Closed depfu[bot] closed 4 years ago

depfu[bot] commented 4 years ago

Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.

What changed?

✳️ sidekiq (5.2.5 → 6.0.5) · Repo · Changelog

Release Notes

6.0.5 (from changelog)

  • Fix broken Web UI response when using NewRelic and Rack 2.1.2+. [#4440]
  • Update APIs to use UNLINK, not DEL. [#4449]
  • Fix Ruby 2.7 warnings [#4412]

6.0.4 (from changelog)

  • Fix ActiveJob's sidekiq_options integration [#4404]
  • Sidekiq Pro users will now see a Pause button next to each queue in the Web UI, allowing them to pause queues manually [#4374, shayonj]
  • Fix Sidekiq::Workers API unintentional change in 6.0.2 [#4387]

6.0.3 (from changelog)

  • Fix Sidekiq::Client.push_bulk API which was erroneously putting invalid at values in the job payloads [#4321]

6.0.2 (from changelog)

  • Fix Sidekiq Enterprise's rolling restart functionality, broken by refactoring in 6.0.0. [#4334]
  • More internal refactoring and performance tuning [fatkodima]

6.0.1 (from changelog)

  • Performance tuning, Sidekiq should be 10-15% faster now [#4303, 4299, 4269, fatkodima]
  • Dark Mode support in Web UI (further design polish welcome!) [#4227, mperham, fatkodima, silent-e]
  • Job-specific log levels, allowing you to turn on debugging for problematic workers. [fatkodima, #4287]
MyWorker.set(log_level: :debug).perform_async(...)
  • Ad-hoc job tags. You can tag your jobs with, e.g, subdomain, tenant, country, locale, application, version, user/client, "alpha/beta/pro/ent", types of jobs, teams/people responsible for jobs, additional metadata, etc. Tags are shown on different pages with job listings. Sidekiq Pro users can filter based on them [fatkodima, #4280]
class MyWorker
  include Sidekiq::Worker
  sidekiq_options tags: ['bank-ops', 'alpha']
  ...
end
  • Fetch scheduled jobs in batches before pushing into specific queues. This will decrease enqueueing time of scheduled jobs by a third. [fatkodima, #4273]
ScheduledSet with 10,000 jobs
Before: 56.6 seconds
After:  39.2 seconds
  • Compress error backtraces before pushing into Redis, if you are storing error backtraces, this will halve the size of your RetrySet in Redis [fatkodima, #4272]
RetrySet with 100,000 jobs
Before: 261 MB
After:  129 MB
  • Support display of ActiveJob 6.0 payloads in the Web UI [#4263]
  • Add SortedSet#scan for pattern based scanning. For large sets this API will be MUCH faster than standard iteration using each. [fatkodima, #4262]
  Sidekiq::DeadSet.new.scan("UnreliableApi") do |job|
    job.retry
  end
  • Dramatically speed up SortedSet#find_job(jid) by using Redis's ZSCAN support, approx 10x faster. [fatkodima, #4259]
zscan   0.179366   0.047727   0.227093 (  1.161376)
enum    8.522311   0.419826   8.942137 (  9.785079)
  • Respect rails' generators test_framework option and gracefully handle extra worker suffix on generator [fatkodima, #4256]
  • Add ability to sort 'Enqueued' page on Web UI by position in the queue [fatkodima, #4248]
  • Support Client.push_bulk with different delays [fatkodima, #4243]
Sidekiq::Client.push_bulk("class" => FooJob, "args" => [[1], [2]], "at" => [1.minute.from_now.to_f, 5.minutes.from_now.to_f])
  • Easier way to test enqueuing specific ActionMailer and ActiveRecord delayed jobs. Instead of manually parsing embedded class, you can now test by fetching jobs for specific classes. [fatkodima, #4292]
assert_equal 1, Sidekiq::Extensions::DelayedMailer.jobs_for(FooMailer).size
  • Add sidekiqmon to gemspec executables [#4242]
  • Gracefully handle Sidekiq.logger = nil [#4240]
  • Inject Sidekiq::LogContext module if user-supplied logger does not include it [#4239]

5.2.8 (from changelog)

  • Lock to Rack 2.0.x to prevent future incompatibilities
  • Fix invalid reference in sidekiqctl

5.2.7 (from changelog)

5.2.6 (from changelog)

  • Fix edge case where a job failure during Redis outage could result in a lost job [#4141]
  • Better handling of malformed job arguments in payload [#4095]
  • Restore bootstap's dropdown css component [#4099, urkle]
  • Allow Sidekiq::Worker#set to be chained

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ rack (indirect, 2.0.6 → 2.2.2) · Repo · Changelog

Release Notes

2.2.2 (from changelog)

Fixed

  • Fix incorrect Rack::Request#host value. (#1591, @ioquatix)
  • Revert Rack::Handler::Thin implementation. (#1583, @jeremyevans)
  • Double assignment is still needed to prevent an "unused variable" warning. (#1589, @kamipo)
  • Fix to handle same_site option for session pool. (#1587, @kamipo)

2.2.1 (from changelog)

Fixed

  • Rework Rack::Request#ip to handle empty forwarded_for. (#1577, @ioquatix)

2.2.0 (from changelog)

SPEC Changes

  • rack.session request environment entry must respond to to_hash and return unfrozen Hash. (@jeremyevans)
  • Request environment cannot be frozen. (@jeremyevans)
  • CGI values in the request environment with non-ASCII characters must use ASCII-8BIT encoding. (@jeremyevans)
  • Improve SPEC/lint relating to SERVER_NAME, SERVER_PORT and HTTP_HOST. (#1561, @ioquatix)

Added

  • rackup supports multiple -r options and will require all arguments. (@jeremyevans)
  • Server supports an array of paths to require for the :require option. (@khotta)
  • Files supports multipart range requests. (@fatkodima)
  • Multipart::UploadedFile supports an IO-like object instead of using the filesystem, using :filename and :io options. (@jeremyevans)
  • Multipart::UploadedFile supports keyword arguments :path, :content_type, and :binary in addition to positional arguments. (@jeremyevans)
  • Static supports a :cascade option for calling the app if there is no matching file. (@jeremyevans)
  • Session::Abstract::SessionHash#dig. (@jeremyevans)
  • Response.[] and MockResponse.[] for creating instances using status, headers, and body. (@ioquatix)
  • Convenient cache and content type methods for Rack::Response. (#1555, @ioquatix)

Changed

  • Request#params no longer rescues EOFError. (@jeremyevans)
  • Directory uses a streaming approach, significantly improving time to first byte for large directories. (@jeremyevans)
  • Directory no longer includes a Parent directory link in the root directory index. (@jeremyevans)
  • QueryParser#parse_nested_query uses original backtrace when reraising exception with new class. (@jeremyevans)
  • ConditionalGet follows RFC 7232 precedence if both If-None-Match and If-Modified-Since headers are provided. (@jeremyevans)
  • .ru files supports the frozen-string-literal magic comment. (@eregon)
  • Rely on autoload to load constants instead of requiring internal files, make sure to require 'rack' and not just 'rack/...'. (@jeremyevans)
  • Etag will continue sending ETag even if the response should not be cached. (@henm)
  • Request#host_with_port no longer includes a colon for a missing or empty port. (@AlexWayfer)
  • All handlers uses keywords arguments instead of an options hash argument. (@ioquatix)
  • Files handling of range requests no longer return a body that supports to_path, to ensure range requests are handled correctly. (@jeremyevans)
  • Multipart::Generator only includes Content-Length for files with paths, and Content-Disposition filename if the UploadedFile instance has one. (@jeremyevans)
  • Request#ssl? is true for the wss scheme (secure websockets). (@jeremyevans)
  • Rack::HeaderHash is memoized by default. (#1549, @ioquatix)
  • Rack::Directory allow directory traversal inside root directory. (#1417, @ThomasSevestre)
  • Sort encodings by server preference. (#1184, @ioquatix, @wjordan)
  • Rework host/hostname/authority implementation in Rack::Request. #host and #host_with_port have been changed to correctly return IPv6 addresses formatted with square brackets, as defined by RFC3986. (#1561, @ioquatix)
  • Rack::Builder parsing options on first #\ line is deprecated. (#1574, @ioquatix)

Removed

  • Directory#path as it was not used and always returned nil. (@jeremyevans)
  • BodyProxy#each as it was only needed to work around a bug in Ruby <1.9.3. (@jeremyevans)
  • URLMap::INFINITY and URLMap::NEGATIVE_INFINITY, in favor of Float::INFINITY. (@ch1c0t)
  • Deprecation of Rack::File. It will be deprecated again in rack 2.2 or 3.0. (@rafaelfranca)
  • Support for Ruby 2.2 as it is well past EOL. (@ioquatix)
  • Remove Rack::Files#response_body as the implementation was broken. (#1153, @ioquatix)
  • Remove SERVER_ADDR which was never part of the original SPEC. (#1573, @ioquatix)

Fixed

  • Directory correctly handles root paths containing glob metacharacters. (@jeremyevans)
  • Cascade uses a new response object for each call if initialized with no apps. (@jeremyevans)
  • BodyProxy correctly delegates keyword arguments to the body object on Ruby 2.7+. (@jeremyevans)
  • BodyProxy#method correctly handles methods delegated to the body object. (@jeremyevans)
  • Request#host and Request#host_with_port handle IPv6 addresses correctly. (@AlexWayfer)
  • Lint checks when response hijacking that rack.hijack is called with a valid object. (@jeremyevans)
  • Response#write correctly updates Content-Length if initialized with a body. (@jeremyevans)
  • CommonLogger includes SCRIPT_NAME when logging. (@Erol)
  • Utils.parse_nested_query correctly handles empty queries, using an empty instance of the params class instead of a hash. (@jeremyevans)
  • Directory correctly escapes paths in links. (@yous)
  • Request#delete_cookie and related Utils methods handle :domain and :path options in same call. (@jeremyevans)
  • Request#delete_cookie and related Utils methods do an exact match on :domain and :path options. (@jeremyevans)
  • Static no longer adds headers when a gzipped file request has a 304 response. (@chooh)
  • ContentLength sets Content-Length response header even for bodies not responding to to_ary. (@jeremyevans)
  • Thin handler supports options passed directly to Thin::Controllers::Controller. (@jeremyevans)
  • WEBrick handler no longer ignores :BindAddress option. (@jeremyevans)
  • ShowExceptions handles invalid POST data. (@jeremyevans)
  • Basic authentication requires a password, even if the password is empty. (@jeremyevans)
  • Lint checks response is array with 3 elements, per SPEC. (@jeremyevans)
  • Support for using :SSLEnable option when using WEBrick handler. (Gregor Melhorn)
  • Close response body after buffering it when buffering. (@ioquatix)
  • Only accept ; as delimiter when parsing cookies. (@mrageh)
  • Utils::HeaderHash#clear clears the name mapping as well. (@raxoft)
  • Support for passing nil Rack::Files.new, which notably fixes Rails' current ActiveStorage::FileServer implementation. (@ioquatix)

Documentation

2.1.2 (from changelog)

  • Fix multipart parser for some files to prevent denial of service (@aiomaster)
  • Fix Rack::Builder#use with keyword arguments (@kamipo)
  • Skip deflating in Rack::Deflater if Content-Length is 0 (@jeremyevans)
  • Remove SessionHash#transform_keys, no longer needed (@pavel)
  • Add to_hash to wrap Hash and Session classes (@oleh-demyanyuk)
  • Handle case where session id key is requested but missing (@jeremyevans)

2.1.1 (from changelog)

  • Remove Rack::Chunked from Rack::Server default middleware. (#1475, @ioquatix)
  • Restore support for code relying on SessionId#to_s. (@jeremyevans)

2.1.0 (from changelog)

Added

  • Add support for SameSite=None cookie value. (@hennikul)
  • Add trailer headers. (@eileencodes)
  • Add MIME Types for video streaming. (@styd)
  • Add MIME Type for WASM. (@buildrtech)
  • Add Early Hints(103) to status codes. (@egtra)
  • Add Too Early(425) to status codes. (@y-yagi)
  • Add Bandwidth Limit Exceeded(509) to status codes. (@CJKinni)
  • Add method for custom ip_filter. (@svcastaneda)
  • Add boot-time profiling capabilities to rackup. (@tenderlove)
  • Add multi mapping support for X-Accel-Mappings header. (@yoshuki)
  • Add sync: false option to Rack::Deflater. (Eric Wong)
  • Add Builder#freeze_app to freeze application and all middleware instances. (@jeremyevans)
  • Add API to extract cookies from Rack::MockResponse. (@petercline)

Changed

  • Don't propagate nil values from middleware. (@ioquatix)
  • Lazily initialize the response body and only buffer it if required. (@ioquatix)
  • Fix deflater zlib buffer errors on empty body part. (@felixbuenemann)
  • Set X-Accel-Redirect to percent-encoded path. (@diskkid)
  • Remove unnecessary buffer growing when parsing multipart. (@tainoe)
  • Expand the root path in Rack::Static upon initialization. (@rosenfeld)
  • Make ShowExceptions work with binary data. (@axyjo)
  • Use buffer string when parsing multipart requests. (@janko-m)
  • Support optional UTF-8 Byte Order Mark (BOM) in config.ru. (@mikegee)
  • Handle X-Forwarded-For with optional port. (@dpritchett)
  • Use Time#httpdate format for Expires, as proposed by RFC 7231. (@nanaya)
  • Make Utils.status_code raise an error when the status symbol is invalid instead of 500. (@adambutler)
  • Rename Request::SCHEME_WHITELIST to Request::ALLOWED_SCHEMES.
  • Make Multipart::Parser.get_filename accept files with + in their name. (@lucaskanashiro)
  • Add Falcon to the default handler fallbacks. (@ioquatix)
  • Update codebase to avoid string mutations in preparation for frozen_string_literals. (@pat)
  • Change MockRequest#env_for to rely on the input optionally responding to #size instead of #length. (@janko)
  • Rename Rack::File -> Rack::Files and add deprecation notice. (@postmodern).
  • Prefer Base64 “strict encoding” for Base64 cookies. (@ioquatix)

Removed

  • Remove to_ary from Response (@tenderlove)
  • Deprecate Rack::Session::Memcache in favor of Rack::Session::Dalli from dalli gem (@fatkodima)

Fixed

Documentation

  • Update broken example in Session::Abstract::ID documentation. (tonytonyjan)
  • Add Padrino to the list of frameworks implmenting Rack. (@wikimatze)
  • Remove Mongrel from the suggested server options in the help output. (@tricknotes)
  • Replace HISTORY.md and NEWS.md with CHANGELOG.md. (@twitnithegirl)
  • CHANGELOG updates. (@drenmi, @p8)

2.0.8 (from changelog)

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ rack-protection (indirect, 2.0.5 → 2.0.8.1) · Repo · Changelog

Release Notes

2.0.8.1 (from changelog)

  • Allow multiple hashes to be passed in merge and merge! for Sinatra::IndifferentHash #1572 by Shota Iguchi

2.0.8 (from changelog)

  • Lookup Tilt class for template engine without loading files #1558. Fixes #1172 by Jordan Owens

  • Add request info in NotFound exception #1566 by Stefan Sundin

  • Add .yaml support in Sinatra::Contrib::ConfigFile #1564. Fixes #1563 by Emerson Manabu Araki

  • Remove only routing parameters from @params hash #1569. Fixes #1567 by Jordan Owens, Horacio

  • Support capture and content_for with Hamlit #1580 by Takashi Kokubun

  • Eliminate warnings of keyword parameter for Ruby 2.7.0 #1581 by Osamtimizer

2.0.7 (from changelog)

  • Fix a regression #1560 by Kunpei Sakai

2.0.6 (from changelog)

  • Fix an issue setting environment from command line option #1547, #1554 by Jordan Owens, Kunpei Sakai

  • Support pandoc as a new markdown renderer #1533 by Vasiliy

  • Remove outdated code for tilt 1.x #1532 by Vasiliy

  • Remove an extra logic for force_encoding #1527 by Jordan Owens

  • Avoid multiple errors even if params contains special values #1526 by Kunpei Sakai

  • Support bundler/inline with require 'sinatra' integration #1520 by Kunpei Sakai

  • Avoid TypeError when params contain a key without a value on Ruby < 2.4 #1516 by Samuel Giddins

  • Improve development support and documentation and source code by Olle Jonsson, Basavanagowda Kanur, Yuki MINAMIYA

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ redis (indirect, 4.1.0 → 4.1.3) · Repo · Changelog

Release Notes

4.1.3 (from changelog)

  • Fix the client hanging forever when connecting with SSL to a non-SSL server. See #835.

4.1.2 (from changelog)

  • Fix the client hanging forever when connecting with SSL to a non-SSL server. See #835.
  • Fix several authentication problems with sentinel. See #850 and #856.
  • Explicitly drop Ruby 2.2 support.

4.1.1 (from changelog)

  • Fix error handling in multi blocks. See #754.
  • Fix geoadd to accept arrays like georadius and georadiusbymember. See #841.
  • Fix georadius command failing when long == lat. See #841.
  • Fix timeout error in xread block: 0. See #837.
  • Fix incompatibility issue with redis-objects. See #834.
  • Properly handle Errno::EADDRNOTAVAIL on connect.
  • Fix password authentication to sentinel instances. See #813.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by 57 commits:


Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)
depfu[bot] commented 4 years ago

Closed in favor of #238.