-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChanges
333 lines (269 loc) · 15.5 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
Revision history for YATT::Lite
0.121 2024-12-10
* GH-223 - Fix another `yatt*` scripts failure
* GH-222 - Set app_root to $FindBin::Bin by default
0.120 2024-11-29
* GH-220 - Fix `yatt*` scripts to be installed correctly under bin/
* GH-219 - Remove use of smartmatch, given... for perl5.40
0.110 2024-08-16
* GH-216, GH-217 - More LRXML parser fix (for Language Server)
0.101_103 2023-12-05
* GH-214 - Drop use of deprecated `given` syntax
* GH-211 - Allow `*.ydo` to reurn PSGI tuple directly
* GH-209 - Fix incorrect error of dynamic module loading while rendering
* GH-207 - Fix error_response handling for per_role_docroot mode
* GH-206 - Fix is_index mis-detection
* GH-205 - `&yatt:script_uri;` now cares HTTP_X_FORWARDED_PROTO
* GH-204 - (Emacs) fix yatt-mode background face
* GH-203 - Allow loading multiple app.psgi in a process
* Drop perl 5.10
0.101_102 2020-10-17
* GH-202 - fixed some test failures
0.101_100 2020-10-15
* Security fixes
- GH-197 - fix relative path traversal in path_info mode (which is not normally used until recently)
* (Possibly breaking) API changes
- GH-191 - EXPERIMENTAL SYNTAX CHANGE. `:` is no longer key-pair separator in hash literals
- GH-173 - Change default encoding to utf-8
- GH-171 - subpath '/' should be silently ignored (if no match rule is defined)
- GH-166 - `ydo` filename extensions should be omissible as like `yatt` is.
- GH-158 - Change Session2 to State::Cookie only for better cookie support
- GH-150 - Treat request sigils in query_string of POST as default choice
- GH-139 - Entpath `:value:name` should be interpreted as `$value->name` rather than `$value->{name}`, at least by default
- GH-121 - Change default app_ns from MyApp to MyYATT
- GH-95 - Introduce new session API (Session2)
- GH-45 - YATT::Lite::Factory->render() now returns decoded string
- GH-19 - Change YATT::Lite::Util::find_value_in() - Simplify HASH case behavior
- GH-1 - Automatic reloading of *.ytmpl, .htyattrc.pl is now enabled by default
* New/changed YATT site-wide features/options
- GH-155 - New option: use_sibling_config_dir to put config files outside of app_root
- GH-126 - app.site_config.yml support
- GH-114 - Session::ExpiryFriendly support
- GH-109 - Alternative store for dir_config()
- GH-103, GH-18 - Filter out and/or gather (unknown) request parameters to `$env->{yatt.unknown_params}`
- GH-97 - Accept `config/$ENV{PLACK_ENV}.pl` as an alternative config script
* New/changed YATT Declarations
- GH-185 - Allow AppPath like `@ytmpl/foo.yatt` in `<!yatt:base>`
- GH-192 - var="delegate" should be allowed too.
- GH-179 - Allow yatt:action to be default handler in .yatt files
- GH-167 - Error diags for 'Too many arguments'
- GH-128, GH-14 - Fix broken auto mapping of yatt:action parameters
- GH-125 - `!yatt:entity` in yatt templates
- GH-120 - html type argument now behaves as "html?" by default
* New/changed YATT Widgets
- GH-195 - yatt:foreach line number problem
- GH-193 - better syntax error reporting for garbage before CLO
- GH-170 - yatt:if now detects more syntax errors
- GH-153 - better error reporting for foreach list=xxx typo
- GH-145 - newline after `<yatt:foreach>` should be omitted from template outputs
- GH-107 - change YATT::Lite::Util::escape() to use indentation.
- GH-105 - Add destructuring bind and split operator
- GH-104 - New tag(macro): <yatt:return if="cond">...</yatt:return>
- GH-101 - Each arm of yatt:if should create separate scope for yatt:my
* New/changed YATT Entities
- GH-174 - &yatt:localtime(); raises error
- GH-190 - :query_string({merge,...}) should not currupt original query parameters
- GH-186 - Add merge option for `:query_string()`
- GH-189 - Add :session_middleware and :session_csrf_token
- GH-175 - Add :with_ignoring_die() entmacro, with suppress __DIE__ and __WARN__ handlers
- GH-163 - Add :scalar() entmacro
- GH-162 - Fix :file_location() to include dirapp name.
- GH-152 - Change :mkhidden() to return all params by default.
- GH-156 - :psgix_session() should call session_start()
- GH-147 - :abspath(); and :absrequest();
- GH-142 - New entity macro - :not(), :and(), :or(), :undef(expr)
- GH-141 - :show_expr(..expr..) entmacro.
- GH-140 - :__WIDGET__ entmacro.
- GH-137 - :query_string(of,:hash_or_request,ignore,:name_list_or_hash,separator,:str)
- GH-108 :redirect() should set http status to 400 (Bad Request) for unexpected external URI
- GH-100 - :raise_dump(any_object,...) for debugging aid.
- GH-92 - :script_name() - reliable entity for path abstraction.
- GH-78 - Allow :name (without ()) as entmacro when option entity_prefer_call_over_hashref GH-139 is on.
* New/changed CLI
- GH-194 - expose %ENV from yatt.render (but how about query_string?)
- GH-160 - Add request sigil support for yatt render CLI.
- GH-168 - yatt.lint dies when it gets `$cgen->generror($msg)`
- GH-134 - yatt info list_widgets
- GH-115 - WIP: `yatt call` to emulate PSGI offline.
* Emacs/IDE support
- GH-188 - Add eglot support and use it as default.
- GH-180 - Explicitly disable perl-minlint-mode for `*ydo` files
- GH-161 (wip) - LSP(Language Server Protocol) support
- GH-146 - yatt:action section is not handled as perl-mode with recent sgml-mode + mmm-mode
- GH-143 - fix yatt-lint-any-mode to support tramp-version >= 2.3.2
- GH-136 - tolerate yatt-mode-file-coding to nil by default.
- GH-102 - fix yatt-mode yatt:action detection bug
* Miscellaneous helper functions/methods.
- GH-200 - Add YATT::Lite::Util::permissive_require($modName)
- GH-196 - Add `$factory->invoke_sub_in($loc, $args, $sub)`
- GH-177 - Add `$site->get_entity_symbol($entns, $entity_name)`
- GH-159 - `$YATT->render()` - add support for deep:widget:path
- GH-138 - Port Rack::Utils.build_nested_query for serialization
- GH-131 Add `YATT::Lite::Util::dumpout()` with default export.
- GH-106 - Change YATT::Lite::XHF->read_file_xhf to use `read_all` instead of `read` by default
- GH-82 - Introduce Connection->raise_response($psgi)
* Internal Enhancement
- GH-182 - Add support for HTTP_X_FORWARDED_PROTO to `$CON->mkurl`
- GH-164 - alternative representation for internal node tree
- GH-122 - Now $vfs->find_file($fn) accepts "index.html.yatt" like multiple extension (to cooperate well with Mojolicious, Dancer2)
- GH-119 - New option body_argument, body_argument_type to customize `body` argument (to cooperate with Mojolicious and Dancer2).
- GH-117 - (wip) Overhaul `action` handling
- GH-111 - Merge debug_allowed_ip and allow_debug_from
- GH-110 - Add support for REDIRECT_STATUS
- GH-98 - Make terse_dump HASH output stable with Sortkeys.
- GH-96 - `use ... -as_base` should set c3 mro.
- GH-26 - Make "use ... -as_base" behavior consistent
* Other Bug fixes
- GH-201 - prepare for error during flush_headers
- GH-199 - DBSchema::DBIC - Add is_auto_increment if -autoincrement is specified.
- GH-198 - "package cl is deprecated" in emacs27.
- GH-184 - show better error diag when POST parameters and QUERY_STRING conflicts
- GH-181 - Remove forgotten DB::single
- GH-172 - Unreadable error diag "ARRAY(0x5609f9891f70)BEGIN failed--compilation aborted"
- GH-169 - fix xhf dump for empty arrays/hashes orz...
- GH-165 - Add dump_strict_xhf() (xhf dump should not trim trailing newlines)
- GH-157 - Replace CGI::Cookie with Cookie::Baker
- GH-151 - mount_static was broken after GH-124
- GH-148 - ErrorReporter should care error string with malformed utf8
- GH-144 - fix libdir.pl to care symlinked lib/YATT
- GH-135 - session3 cookie
- GH-133 - fix broken tests
- GH-132 - yattup now works again.
- GH-130 - YATT::Lite->render() should not emit header.
- GH-129 - YATT::Lite->render() should behave consistently with YATT::Lite::Factory->render()
- GH-124 - Fix mount_psgi
- GH-118 - fix lack of `SUPER::after_new()` calls.
- GH-113 - Fix tests for CGI mode
- GH-112 - BUG: `index.html` is passed to action_handler instead of yatt_handler when ext_public = `html`
- GH-99 - Now just plackup is enough for session2 example.
0.101_001 2017-06-17
* (Possibly breaking) API changes
- [GH #84] Now yatt:args "/URL/{PATTERN}" is tested in written order.
- [GH #64] Use c3 mro for widget search by default.
* New/changed YATT Declarations
- [GH #54] <!yatt:base "file_or_directory">
- [GH #14] <!yatt:action "/URL/{PATTERN}">
* New/changed YATT Entities
- [GH #92] &yatt:script_name(); now respects Apache's Action+AddHandler
- [GH #74] &yatt:param(); is now equiv of &yatt:CON:param();.
- [GH #73] &yatt:coalesce(); now behaves like SQL's coalesce().
- [GH #70] &yatt:file_location(); and &yatt:is_current_page(page)
* Enhancement
- [GH #91] Better error reporting for XHF parser
- [GH #82] Add support for bufferedstreaming in raised response.
- [GH #80] Allow declaring types for routed args
- [GH #79] Site-wide special_entities
- [GH #71] Now delegate type can have argument list.
- [GH #69] YATT::Lite::Macro is now visible from subclasses.
- [GH #63] `Action NAME => SUB` support in `.htyattrc.pl`
* Miscellaneous helper functions.
- [GH #94] YATT::Lite::XHF->read_all()
- [GH #90] WebMVC0::Connection->delete_param
- [GH #82] Lite::Connection->raise_response($psgi_response).
- [GH #68] YATT::Lite::Factory->wrapped_by($outer_app) for Plack::Middleware.
* Bug fixes
- [GH #93] yatt:action arg detection should care DOS crlf too.
- [GH #83] Fix for bug "Safety level may not be changed inside a transaction"
- [GH #77] :CON:mkquery() now encode utf8 correctly.
- [GH #76] yatt:my code works for wide chars.
- [GH #75] Avoid use of error.ytmpl until code-generator becomes ready.
- [GH #74] Now yatt.render sets :CON:param() too.
- [GH #72] BUG: "Inconsistent hierarchy during C3 merge" occurs for complex inheritance.
- [GH #61] Adapt sprintf redundant arg warnings(5.22)
0.101 2016-05-24
* Just tagged 0.101 (from 0.100_003)
0.100_003 2015-11-05
* Bug fix for [RT #108427] [GH #62] Undeclared dependency on Test::Kantan
0.100_002 2015-10-31
* New features
- [GH #57] `yattup` - `plackup` alike command for `*.yatt` files.
- [GH #54] - !yatt:base "file_or_dir" to inherit templates.
* Enhancement (Potentially breaking)
- [GH #51] Add experimental `per_role_docroot` feature.
- [GH #56] Install psgi_fallback by default (to make `yattup` useful).
- Add new option `always_refresh_deps` to fix [GH #1] partially.
- [GH #60] Set HTTP Status for "Not found" and "Bad request" errors.
To revert old behavior, set `overwrite_status_code_for_errors_as` to 200.
- YATT::Lite::Error now exports type alias 'Error' by default.
- New method: `($yatt|$con)->error_with_status($code, $msg, @args)`
* Misc changes:
- [GH #59] yatt, yattup should resolve symlink once and only once.
- [GH #58] c3 mro support in `use YATT::Lite::Factory -as_base`.
* BUG fixes:
- [GH #61] no warnings 'redundant' for sprintf. (partially)
- [GH #55] *base* templates accidentally inherit their *user* directory bug
- [GH #53] - Allow setting dont_map_args in SiteApp.
0.100_001 2015-09-03
* Enhanement (API Change) for unicode handling:
- [GH #48] decode input params by default. Add new option `no_unicode` for backward compatibility.
- [GH #45] YATT::Lite::Factory->render now returns decoded string by default.
* Enhanement to help testing:
- [GH #47] $site->mount_action($location => $action_sub)) and $dir->set_action_handler($filename => sub ($this, $con))
- [GH #16] $site->mount_psgi($location => $psgi_app)
* Fixes
- [GH #50] [RT #106776] Test failure (caused by SQLite).
- [GH #49] use safer fatalized warnings.
- [GH #46] convert_array_param(parse_nested_query) conflicts with Plack::Request->upload.
0.100 2015-04-28
* Docs
- Better docs for YATT::Lite::LRXML::Syntax
* Enhanement
- [GH #43] - allow use of ".html" instead of ".yatt"
* Fixes
- Add Locale::PO to cpanfile
0.0.9_002 2015-04-09
* fixes
- [GH #42] [RT#103406] Test suite fails if LANG environment variable is unset (0.0.9_001)
- [GH #41] [RT #103393] - YATT::Lite::Util::define_const
- [GH #35] CGI->multi_param adaption
- [GH #40] yatt.render / yatt.genperl relative path problems
- [GH #38] - Add $CON->raw_body .. without tests(><)
- [GH #37] - Fix test failures on LC_ALL=C
- [GH #36] - to adapt recent mmm-mode
- [GH #34] - Just added $this->SITE, $this->DIR. no tests.
- [GH #32] - DirApp should inherit SiteApp
- [GH #31] - samples/sess_backed/1 :att_value_of(radio,:name,:value,{in,:dict}) bug.
- [GH #30] - to detect TAG mismatch for attribute element.
- [GH #29] - to make error messages shorter for entity path syntax errors.
0.0.9 2014-05-26
* To revert $app_root/.htdebug_env feature.
* Not to invoke yatt-lint-any-mode unless yatt-lint-any-mode
0.0_9 2014-05-14
* Mainly fix for perl 5.20 RC
* Also, YATT::Lite::Types pod and tests.
* YATT::Lite::Types now correctly handles fields inheritance.
0.0.8 2014-05-13
Major changes:
* GH#20 - New type "bool" is introduced for yatt:widget arguments.
* GH#23 - Detect cyclic inheritance error.
Also minor fixes:
* GH#7 - Wrong line number is reported for element-attribute errors.
* GH#22 - CGI related tests didn't work.
* GH#27 - RT#95388 t/lite_xhf.t fails with non-UTF-8 locale.
0.0_8 2013-08-25
* Mainly for README.md polishment
* As its side effect, YATT::Lite::Factory now supports render() method;-)
0.0.7 2013-06-20
* GH#19 PHP/RoR like hash-and-array parameters.
* GH#2 support for .htyattconfig.yml
* SiteApp psgi_fallback, for 404 not found handler.
* better backtrace in ytmpl/error.ytmpl
* escape($array_or_hash) behavior change. This is still experimental.
* yatt:foreach nth
* ylpodview more for alt_lang link.
* To pass/skip safely more tests on MSWin.
0.0.6 2013-05-18
* To make sure all tests are runnable for cpantesters (except on perl-5.17)
0.0_4 2013-05-15
* First CPAN release
0.0.3_4 2012-05-04
* Directory layout is totally changed.
Previous runyatt.lib/YATT is current top directory.
* Also, massive internal changes.
class Web::* namespace is renamed to WebMVC0::*.
Some options (eg. appns and baseclass) are changed.
0.0.3 2011-11-16
* PSGI Adaption. It is usable, but I'm not enough satisfied though.
In next release, to adapt more for psgi, massive internal change will occur.
0.0.1 2010-10-18
* Initial release.