Skip to content

Upgrading activesupport 4 to 5

Unknown4.2.11.3 → 5.2.8.1

Fetching 76 releases from GitHub…0 / 76
UnknownUpgrade verdict

DepDelta is still reading the notes for this range, so breaking changes can't be ruled out yet.

  • DepDelta is still reading the release notes in this range, so it can't rule out breaking changes yet.
  • This page updates as the notes come in.
Still reading release notes

DepDelta is still reading the release notes in this range. This updates as they come in.

activesupport publishes an official migration guide for version 5. It covers more than the release notes do.

Upgrading from Rails 4.2 to Rails 5.0 ↗

Ruby requirement changed in 5.0.0.beta1: >= 1.9.3 → >= 2.2.2.

Generated by DepDelta from published Ruby source. Not mixed with prose notes.

  • removed: class Thread
  • removed: const BigDecimal.DEFAULT_STRING_FORMAT
  • removed: const BigDecimal.YAML_MAPPING
  • removed: const LoadError.REGEXPS
  • removed: const MissingSourceFile
  • removed: const Range.RANGE_FORMATS
  • removed: method Array.prepend()
  • removed: method BigDecimal._original_to_s()
  • removed: method BigDecimal.encode_with(_)
  • removed: method BigDecimal.to_formatted_s(*)
  • removed: method BigDecimal.to_s(*)
  • removed: method Class.superclass_delegating_accessor(_, _ = …)
  • removed: method Kernel.breakpoint()
  • removed: method Kernel.capture(_)
  • removed: method Kernel.debugger()
  • removed: method Kernel.quietly()
  • removed: method Kernel.silence(_)
  • removed: method Kernel.silence_stderr()
  • removed: method Kernel.silence_stream(_)
  • removed: method LoadError.path()
  • removed: method Module.alias_method_chain(_, _)
  • removed: method Module.local_constants()
  • removed: method Module.methods_transplantable?()
  • removed: method Module.qualified_const_defined?(_, _ = …)
  • removed: method Module.qualified_const_get(_)
  • removed: method Module.qualified_const_set(_, _)
  • removed: method Numeric.to_formatted_s(_ = …, _ = …)
  • removed: method Object.itself()
  • removed: method Object.try!(*)
  • removed: method Object.try(*)
  • removed: method Range.each_with_time_with_zone()
  • removed: method Range.include_with_range?(_)
  • removed: method Range.step_with_time_with_zone(_ = …)
  • removed: method Range.to_default_s()
  • removed: method Range.to_formatted_s(_ = …)
  • removed: method Range.to_s(_ = …)
  • removed: method Struct.to_h()
  • removed: method Thread.freeze()
  • removed: method Thread.thread_variable?(_)
  • removed: method Thread.thread_variable_get(_)
  • removed: method Thread.thread_variable_set(_, _)
  • removed: method Thread.thread_variables()
  • removed: method Time._dump(*)
  • removed: method Time._dump_without_zone()
  • removed: method Time.all_day()
  • removed: module Marshal
  • removed: module QualifiedConstUtils
  • removed: static method ActiveSupport.execute_hook(_, _, _)
  • removed: static method ActiveSupport.on_load(_, _ = …)
  • removed: static method ActiveSupport.run_load_hooks(_, _ = …)
  • removed: static method ActiveSupport.test_order()
  • removed: static method Marshal.load_with_autoloading(_, _ = …)
  • removed: static method QualifiedConstUtils.names(_)
  • removed: static method QualifiedConstUtils.raise_if_absolute(_)
  • removed: static method Time._load(_)
  • removed: static method Time._load_without_zone()
  • removed: static set ActiveSupport.test_order(_)
  • changed: method Array.sum(*) → method Array.sum(_ = …)
  • changed: method Kernel.concern(_) → static method Kernel.concern(_)
  • changed: method Kernel.enable_warnings() → static method Kernel.enable_warnings()
  • changed: method Kernel.silence_warnings() → static method Kernel.silence_warnings()
  • changed: method Kernel.suppress(*) → static method Kernel.suppress(*)
  • changed: method Kernel.with_warnings(_) → static method Kernel.with_warnings(_)
  • changed: method Module.cattr_accessor(*) → method Module.cattr_accessor(*, instance_reader: …, instance_writer: …, instance_accessor: …, default: …)
  • changed: method Module.cattr_reader(*) → method Module.cattr_reader(*, instance_reader: …, instance_accessor: …, default: …)
  • changed: method Module.cattr_writer(*) → method Module.cattr_writer(*, instance_writer: …, instance_accessor: …, default: …)
  • changed: method Module.delegate(*) → method Module.delegate(*, to: …, prefix: …, allow_nil: …)
  • changed: method Module.mattr_accessor(*) → method Module.mattr_accessor(*, instance_reader: …, instance_writer: …, instance_accessor: …, default: …)
  • changed: method Module.mattr_reader(*) → method Module.mattr_reader(*, instance_reader: …, instance_accessor: …, default: …)
  • changed: method Module.mattr_writer(*) → method Module.mattr_writer(*, instance_writer: …, instance_accessor: …, default: …)
  • changed: method String.humanize(_ = …) → method String.humanize(capitalize: …, keep_id_suffix: …)
  • changed: method String.parameterize(_ = …) → method String.parameterize(separator: …, preserve_case: …)
  • changed: method String.titlecase() → method String.titlecase(keep_id_suffix: …)
  • changed: method String.titleize() → method String.titleize(keep_id_suffix: …)
  • added: class Complex
  • added: class Delegator
  • added: class Exception
  • added: class IO
  • added: class Pathname
  • added: class Rational
  • added: const Module.DELEGATION_RESERVED_KEYWORDS
  • added: const Module.RUBY_RESERVED_KEYWORDS
  • added: const SecureRandom.BASE58_ALPHABET
  • added: method Array.inquiry()
  • added: method Array.second_to_last()
  • added: method Array.third_to_last()
  • added: method Array.without(*)
  • added: method Complex.duplicable?()
  • added: method Date.blank?()
  • added: method DateTime.blank?()
  • added: method Enumerable.pluck(*)
  • added: method Enumerable.without(*)
  • added: method Exception.as_json(_ = …)
  • added: method Hash.with_defaults!(_)
  • added: method Hash.with_defaults(_)
  • added: method IO.as_json(_ = …)
  • added: method Module.delegate_missing_to(_)
  • added: method Module.method_visibility(_)
  • added: method Module.redefine_singleton_method(_)
  • added: method Module.remove_possible_singleton_method(_)
  • added: method Module.silence_redefinition_of_method(_)
  • added: method Module.thread_cattr_accessor(*)
  • added: method Module.thread_cattr_reader(*)
  • added: method Module.thread_cattr_writer(*)
  • added: method Module.thread_mattr_accessor(*)
  • added: method Module.thread_mattr_reader(*)
  • added: method Module.thread_mattr_writer(*)
  • added: method Numeric.negative?()
  • added: method Numeric.positive?()
  • added: method Pathname.as_json(_ = …)
  • added: method Rational.duplicable?()
  • added: method Regexp.match?(_, _ = …)
  • added: method String.upcase_first()
  • added: method Time.blank?()
  • added: method Time.rfc3339()
  • added: module SecureRandom
  • added: static method SecureRandom.base58(_ = …)
  • added: static method Time.days_in_year(_ = …)
  • added: static method Time.rfc3339(_)
  • removed: const MessageEncryptor.DEFAULT_CIPHER
  • removed: method SafeBuffer.prepend!(_)
  • removed: method TestCase.assert_nothing_raised(*)
  • removed: method TimeWithZone.in(_)
  • removed: method TimeWithZone.since(_)
  • removed: protected method Dependencies.log(_)
  • removed: protected method Dependencies.log_activity?()
  • removed: protected method Dependencies.log_call(*)
  • removed: protected method Duration.sum(_, _ = …)
  • removed: protected method HashWithIndifferentAccess.convert_key(_)
  • removed: protected method HashWithIndifferentAccess.convert_value(_, _ = …)
  • removed: protected method HashWithIndifferentAccess.set_defaults(_)
  • removed: protected method LogSubscriber.color(_, _, _ = …)
  • removed: protected method XmlMini._dasherize(_)
  • removed: protected method XmlMini._parse_binary(_, _)
  • removed: protected method XmlMini._parse_file(_, _)
  • removed: protected static method Subscriber.add_event_subscriber(_)
  • removed: static method HashWithIndifferentAccess.new_from_hash_copying_default(_)
  • removed: static method SecurityUtils.variable_size_secure_compare(_, _)
  • removed: static method TestCase.my_tests_are_order_dependent!()
  • removed: static method TimeZone.zones_map()
  • changed: constructor SafeBuffer(*) → constructor SafeBuffer(_ = …)
  • changed: method CachingKeyGenerator.generate_key(_, _ = …) → method CachingKeyGenerator.generate_key(*)
  • changed: method HashWithIndifferentAccess.default(_ = …) → method HashWithIndifferentAccess.default(*)
  • changed: method Inflector.humanize(_, _ = …) → method Inflector.humanize(_, capitalize: …, keep_id_suffix: …)
  • changed: method Inflector.parameterize(_, _ = …) → method Inflector.parameterize(_, separator: …, preserve_case: …)
  • changed: method Inflector.titleize(_) → method Inflector.titleize(_, keep_id_suffix: …)
  • changed: method MessageEncryptor.decrypt_and_verify(_) → method MessageEncryptor.decrypt_and_verify(_, purpose: …, **)
  • changed: method MessageEncryptor.encrypt_and_sign(_) → method MessageEncryptor.encrypt_and_sign(_, expires_at: …, expires_in: …, purpose: …)
  • changed: method MessageVerifier.generate(_) → method MessageVerifier.generate(_, expires_at: …, expires_in: …, purpose: …)
  • changed: method MessageVerifier.verify(_) → method MessageVerifier.verify(*)
  • changed: static method JSON.decode(_, _ = …) → static method JSON.decode(_)
  • added: class ArrayInquirer < Array
  • added: class CurrentAttributes
  • added: class Digest
  • added: class EncryptedConfiguration < EncryptedFile
  • added: class EncryptedFile
  • added: class EventedFileUpdateChecker
  • added: class ExecutionWrapper
  • added: class Executor < ExecutionWrapper
  • added: class Reloader < ExecutionWrapper
  • added: const Duration.PARTS
  • added: const Duration.PARTS_IN_SECONDS
  • added: const Duration.SECONDS_PER_DAY
  • added: const Duration.SECONDS_PER_HOUR
  • added: const Duration.SECONDS_PER_MINUTE
  • added: const Duration.SECONDS_PER_MONTH
  • added: const Duration.SECONDS_PER_WEEK
  • added: const Duration.SECONDS_PER_YEAR
  • added: const EncryptedFile.CIPHER
  • added: const JSON.DATETIME_REGEX
  • added: const RangeWithFormat.RANGE_FORMATS
  • added: constructor CurrentAttributes()
  • added: constructor EncryptedConfiguration(config_path:, key_path:, env_key:, raise_if_missing_key:)
  • added: constructor EncryptedFile(content_path:, key_path:, env_key:, raise_if_missing_key:)
  • added: constructor EventedFileUpdateChecker(_, _ = …)
  • added: constructor Reloader()
  • added: method ArrayInquirer.any?(*)
  • added: method BigDecimalWithDefaultFormat.to_s(_ = …)
  • added: method CompareWithRange.===(_)
  • added: method CompareWithRange.cover?(_)
  • added: method CompareWithRange.include?(_)
  • added: method CurrentAttributes.reset()
  • added: method CurrentAttributes.set(_)
  • added: method Duration.%(_)
  • added: method Duration.*(_)
  • added: method Duration./(_)
  • added: method Duration.<=>(_)
  • added: method Duration.after(_ = …)
  • added: method Duration.before(_ = …)
  • added: method Duration.coerce(_)
  • added: method Duration.encode_with(_)
  • added: method Duration.init_with(_)
  • added: method Duration.iso8601(precision: …)
  • added: method EachTimeWithZone.each()
  • added: method EachTimeWithZone.step(_ = …)
  • added: method EncryptedConfiguration.config()
  • added: method EncryptedConfiguration.read()
  • added: method EncryptedConfiguration.write(_)
  • added: method EncryptedFile.change()
  • added: method EncryptedFile.key()
  • added: method EncryptedFile.read()
  • added: method EncryptedFile.write(_)
  • added: method EventedFileUpdateChecker.execute()
  • added: method EventedFileUpdateChecker.execute_if_updated()
  • added: method EventedFileUpdateChecker.updated?()
  • added: method ExecutionWrapper.complete!()
  • added: method ExecutionWrapper.run!()
  • added: method HashWithIndifferentAccess.[](_)
  • added: method HashWithIndifferentAccess.assoc(_)
  • added: method HashWithIndifferentAccess.dig(*)
  • added: method HashWithIndifferentAccess.fetch_values(*)
  • added: method HashWithIndifferentAccess.slice!(*)
  • added: method HashWithIndifferentAccess.slice(*)
  • added: method HashWithIndifferentAccess.to_options()
  • added: method HashWithIndifferentAccess.transform_keys!()
  • added: method HashWithIndifferentAccess.transform_keys(*)
  • added: method HashWithIndifferentAccess.with_defaults!(_)
  • added: method HashWithIndifferentAccess.with_defaults(_)
  • added: method IncludeTimeWithZone.include?(_)
  • added: method Inflector.upcase_first(_)
  • added: method LazyLoadHooks.on_load(_, _ = …)
  • added: method LazyLoadHooks.run_load_hooks(_, _ = …)
  • added: method MarshalWithAutoloading.load(_, _ = …)
  • added: method MessageVerifier.valid_message?(_)
  • added: method MessageVerifier.verified(_, purpose: …, **)
  • added: method NumericWithFormat.to_s(_ = …, _ = …)
  • added: method RangeWithFormat.to_default_s(_ = …)
  • added: method RangeWithFormat.to_formatted_s(_ = …)
  • added: method RangeWithFormat.to_s(_ = …)
  • added: method Reloader.class_unload!()
  • added: method Reloader.complete!()
  • added: method Reloader.release_unload_lock!()
  • added: method Reloader.require_unload_lock!()
  • added: method Reloader.run!()
  • added: method TimeWithZone.blank?()
  • added: method TimeWithZone.change(_)
  • added: method TimeWithZone.rfc3339(_ = …)
  • added: method TimeZone.encode_with(_)
  • added: method TimeZone.iso8601(_)
  • added: method TimeZone.rfc3339(_)
  • added: method TimeZone.strptime(_, _, _ = …)
  • added: method ToJsonWithActiveSupportEncoder.to_json(_ = …)
  • added: method Tryable.try!(*)
  • added: method Tryable.try(*)
  • added: module BigDecimalWithDefaultFormat
  • added: module CompareWithRange
  • added: module EachTimeWithZone
  • added: module IncludeTimeWithZone
  • added: module LazyLoadHooks
  • added: module MarshalWithAutoloading
  • added: module Messages
  • added: module NumericWithFormat
  • added: module RangeWithFormat
  • added: module ToJsonWithActiveSupportEncoder
  • added: module Tryable
  • added: property CurrentAttributes.attributes: accessor
  • added: property EncryptedFile.content_path: reader
  • added: property EncryptedFile.env_key: reader
  • added: property EncryptedFile.key_path: reader
  • added: property EncryptedFile.raise_if_missing_key: reader
  • added: static method CurrentAttributes.attribute(*)
  • added: static method CurrentAttributes.clear_all()
  • added: static method CurrentAttributes.instance()
  • added: static method CurrentAttributes.reset_all()
  • added: static method CurrentAttributes.resets()
  • added: static method Dependencies.load_interlock()
  • added: static method Dependencies.run_interlock()
  • added: static method Dependencies.unload_interlock()
  • added: static method Digest.hash_digest_class()
  • added: static method Digest.hexdigest(_)
  • added: static method Duration.build(_)
  • added: static method Duration.days(_)
  • added: static method Duration.hours(_)
  • added: static method Duration.minutes(_)
  • added: static method Duration.months(_)
  • added: static method Duration.parse(_)
  • added: static method Duration.seconds(_)
  • added: static method Duration.weeks(_)
  • added: static method Duration.years(_)
  • added: static method EncryptedFile.generate_key()
  • added: static method ExecutionWrapper.active?()
  • added: static method ExecutionWrapper.complete!()
  • added: static method ExecutionWrapper.register_hook(_, outer: …)
  • added: static method ExecutionWrapper.run!(reset: …)
  • added: static method ExecutionWrapper.to_complete(*)
  • added: static method ExecutionWrapper.to_run(*)
  • added: static method ExecutionWrapper.wrap()
  • added: static method MessageEncryptor.default_cipher()
  • added: static method Reloader.after_class_unload(*)
  • added: static method Reloader.before_class_unload(*)
  • added: static method Reloader.check!()
  • added: static method Reloader.prepare!()
  • added: static method Reloader.reload!()
  • added: static method Reloader.reloaded!()
  • added: static method Reloader.run!(reset: …)
  • added: static method Reloader.to_prepare(*)
  • added: static method Reloader.wrap()
  • added: static method SecurityUtils.fixed_length_secure_compare(_, _)
  • added: static method TimeZone.clear()
  • added: static method TimeZone.country_zones(_)
  • added: static property ExecutionWrapper.active: accessor
  • added: static set Digest.hash_digest_class(_)
  • removed: constructor NullStore(_ = …)
  • removed: method MemCacheStore.read_multi(*)
  • removed: protected method FileStore.delete_entry(_, _)
  • removed: protected method FileStore.read_entry(_, _)
  • removed: protected method FileStore.write_entry(_, _, _)
  • removed: protected method MemCacheStore.delete_entry(_, _)
  • removed: protected method MemCacheStore.read_entry(_, _)
  • removed: protected method MemCacheStore.write_entry(_, _, _)
  • removed: protected method MemoryStore.cached_size(_, _)
  • removed: protected method MemoryStore.delete_entry(_, _)
  • removed: protected method MemoryStore.read_entry(_, _)
  • removed: protected method MemoryStore.write_entry(_, _, _)
  • removed: protected method NullStore.delete_entry(_, _)
  • removed: protected method NullStore.read_entry(_, _)
  • removed: protected method NullStore.write_entry(_, _, _)
  • removed: protected method Store.delete_entry(_, _)
  • removed: protected method Store.key_matcher(_, _)
  • removed: protected method Store.read_entry(_, _)
  • removed: protected method Store.write_entry(_, _, _)
  • removed: static method Store.instrument()
  • removed: static set Store.instrument(_)
  • changed: constructor Entry(_, _ = …) → constructor Entry(_, compress: …, compress_threshold: …, version: …, expires_in: …, **)
  • added: class RedisCacheStore < Store
  • added: const FileStore.GITKEEP_FILES
  • added: const RedisCacheStore.DEFAULT_ERROR_HANDLER
  • added: const RedisCacheStore.DEFAULT_REDIS_OPTIONS
  • added: const RedisCacheStore.MAX_KEY_BYTESIZE
  • added: constructor RedisCacheStore(namespace: …, compress: …, compress_threshold: …, expires_in: …, race_condition_ttl: …, error_handler: …, **)
  • added: method ConnectionPoolLike.with()
  • added: method Entry.mismatched?(_)
  • added: method RedisCacheStore.cleanup(_ = …)
  • added: method RedisCacheStore.clear(_ = …)
  • added: method RedisCacheStore.decrement(_, _ = …, _ = …)
  • added: method RedisCacheStore.delete_matched(_, _ = …)
  • added: method RedisCacheStore.increment(_, _ = …, _ = …)
  • added: method RedisCacheStore.inspect()
  • added: method RedisCacheStore.mget_capable?()
  • added: method RedisCacheStore.mset_capable?()
  • added: method RedisCacheStore.read_multi(*)
  • added: method RedisCacheStore.redis()
  • added: method Store.write_multi(_, _ = …)
  • added: module ConnectionPoolLike
  • added: property Entry.version: reader
  • added: property RedisCacheStore.max_key_bytesize: reader
  • added: property RedisCacheStore.redis_options: reader
  • added: static method RedisCacheStore.build_redis(redis: …, url: …, **)
  • removed: protected method LocalCacheWithRaw.read_entry(_, _)
  • removed: protected method LocalCacheWithRaw.write_entry(_, _, _)
  • added: module LocalCacheWithRaw
  • removed: protected method LocalCache.delete_entry(_, _)
  • removed: protected method LocalCache.read_entry(_, _)
  • removed: protected method LocalCache.set_cache_value(_, _, _, _)
  • removed: protected method LocalCache.write_entry(_, _, _)
  • added: method LocalStore.fetch_entry(_, _ = …)
  • added: method LocalStore.read_multi_entries(_, _)
  • removed: method Callback.merge(_, _)
  • removed: method CallbackSequence.call(*)
  • changed: constructor CallbackSequence() → constructor CallbackSequence(_ = …, _ = …, _ = …)
  • changed: method CallbackSequence.around() → method CallbackSequence.around(_, _)
  • added: class CallTemplate
  • added: constructor CallTemplate(_, _, _, _)
  • added: method CallTemplate.expand(_, _, _)
  • added: method CallTemplate.inverted_lambda()
  • added: method CallTemplate.make_lambda()
  • added: method Callback.current_scopes()
  • added: method Callback.merge_conditional_options(_, if_option:, unless_option:)
  • added: method CallbackSequence.expand_call_template(_, _)
  • added: method CallbackSequence.final?()
  • added: method CallbackSequence.invoke_after(_)
  • added: method CallbackSequence.invoke_before(_)
  • added: method CallbackSequence.nested()
  • added: method CallbackSequence.skip?(_)
  • added: static method CallTemplate.build(_, _)
  • removed: class Around
  • removed: class ENDING < End.new
  • removed: class End
  • removed: method End.call(_)
  • removed: static method Around.build(_, _, _, _)
  • changed: class Environment < Struct.new(:target, :halted, :value, :run_block) → class Environment < Struct.new(:target, :halted, :value)
  • removed: class Latch
  • removed: constructor Latch(_ = …)
  • removed: method Latch.await()
  • removed: method Latch.release()
  • added: class LoadInterlockAwareMonitor < Monitor
  • added: class ShareLock
  • added: constructor ShareLock()
  • added: method LoadInterlockAwareMonitor.mon_enter()
  • added: method LoadInterlockAwareMonitor.synchronize()
  • added: method ShareLock.exclusive(purpose: …, compatible: …, after_compatible: …, no_wait: …)
  • added: method ShareLock.raw_state()
  • added: method ShareLock.sharing()
  • added: method ShareLock.start_exclusive(purpose: …, compatible: …, no_wait: …)
  • added: method ShareLock.start_sharing()
  • added: method ShareLock.stop_exclusive(compatible: …)
  • added: method ShareLock.stop_sharing()
  • added: method ShareLock.yield_shares(purpose: …, compatible: …, block_share: …)
  • removed: method ClassMethods.config_accessor(*)
  • added: class Interlock
  • added: constructor Interlock()
  • added: method Interlock.done_running()
  • added: method Interlock.done_unloading()
  • added: method Interlock.loading()
  • added: method Interlock.permit_concurrent_loads()
  • added: method Interlock.raw_state()
  • added: method Interlock.running()
  • added: method Interlock.start_running()
  • added: method Interlock.start_unloading()
  • added: method Interlock.unloading()
  • added: property WatchStack.watching: reader
  • changed: constructor DeprecatedConstantProxy(_, _, _ = …) → constructor DeprecatedConstantProxy(_, _, _ = …, message: …)
  • added: const Reporting.RAILS_GEM_ROOT
  • added: module DeprecatedConstantAccessor
  • added: method OverrideDelegators.deprecation_warning(_, _ = …, _ = …)
  • added: method OverrideDelegators.warn(_ = …, _ = …)
  • added: module OverrideDelegators
  • added: class ISO8601Parser
  • added: class ISO8601Serializer
  • added: class Scalar < Numeric
  • added: const ISO8601Parser.COMMA
  • added: const ISO8601Parser.DATE_COMPONENT
  • added: const ISO8601Parser.DATE_COMPONENTS
  • added: const ISO8601Parser.DATE_MARKER
  • added: const ISO8601Parser.DATE_TO_PART
  • added: const ISO8601Parser.PERIOD
  • added: const ISO8601Parser.PERIOD_OR_COMMA
  • added: const ISO8601Parser.SIGN_MARKER
  • added: const ISO8601Parser.TIME_COMPONENT
  • added: const ISO8601Parser.TIME_COMPONENTS
  • added: const ISO8601Parser.TIME_MARKER
  • added: const ISO8601Parser.TIME_TO_PART
  • added: constructor ISO8601Parser(_)
  • added: constructor ISO8601Serializer(_, precision: …)
  • added: constructor Scalar(_)
  • added: method ISO8601Parser.parse!()
  • added: method ISO8601Serializer.serialize()
  • added: method Scalar.%(_)
  • added: method Scalar.*(_)
  • added: method Scalar.+(_)
  • added: method Scalar.-(_)
  • added: method Scalar.-@()
  • added: method Scalar./(_)
  • added: method Scalar.<=>(_)
  • added: method Scalar.coerce(_)
  • added: property ISO8601Parser.mode: accessor
  • added: property ISO8601Parser.parts: reader
  • added: property ISO8601Parser.scanner: reader
  • added: property ISO8601Parser.sign: accessor
  • added: property Scalar.value: reader
  • added: class ParsingError < ::ArgumentError
  • added: class MissingContentError < RuntimeError
  • added: class MissingKeyError < RuntimeError
  • added: constructor MissingContentError(_)
  • added: constructor MissingKeyError(key_path:, env_key:)
  • added: class PathHelper
  • added: method PathHelper.existing_parent(_)
  • added: method PathHelper.filter_out_descendants(_)
  • added: method PathHelper.longest_common_subpath(_)
  • added: method PathHelper.normalize_extension(_)
  • added: method PathHelper.xpath(_)
  • added: class CompleteHook < Struct.new(:hook)
  • added: class Null < Object.new
  • added: class RunHook < Struct.new(:hook)
  • added: method CompleteHook.after(_)
  • added: method CompleteHook.before(_)
  • added: method RunHook.before(_)
  • added: property Inflections.acronyms_camelize_regex: reader
  • added: property Inflections.acronyms_underscore_regex: reader
  • added: class Uncountables < Array
  • added: constructor Uncountables()
  • added: method Uncountables.<<(*)
  • added: method Uncountables.add(_)
  • added: method Uncountables.delete(_)
  • added: method Uncountables.uncountable?(_)
  • removed: static method Encoding.const_missing(_)
  • removed: static method Encoding.encode_big_decimal_as_string()
  • removed: static set Encoding.encode_big_decimal_as_string(_)
  • added: module NullVerifier
  • added: static method NullVerifier.generate(_)
  • added: static method NullVerifier.verify(_)
  • added: class Metadata
  • added: class RotationConfiguration
  • added: constructor Metadata(_, _ = …, _ = …)
  • added: constructor RotationConfiguration()
  • added: constructor Rotator(*, **)
  • added: method Metadata.as_json(_ = …)
  • added: method Metadata.verify(_)
  • added: method RotationConfiguration.rotate(_, *)
  • added: method Rotator.rotate(*, **)
  • added: module Rotator
  • added: property RotationConfiguration.encrypted: reader
  • added: property RotationConfiguration.signed: reader
  • added: static method Metadata.verify(_, _)
  • added: static method Metadata.wrap(_, expires_at: …, expires_in: …, purpose: …)
  • added: method Encryptor.decrypt_and_verify(*, on_rotation: …, **)
  • added: method Verifier.verified(*, on_rotation: …, **)
  • added: module Encryptor
  • added: module Verifier
  • removed: const Unicode.HANGUL_JAMO_FIRST
  • removed: const Unicode.HANGUL_JAMO_LAST
  • removed: const Unicode.LEADERS_AND_TRAILERS
  • removed: const Unicode.LEADERS_PAT
  • removed: const Unicode.TRAILERS_PAT
  • removed: const Unicode.WHITESPACE
  • removed: protected method Chars.chars(_)
  • removed: protected method Chars.translate_offset(_)
  • removed: static method Unicode.codepoints_to_pattern(_)
  • changed: method Fanout.finish(_, _, _) → method Fanout.finish(_, _, _, _ = …)
  • added: method Instrumenter.finish_with_state(_, _, _)
  • removed: const NumberToDelimitedConverter.DELIMITED_REGEX
  • added: class RoundingHelper
  • added: const NumberToDelimitedConverter.DEFAULT_DELIMITER_REGEX
  • added: constructor RoundingHelper(_)
  • added: method RoundingHelper.digit_count(_)
  • added: method RoundingHelper.round(_)
  • added: property RoundingHelper.options: reader
  • changed: method ClassMethods.rescue_from(*) → method ClassMethods.rescue_from(*, with: …)
  • added: method ClassMethods.handler_for_rescue(_, object: …)
  • added: method ClassMethods.rescue_with_handler(_, object: …, visited_exceptions: …)
  • added: method Formatter.tags_text()
  • removed: method Isolation._run_class_setup()
  • changed: method Assertions.assert_difference(_, _ = …, _ = …) → method Assertions.assert_difference(_, *)
  • changed: method Deprecation.assert_deprecated(_ = …) → method Deprecation.assert_deprecated(_ = …, _ = …)
  • changed: method Deprecation.assert_not_deprecated() → method Deprecation.assert_not_deprecated(_ = …)
  • changed: method Deprecation.collect_deprecations() → method Deprecation.collect_deprecations(_ = …)
  • added: method Assertions.assert_changes(_, _ = …, from: …, to: …)
  • added: method Assertions.assert_no_changes(_, _ = …)
  • added: method Assertions.assert_nothing_raised()
  • added: method FileFixtures.file_fixture(_)
  • added: method SimpleStubs.stubbing(_, _)
  • added: method TimeHelpers.after_teardown()
  • added: method TimeHelpers.freeze_time()
  • added: module FileFixtures
  • added: module MethodCallAssertions
  • added: module Stream
  • added: class UNTRACKED < Object.new
  • added: class PRECISIONS < Hash.new
  • changed: method Calculations.last_week(_ = …) → method Calculations.last_week(_ = …, same_time: …)
  • changed: method Calculations.next_month() → method Calculations.next_month(_ = …)
  • changed: method Calculations.next_week(_ = …) → method Calculations.next_week(_ = …, same_time: …)
  • changed: method Calculations.next_year() → method Calculations.next_year(_ = …)
  • changed: method Calculations.prev_month() → method Calculations.prev_month(_ = …)
  • changed: method Calculations.prev_week(_ = …) → method Calculations.prev_week(_ = …, same_time: …)
  • changed: method Calculations.prev_year() → method Calculations.prev_year(_ = …)
  • added: const Calculations.WEEKEND_DAYS
  • added: method Calculations.all_day()
  • added: method Calculations.last_weekday()
  • added: method Calculations.next_day(_ = …)
  • added: method Calculations.next_occurring(_)
  • added: method Calculations.next_weekday()
  • added: method Calculations.on_weekday?()
  • added: method Calculations.on_weekend?()
  • added: method Calculations.prev_day(_ = …)
  • added: method Calculations.prev_occurring(_)
  • added: method Calculations.prev_weekday()
  • removed: const Util.HTML_ESCAPE_REGEXP
  • added: const Util.TAG_NAME_FOLLOWING_REGEXP
  • added: const Util.TAG_NAME_REPLACEMENT_CHAR
  • added: const Util.TAG_NAME_START_REGEXP
  • added: const Util.TAG_NAME_START_REGEXP_SET
  • added: static method Util.xml_name_escape(_)
  • changed: protected static method Railtie.include_fallbacks_module() → static method Railtie.include_fallbacks_module()
  • changed: protected static method Railtie.init_fallbacks(_) → static method Railtie.init_fallbacks(_)
  • changed: protected static method Railtie.initialize_i18n(_) → static method Railtie.initialize_i18n(_)
  • changed: protected static method Railtie.validate_fallbacks(_) → static method Railtie.validate_fallbacks(_)
  • added: static method Railtie.watched_dirs_with_extensions(_)
  • removed: class DELEGATION_RESERVED_KEYWORDS < Set.new(%w(_ arg args block)
  • removed: class RUBY_RESERVED_WORDS < Set.new(%w(alias and BEGIN begin break case class def defined? do else elsif END end ensure false for if in module next nil not or redo rescue retry return self super then true undef unless until when while yield)
  • changed: class DELEGATION_RESERVED_METHOD_NAMES < Set.new(RUBY_RESERVED_WORDS + DELEGATION_RESERVED_KEYWORDS) → class DELEGATION_RESERVED_METHOD_NAMES < Set.new(RUBY_RESERVED_KEYWORDS + DELEGATION_RESERVED_KEYWORDS)
  • added: class ENCODED_BLANKS < Concurrent::Map.new
  • removed: class LOCK < Mutex.new
  • added: class Generic
  • added: method Generic.as_json(_ = …)