1Revision history for CGI-Ex.
2
32.50      2020-07-07 22:03:55-06:00 America/Denver
4
5  * Allow for optionally using multi_param if the object supports it
6
72.49      2020-03-05 10:42:23-07:00 America/Denver
8  * Switch to Dist::Zilla for building dist (this release is thanks to Charles McGarvey)
9  * Fix CI config to work with dzil
10  * Add HttpOnly, SameSite support to CGI::Ex::Auth
11  * Document the CGI::Ex::Auth cookie_* properties
12
132.48      2018-12-06
14  * Fix app constants on modern perls.
15
162.47      2018-08-16
17  * Replace mechanism for setting cookies via meta tags with JavaScript equivalent (thanks to Garth Hill, Dillan Hildebrand, Alfredo Cabrera, Matt Swensen)
18  * Test added for the replacement JavaScript mechanism of setting cookies
19
202.46      2018-07-24
21  * Skip replace validation types in CGI::Ex::Validate when the corresponding form key's value is undef (thanks to Matt Devey)
22  * Test added for CGI::Ex::Validate skipping replace validation when form key's value is undef (thanks to Charles McGarvey)
23  * Removed copyright years as they weren't necessary
24
252.45      2017-07-23
26  * Lost commits from 2.43 have been restored in this version
27  * Allow HTML5 input types to be filled
28  * Fix bug that prevents bounce_on_logout from deleting the auth cookie
29  * Silence warning about CGI::param in list context
30  * Fix tests on perl 5.26.0 (thanks to Petr Písař)
31  * Smarter feature detection for JSON module (thanks to Petr Písař)
32  * Declare perl version required
33  * Add CGI.pm to pre-reqs
34  * Upgrade Makefile.PL
35  * No longer indexing 'samples' directory
36  * Updated the copyright year to 2017
37
382.44      2015-10-07
39  * Restoring the version number in several modules
40  * Updated the copyright year to 2015
41
422.43      2015-10-01
43  * Fixing POD errors
44  * Restoring the README that got lost in 2.42
45
462.42      2014-12-10
47  * Adding protection to location bounces to stop potential XSS vulnerabilities
48
492.41      2014-06-12
50  * Restoring a tab character in Makefile.PL so that make can run again
51
522.40      2012-12-17
53  * Validation fixes for regex based keys
54  * Allow for HTML5 types
55  * Make sure that default values always stringify
56  * App find_hook now returns a list
57
582.38      2012-03-02
59  * No functional changes, just fixes for newer versions of perl that have changed the way that "is" works.
60
612.37      2012-02-09
62  * (Validate) Make match_2 work in the javascript layer (as shown in perldoc)
63  * (Validate) Add int, uint, and num types with range checking on int and uint
64  * (Validate) Allow for custom => sub { my ($k, $v) = @_; die "Always fail\n" } to pass the result of the failure via the value of die.
65  * (Validate) Allow for custom_js:function (args) { throw "Always fail ("+args.value+")" } which passes the error message of the test as the fail message
66  * (Validate) Allow for type, enum, and equals to short circuit (don't run match, compare, length, or custom checks if type fails)
67  * (App) Fix the test suite to not require installation of CGI
68  * (App) Add CGI::Ex::App::Constants module supporting constants as a source of documentation
69  * (App) Allow for access to constants via use CGI::Ex::App qw(:App); or use MyApp qw(:App);
70
712.36      2010-06-10
72  * (Auth) Make delete_cookie always delete, even for session Apps.
73
742.35      2010-05-24
75  * (Auth) More robust cookie reading and writing and deleting.
76  * Workaround CGI::Cookie->parse weird empty cookie implementation.
77  * (Auth) Allow cookie_domain to be modified more gracefully.
78  * (Auth) Consider case with multiple cookies for the same name.
79
802.34      2010-04-23
81  * (Auth) Don't attempted to decode base64 armor unless use_base64
82
832.33      2010-04-01
84  * (Auth) Allow for custom form user vs valid cookie check
85
862.32      2010-02-25
87  * (Validate) Allow for default to be an arrayref
88
892.31      2010-02-24
90  * (Auth) allow for secure flag via cookie_secure
91  * Allow validate.js to use change and blur on individual elements
92  * Allow validate.js to not strip trailing whitespace on change
93  * (Validate) Allow more items in local parts
94  * (Ex) Make sure make_form doesn't die on non-arrayref keys
95
962.27      2008-09-15
97  * (App) Fix morph history during errors or other direct morph calls
98  * (App) Allow for step=foo/bar to look for file foo/bar.html
99  * (App) Allow for step=foo/bar to use internal name of foo__bar
100  * (App) Allow for step=foo/bar to morph to package App::Foo::Bar
101  * (Validate) Added the set_all_hook and clear_all_hook in validate.js
102  * (Validate) Streamline validate
103  * (Validate) Added generate_form to Validate
104  * (App) Added hooks in App to generate_form
105  * (Validate) Allow for "error" parameter in validation that is the general error message
106  * (Auth) Allow passing filename in Auth login_header, login_form, login_script and login_footer
107  * (Auth) Allow verify_token to be easily overridable
108  * (Auth) Allow passing cookie_domain, cookie_path, cookie_no_expires (force session cookie) in Auth for much more granular control
109  * (Auth) Allow for passing user without password to verify user matches a previously set cookie
110  * (App) Remove allow_nested_morph since allow_morph is more than capable of filling this role
111  * (App) Allow step name to be "jumped" to even if not in the path
112  * (App) Make jump unmorph if in the middle of lineage, deprecates some early morph cases.
113  * (Auth) Don't blank out form user field on failure (fixed bug in Auth login_hash_common)
114  * (App) Cleanup run_hook_as
115  * (App) Allow path_info_map to have second argument be a code ref that is passed form and matches
116  * (Validate) validate.js updates to make in sync more with Validate.pm (such as fields and order are synonymous)
117  * (Validate) Make validation names prettier by default
118
1192.26      2008-07-21
120  * (App) Error handling bug again (accept refs in $@ again)
121
1222.25      2008-07-08
123  * (Validate) Fix bugs in was_valid checking of Validate
124  * (JSONDump) Quote more keys in JSONDump
125  * (App) Allow for passing a coderef instead of the step name to run_hook
126  * (App) Handle fatal errors more gracefully
127  * (App) Make morph and unmorph calls be hooks
128  * (App) Allow allow_morph to return 2 (which requires a morph)
129  * (App) Add run_hook_as functionality
130
1312.24      2008-02-26
132  * Allow for smith.name
133  * Simplify some code in App.
134  * Allow for post_navigate to get called even in case of error.
135  * Added morph_base to App
136  * Added validate_when_data hook.
137  * Added samples/app/app1 which is a path based application
138
1392.23      2007-12-20
140  * Add the onevent load option - make sure validate_if figures into dependencies
141  * Add was_valid, had_error, and was_checked validation options
142  * Add vif_disable option.
143  * Pass more information to clear/set hooks using named args
144
1452.22      2007-12-14
146  * Allow for no errors with a username of "0"
147  * Run hash_form hook before others so dump_history shows it in order of use
148  * Fix Validate error with passing in the field name
149  * Simplify and modernize validate.js
150  * Add onevent: change, blur and submit types.
151  * Add hooks and better overriding to valiate.js
152  * Cleanup Validate.pm pod
153  * Be sure Conf json read requires JSON
154
1552.21      2007-10-18
156  * Add logout_hook to Auth
157  * Remove key_payload
158  * Only accept payload from cram styles
159  * Added disable_simple_cram to enforce protecting server generated payloads
160
1612.20      2007-10-08
162  * Added success_hook and failure_hook to Auth (not documented)
163  * Fix precedence issue in conf reading in App (thanks to Krassimir Berov)
164  * Fix bug in validate.js with LOCAL_PART matching (thanks to Thomas den Braber)
165  * Add support for clear_on_error to validate.js (thanks to Thomas den Braber)
166
1672.19      2007-10-05
168  * Make verify_token more granualar in Auth
169  * Added parse_token method and/or property
170  * Added verify_password method and/or property
171  * Added verify_payload method and/or property
172  * Fix filename based conf reading in App
173  * Added check_valid_auth, handle_success, handle_failure
174           key_loggedout, bounce_on_logout to Auth.
175
1762.18      2007-07-24
177  * Merry Pioneer Day - http://en.wikipedia.org/wiki/Pioneer_Day_(Utah)
178  * Allow for check_valid_auth in App
179  * Allow for set_cookie, delete_cookie, location_bounce to be overridden in Auth
180  * Add get_valid_auth to the history
181  * Massive refactor of CGI::Ex::App
182  * Rename conf_ext to ext_conf to be similar to ext_print and ext_val
183  * Add undocumented conf_die_on_fail (which defaults to true)
184  * Fix bug in handle_error
185  * Allow empty hashrefs passed to Validate - (broken in 2.17)
186  * Add tests to help with Devel::Cover coverage.
187
1882.17      2007-06-26
189  * Add load_conf and conf* methods to App to allow for easier external configuration
190  * Add more documentation
191  * Allow print_content_type('text/html', 'utf-8')
192  * Allow App to pass mimetime and charset to print_out.
193  * Update path methods.
194
1952.16      2007-06-21
196  * Add default __error step which is called by default handle_error method.
197  * Default base_dir_abs to '.'
198
1992.15      2007-06-20
200  * Fix some warning issues with the Recipe sample in App
201  * Cleanup require_auth interface in App (you will want to
202          double check if you have overwritten require_auth in your
203          application to make sure your implementation is still compatible)
204  * Require latest Template::Alloy
205
2062.14      2007-06-12
207  * Moved CGI::Ex::Template to Template::Alloy
208  * Template::Alloy is now required as a dependency
209  * Update some portions of App POD.
210
2112.13      2007-05-21
212  * Added full support for HTML::Template and HTML::Template::Expr.
213  * Added missing HTML::Template::Expr vmethods.
214  * Added support for using Text vmethods as top level items.
215  * Added SYNTAX configuration item.
216  * Added V2EQUALS configuration item.
217  * Broke Extra and HTE out to its own area.
218  * Added many more tests.
219  * Allow QR_PRIVATE to be false.
220
221
2222.12      2007-05-11
223  * Add STAT_TTL
224  * Add NEGATIVE_STAT_TTL
225  * Add WRAPPER configuation
226  * Add ERROR and ERRORS configuration
227  * Cleanup handling of PRE_PROCESS and POST_PROCESS
228  * Add more tests for the file operations
229  * Cleanup some potential argument issues on cached USE and THROW
230
2312.11      2007-05-07
232  * Add more samples to App synopsis.
233  * Add VIEW directive support to Template.
234  * Update data storage to more easily support TT2 parsers.
235  * Add regex support in Template.
236  * Add CONFIG directive in Template.
237  * Better error reporting.
238  * Allow parser to parse all TT2 tests in TT2 test suite.
239  * Add V2PIPE configuration to provide backward support for TT2 non-inline pipes.
240  * Add vmethod url.
241  * Cleanup argument parsing to be more compatible with TT2.
242
2432.10      2007-04-27
244  * Allow for fully regex grammar based engine.
245  * Move to generic operator parse tree.  All constructs are now only arrayrefs.
246            This should allow for easy porting to other languages.
247  * Allow for nested tags [% "[% 2 %]" | eval %].
248  * Added back in references in Template - but fast and simple.
249  * Allow for regex based TAGS.
250  * Allow for "unquoted" in TAGS.
251  * Catch parsing bug in "1 - + 2" in Template.
252  * Fix minor bug in Template qw() construct.
253  * Re-added ANYCASE support.
254  * Added V1DOLLAR support.
255  * Remove GROUP support from CGI::Ex::Validate.
256  * Allow for crypted passwords to work in Auth.
257
2582.09      2007-04-05
259  * Add more documentation about file paths
260  * Allow for base_dir_abs to return a single value, or an arrayref of values, or
261          a coderef that returns a single value or arrayref.
262  * Allow CGI::Ex send_status to work on mod_perl2.
263  * Add tests to cover all virtual methods in CGI::Ex::Template.
264  * Bring all virtual methods into line with TT2.18
265
2662.08      2007-03-02
267  * Allow for digits passed to %*s patterns in format, and fmt or CGI::Ex::Template
268  * Fix bug in validate.js to allow for non-existant fields (with replace)
269  * Warn clean in Validate.pm for non-existant field (with replace)
270  * Fix bug in validate.js with trim_control_chars - was broken entirely
271  * Add no_tag_splitting flag to JSONDump
272  * Allow for more types of numbers to be quoted in JSONDump
273  * Add path_info_map_base method to CGI::Ex::App
274  * Add path_info_map hook to CGI::Ex::App
275  * Updated and added much documentation to CGI::Ex::App
276
2772.07      2007-01-30
278  * Add clear_app method which flushes items pertaining to navigation.
279  * Allow for CGI::Ex::Template PLUGIN_BASE to be a scalar OR an arrayref.
280  * Add sort keys to DUMP directive
281  * Add trim_control_chars as a validate directive
282  * Allow for . in the QR_PRIVATE of Template
283  * Add dump_parse_expr to CGI::Ex::Template
284  * Fix JSONDump to handle more number cases
285  * Fix JSONDump to output more IE friendly JS
286  * Allow fill to work only with form elements with attributes
287
2882.06      2006-07-21
289  * Allow for JSONDump to swap --> to --"+">
290  * Fix memory issue in App with closures
291  * Remove weak_copy routine from Template (memory issue)
292
2932.05      2006-07-19
294  * Allow for CGI::Ex to be compatible with Mandrake and Fedora mod_perl 2, as well as debian mod_perl2
295          and older mod_perl1.
296  * Allow for CGI::Ex::Dump to localize the Data::Dumper options to not stomp on anybody elses toes.
297  * Update various perldoc bugs
298  * Fix JSONDump of \t and \r
299  * Change .as to .fmt to coincide with Perl6 (.as is still there - just not documented)
300
3012.04      2006-07-10
302  * Allow for items not in group order to get added to validation correctly in CGI::Ex::Validate.
303  * Add samples/index.cgi
304  * Fix samples/app/cgi_ex_* to actually work.
305  * Added CGI::Ex::JSONDump
306  * Change Validate to use JSONDump instaed of JSON
307  * Various perldoc and other bug fixes.
308  * Removed CGI-Ex.spec - use cpan2rpm or cpan2deb instead.
309
3102.03      2006-06-10
311  * Fix the associativity of operators in Template to match perl
312  * Allow for multiple prefix operators.
313  * Change name of parse_variable to parse_expr
314  * Change name of get_variable to play_expr
315
3162.02      2006-06-08
317  * Fix the yaml tests
318  * Add failed_sleep to Auth
319  * Various pod fixes
320  * Allow for conf_read and write errors to die - we really do need to have those bubble up.
321  * Fix all tests
322  * Allow for validate.js to work with existing onsubmit handlers of forms
323  * Added "as" virtual methods to Template
324  * Added Virtual Objects to Template
325  * Added self modifiers (*= etc) to Template
326  * Added increment and decrement (++ --) to Template
327  * Allow for scientific notation and hexidecimal in Template
328  * Added int, rand and random virtual methods to Template
329
3302.01      2006-05-31
331  * Added App refine_path hook.
332  * Added App destroy method.
333  * Fix CGI::Ex::Template perldoc.
334
3352.00      2006-05-30
336  * Added CGI::Ex::Template and test suites
337  * Allow for CGI::Ex::Template to be fully TT2 syntax compliant
338  * Re-implementation of CGI::Ex::Auth
339  * Allow for step to be automatically untainted during loop in CGI::Ex::App
340  * Fix base_dir_rel to work with "" as the dir in CGI::Ex::App
341  * Bug fixes in CGI::Ex::Fill
342  * Better perldoc in CGI::Ex::Fill
343  * Add named parameter function called fill in CGI::Ex::Fill
344  * DProfd CGI::Ex::Conf for improvements
345  * DProfd CGI::Ex::Validate for improvements
346  * Added conf_read and conf_write methods for Conf
347  * Cleanup of all of the test
348  * Add missing tests
349  * Add Array Prototype fixes from Eamon Daly
350  * Add examples and cleanup to CGI::Ex::App
351  * Cleanup hooks in App (add fill_args and template_args)
352  * Change run_hook syntax in App
353  * Add dump_history with more history information
354  * Integrate CGI::Ex::Auth with App
355
3561.14      2005-02-28
357  * Bug fix in validate (OR's were not working)
358  * Allow for checking for package existence without require in App
359  * Add hash_swap
360  * Add hash_base
361  * Add add_to_ methods for swap, fill, form, common, and errors
362  * Swap the run_hook order of step and hookname
363  * Allow for untaint in CGI::Ex::Validate
364  * Allow for !field in equals of CGI::Ex::Validate
365  * Allow for return of names in CGI::Ex::Validate
366  * Allow CGI::Ex to work better with CGI/mod_perl1/mod_perl2
367  * Fix required => 0 in javascript
368
3691.13      2004-12-02
370  * Show more App perldoc examples
371  * Fix some App path bugs
372  * Add more app hooks
373  * Cleanup app code
374  * Allow for Conf to write to each of the types
375
3761.12      2004-11-10
377  * Show more App perldoc examples
378  * Fix some App path bugs
379  * Change some App method names
380  * Allow for App js_validation
381  * Allow for App validation redirection
382
3831.11      2004-11-08
384  * Let file path dependent tests succeed
385  * Allow for next current and previous steps in App
386  * Couple of warn cleans in App
387
3881.10      2004-11-05
389  * Make CGI::Ex::App->print really work with Template
390  * Fix very large javascript variable swapping bug
391  * Numerous upgrades to App
392  * Fix module access in CGI::Ex
393  * Allow validate to populate what_was_validated array
394  * Allow for App to cleanup crossed references
395
3961.00      2004-04-23
397  * Added set_path method
398  * Added Auth module
399  * Fix validate.js for select-multiple
400  * Fix validate.js for max_values
401  * Add min_in_set and max_in_set types for validate
402  * Add default for validate (sets default value)
403
4040.99      2004-03-22
405  * Allow swap_template to be called with one argument
406  * Added extended examples in t/samples/cgi_ex_*
407  * Remove dependency on CGI::Util (doesn't exists on some perls)
408  * A few fixes on App
409  * Added set_form
410  * Updated tests
411
4120.98      2004-03-19
413  * Multiple fixes in Fill module
414  * Updates on perldocs (thanks to Simon Bellwood for bug reports)
415  * Addition of Dump (debug) module
416  * Addition of Die module
417  * Addition of App module
418
4190.97      2004-03-05
420  * Allow for custom_js type
421  * Fix unshift, shift, and push in ie 5.0
422  * Fix type CC in validate.js
423  * Allow for duplicate field definitions
424
4250.96      2003-11-26
426	* Fix for pos not resetting in CGI::Ex::Fill
427  * Fix for general items set in self not being passed to generate_js
428  * Workaround for yaml_load.js |- not properly trimming whitespace
429
4300.94      2003-11-26
431  * Javascript functionality is in.
432
4330.0       2003-11-01
434  * Version 0.0 checked in
435