-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCHANGES
466 lines (255 loc) · 12 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
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
Prime MVC Changes
Changes in 1.28.0
* Support fully qualified enum names when building options in a select control
Changes in 1.27.0
* Enhance the RequestResult to create the JSON spec files automatically if they do not exist
Changes in 1.26.0
Changes in 1.25.0
* Revert conjoined handling.
* Better Cache-Control support
Changes in 1.24.2
* Fix a bug with conjoined request parameters when using a URL segment that will become a request parameter. Add testing support.
Changes in 1.24.1
* Fix a bug with conjoined request parameters when using a URL segment that will become a request parameter.
Changes in 1.24.0
* Support conjoined request parameters
Changes in 1.23.9
* Encrypt flash message cookie.
* Add RequestBuilder.build helper
Changes in 1.23.8
* Fix for locale handling.
https://github.com/prime-framework/prime-mvc/issues/4
Changes in 1.23.7
* Be more defensive when checking for a JWT using the Bearer scheme when the JWT has been omitted to avoid an exception.
Changes in 1.23.6
* Delete save request cookie if we cannot decrypt them. This may occur in development when the encryption key is changing often.
Changes in 1.23.5
* Remove added /index during a redirect handling double slash.
Changes in 1.23.4
* Handle double slashes by performing redirects similar to index handling.
Changes in 1.23.3
* Better support for setting collections using the expression evaluator.
Changes in 1.23.2
* Add an overloaded method to take a runnable for DOMHelper.custom.
Changes in 1.23.1
* Fix DOMHelper.setChecked for radio buttons. JSOUP does not handle this automatically.
Changes in 1.23.0
* Allow for a new attributed named 'labelValue' on form controls to provide a translated value directly.
Changes in 1.22.8
* Update deps, remove use of Apache Commons Lang
Changes in 1.22.7
* Update deps
Changes in 1.22.6
* Cookie fixes.
Changes in 1.22.5
* Bug fixes.
Changes in 1.22.4
* Fix form submit handling to properly ignore form elements without a name attribute in the RequestResult simulator.
Changes in 1.22.3
* Fix form submit handling to properly ignore form elements without a name attribute in the RequestResult simulator.
Changes in 1.22.2
* Fix form submit handling in the RequestResult simulator.
Changes in 1.22.1
* Fix form submit handling to pick up selected values in RequestResult simulator.
Changes in 1.22.0
* Remove requirement for HTTP session when using saved request cookie
* Do not re-use AES IV when encrypting cookies
* Add Cookie Flash Scope
* Add Cookie Flash Message Scope
Changes in 1.21.3
* Publish the source jar for simulator.
Changes in 1.21.2
* Publish a new simulator jar
Changes in 1.21.1
* Add some additional debug output.
* Remove some un-necessary injections during tests and form render.
Changes in 1.21.0
* Support default messages. For example, a message key such as [blank]foo.bar=Required can be replaced with [blank]=Required.
This allows for common UI message keys to be collapsed to a single value when specific messages are not required.
* Add support for a catch all Map<String, String[]> for unknown parameters using @UnknownParameters.
* Better support in the expression evaluator for setting request parameters into generic map.
Example: user.data.foo[0] = 'bar' will be set the string value of 'bar' into an object of
Map<String, Object> user as the first element in an array named 'foo'.
Changes in 1.20.3
* Set save request cookie as HTTP Only and use the Secure flag if on https.
Changes in 1.20.2
* Add optional ifTrue and ifFalse to the QueryStringBuilder.
Changes in 1.20.1
* Add assertBodyContains for escaped strings
Changes in 1.20.0
* Update ASM and Guice, and support X-HTTP-Method-Override and X-Method-Override.
Changes in 1.19.3
* Fix a bug in RequestResult so that we do not change the default ObjectMapper instance.
Changes in 1.19.2
* Fix handling of inline collection when HTML escaping is enabled, changes made to AbstractListInput.makeOption
Changes in 1.19.1
* Better handling of % encoded values in a URL path segment.
Changes in 1.19.0
* Enable auto HTML escaping by default, this can be disabled by setting autoHTMLEscapingEnabled in the MVC Configuration.
Note that if you disable this feature you will need to account for the default prime control templates to ensure
they are properly escaping HTML characters.
* By default in RequestResult.assertContainsFieldErrors all field errors will have to be accounted for.
* Add RequestResult.assertContainsAtLeastTheseFieldErrors which provides the legacy behavior
* Better handle /foo/ URL when the endpoint is /foo with an URL parameter, ignore the trailing slash and do not pick up
empty string in the URL parameter handler.
Changes in 1.18.4
* Try to support a relative URI during an executeRedirect in RequestResult
Changes in 1.18.3
* Support Bearer scheme in addition to JWT. This was previously supported by binding your own JWTRequestAdapter. Now the default
adapter will look for Bearer and then JWT.
Changes in 1.18.2
* Add ServletTools.getOriginHeader so that we can generically account for a "null" Origin header
* Add some tests for PATCH
* Add .setDefaultMergeable(true) in the ObjectMapperProvider configuration
Changes in 1.18.1
* Set the default FreeMarker class resolver to TemplateClassResolver.ALLOWS_NOTHING_RESOLVER
Changes in 1.18.0
* Add ScopeTools
Changes in 1.17.2
* Add RequestResult.executeFormPostInResponseBody
Changes in 1.17.1
* Fail early when value for X-Forwarded-Proto is not http or https
Changes in 1.17.0
* Support for PATCH
Changes in 1.16.3
* Fixed the QueryStringBuilder to handle a null parameter w/out adding a ?
Changes in 1.16.2
* Set the path on the locale cookie set in the DefaultLocaleProvider
* Update ReflectionUtils to support setting values into a final collection
* Fixes for LocaleSelect
Changes in 1.16.1
* Enhance HTMLAsserter
Changes in 1.16.0
* Better support for localization
Changes in 1.15.2
* Add HTMLAsserter
Changes in 1.15.1
* Remove WARN log statement when an optional key is not found in the message bundle.
* Fix '#' handling in a URL for assertRedirect and QueryStringBuilder when the '#' is followed by a / as you
may find in a single page webapp URL.
Changes in 1.15.0
* Support a final object when using @JSONRequest and @JSONResponse and merge request into non null object
Changes in 1.14.1
* Ignore Warning and Information messages in the message store for a JSON result
Changes in 1.14.0
* Allow the Content-Type header to be set when using the @Binary result
* Cleanup the XML and Stream result handlers to use common code for writing to the output stream
* Enhance the [couldNotConvert] exception handling to use a generic message for indexed or keyed collections
Changes in 1.13.3
* Fixes in building query strings
* Add RequestResult.assertHeaderDoesNotContain
* assertHeaderContains should be case insensitive
* Enhance StreamResult to support UTF-8 encoding in the fileName parameter of the Content-Disposition header
Changes in 1.13.2
* Additional cookie assertions
Changes in 1.13.1
* Add better assertion error message for assertRedirect so IJ does a nice diff
Changes in 1.13.0
* Add CSRF handling
* Enhance the request simulator to accept an injector
Changes in 1.12.2
* Move QueryStringBuilder out of tests into a top level object, white a bunch of tests
Changes in 1.12.1
* Add support for URL fragments in the query builder used in assertRedirect
Changes in 1.12.0
* Fix Not Implemented vs. Not Allowed. 501 and 405 handling.
Changes in 1.11.3
* Upgrade fusionauth-jwt version 3.0
Changes in 1.11.2
* Upgrade Jackson per security notices
Changes in 1.11.1
* Add RequestBuilder.withBasicAuthorizationHeader
Changes in 1.11.0
* Better invalid JSON handling. This will assist in providing better error messages when invalid JSON cannot be parsed by Jackson.
Changes in 1.10.0
* Better support for complex generics in expression evaluator / map accessor.
Changes in 1.9.5
* Add a ThrowingConsumer to RequestResult.assertCookie
Changes in 1.9.4
* Add a ThrowingConsumer to RequestResult.ifTrue
Changes in 1.9.3
* Support the TestNG assert language to allow ItelliJ to show the diff for RequestResult.assertBody and RequestResult.assertNormalizedBody
Changes in 1.9.2
* Better support for an empty JSON result in RequestResult.assertJSONEquals
Changes in 1.9.1
* Better assertion support in RequestResult for JSON objects. We now do a much better job of sorting the objects to ensure a clean equality check.
* Support for multiple data formats in the ZonedDateTimeConverter
Changes in 1.9.0
* Add prettyPrint to the @JSONResponse annotation
* Remove ability to send a string that is a comma separated list and have it marshalled into a collection during the ParameterWorkflow.
This was causing ambiguity when an array of string values was sent in and one or more of the values contained a comma.
* Update Jackson to 2.9.6
Changes in 1.8.6
* Update asm dependency from 5.0.3 to 6.1.1 in preparation for Java 10 / 11 support
* Update guice dependency from 4.0.0 to 4.2.0 in preparation for Java 10 / 11 support
* Update freemarker dependency from 2.3.26+incubating to 2.3.28
Changes in 1.8.5
* Added RequestResult.assertDoesContainsCookie
* Added RequestResult.assertNormalizedBody
* Added RequestResult.assertNormalizedBodyFile
* Limit the size of the save request cookie to 6 KB. The default maximum header size in Tomcat is 8 KB and once this limit is exceeded
an exception will be thrown. If the limit is exceeded the cookie will no longer be written.
Changes in 1.8.4
* Skip file handling during the ParameterWorkflow when processing an embedded form.
Changes in 1.8.3
* Make required parameters optional during the ParameterWorkflow when processing an embedded form.
Changes in 1.8.2
* Update prime-mock dependency to version 0.6.3
* Better handling of @FormPrepareMethods when called due to an embedded form on another page. Now the ParameterWorkflow and PostParameterWorkflow
will be called on the action prior to calling methods annoted with @FormPrepareMethod when a form is embedded on a another page.
Changes in 1.8.1
* Update prime-jwt dependency to version 1.3.1
Changes in 1.8.0
Changes in 1.7.4
Changes in 1.7.3
Changes in 1.7.2
Changes in 1.7.1
Changes in 1.7.0
Changes in 1.6.2
Changes in 1.6.1
Changes in 1.6.0
Changes in 1.5.6
Changes in 1.5.5
Changes in 1.5.4
Changes in 1.5.3
Changes in 1.5.2
Changes in 1.5.1
Changes in 1.5.0
Changes in 1.4.7
Changes in 1.4.6
Changes in 1.4.5
Changes in 1.4.4
Changes in 1.4.3
Changes in 1.4.2
Changes in 1.4.1
Changes in 1.4.0
Changes in 1.3.5
Changes in 1.3.4
Changes in 1.3.3
Changes in 1.3.2
Changes in 1.3.1
* RequestBuilder and RequestResult, better handling of binary file types for request body.
Changes in 1.3.0
* Request Simulator. Add a conversion helper from ZonedDateTime to milliseconds for use in RequestResult.assertJSONFileWithActual and RequestResult.assertJSONFile
* JWT. Account for @AnonymousMethods when enforcing JWT Authorize method coverage during Action mapping.
* JWT. Allow a JWT on the request when JWT has not been enabled for an Action.
Changes in 1.2.1
* Update prime-jwt dependency to version 0.2.0
Changes in 1.2.0
* Internal, use BeansWrapperBuilder for better FreeMarker handling.
Changes in 1.1.6
* Rename to JWTExtractor interface to JWTRequestAdapter.
Changes in 1.1.5
* Fixes. Less strict enforcement of JWT Authorization methods.
Changes in 1.1.4
* Request Simulator. Add RequestResult.assertJSONFileWithActual. Support test assertions using actual values from the JSON response.
Changes in 1.1.3
* Request Simulator. Add additional test assertions in RequestResult.
Changes in 1.1.2
* Request Simulator. Add better assertions on Cookies in RequestResult.
Changes in 1.1.1
* Fixes. JWT Security Scheme fixes.
* Enhancement. Better support for handling 501 Not Implemented.
Changes in 1.1.0
* Feature. JWT Support. Added JWT Security Scheme.
* Build. Upgrade Jackson dependencies from 2.4.2 to 2.8.1