113 lines (86 sloc) 6.02 KB



  • Removed Ruby 2.4.0 Integer unification deprecation warning.
  • Removed EOL Ruby 1.9.3 from the build matrix.
  • Added minlength component.
  • boolean_label_class can be set on a per-input basis.


Bug fix

  • Fix support for symbols when looking up types with ActiveModel::Type.



  • Add the aria-invalid attribute on inputs with errors.
  • Added support for the new ActiveModel::Type API over Active Record's column objects.

bug fix

  • Fix merge_wrapper_options to correctly merge options with duplicated keys. @herminiotorres Closes #1278.



  • Updated gem dependency to support Rails 5.0.x.


bug fix

  • Improve performance of input generation by disabling support for _html translations. This reverts the feature introduced on the 3.1.0 branch



  • Add the disabled_class to the label when the input is disabled. @rhodrid

bug fix

  • Make it possible to override required value that was previously set in the wrapper. @nashby

  • date/time/datetime inputs now correctly generate the label for attribute when HTML5 compatibility is explicitly enabled. @ericsullivan

  • The datetime, date, and time inputs now have a nice format by default on bootstrap. @ulissesalmeida @eltonchrls

  • Now it is possible to set custom input mappings for collections.


      # On configuration:
      config.input_mappings = { /gender$/ => :check_boxes }
      # On form:
      f.input :gender, collection: [:male, :female]




  • Update foundation generator to version 5. @jorge-d
  • Add mapping to uuid columns.
  • Add custom namespaces for custom inputs feature. @vala
  • Add :unless_blank option to the wrapper API. @IanVaughan
  • Add support to html markup in the I18n options. @laurocaetano
  • Add the full_error component. @laurocaetano
  • Add support to scope to be used on associations. @laurocaetano
  • Execute the association condition in the object context. @laurocaetano
  • Check if the given association responds to order before calling it. @laurocaetano
  • Add Bootstrap 3 initializer template.
  • For radio or checkbox collection always use :item_wrapper_tag to wrap the content and add label when using boolean_style with :nested @kassio and @erichkist
  • input_field uses the same wrapper as input but only with attribute components. @nashby
  • Add wrapper mapping per form basis @rcillo and @bernardoamc
  • Add for attribute to label when collections are rendered as radio or checkbox @erichkist, @ulissesalmeida and @fabioyamate
  • Add include_default_input_wrapper_class config @luizcosta
  • Map datetime, date and time input types to their respective HTML5 input tags when the :html5 is set to true @volmer
  • Add boolean_label_class config.
  • Add :html option to include additional attributes on custom wrappers @remofritzsche and @ulissesalmeida
  • Make possible to use the Wrappers API to define attributes for the components. See for more information.
  • Put a whitespace before the inline_label options of boolean input if it is present.
  • Add support to configure the label_text proc at the wrapper level. @NOX73
  • label_text proc now receive three arguments (label, request, and if the label was explicit). @timscott
  • Add I18n support to :include_blank and :prompt when :translate is used as value. @haines
  • Add support to define custom error messages for the attributes.
  • Add support to change the I18n scope to be used in Simple Form. @nielsbuus
  • The default form class can now be overridden with html: { :class }. @rmm5t

bug fix

  • Fix full_error when the attribute is an association. @mvdamme
  • Fix suppport to :namespace and :index options for nested check boxes and radio buttons when the attribute is an association.
  • Collection input that uses automatic collection translation properly sets checked values. Closes #971 @nashby
  • Collection input generates required attribute if it has prompt option. @nashby
  • Grouped collection uses the first non-empty object to detect label and value methods.


Please check v3.0 for previous changes.