gems carrierwave 4.0.0.beta

3 hours ago

Added

  • Add the metadata_column option to record what was stored, so that which versions were created no longer has to be decided again on retrieval (@mshibuya ccac080, #2148, #1926)
  • Add #exists? to ask the storage whether the file is actually there (@mshibuya f635d88, #1926)
  • Make the downloader accept URLs as pasted by end users, stripping surrounding whitespace and embedded newlines and supplying a missing scheme (@mshibuya c2a182e)
  • Support test matchers with only Vips (@gaffneyc #2767)

Changed

  • [BREAKING CHANGE] Stop asking the storage whether the file is there in #blank? and #present?, which now only tell whether a file is assigned (@mshibuya f635d88, #2802, #2776, #2784)
  • [BREAKING CHANGE] Stop percent-decoding the URL on download, keeping %2F and /, %2B and + distinct (@mshibuya c2a182e, #858, #2505, #2590, #2800, #2808)
  • [BREAKING CHANGE] Decode the filename taken from a URL with URI semantics instead of form encoding, so a literal + no longer becomes a space (@mshibuya c2a182e)
  • [BREAKING CHANGE] Refuse process convert: format with :if/:unless, as the resulting file extension cannot be worked out again on retrieval (@mshibuya 532da35, #2723)
  • Defer uploading a cached file to the remote cache storage until it's needed beyond the current request (@mshibuya 6f5d6b8, #2605)
  • Defer evaluating the :if/:unless condition of versions until a version is accessed (@mshibuya 556a370, #2461, #2132, #2669)
  • Raise ProcessingError when all frames are filtered out in #manipulate! (@y-yagi #2817)

Removed

Fixed

  • Fix a file being stored under a name which doesn't follow from the identifier, leaving it where a later request could never find it. Storing is now refused instead (@mshibuya 532da35)
  • Fix a race condition in Builder#build, where a thread could observe a version class before its options were set (@fwitzke #2799)
  • Fix the remote storage being asked again on every access when the file is not there (@mshibuya f635d88, #2698, #2793)
  • Fix NoMethodError on #size when the remote storage reports no content length (@mshibuya f635d88, #2787)
  • Fix #process_uri being called twice on every download attempt (@mshibuya c2a182e)

Don't miss a new carrierwave release

NewReleases is sending notifications on new releases.