Skip to content
Branch: master
Commits on Oct 20, 2018
  1. Merge pull request #34265 from olivierlacan/flexbox-guides-index

    jeremy committed Oct 20, 2018
    Improve layout of Rails Guides index
Commits on Oct 12, 2018
  1. Merge pull request #34123 from frodsan/deprecate_unicode_string_wrappers

    jeremy committed Oct 12, 2018
    Deprecate Unicode#downcase/upcase/swapcase.
Commits on Sep 13, 2018
  1. Merge pull request #33853 from yahonda/use_utf8mb4_only_if_available

    jeremy committed Sep 13, 2018
     Validate if `utf8mb4` character set and longer index key prefix is supported
Commits on Aug 20, 2018
  1. Merge pull request #33635 from bogdanvlviv/improve-active_job-test_he…

    jeremy committed Aug 20, 2018
    Improve Active Job test helpers
Commits on Mar 2, 2018
Commits on Feb 18, 2018
  1. Travis: fix that major.minor version doesn't track latest major.minor…

    jeremy committed Feb 18, 2018
    So `2.4` would match `2.4.1` (due to an rvm alias) rather than matching
    the latest `2.4.3` release.
  2. String#truncate_bytes: limit to N bytes without breaking multibyte chars

    jeremy committed Dec 9, 2016
    This faithfully preserves grapheme clusters (characters composed of other
    characters and combining marks) and other multibyte characters.
  3. `String#strip_heredoc` preserves frozenness

    jeremy committed Feb 17, 2018
    "foo".freeze.strip_heredoc.frozen?  # => true
    Fixes the case where frozen string literals would inadvertently become
    foo = <<-MSG.strip_heredoc
      la la la
    foo.frozen?  # => false !??
Commits on Feb 17, 2018
  1. Rails 6 requires Ruby 2.4.1+

    jeremy committed Feb 17, 2018
    Skipping over 2.4.0 to sidestep the `"symbol_from_string".to_sym.dup` bug.
    References #32028
  2. Rails 6 requires Ruby 2.3+

    jeremy committed Feb 17, 2018
  3. Fix frozen string concatenation by indicating that it's mutable

    jeremy committed Feb 17, 2018
    References 89bcca5
Commits on Feb 5, 2018
  1. Redis cache store: consolidate serialization

    jeremy committed Feb 5, 2018
    Use `serialize_entry` throughout and introduce `serialize_entries`.
Commits on Nov 16, 2017
  1. Move back to resque-scheduler mainline now that resque/resque-schedul…

    jeremy committed Nov 16, 2017
    …er#620 is merged
Commits on Nov 15, 2017
  1. Bump resque-scheduler ahead of a new gem release

    jeremy committed Nov 15, 2017
Commits on Nov 14, 2017
  1. Cache: Enable compression by default for values > 1kB.

    jeremy committed Nov 14, 2017
    Compression has long been available, but opt-in and at a 16kB threshold.
    It wasn't enabled by default due to CPU cost. Today it's cheap and
    typical cache data is eminently compressible, such as HTML or JSON
    Compression dramatically reduces Memcached/Redis mem usage, which means
    the same cache servers can store more data, which means higher hit
    To disable compression, pass `compress: false` to the initializer.
  2. Built-in Redis cache store

    jeremy committed May 17, 2017
    * Supports vanilla Redis, hiredis, and Redis::Distributed.
    * Supports Memcached-like sharding across Redises with Redis::Distributed.
    * Fault tolerant. If the Redis server is unavailable, no exceptions are
      raised. Cache fetches are treated as misses and writes are dropped.
    * Local cache. Hot in-memory primary cache within block/middleware scope.
    * `read_/write_multi` support for Redis mget/mset. Use Redis::Distributed
      4.0.1+ for distributed mget support.
    * `delete_matched` support for Redis KEYS globs.
Commits on Nov 13, 2017
  1. Action Cable: run Redis tests against a default config without a pass…

    jeremy committed Nov 13, 2017
    Simplify our dev testing and CI story since we're also testing against
    Redis for the Active Support cache store.
    Directly test whether db, host, password, etc are passed through as
    config instead of spinning up a Redis server with a password set on it.
Commits on Nov 1, 2017
  1. Fix tests on Mail 2.7

    jeremy committed Nov 1, 2017
    Reverts 4d96be1
    References #31026
Commits on Oct 8, 2017
  1. Merge pull request #30748 from jeremy/redis-rb-4.0.1

    jeremy committed Oct 8, 2017
    redis-rb 4.0 support
  2. Merge pull request #30757 from jeremy/optional-dependency-hellscape

    jeremy committed Oct 8, 2017
    Adapters bubble up gem version mismatches for their dependencies
  3. redis-rb 4.0 support

    jeremy committed Sep 29, 2017
    * Use `gem 'redis', '~> 4.0'` for new app Gemfiles
    * Loosen Action Cable redis-rb dep to `>= 3.3, < 5`
    * Bump redis-namespace for looser Redis version dep
    * Avoid using the underlying `redis.client` directly
    * Use `` instead of `Redis.connect`
  4. Distinguish missing adapter gems from load errors within the adapter

    jeremy committed Sep 30, 2017
    * When the adapter is missing, raise an exception that points out config
      typos and missing Gemfile entries. (We can assume that a non-builtin
      adapter was used since these are always available.)
    * When loading an adapter raises a LoadError, prefix its error message
      to indicate that the adapter is likely missing an optional dependency.
Commits on Jul 11, 2017
  1. S3: slim down service implementation (#40)

    jeremy authored and dhh committed Jul 11, 2017
    * Use simple core API for duck-type compat with other clients
    * initialize: accept an existing client
    * initialize: accept arbitrary client args instead of a fixed, required set
    * download: use native get_object streaming, no need to implement range requests
    * exists?: use head_object (which returns immediately) rather than waiting for existence
Commits on Jul 9, 2017
  1. Configurator tests: work against test-local config

    jeremy committed Jul 9, 2017
    So tests pass when service configs aren't set up.
    References #28
  2. Clarify how a service can build other composed services

    jeremy committed Jul 9, 2017
    * takes the literal YAML config hash for the service and a
      reference to the Configurator that's doing the building.
    * Services that compose additional services can use the Configurator to
      look them up and build them by name. See MirrorService for an example.
    References #23
  3. Service: clarify arguments

    jeremy committed Jul 9, 2017
    First arg is config for the service we're instantiating.
    Second arg is service configurations so we can look up and configure
    other services by name.
  4. Travis CI 💡

    jeremy committed Jul 9, 2017
  5. Configure services that reference other services

    jeremy committed Jul 8, 2017
    * Move service configuration from the Engine to Service
    * Delegate configuration mechanics to internal Service::Configurator
    * Delegate service building to the concrete Service classes, allowing
      them to configure composed services.
    * Implement for the Mirror service.
  6. Mirror: explicit primary service and list of mirrors

    jeremy committed Jul 8, 2017
    Pass separate primary service and list of mirrors rather than treating
    the first of the services list as the primary. Nice fit for keyword args,
    and something we've long wanted in the equivalent Basecamp file repository.
    Upload returns the results of the underlying service uploads rather than
    the io.rewind result. Rewind before uploading rather than afterward, and
    demonstrate that behavior with a test.
    Test that more than one mirror works.
Commits on Jul 8, 2017
  1. Disk storage: ensure URLs end with the blob filename since some user …

    jeremy committed Jul 8, 2017
    …agents don't respect Content-Disposition filename
Commits on Jul 6, 2017
  1. Merge pull request #29704 from kamipo/fix_mariadb_version

    jeremy committed Jul 6, 2017
    Fix extracting MariaDB version
Commits on Jun 10, 2017
  1. Revert #25628. Incomplete change + needs a deprecation cycle.

    jeremy committed Jun 10, 2017
    See #29067 (comment)
    for rationale.
    This reverts commit b76f82d.
    Fixes #29067. Fixes #29081.
You can’t perform that action at this time.