New in 3.2.0: * Bug fix: Use the new correct Amazon S3 encryption header. * Bug fix: The rake task respects the updated_at column. * Bug fix: Strip newline from content type. * Feature: Fog file visibility can be specified per style. * Feature: Automatically rotate images. * Feature: Reduce class-oriented programming of the attachment definitions. New in 3.1.4: * Bug fix: Allow user to be able to set path without `:style` attribute and not raising an error. This is a regression introduced in 3.1.3, and that feature will be postponed to another minor release instead. * Feature: Allow for URI Adapter as an optional paperclip io adapter. New in 3.1.3: * Bug fix: Copy empty attachment between instances is now working. * Bug fix: Correctly rescue Fog error. * Bug fix: Using default path and url options in Fog storage now work as expected. * Bug fix: `Attachment#s3_protocol` now returns a protocol without colon suffix. * Feature: Paperclip will now raise an error if multiple styles are defined but no `:style` interpolation exists in `:path`. * Feature: Add support for `#{attachment}_created_at` field * Bug fix: Paperclip now gracefully handles msising file command. * Bug fix: `StringIOAdapter` now accepts content type. New in 3.1.2: * Bug fix: #remove_attachment on 3.1.0 and 3.1.1 mistakenly trying to remove the column that has the same name as data type (such as :string, :datetime, :interger.) You're advised to update to Paperclip 3.1.2 as soon as possible. New in 3.1.1: * Bug fix: Paperclip will only load Paperclip::Schema only when Active Record is available. New in 3.1.0: * Feature: Paperclip now support new migration syntax (sexy migration) that reads better: class AddAttachmentToUsers < ActiveRecord::Migration def self.up create_table :users do |t| t.attachment :avatar end end end Also, schema-definition level syntax has been added: add_attachment :users, :avatar remove_attachment :users, :avatar * Feature: Migration now support Rails 3.2+ `change` method. * API CHANGE: Old `t.has_attached_file` and `drop_attached_file` are now deprecated. You're advised to update your migration file before the next MAJOR version. * Bug fix: Tempfile now rewinded before generating fingerprint * API CHANGE: Tempfiles are now unlinked after `after_flush_writes` If you need to interact with the generated tempfiles, please define an `after_flush_writes` method in your model. You'll be able to access files via `@queue_for_write` instance variable. * Bug fix: `:s3_protocol` can now be defined as either String or Symbol * Bug fix: Tempfiles are now rewinded before get passed into `after_flush_writes` * Feature: Added expiring_url method to Fog Storage * API CHANGE: Paperclip now tested against AWS::SDK 1.5.2 onward * Bug fix: Improved the output of the content_type validator so the actual failure is displayed * Feature: Animated formats now identified using ImageMagick. * Feature: AttachmentAdapter now support fetching attachment with specific style. * Feature: Paperclip default options can now be configured in Rails.configuration. * Feature: add Geometry#resize_to to calculate dimensions of new source. * Bug fix: Fixed a bug whereby a file type with multiple mime types but no official type would cause the best_content_type to throw an error on trying nil.content_type. * Bug fix: Fix problem when the gem cannot be installed on the system that has Asepsis installed. New in 3.0.4: * Feature: Adds support for S3 scheme-less URL generation. New in 3.0.3: * Bug fix: ThumbnailProcessor now correctly detects and preserve animated GIF. * Bug fix: File extension is now preserved in generated Tempfile from adapter. * Bug fix: Uploading file with unicode file name now won't raise an error when logging in the AWS is turned on. * Bug fix: Task "paperclip:refresh:missing_styles" now work correctly. * Bug fix: Handle the case when :restricted_characters is nil. * Bug fix: Don't delete all the existing styles if we reprocess. * Bug fix: Content type is now ensured to not having a new line character. * API CHANGE: Non-Rails usage should include Paperclip::Glue directly. `Paperclip::Railtie` was intended to be used with Ruby on Rails only. If you're using Paperclip without Rails, you should include `Paperclip::Glue` into `ActiveRecord::Base` instead of requiring `paperclip/railtie`: ActiveRecord::Base.send :include, Paperclip::Glue * Bug fix: AttachmentContentTypeValidator now allow you to specify :allow_blank/:allow_nil * Bug fix: Make sure content type always a String. * Bug fix: Fix attachment.reprocess! when using storage providers fog and s3. * Bug fix: Fix a problem with incorrect content_type detected with 'file' command for an empty file on Mac. New in 3.0.2: * API CHANGE: Generated migration class name is now plural (AddAttachmentToUsers instead of AddAttachmentToUser) * API CHANGE: Remove Rails plugin initialization code. * API CHANGE: Explicitly require Ruby 1.9.2 in the Gemfile. * Bug fix: Fixes AWS::S3::Errors::RequestTimeout on Model#save. * Bug fix: Fix a problem when there's no logger specified. * Bug fix: Fix a problem when attaching Rack::Test::UploadedFile instance. New in 3.0.1: * Feature: Introduce Paperlip IO adapter. * Bug fix: Regression in AttachmentContentTypeValidator has been fixed. New in 3.0.0: * API CHANGE: Paperclip now requires at least Ruby on Rails version 3.0.0 * API CHANGE: The default :url and :path have changed. The new scheme avoids filesystem conflicts and scales to handle larger numbers of uploads. The easiest way to upgrade is to add an explicit :url and :path to your has_attached_file calls: has_attached_file :avatar, :path => ":rails_root/public/system/:attachment/:id/:style/:filename", :url => "/system/:attachment/:id/:style/:filename" * Feature: Adding Rails 3 style validators, and adding `validates_attachment` method as a shorthand. * Bug fix: Paperclip's rake tasks now loading records in batch. * Bug fix: Attachment style name with leading number now not raising an error. * Bug fix: File given to S3 and Fog storage will now be rewinded after flush_write. * Feature: You can now pass addional parameter to S3 expiring URL, such as :content_type. New in 2.7.0: * Bug fix: Checking the existence of a file on S3 handles all AWS errors. * Bug fix: Clear the fingerprint when removing an attachment. * Bug fix: Attachment size validation message reads more nicely now. * Feature: Style names can be either symbols or strings. * Compatibility: Support for ActiveSupport < 2.3.12. * Compatibility: Support for Rails 3.2. New in 2.6.0: * Bug fix: Files are re-wound after reading. * Feature: Remove Rails dependency from specs that need Paperclip. * Feature: Validation matchers support conditionals. New in 2.5.2: * Bug fix: Can be installed on Windows. * Feature: The Fog bucket name, authentication, and host can be determined at runtime via Proc. * Feature: Special characters are replaced with underscores in #url and #path. New in 2.5.1: * Feature: After we've computed the content type, pass it to Fog. * Feature: S3 encryption with the new :s3_server_side_encryption option. * Feature: Works without ActiveRecord, allowing for e.g. mongo backends. New in 2.5.0: * Performance: Only connect to S3 when absolutely needed. * Bug fix: STI with cached classes respect new options. * Bug fix: conditional validations broke, and now work again. * Feature: URL generation is now parameterized and can be changed with plugins or custom code. * Feature: :convert_options and :source_file_options to control the ImageMagick processing. * Performance: String geometry specifications now parse more quickly. * Bug fix: Handle files with question marks in the filename. * Bug fix: Don't raise an error when generating an expiring URL on an unassigned attachment. * Bug fix: The rake task runs over all instances of an ActiveRecord model, ignoring default scopes. * Feature: DB migration has_attached_file and drop_attached_file methods. * Bug fix: Switch from AWS::S3 to AWS::SDK for the S3 backend. * Bug fix: URL generator uses '?' in the URL unless it already appears and there is no prior '='. * Bug fix: Always convert the content type to a string before stripping blanks. * Feature: The :keep_old_files option preserves the files in storage even when the attachment is cleared or changed. * Performance: Optimize Fog's public_url access by avoiding it when possible. * Bug fix: Avoid a runtime error when generating the ID partition for an unsaved attachment. * Performance: Do not calculate the fingerprint if it is never persisted. * Bug fix: Process the :original style before all others, in case of a dependency. * Feature: S3 headers can be set at runtime by passing a proc object as the value. * Bug fix: Generating missing attachment styles for a model which has had its attachment changed should not raise. * Bug fix: Do not collide with the built-in Ruby hashing method.