All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Support for Rails 7.2+
- Bump minimum Ruby support to >= 3.1 since Ruby 3.0 is EOL on 2024-03-31.
- Small refactor of ConnectionManagement
- Drop support for Rails < 6.1
- Add support for Rails 7.1+
- Drop support for Ruby < 3.0
- Drop support for Rails < 6.0
- Add support for Rails 7.0+
- Vary the encrypted/signed cookie salts per-hostname (fix for CVE-2021-41263). This update will cause existing cookies to be invalidated
- Make config file path configurable via
Rails.configuration.multisite_config_path
- First version to support Rails 6.1 / 7
- Removed support for Ruby 2.4 which is no longer maintained
- **ws parameter is only supported for RailsMultisite::ConnectionManagement.asset_hostname previously we would support this for any hostname and careful attackers could use this maliciously. Additionally, if **ws is used we will always strip request cookies as an extra security measure.
- Allow the default connection handler to be changed.
- Use
ActiveRecord::Base.connection_handlers
to keep track of all connection handlers.
- Add support for
Rails.configuration.skip_multisite_middleware
, if configured railstie will avoid all configuration of middleware.
- Add
current_db_hostnames
to get a listing of current db hostnames
- When reloading, only update changed connection specs. This means that ActiveRecord can keep the existing SchemaCache for unchanged connections
- Remove support for Rails 4
- Remove support for Ruby 2.3
- Add support for Rails 6
- Remove support for Ruby 2.2 as it is EOL
- Fixed a bug where calling
RailsMultisite::ConnectionManagement#establish_connection
with adb: default, raise_on_missing: true
would raise an error.
- Fix bug where calling
RailsMultisite::ConnectionManagement.current_hostname
with adefault
connection would throw an undefined method error.
- Base
RailsMultisite::ConnectionManagement.current_hostname
on@host_spec_cache
.
- with_connection should return result of block
- raise error if RAILS_DB is specified yet missing
- allows db_lookup callback for middleware, this allows you to whitelist paths in multisite
- Revert deprecation fix because it can break multisite in subtle ways.
- Allow
db
to be passed as a symbol toRailsMultisite::ConnectionManagement.establish_connection
.
- Fix deprecation warnings.