0.40002 Tue Mar 13, 2012 Put form wrappers that are fieldsets inside form tag; outside not legal HTML Doc updates Add 'NonEditable' field and 'Span' field widget Patch HTMLAttributes (compatibility for older style custom widgets) 0.40001 Wed Mar 7, 2012 Remove \K in regex for ucc_widget; doesn't work pre 5.10 Switch DateTime field to use inflate_default_method 0.40000 Tue Mar 6, 2012 **** There are many changes to rendering, many of them incompatible. These changes *will* break existing form rendering. You must check that your rendering works before upgrading. Making a copy of the old code (the widget and rendering roles) may be helpful (or use the compatibility libraries -- see below). I always prefer to maintain backward compatibility if possible, but a number of the improvements were not possible without breaking compatibility, so I did a lot of changes at once. Compatibility libraries are provided to help support rendering that relied on the earlier libriaries at: git://github.com/gshank/html-formhandler_pre-0.40_compat.git README at: https://github.com/gshank/html-formhandler_pre-0.40_compat/blob/master/README Add 'no_update' flag to allow skipping model_update. Remove 'deflate_to' flag; provide new inflation/deflation methods. see HTML::FormHandler::Manual::InflationDeflation New 'build_id_method' to provide different builder method for field IDs. 'auto_fieldset' and 'no_auto_fieldset' no longer used. No automatic fieldsets. Can be added with do_wrapper => 1 and a tag of wrapper_tag => 'fieldset' Localize the value of the reset button. Tests and fix for form 'validate_' and 'default_' method for repeatables fields. Change default radiogroup rendering to not use
elements. Add back with tag radio_br_after => 1 Switch to using coderef for deflate_method; custom fields with deflate sub will need to be modified. Add block rendering (HTML::FormHandler::Blocks) Re-do code for default & validate method construction; now provides 'default_method' and 'validate_method' coderef setting Remove 'init_value_*' from Field (deprecated for years). Use Hash::Merge in merging update field info on creation Fix bug in copying tags to fields by cloning field definitions Switch to using name 'element_attr' in fields instead of 'html_attr' Put wrapper class 'hfh-repinst' on Repeatable Instances unless they already have a wrapper class Remove 'javascript' field attribute. Put into *_attr hashref. Automatically put 'error' on element and wrapper. Switch to having the 'class' as a separate attribute from the _attr collection. Use 'element_class', 'wrapper_class' & 'label_class' arrayrefs Switch to having widget names by default be camel case; provide convenience methods for templates - uwidget, uwrapper, twidget, twrapper. ** this change will affect existing template systems, if they use the $field->widget method to get the widget name. See example templates. and conversion methods 'ucc_widget' and 'cc_widget' in HTML::FormHandler::Render::Util Create t/share/templates/form/form_in_one.tt Switch default rendering of checkbox to have label wrap input. Checkboxes are complicated. See t/render/checkbox.t for various options. Add 'build_update_subfields' to 'update_fields' processing to allow moving more of rendering settings into a separate role Change form 'html_attr' to 'form_element_attr', and use builder Change interface of html_field_attributes to also return attr (instead of just in-place) Remove 'label_no_colon', make labels without colon the default. Add widget tag 'label_after'. Use "label_after => ': '" for old behavior Add widget tag 'label_tag'. Default 'label'. Widget_tags replaced with 'form_tags' in form and 'tags' in Field. takes builder 'build_form_tags' instead of default Repeatable elements get automatic 'div' wrapper Remove attribute 'auto_fieldset'; wrapping form is no longer a default; Add back with sub build_do_form_wrapper {1}, and form_tags => { wrapper_tag => 'fieldset' } Remove automatic wrapping of compounds. Enable wrapping with do_wrapper => 1 (there's also do_label => 1) Put form wrapper around form tag instead of inside wrapper_start and wrapper_end tags not used to skip wrapper; use do_wrapper => 0 The 'get_tag' method now returns '' instead of undef if tag doesn't exist. 0.36001 Tues Jan 24, 2012 Add two more widget tags: 'no_auto_fieldset' and 'no_compound_wrapper' Remove automatic addition of 'class="label"' to labels; if you want that behavior, add it in with form sub field_html_attributes. Add 'SKIP' to t/config.t test for Template. Update Captcha so it might actually work. 0.36000 Sun Jan 22, 2012 Switch to using 'process_attrs' function to process attributes in rendering; *** There were lots of updates to rendering. You should verify your custom rendering, to make sure that nothing has broken. The '_add_html_attributes' method is no longer used. Add shorthand method for setting defaults in fields Add widget_tags 'label_no_colon' & 'wrapper_tag' Update and reorganize TT templates Add flags 'use_defaults_over_obj' & 'use_init_obj_over_item' Add 'num_extra' to Repeatable Update Turkish message file; add Float field Add lazy to 'html' attribute in Display field Add 'label_attr' and 'wrapper_attr' to Field Add 'Array' trait to field_name_space and widget_name_space Bug with selected/checked hash key in Multiple; switch to creating default Bug with repeatable contains; not using full name for accessor. Die if using HTML::FormHandler::Moose without HTML::FormHandler Field::TextArea extends Field::Text to reuse its validations (min/max length) Add is_html5 attribute to forms which causes forms to have the additional HTML 5 attributes which can be used by HTML 5 capable clients for validation 0.35005 Sat Oct 8, 2011 Fix bug repeatable result not returned for num_when_empty Fix bug repeatable required flag not propagated Fix bug building nested compound fields Allow html attributes on radio group elements Undefined string warning in select rendering Add Japanese message file 0.35004 Wed Oct 5, 2011 Fix bug setting multiple selects with init_object Provide html_attr for form attributes Use Moose type for field_name_space and widget_name_space 0.35003 Wed Sep 7, 2011 Fix bug constructing classes for Class::Load, revealed by Class::Load 0.10 0.35002 Mon Aug 8, 2011 Change to use Class::Load due to speed. 0.35001 Mon Jul 25, 2011 Undid setting processed flag when building result in BUILD. Breaks existing apps. Re-thinking that part for now. 0.35000 Thu Jul 21, 2011 Add support for tabindex attribute. Generic html attribute setting (html_attr) Set 'processed' flag when building results in BUILD to fix problem with garbage collected results. *** it's possible that this may break code if field values were being set outside of FormHandler, or params were set on new. Pass params on process. Set fields inside FormHandler, or run clear first, then set values. In general, it works best to update fields inside a FormHandler class, in a method or method modifier. Building results in 'new' happened originally because people expected to be able to do $form->render after new, without process. But you're better off always running 'process'. Add flag 'no_preload' to skip building results in new (BUILD) if not needed Add flag 'no_widgets' to skip applying widgets to fields if not needed Fix for Date fields in compounds. Types Printable & SingleWord use class messages Add link to the bug tracker into the HELP section in the Pod. Change how field_traits work: apply traits to field objects, add new class method apply_traits (Stephen Thirlwall) 0.34001 Mon May 16, 2011 Fiz another memory cycle using Select field Tweak code creating results for Field testing 0.34000 Mon May 16, 2011 Fixed memory cycles; 1 in HFH code, others by requiring Moose 2.0007 Localize value of a button Allow limited use of has_many multiple select Add SimpleInline & TableInline widgets to not wrap compound fields 0.33002 Tues Feb 22, 2011 Accidentally left off compatibility for 'required_message' attribute messages => { required => '...' } is new style and worked 0.33001 Mon Feb 21, 2011 Remove unnecessary with of HFH::Validate::Actions 0.33000 Mon Feb 21, 2011 bug - empty_select check defined Add button field, widget, template Check html attributes for definedness not truth Add ability to set field inactive on new & process in addition to setting active Move 'no_render_label' into Field Use form's language_handle in fields Improve PrimaryKey doc Return empty hashref from $form->value instead of undef Merge experimental Wizard into master Render disabled select options Repeatable contains rendering incorrectly, skipping empty elements Add rendering of form_errors to widgets and Render::Simple *** If you were using form_errors (there are none by default) and were using HFH rendering, check for compatibility Allow specifying full class for widget with '+' Document removing wrapper div from Simple wrapper Re-do how field messages are stored and accessed. Use messages => {...} instead of various _message attributes Add utilities in util to pull out class messages and check I18N Update I18N messages files (those that were provided by translators) Change render_filter Coderef setting because of leak; *** Possible incompatibility: if you have a form render_filter, change to function instead of method Change _localize to a Coderef to allow easier changing. *** If you have a custom _localize method, check for compatibility 0.32005 Wed Oct 20, 2010 Removed '//'; incompatible with earlier versions of Perl 0.32004 Wed Oct 20, 2010 Minor doc cleanup Switch away from MooseX::Traits; memory leak because of non-cached composed classes 0.32003 Sun Oct 3, 2010 Fix syntax for 'with', excludes => -excludes Use labels in radio group widgets Add 'is_active' and 'is_inactive' convenience methods in Field Select options - check defined instead of truth Misc minor doc and test improvements Coderef allowed for messages in apply actions Limit removing of numbers when constructing method names Use html_filter when rendering labels Allow undefining min_size and max_size in upload field Return in render_filter if string is not defined Change rendering of repeatable subfields 0.32002 Thu July 29, 2010 Update to handle newer Moose (error msg with Moose::Util::MetaRole API) Swich to Dist::Zilla Add customization of form tag attributes Add test prereqs 0.32001 Fri June 25, 2010 Add prereqs for DateTime::Format::Strptime and Email::Valid 0.32000 Fri June 25, 2010 Accept arrayref messages in add_error Add initial fieldset wrapper Flag (localize_labels) in Select field for rendering; localize empty_select Add posted flag for forms containing only fields with no params when unselected Add 'update_fields' methods and 'update_field_list' for preference-type field updates Fix incorrect error message in duration field Use LANGUAGE_HANDLE instead of LANG in tests Add 'input_class' for class attribute on input fields Allow deflation in fif, flag 'deflate_to' => 'value'/'fif' Fix bug with unselected Select field (move input_without_param & not_nullable into field) Add resultset example to cookbook Doc to look at input for multiple submit fields Fix bug in _set_dependency; use 'has_some_value' to determine emptiness Add form_errors for non-field errors Remove deprecated 'min_length' attribute ('minlength' is supported) Allow upload field to be passed a file handle Pass values to Display field (for display-only db fields) Change I18N to allow duck_type classes; add test for Data::Localize Added 'peek' diagnostic function for viewing field & result trees Fix bug with extra results in repeatable elements Strip empty pks and empty elements from repeatable values (avoid DB errors) Localize value of submit button Make '+' unnecessary in front of field name space types 0.31003 Fri May 7, 2010 Change precedence of defaults over item/init_object; add 'default_over_obj' for cases where that behavior is desired. Fix errors in filtering HTML in rendering Call deflation in InitResult::_result_from_obj Split localization of labels into separate 'loc_label' method Call loc_label where label is used in error messages Enable empty strings for wrapper_start and wrapper_end Set locale to en_us where needed in test Fix widget_name_space use in fields 0.31002 Wed Apr 21, 2010 Remove unused HTML::Entities from Simple form widget Move locale test file into xt because of env variable issues in test 0.31001 Tues Apr 20, 2010 Use full length version number Updates to translated messages & messages in Validate::Actions 0.31 Fri Apr 16, 2010 Remove use of HTML::Entities for filtering. New render_filter coderef for filering. Minor doc fixes for typos Use _html_attributes in widgets (for disabled, readonly, javascript) Localize default required field message Add 'render_upload' to Render::Simple Fix allowing array for field_name_space Selected_option for select lists Add example to cookbook and tests for setting a coderef for validation Checkbox group use 'eq' instead of '==' Fixes to tutorial to match Catalyst tutorial Allow arrayref for 'has_field' (like Moose 'has') Die on maketext errors Move deflation from fif to get_value called by '_result_from_object'. Possible incompatibility, except it was probably not working to start with... 0.30003 Sun Feb 21, 2010 Partial fix for lack of defaults for compound fields Support for using model_fields roles (DBICFields) Use 'eq' instead of '==' when constructing html for multiple selects Remove deprecated 'auto' syntax 0.30002 Thu Feb 11, 2010 Don't convert widget names that contain uppercase Better error messages for missing field classes Field attribute 'input_param' to allow input names different than field names Make field 'default' rw Clean up doc on init_object 0.30001 Fri Feb 5, 2009 Remove unnecessary IO::All use causing dep problems Changes to Turkish messages Russian and Urkainian message files Use HTML::FormHandlerX namespace for fields and widgets Fix bug with defaults set to 0 0.30 Mon Feb 1, 2010 Improve Display Field, adding more ways to set html Add initial pass at more automatic TT rendering Change readonly, html attributes to 'rw' Set widget in Reset field Fix bugs and oddities in HFH::types Fix bug allowing hashref to be passed to constructor Improve doc on 'trim' Add more doc on dynamic form creation Allow 'options_' attributes in form Add Turkish message file Add 'empty_select' to Select field Fix bug displaying empty repeatable element if no values from object Improvements in I18N factoring 0.29002 Wed Dec 16, 2009 Remove locale.t from dist until issues solved 0.29001 Tues Dec 15, 2009 Fix bug with passing widget_wrapper to fields Fix bug with generated method names for form methods 0.29 Wed Dec 2, 2009 Add CheckboxGroup widget, add MooseX::Traits to Form & Field class Fix bug where defaults were not being used with an initial object Fix DateTime field to trap DateTime errors, pass hash in value Use build_label for field labels Remove use of Class::Load, instead use Class::MOP::load_class() Add set_active and make switching fields to active simpler Fix bug when options lists from db are empty Add encode_entities to rendering widgets Switch from init_value_ to default_ Change upload field. Improve setting of method defaults for set_default, set_validate, set_options 0.28 Switched to using native traits Add Widget roles Major refactor to support result classes Reformatting source to more Perl standard Fix bug generating CSS classes in Render::Simple (mazpe) Fix POD example in ::Intro (mazpe) 0.27006 Mon Aug 17, 2009 Add ability to set params class and arguments 0.27005 Wed Aug 12, 2009 DateTime::Format::Strptime dep again 0.27004 Tues Aug 11, 2009 Date inherits from Text. Fix loading compound fields from related. Call load_options for forms with no init_obj & params 0.27003 Sat Aug 2, 2009 Indexing failure missing version in Date 0.27002 Sat Aug 2, 2009 Fix missing dependency on DateTime::Format::Strptime Doc tweaks 0.27001 Fri July 31, 2009 Doc fixes, fix Date field. 0.27 Sat July 25, 2009 Split HTML::FormHandler::Model::DBIC into separate distribution Add 'inactive' flag. Cleanup Makefile.PL. 'size' split into 'size' and 'maxlength'. 'min_length' renamed to 'minlength'. Add Catalyst pod. 'html_name' used for field 'id'. Fix DateMDY field. 0.26 Tues June 23, 2009 Fix dependency test failures on UNIVERSAL::require and version 0.25 Sat June 20, 2009 Add dependency for DateTime::Format::SQLite 0.24 Sat June 20, 2009 Refactor validation processing for api consistency Skip empty undef array elements. Update Password and PrimaryKey fields. Fix bugs: calling validate_ method, recognizing errors in repeatable fields, handling empty repeatable elements, incorrect cloning in Repeatable, rendering fixes/updates. 0.23 Fri May 22, 2009 Refactor HTH to use only 'process'. Deprecate 'validate' and 'update' Add field_list array, deprecate other usages. Clean up documentation Add Repeatable field to support has_many relationships 0.22 Fri May 1, 2009, 17:00 Removed development only test from distribution Expanded apply documentation. 0.21 Thu Apr 30, 2009, 20:00 Removed podcoverage, added skip to generator.t test, added 'apply' sugar for adding actions, doc for compound field 0.20 Thu Apr 23, 2009, 17:00 Added apply constraints, transforms, checks. Refactored code for future use of nested fields. Improvements to compound fields. Bug fix for checkboxes. Added ability to redefine attributes of existing fields with '+fieldname'. 0.19 Thu Mar 05, 2009, 17:00 Fix problem with empty values from form. Add Compound field. 0.18 Sun Feb 22 2009, 15:00 Add missing test prereq DateTime::Format::MySQL. Add 'values' method to form. Add 'accessor' attribute to field. 0.17 Thurs Feb 19 2009, 17:30 Refactor validate, adding validate_form method 0.16 Thurs Feb 19 2009, 17:00 Add ability to use arrayrefs for primary key Clear 'fif' for non-db forms. Allow init_object for non-db forms. 0.15 Mon Feb 16 2009, 19:00 Fix inheritance of has_field. Add ability to use has_field in roles. Some refactoring of 'clear'. If a field is not in params, don't touch in db. 0.14 Fri Feb 06 2009, 18:00 Wrong version in META.yml. Fix fif for password fields. 0.13 Wed Feb 04 2009, 23:00 Fix validate to set params if hash 0.12 Wed Feb 04 2009, 18:00 Fix 'dump_fields'. Add more output for verbose. Change so that 'validate' doesn't require a separate 'clear' for persistent forms. The controller test will only execute with an environment variable. 0.11 Mon Feb 02 2009, 17:00 Change to use BEGIN block in controllers for Catalyst 5.80. 0.10 Thu Jan 29 2009, 07:00 Remove unnecessary 'use' from Render::Simple to eliminate install failures. Change handling of 'has_field'. 0.09 Sun Jan 25 2009, 17:00 Minor changes. 0.08 Sat Jan 24 2009, 11:00 Remove controller and role. Refactor to support persistent forms. Remove update_from_form method. Add 'process', and 'update' methods. Update documentation to match. Update tutorial. 0.07 Thurs Jan 22 2009, 04:00 Add prereq of DateTime. Minor doc changes. 0.06 Wed Jan 21 2009, 04:00 Add prereq skip tests to controller test. Clean up Makefile.PL. Convert test controller Book.pm to use chained. Support empty rows. 0.05 Mon Jan 19 2009, 15:00 Add skip test to htmlarea test. Add action, http_method, & submit to form. Add javascript to field. Create widget directory for templates. 0.04 Fri Jan 16 2009, 19:00 Move example to test directory. Change controller; add controller test. Add use for HashRefInflator. Add more documentation. 0.03 Tues Jan 12 2009, 16:00 Pod fix, remove failing test from htmlarea 0.02 Tues Jan 12 2009, 03:00 Fixed pod formatting, naming of files 0.01 Mon Jan 12 2009, 17:00 Released on an unsuspecting world Conversion of Form::Processor to Moose, including renaming many attributes and methods and refactoring