1<document xmlns="http://maven.apache.org/changes/1.0.0" 2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/plugins/maven-changes-plugin/xsd/changes-1.0.0.xsd"> 4 <properties> 5 <title>YAML 1.1 parser and emitter</title> 6 <author email="public.somov@gmail.com">Andrey Somov</author> 7 </properties> 8 <body> 9 <release version="1.18-SNAPSHOT" date="in Mercurial" description="Maintenance"> 10 <action dev="asomov" type="update" issue="332"> 11 Add example for issue 332 (2016-02-24) 12 </action> 13 <action dev="asomov" type="update"> 14 Build SnakeYAML for different JDKs with docker without building images (2016-02-22) 15 </action> 16 <action dev="asomov" type="update"> 17 Update plugin versions (2016-02-19) 18 </action> 19 </release> 20 <release version="1.17" date="2016-02-19" description="Maintenance"> 21 <action dev="maslovalex" type="fix" issue="318" due-to="Rog Sigal"> 22 Use Thread.currentThread.getContextClassLoader in Class.forName instead of default one (2016-02-15) 23 </action> 24 <action dev="asomov" type="update" issue="329"> 25 Add parameters to POM to change distribution server (2016-02-03) 26 </action> 27 <action dev="asomov" type="update" issue="326"> 28 Relax some of the modifiers to make integration easier (2016-02-02) 29 </action> 30 <action dev="maslovalex" type="update" issue="310"> 31 Make use of private/protected constructors for Scalars and 'immutable' objects. 32 Added 'src/test/java8' for Java8 specific tests (requires -Pwith-java8-tests) (2016-01-07) 33 </action> 34 <action dev="asomov" type="update" issue="320"> 35 Better support to customise BaseConstructor. Make 'composer' field and constructDocument() 36 method protected (2015-10-03) 37 </action> 38 <action dev="asomov" type="fix" issue="306"> 39 Better UUID support (2015-09-23) 40 </action> 41 <action dev="asomov" type="add"> 42 Use Polyglot Maven: add support for YAML POM (2015-09-10) 43 </action> 44 <action dev="asomov" type="fix" issue="314"> 45 Provide ability to customize anchor names (2015-08-25) 46 </action> 47 </release> 48 <release version="1.16" date="2015-08-18" description="Maintenance"> 49 <action dev="asomov" type="fix" issue="308"> 50 Provide Docker image for testing under different Java 8 (2015-06-19) 51 </action> 52 <action dev="asomov" type="fix" issue="302"> 53 Convert binary byte[] to String when it matches the JavaBean property (2015-05-26) 54 </action> 55 <action dev="asomov" type="update"> 56 The source code migrated to Bitbucket. Old commits (older then 6 years) have 57 been removed. (2015-05-20) 58 </action> 59 <action dev="asomov" type="fix" issue="212"> 60 Fix a typo in an error message in ScannerImpl (2015-05-19) 61 </action> 62 <action dev="asomov" type="fix" issue="209"> 63 Do not print special characters in the error message (2015-04-16) 64 </action> 65 <action dev="asomov" type="fix" issue="199"> 66 Evaluate implementations for duplicate mapping keys. 67 </action> 68 </release> 69 <release version="1.15" date="2015-02-19" description="Maintenance"> 70 <action dev="asomov" type="update"> 71 Apply FindBugs and PMD recommendations (2015-02-16) 72 </action> 73 <action dev="asomov" type="update"> 74 Added split lines option to DumperOptions to allow line splitting to be disabled. (2015-02-08) 75 </action> 76 <action dev="asomov" type="update"> 77 Use Maven 3 and update plugin versions (2015-02-05) 78 </action> 79 <action dev="asomov" type="update" issue="205"> 80 Add test to clarify iOS emoji character in the surrogate range (2015-02-03) 81 </action> 82 <action dev="asomov" type="fix" issue="201"> 83 Fix grammar error in exception message (2014-11-18) 84 </action> 85 </release> 86 <release version="1.14" date="2014-08-29" description="Maintenance"> 87 <action dev="maslovalex" type="fix" issue="197"> 88 Load JavaBean with fields using custom constructors (2014-08-18) 89 </action> 90 <action dev="asomov" type="fix" issue="192"> 91 Drop support for "Value Key Language-Independent Type" and '=' a standard character (2014-05-22) 92 </action> 93 <action dev="maslovalex" type="fix" issue="191"> 94 Improve error message for invalid YAML document (2014-05-21) 95 </action> 96 <action dev="asomov" type="fix" issue="188"> 97 Improve error message for invalid YAML document (2014-03-26) 98 </action> 99 <action dev="asomov" type="fix" issue="183"> 100 Support Number class (2013-11-07) 101 </action> 102 <action dev="asomov" type="fix" issue="182"> 103 Double.POSITIVE_INFINITY applied to float fields (2013-11-07) 104 </action> 105 </release> 106 <release version="1.13" date="2013-08-29" description="Maintenance"> 107 <action dev="asomov" type="fix" issue="178"> 108 OSGi: Specify version for exported packages (2013-06-27) 109 </action> 110 <action dev="asomov" type="fix" issue="177"> 111 Improve error report while parsing a JavaBean (2013-05-14) 112 </action> 113 <action dev="Jordan" type="fix" issue="135"> 114 Arrays of primitives are now fully supported (2013-04-16) 115 </action> 116 <action dev="asomov" type="fix" issue="174"> 117 Duplicate anchors in an input document should not be an error (2013-04-03) 118 </action> 119 <action dev="asomov" type="fix" issue="172"> 120 Using a locale with minimum number fraction digits breaks anchor generation (2013-03-30) 121 </action> 122 <action dev="asomov" type="fix" issue="171"> 123 Use more generic generics in BaseRepresenter (2013-03-30) 124 </action> 125 </release> 126 <release version="1.12" date="2013-03-02" description="Maintenance"> 127 <action dev="asomov" type="update"> 128 The build is using JDK 1.6 (2013-03-02) 129 </action> 130 <action dev="asomov" type="fix" issue="169"> 131 Make Constructor.typeDefinitions protected to be more flexible (2013-02-18) 132 </action> 133 <action dev="asomov" type="remove"> 134 Remove file AUTHORS because it does not reflect the actual situation (2012-11-09) 135 </action> 136 <action dev="asomov" type="update"> 137 Improve the error message when a TAB character starts a token (2012-11-06) 138 </action> 139 </release> 140 <release version="1.11" date="2012-09-29" description="Maintenance"> 141 <action dev="asomov" type="fix" issue="158"> 142 Fix issue 158: improve support for 32-bit characters (UTF-16 surrogate pairs) (2012-09-29) 143 </action> 144 <action dev="asomov" type="fix" issue="146"> 145 Fix issue 146: empty tags should not force explicit document start (2012-09-29) 146 </action> 147 <action dev="asomov" type="fix" issue="156"> 148 Fix issue 156: setSkipMissingProperties fails for non-scalar values (2012-09-05) 149 </action> 150 <action dev="asomov" type="fix" issue="155"> 151 Fix issue 155: SnakeYAML must always eat its own food - a YAML document created by itself must 152 be read without exceptions (2012-09-04) 153 </action> 154 <action dev="asomov" type="update" issue="154"> 155 Fix issue 154: Add option to skip missing properties when deserializing YAML into Java object (2012-07-25) 156 </action> 157 <action dev="asomov" type="update"> 158 Add a test for issue 150 (2012-06-17) 159 </action> 160 <action dev="asomov" type="update"> 161 Add a test for issue 151 (2012-06-14) 162 </action> 163 <action dev="asomov" type="fix"> 164 Fix issue 149: Directives are no longer lost between documents (2012-06-10) 165 </action> 166 <action dev="asomov" type="update"> 167 Refactor: use Version enum instead of Array of Integers. 168 This is done to simplify fixing issue 149 (2012-06-09) 169 </action> 170 <action dev="asomov" type="fix"> 171 Add tests for issue 148 (2012-06-07) 172 </action> 173 <action dev="asomov" type="fix"> 174 Fix issue 147: Serialized representation of character U+FFFD causes exception on deserialization (2012-06-05) 175 </action> 176 <action dev="asomov" type="fix"> 177 Fix issue 145: exception.getMessage() must show the line number as exception.toString() does (2012-04-03) 178 </action> 179 <action dev="maslovalex" type="fix"> 180 Fix issue 144: improve type inference for Compact Object Notation (2012-03-16) 181 </action> 182 <action dev="maslovalex" type="add"> 183 Improve Android support 184 </action> 185 </release> 186 <release version="1.10" date="2012-02-08" description="Maintenance"> 187 <action dev="asomov" type="update"> 188 Fix issue 141: TimeZone is configurable in DumperOptions (2012-02-03) 189 </action> 190 <action dev="asomov" type="update"> 191 Refactor with PMD: minor non-functional improvements (2012-01-28) 192 </action> 193 <action dev="asomov" type="update"> 194 Refactor with PMD: Avoid unused method parameter 'index' in 195 Serializer and Emitter (2012-01-28) 196 </action> 197 <action dev="asomov" type="update"> 198 Refactor with PMD: Composer - Avoid unused method parameter 'index' in 199 'Composer.composeNode(Node parent, Object index)''. It was used 200 in PyYAML for kind of XPath for YAML, but it was not imported from PyYAML (2012-01-28) 201 </action> 202 <action dev="asomov" type="update"> 203 Refactor Emitter: the SPACE mutable static field could be changed by malicious code or by accident. 204 Boxed value is unboxed and then immediately reboxed (2012-01-28) 205 </action> 206 <action dev="asomov" type="remove"> 207 Refactor with FindBugs: remove unused ScalarAnalysis.allowDoubleQuoted (2012-01-28) 208 </action> 209 <action dev="asomov" type="update"> 210 Refactor with FindBugs: do not rely on default encoding (2012-01-28) 211 </action> 212 <action dev="asomov" type="update"> 213 Refactor: apply FindBugs recommendations (2012-01-28) 214 </action> 215 <action dev="maslovalex" type="fix"> 216 Fix issue 139: merge should use last key in map (2012-01-24) 217 </action> 218 <action dev="asomov" type="fix"> 219 Fix issue 136: tabs are allowed in plain scalars. This is a deviation from PyYAML (2012-01-11) 220 </action> 221 <action dev="asomov" type="add" issue="138"> 222 Expose internal data of ReaderException (2012-01-06) 223 </action> 224 <action dev="asomov" type="fix" issue="137"> 225 Respect supplementary characters (2012-01-06) 226 </action> 227 <action dev="asomov" type="add"> 228 Use http://mercurial.selenic.com/wiki/EolExtension to force LF as line separator 229 for all operating systems (2011-12-20) 230 </action> 231 <action dev="asomov" type="add"> 232 Add a test for issue 136 (2011-12-14) 233 </action> 234 <action dev="asomov" type="remove"> 235 Deprecate the DumperOptions.calculateScalarStyle() method because it was introduced as a quick 236 fix for issue 29. Now it should not be required at all (because of the fix for issue 66), 237 or it should be implemented in the Representer (in RepresentString) (2011-10-10) 238 </action> 239 <action dev="asomov" type="fix"> 240 Fix issue 66: literal scalar style is used by default for multiline scalars (2011-10-10) 241 </action> 242 <action dev="asomov" type="add"> 243 An example added: how to dump multiline literal scalars (2011-10-04) 244 </action> 245 <action dev="asomov" type="add"> 246 An example added: how to dump recursive object for issue 133 (2011-09-14) 247 </action> 248 <action dev="asomov" type="add"> 249 A test added for issue 132 (2011-09-13) 250 </action> 251 <action dev="asomov" type="update"> 252 Finish 1.9 release (2011-08-15) 253 </action> 254 </release> 255 <release version="1.9" date="2011-08-15" description="Introduce Yaml.loadAs() and Yaml.dumpAs() methods"> 256 <action dev="asomov" type="update"> 257 Add a test to prove that SnakeYAML is not affected by the problem reported for libyaml 258 at http://pyyaml.org/ticket/196 (2011-07-28) 259 </action> 260 <action dev="asomov" type="fix" issue="128"> 261 Since timestamp contains ':' characters it is dumped with single quoted scalar style 262 in the flow context. The single quoted scalar style causes to dump the explicit tag. 263 In the block context the plain scalar can be used and the tag is not required. It may cause 264 unpredictable behaviour if the tag is required. See the comments in JodaTimeExampleTest (2011-07-25) 265 </action> 266 <action dev="asomov" type="fix" issue="130"> 267 Fix scientific notation inconsistency in the YAML 1.1 specification: 268 scalar '8e-06' should be parsed as a Double (2011-07-24) 269 </action> 270 <action dev="asomov" type="remove" issue="127"> 271 Do not allow to override BaseRepresenter.representData(Object data) because 272 users should instead implement Represent interface (2011-07-21) 273 </action> 274 <action dev="asomov" type="remove" issue="124"> 275 Deprecate DumperOptions.explicitRoot (2011-07-20) 276 </action> 277 <action dev="asomov" type="add" issue="124"> 278 Add Yaml.dumpAs(Object, Tag.MAP, FlowStyle) and Yaml.dumpAsMap(Object) methods. JavaBeanDumper is marked as deprecated (2011-07-16) 279 </action> 280 <action dev="asomov" type="add" issue="127"> 281 Add example to show how to dump a custom class (2011-07-12) 282 </action> 283 <action dev="asomov" type="add" issue="129"> 284 Add Yaml.serialize(Node) low level method to the public API (2011-07-14) 285 </action> 286 <action dev="asomov" type="add" issue="129"> 287 Add Yaml.represent(Object) low level method to the public API (2011-07-14) 288 </action> 289 <action dev="asomov" type="add" issue="125"> 290 Add support for Maven 3 via 'm3' profile (2011-07-10) 291 </action> 292 <action dev="asomov" type="remove" issue="124"> 293 Remove deprecated JavaBeanParser (2011-07-05) 294 </action> 295 <action dev="asomov" type="remove" issue="124"> 296 Remove redundant JavaBeanDumper.classTags set (2011-07-03) 297 </action> 298 <action dev="asomov" type="add" issue="124"> 299 Add Yaml.loadAs() methods. JavaBeanLoader is marked as deprecated (2011-07-03) 300 </action> 301 <action dev="asomov" type="remove" issue="124"> 302 Remove TypeDescription.root property to prepare issue 124. This is a minor backwards incompatible change. 303 Now instead of setting as root, the TypeDescription must be passed to the Contructor's constructor 304 to be taken as the root definition (2011-07-03) 305 </action> 306 <action dev="asomov" type="fix" issue="121" due-to="Jaromir"> 307 Fix: close files in tests to avoid a possible file handle limit (2011-06-09) 308 </action> 309 <action dev="asomov" type="fix" issue="116" due-to="Jim Peterson"> 310 Fix: Improved support for empty JavaBeans (2011-06-09) 311 </action> 312 <action dev="asomov" type="fix" issue="112" due-to="Lethargish"> 313 Fix: Improved support for parameterised types in collections (2011-05-25) 314 </action> 315 <action dev="asomov" type="fix" issue="115" due-to="elkniwt"> 316 Fix: parameterised JavaBeans fail to load and dump because they are treated as Maps (2011-05-16) 317 </action> 318 <action dev="asomov" type="fix" issue="114" due-to="gileadis"> 319 Fix: Do not remove root tags of JavaBeans when it is not explicitly requested (2011-04-20) 320 </action> 321 <action dev="asomov" type="fix" issue="111" due-to="JordanAngold"> 322 Fix: Long escaped tag URI sequences throw BufferOverflowException (2011-03-03) 323 </action> 324 <action dev="asomov" type="fix" issue="110" due-to="dmitry.s.mamonov"> 325 Fix: introduce a package for external libraries and move there the 64Coder 326 and the Google's URL encoder (2011-02-24) 327 </action> 328 <action dev="asomov" type="fix" issue="109" due-to="cjalmeida"> 329 Fix: ancient years must be dumped with leading zeros (2011-02-19) 330 </action> 331 <action dev="asomov" type="remove" due-to="JordanAngold"> 332 Remove unused code in Constructor: Modifier.isAbstract() is not needed any more (2011-02-18) 333 </action> 334 <action dev="JordanAngold" type="fix" issue="108"> 335 Enum's name property shall be dumped instead of the 'toString()' output (2011-02-16) 336 </action> 337 </release> 338 <release version="1.8" date="2011-02-15" description="Performance improvement"> 339 <action dev="asomov" type="add"> 340 Add example to howto Wiki: 341 How_to_substitute_object_in_YAML_document_with_a_custom_object (2011-01-27) 342 </action> 343 <action dev="asomov" type="update"> 344 When the YAML document to be loaded is provided as String parse it directly 345 without making a Reader first (2011-01-23) 346 </action> 347 <action dev="asomov" type="fix" issue="106"> 348 Immutable data structures in StreamReader allow to share the same buffer for all 349 the Mark instances. It makes 'withMarkContext' setting redundant (2011-01-19) 350 </action> 351 <action dev="maslovalex" type="update" issue="100"> 352 Merge JavaBean properties when an explicit tag is provided (2011-01-11) 353 </action> 354 <action dev="asomov" type="update" issue="99"> 355 Add an example for escaping line breaks in binary content (2011-01-03) 356 </action> 357 <action dev="asomov" type="update" issue="97"> 358 Propose a solution for JavaBeans to support SortedSet property when it is encoded 359 as a sequence (2010-11-24) 360 </action> 361 <action dev="asomov" type="update" issue="59"> 362 Simplify the way how the order of JavaBean properties is specified. Introduce 363 PropertyUtils.createPropertySet() method to be overridden when a specific order 364 is expected (2010-11-23) 365 </action> 366 <action dev="maslovalex" type="fix" issue="95"> 367 Fix: Loading of generic collections with Array parameter(s). (2010-11-16) 368 </action> 369 <action dev="asomov" type="update" issue="94"> 370 Add ChangeRuntimeClassTest as an example how to change a class for a global tag (2010-11-05) 371 </action> 372 <action dev="asomov" type="update"> 373 Inner objects in Constructor become protected to be more flexible when Constructor 374 is expended (2010-10-03) 375 </action> 376 <action dev="asomov" type="update" issue="91"> 377 Apply www.snakeyaml.org domain name (2010-09-20) 378 </action> 379 <action dev="asomov" type="fix" issue="90"> 380 Move Base64Coder into another package to keep a separate copyright statement. 381 Base64Coder is left unchanged (2010-09-19) 382 </action> 383 <action dev="asomov" type="fix" issue="69"> 384 Iterable should not be serialised as sequence (2010-09-16) 385 </action> 386 <action dev="asomov" type="update"> 387 Introduce 'fast' Maven profile to quickly build cobertura reports (2010-09-16) 388 </action> 389 <action dev="asomov" type="update" issue="89"> 390 Fix: Specify plugin versions in POM (2010-09-15) 391 </action> 392 <action dev="maslovalex" type="fix" issue="88"> 393 Fix: Custom tag erased when referenced from generic collection (2010-09-15) 394 </action> 395 <action dev="asomov" type="update"> 396 Minor refactoring in Emitter to improve performance: save calls to Constant.has() (2010-09-13) 397 </action> 398 <action dev="maslovalex" type="update"> 399 Minor refactorings in Emitter to improve performance: create less Strings [r9185e0b3] (2010-09-10) 400 </action> 401 <action dev="asomov" type="update" issue="79"> 402 Introduce LoaderOptions to be able to specify configuration while loading (2010-09-03) 403 </action> 404 <action dev="asomov" type="fix" issue="81"> 405 Representer.representJavaBeanProperty() is given the wrong tag. Instead of the property tag, 406 the tag for the JavaBean itself is provided. (2010-09-01) 407 </action> 408 <action dev="asomov" type="update"> 409 Rename JvmDetector into GenericsBugDetector (2010-08-31) 410 </action> 411 <action dev="asomov" type="fix" issue="80" due-to="SebastienRainville"> 412 Fix: Timestamp is not parsed properly when milliseconds start with 0 (2010-08-24) 413 </action> 414 <action dev="maslovalex" type="update" issue="79"> 415 Context for error reporting consumes a lot of resources (2010-08-21) 416 </action> 417 <action dev="asomov" type="remove"> 418 Cleanup unused code in deprecated Loader and Dumper (2010-08-13) 419 </action> 420 </release> 421 <release version="1.7" date="2010-08-12" description="Simplify public API (drop Loader and Dumper)"> 422 <action dev="asomov" type="update"> 423 Eclipse does not run JUnit 4 tests when they are launched for the whole project (2010-08-11) 424 </action> 425 <action dev="maslovalex" type="update" issue="55"> 426 Share PropertyUtils if not explicitly set in Constructor or Representer 427 (BeanAccess.FIELD works properly when JavaBean is identified by a root tag) (2010-08-11) 428 </action> 429 <action dev="asomov" type="update"> 430 Create 1.7 Release Candidate 1 (2010-08-11) 431 </action> 432 <action dev="asomov" type="update" issue="77"> 433 Simplify public API: Drop Dumper (2010-08-06) 434 </action> 435 <action dev="asomov" type="update" issue="77"> 436 Simplify public API: Drop Loader (2010-08-05) 437 </action> 438 <action dev="asomov" type="update" issue="75" due-to="jon.p.hermes"> 439 Add examples to create scalars that match custom regular expression: 440 CustomImplicitResolverTest, CustomBeanResolverTest (2010-08-03) 441 </action> 442 <action dev="asomov" type="fix" issue="74" due-to="Kevin Menard"> 443 Do not use redundant tags for arrays which are JavaBean properties. (2010-07-21) 444 </action> 445 <action dev="asomov" type="update"> 446 RecursiveSetTest proves that it is possible to construct a recursive set (2010-07-20) 447 </action> 448 <action dev="asomov" type="add" issue="73" due-to="birnbuazn"> 449 Provide sequence support for loading java.util.Set. Also provide an example 450 to serialise a java.util.Set as a sequence. (2010-07-19) 451 </action> 452 <action dev="asomov" type="add" issue="72" due-to="birnbuazn"> 453 Support java.util.Collection as a parent for List and Set (2010-07-09) 454 </action> 455 <action dev="maslovalex" type="add" issue="55" due-to="birnbuazn"> 456 Allow direct field access bypassing setters and getters. Empty constructor 457 is required to support 2-step construction (2010-07-02) 458 </action> 459 <action dev="asomov" type="update" issue="69"> 460 Serialise Iterator and Iterable as sequences (2010-06-25) 461 </action> 462 <action dev="asomov" type="update" due-to="maslovalex"> 463 Change error message when 'No suitable constructor with N arguments found for class' (2010-06-23) 464 </action> 465 <action dev="asomov" type="add" due-to="Antony Stubbs"> 466 Add JodaTime example (2010-06-04) 467 </action> 468 <action dev="asomov" type="add" issue="67" due-to="Manuel Sugawara"> 469 Add possibility to create a Tag out of an URI (2010-05-31) 470 </action> 471 <action dev="asomov" type="update"> 472 URLDecoder.decode() does not fail when UTF-8 is invalid. Use 473 CodingErrorAction.REPORT to implement the failure (2010-05-21) 474 </action> 475 <action dev="maslovalex" type="update"> 476 Fix generic collections which contain other collections (2010-05-18) 477 </action> 478 <action dev="asomov" type="fix" issue="67" due-to="Manuel Sugawara"> 479 Fix: java classes containing non-ASCII characters in names are 480 incorrectly encoded (2010-05-14) 481 </action> 482 <action dev="asomov" type="fix" issue="65" due-to="lerch.johannes"> 483 Fix: add checks for null arguments for JavaBeanDumper (2010-04-27) 484 </action> 485 <action dev="asomov" type="add"> 486 Add a test to see how stack trace is serialised (2010-04-27) 487 </action> 488 <action dev="asomov" type="fix" issue="64" due-to="maxim.moschko"> 489 ClassCastException in Representer when working with ParameterizedType (2010-04-25) 490 </action> 491 <action dev="asomov" type="update"> 492 Improve toString() method for Node. Since scalars cannot be recursive 493 they can be printed (2010-04-15) 494 </action> 495 <action dev="maslovalex" type="fix" issue="63" due-to="Udo"> 496 Refactor the way arrays are constructed (2010-04-15) 497 </action> 498 <action dev="asomov" type="fix" issue="62"> 499 Add examples for dumping custom values for !!bool and !!null (2010-04-13) 500 </action> 501 <action dev="asomov" type="fix" issue="61"> 502 Fix: ClassCastException when dumping generic bean (2010-04-11) 503 </action> 504 <action dev="asomov" type="fix" issue="59"> 505 Provide an example for changing JavaBean properties order (2010-04-01) 506 </action> 507 <action dev="asomov" type="fix" issue="60"> 508 Provide example for skipping null and empty collections (2010-03-29) 509 </action> 510 <action dev="asomov" type="fix" issue="58" due-to="jeff.caulfield"> 511 JavaBeanDumper.dump throws NullPointerException on list property 512 with null element (2010-03-23) 513 </action> 514 <action dev="asomov" type="fix" issue="56" due-to="DZeiss"> 515 Make constructors in SafeConstructor public (2010-03-16) 516 </action> 517 <action dev="asomov" type="update" due-to="David Bernard"> 518 Releases and snapshots are available in the Sonatype Maven repository. 519 https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide 520 </action> 521 <action dev="obastard" type="fix" issue="53" due-to="obastard"> 522 Enhancement for a pretty format that combines BLOCK and FLOW (2010-03-03) 523 </action> 524 <action dev="asomov" type="fix" issue="50" due-to="sualeh.fatehi"> 525 Unable to dump JavaBean that inherits from a protected base class (2010-03-02) 526 </action> 527 <action dev="asomov" type="update"> 528 Format source (2010-03-01) 529 </action> 530 <action dev="asomov" type="update"> 531 Use Token.ID and Event.ID instead of just ID (2010-03-01) 532 </action> 533 <action dev="asomov" type="update"> 534 Issue 50 fails in Eclipse but works with Maven (2010-03-01) 535 </action> 536 </release> 537 <release version="1.6" date="2010-02-26" description="introduce Tag class"> 538 <action dev="asomov" type="update"> 539 Release Candidate 2 is available (2010-02-24) 540 </action> 541 <action dev="asomov" type="fix" issue="47" due-to="obastard"> 542 Don't dump read-only properties by default. DumperOptions gets a setting to 543 include read-only JavaBean properties. 544 This is no backwards compatible change (2010-02-19) 545 </action> 546 <action dev="asomov" type="fix" issue="49" due-to="obastard"> 547 Support GregorianCalendar. Due to Daylight Saving Time parsing the timestamp with 548 a TimeZone cannot determine the exact time (2010-02-19) 549 </action> 550 <action dev="asomov" type="fix" issue="51" due-to="johann.Werner"> 551 Some Unicode characters are wrongly replaced by \x{fffd} during 552 double quoted style dump (2010-02-15) 553 </action> 554 <action dev="asomov" type="fix" issue="48" due-to="obastard"> 555 Introduce representJavaBeanProperty() method in Representer. The method 556 can be overridden to simplify custom JavaBean representation (2010-02-12) 557 </action> 558 <action dev="asomov" type="update"> 559 Release Candidate 1 is available (2010-02-01) 560 </action> 561 <action dev="asomov" type="add"> 562 Representer.representJavaBean() returns MappingNode (2010-01-26) 563 </action> 564 <action dev="asomov" type="add"> 565 Add example of serialising static fields (2010-01-26) 566 </action> 567 <action dev="asomov" type="add"> 568 Add example of serialising java.io.File as scalar node for issue 46 (2010-01-25) 569 </action> 570 <action dev="asomov" type="update"> 571 Refactor: introduce Chomping to avoid using null as value for Boolean. 572 Stay in line with Scala port where null is not allowed (2010-01-19) 573 </action> 574 <action dev="asomov" type="update"> 575 Refactor: use Event.ID enum instead of classes (2010-01-15) 576 </action> 577 <action dev="asomov" type="update"> 578 Refactor: use Token.ID enum instead of classes (2010-01-15) 579 </action> 580 <action dev="asomov" type="update"> 581 Refactor: use generic classes for DirectiveToken (2010-01-14) 582 </action> 583 <action dev="asomov" type="update"> 584 Refactor: rename Reader to StreamReader to avoid name conflict with java.io.Reader (2010-01-13) 585 </action> 586 <action dev="asomov" type="update"> 587 Refactor: use StringBuilder instead of StringBuffer (2010-01-12) 588 </action> 589 <action dev="asomov" type="update"> 590 Refactor: introduce Constant class to share String constants (2010-01-12) 591 </action> 592 <action dev="asomov" type="update"> 593 Keep Tag.equals(String) to simplify transition to Tag class (2010-01-08) 594 </action> 595 <action dev="asomov" type="update"> 596 Refactor: introduce Tag instead of Tags. Nodes use Tag class instead of String (2010-01-05) 597 </action> 598 <action dev="asomov" type="fix" issue="42" due-to="Artem"> 599 BaseConstructor shall give more flexibility to choose a constructor at runtime (2010-01-08) 600 </action> 601 <action dev="asomov" type="update"> 602 Refactor: introduce TagTuple instead of String[] (2010-01-04) 603 </action> 604 <action dev="asomov" type="fix" issue="40" due-to="sitrious"> 605 Ignore tags when they are compatible with the runtime class (2010-01-04) 606 </action> 607 <action dev="asomov" type="add"> 608 Add example to ignore unknown tags (2009-12-08) 609 </action> 610 <action dev="asomov" type="add"> 611 Add Ruby example (2009-12-08) 612 </action> 613 <action dev="asomov" type="update"> 614 Do not omit the tag for JavaBean properties when the tag is explicitly defined (2009-12-08) 615 </action> 616 <action dev="asomov" type="fix" issue="38" due-to="gchpaco"> 617 Fix ID format for numbers over 999 (2009-12-05) 618 </action> 619 <action dev="asomov" type="fix" issue="29" due-to="grignaak"> 620 Allow separate option in DumperOptions for long strings (2009-11-16) 621 </action> 622 <action dev="asomov" type="add"> 623 JavaBeanDumper: add possibility to define a custom Representer (2009-11-25) 624 </action> 625 <action dev="asomov" type="fix" issue="36"> 626 Introduce multi contructors (tag prefix). A family of tags may be processed 627 by a single constructor (2009-11-25) 628 </action> 629 <action dev="asomov" type="update"> 630 Refactor BaseConstructor: simplify second step for recursive structures (2009-11-25) 631 </action> 632 <action dev="asomov" type="add"> 633 Add FilterPropertyToDumpTest to show how to filter JavaBean properties (2009-11-24) 634 </action> 635 <action dev="asomov" type="add"> 636 Add FilterClassesConstructorTest to show how to filter created classes (2009-11-16) 637 </action> 638 <action dev="asomov" type="update" due-to="Stefan"> 639 Improve JavaDoc (2009-11-12) 640 </action> 641 <action dev="asomov" type="add"> 642 Add Velocity example (2009-11-03) 643 </action> 644 <action dev="asomov" type="update"> 645 Refactor: rename Tuple to RecursiveTuple and hide it inside BaseConstructor (2009-11-03) 646 </action> 647 </release> 648 <release version="1.5" date="2009-10-30" description="Improve usage of generic collections in JavaBeans"> 649 <action dev="asomov" type="fix" issue="27" due-to="Polyglot Maven team"> 650 Extend Resolver to support custom implicit types (2009-10-27) 651 </action> 652 <action dev="asomov" type="update"> 653 Performance improvement: use ArrayStack instead of Stack which extends Vector (2009-10-20) 654 </action> 655 <action dev="asomov" type="fix" issue="25" due-to="Benjamin Bentmann"> 656 Improve usage of generic collections: while type erase makes no difference between 657 Class< Foo> and Class< Bar> at runtime, the information about generics is still 658 accessible via reflection from Method/Field. (2009-10-19) 659 </action> 660 <action dev="asomov" type="update"> 661 Fix ConstructYamlObject: support recursive objects. Introduce 'resolved' 662 property for Nodes. This property supposed to help to distinguish explicit tag 663 from the resolved tag (2009-10-19) 664 </action> 665 <action dev="asomov" type="update"> 666 Refactor: use rootTag instead of rootType (for Class) in BaseConstructor. This is done to 667 solve the priority problem: normally explicit tag has more priority then runtime class but 668 for the root tag it is the other way around (2009-10-19) 669 </action> 670 <action dev="asomov" type="fix" issue="24" due-to="shrode"> 671 Line numbers reported in Exceptions are Zero based, should be 1 based (2009-10-12) 672 </action> 673 <action dev="asomov" type="fix" issue="21" due-to="ashwin.jayaprakash"> 674 Support arrays of reference types as JavaBean properties (2009-09-22) 675 </action> 676 <action dev="asomov" type="fix" issue="17" due-to="jcucurull"> 677 Respect root tag for sequences (2009-09-04) 678 </action> 679 <action dev="asomov" type="fix" issue="18" due-to="creiniger"> 680 SafeRepresenter respects custom tags for standard Java classes where standard tag has 681 more then one Java implementation available (Long, List, Map, Date etc) (2009-09-03) 682 </action> 683 <action dev="asomov" type="add"> 684 Add possibility to define a custom Class Loader. (2009-09-01) 685 </action> 686 <action dev="asomov" type="fix"> 687 Fixed an obscure scanner error not reported when there is no line break at the end 688 of the stream. The fix is imported from PyYAML 3.09 {ticket 118} (2009-08-31) 689 </action> 690 <action dev="asomov" type="fix" issue="16" due-to="infinity0x"> 691 Cache JavaBean class properties. Tests show that the loading has become a few percents faster (2009-08-31) 692 </action> 693 <action dev="asomov" type="add"> 694 Introduce ArrayStack to use push() and pop() instead of standard (and too verbose) 695 'remove(size()-1)' (2009-08-27) 696 </action> 697 <action dev="asomov" type="fix" issue="14" due-to="infinity0x"> 698 Fix: ArrayList is more efficient than LinkedList (2009-08-26) 699 </action> 700 </release> 701 <release version="1.4" date="2009-08-26" description="better support for loading immutable objects"> 702 <action dev="asomov" type="update"> 703 Apply Apache License Version 2.0 (2009-08-14) 704 </action> 705 <action dev="asomov" type="fix" issue="13" due-to="infinity0x"> 706 Provide javadocs link to Sun Java API (2009-08-10) 707 </action> 708 <action dev="asomov" type="add"> 709 Build 1.4 Release Candidate 1 (2009-08-07) 710 </action> 711 <action dev="asomov" type="add"> 712 Introduce Tags.getGlobalTagForClass() to simplify tag generation in custom constructors (2009-08-06) 713 </action> 714 <action dev="asomov" type="update"> 715 Refactor: introduce ImplicitTuple (2009-08-06) 716 </action> 717 <action dev="asomov" type="fix" issue="11" due-to="infinity0x"> 718 Fix: create a Java instance with the following priority to choose the class: 719 Explicit tag -> Runtime class (defined in JavaBean) -> implicit tag (2009-08-06) 720 </action> 721 <action dev="asomov" type="fix" issue="9" due-to="wwagner4"> 722 Fix: Bean with no property cannot be instantiated. This is implemented via better 723 support for immutable objects. Custom Constructor may be used when there are more 724 then 1 way to create an instance (2009-08-04) 725 </action> 726 <action dev="asomov" type="add"> 727 Deliver possibility to load immutable instances with no global tags. Reflection for 728 constructor arguments is used to get the runtime classes (2009-08-04) 729 </action> 730 <action dev="asomov" type="update"> 731 Use more informative error message when a JavaBean property cannot 732 be created (2009-08-02) 733 </action> 734 <action dev="asomov" type="update"> 735 Refactor: Constructor is rewritten. Do not overwrite methods from BaseConstructor. 736 Instead introduce ConstructScalar, ConstructSequence, ConstructMapping (2009-07-31) 737 </action> 738 <action dev="asomov" type="update"> 739 Change Maven repository path: groupId='org.yaml', artifactId='snakeyaml' (2009-07-31) 740 </action> 741 <action dev="asomov" type="fix" issue="10" due-to="derrick.rice"> 742 Fix: dump omits JavaBean class name when used with an alias (2009-07-28) 743 </action> 744 <action dev="asomov" type="add"> 745 Generate sources and Javadoc (2009-07-27) 746 </action> 747 <action dev="asomov" type="update"> 748 Node does not have the value. It is delegated to the non-abstract classes (2009-07-27) 749 </action> 750 <action dev="asomov" type="add"> 751 Extends JavaBeanDumper to allow skipping global tags inside type-safe collections. 752 Introduce method setMapTagForBean() (2009-07-22) 753 </action> 754 <action dev="asomov" type="add"> 755 Add ConstructEmptyBeanTest to test JavaBean construction with no 756 properties in the YAML document(2009-07-22) 757 </action> 758 <action dev="asomov" type="remove"> 759 Refactor: redesign tag management for JavaBeans in Representer. 760 Drop dynamic root tag concept (2009-07-22) 761 </action> 762 <action dev="asomov" type="remove"> 763 Remove unused TypeDescription in Representer (2009-07-21) 764 </action> 765 <action dev="asomov" type="update"> 766 Use NodeTuple instead of Node[] for mappings (2009-07-21) 767 </action> 768 <action dev="asomov" type="add"> 769 Introduce JavaBeanLoader and JavaBeanDumper. Deprecate JavaBeanParser (2009-07-21) 770 </action> 771 <action dev="asomov" type="fix" issue="8" due-to="Alan Gutierrez"> 772 Fix: Representer was keeping state between invocations (2009-07-21) 773 </action> 774 </release> 775 <release version="1.3" date="2009-07-20" description="complete support for recursive objects"> 776 <action dev="asomov" type="fix" issue="6" due-to="infinity0x"> 777 Fix: values returned by System.identityHashCode() are not guaranteed to be unique (2009-07-14) 778 </action> 779 <action dev="asomov" type="add"> 780 Add a simple test for Java Generics (BirdTest). Unfortunately it shows that some JVM 781 implementations do not recognise classes for JavaBean properties at runtime. 782 It leads to unnecessary global tags. See http://code.google.com/p/snakeyaml/wiki/Documentation#Generics 783 for details (2009-07-13) 784 </action> 785 <action dev="asomov" type="fix" issue="5" due-to="infinity0x"> 786 Fix: set the "cause" field for MarkedYAMLException (2009-07-10) 787 </action> 788 <action dev="maslovalex" type="fix" issue="1"> 789 Fix: Recursive objects are now fully supported (2009-07-09) 790 </action> 791 <action dev="asomov" type="add"> 792 Add support for BigDecimal as a JavaBean property (2009-07-07) 793 </action> 794 <action dev="asomov" type="update"> 795 Improve test coverage for Constructor. Allow construction of JavaBeans 796 with only setter without the corresponding getter (2009-07-07) 797 </action> 798 <action dev="asomov" type="add"> 799 Add a test to check the proper report for IOException (2009-07-03) 800 </action> 801 <action dev="asomov" type="fix" issue="3" due-to="infinity0x"> 802 Fix: represent proper tags for JavaBeans when they are not the root of the YAML 803 document but a member of a collection (2009-07-03) 804 </action> 805 <action dev="asomov" type="update"> 806 Refactor: run PMD and apply some of the recommendations (2009-06-18) 807 </action> 808 <action dev="asomov" type="add" issue="1"> 809 Create an issue for Recursive objects to be remembered (2009-06-08) 810 </action> 811 <action dev="asomov" type="update"> 812 Migrate project hosting from Assembla to Google code (2009-06-08) 813 </action> 814 <action dev="asomov" type="fix" due-to="Magne"> 815 Fix: null as a JavaBean property was not handled properly (2009-06-04) 816 </action> 817 <action dev="asomov" type="update"> 818 Validate changes.xml file (2009-05-25) 819 </action> 820 <action dev="asomov" type="fix" due-to="Magne"> 821 Fix ticket 40 in Assembla: getting an error when javabean contains java.sql.Timestamp fields (2009-05-25) 822 </action> 823 </release> 824 <release version="1.2" date="2009-04-27" description="expose low-level API"> 825 <action dev="asomov" type="add"> 826 Add 'Yaml.parse()' method which return Events to support low level YAML processing (2009-04-20) 827 </action> 828 <action dev="asomov" type="add" due-to="Bob Jalex"> 829 Introduce LineBreak.getPlatformLineBreak (ticket 5 in Assembla) (2009-04-18) 830 </action> 831 <action dev="asomov" type="update" due-to="Bob Jalex"> 832 Rename LineBreak.LINUX to LineBreak.UNIX (ticket 5 in Assembla) (2009-04-18) 833 </action> 834 <action dev="asomov" type="add"> 835 Add 'Yaml.compose()' methods which return Nodes to support YEdit (2009-04-17) 836 </action> 837 <action dev="asomov" type="update"> 838 Refactor: rename enums in DumperOptions to make the names consistent (2009-04-07) 839 </action> 840 <action dev="asomov" type="update"> 841 Refactor: use Character instead of char primitive for style in Emitter (2009-04-07) 842 </action> 843 <action dev="asomov" type="add"> 844 Add possibility to parse all scalars as Strings (2009-03-30) 845 </action> 846 <action dev="asomov" type="update"> 847 Merge changeset 347 from PyYAML (2009-03-30) 848 </action> 849 <action dev="asomov" type="fix"> 850 Respect DumperOptions with a custom Representer (2009-03-18) 851 </action> 852 <action dev="asomov" type="fix"> 853 Represent TAB as '\t' instead of '(9' in the error message (2009-03-17) 854 </action> 855 </release> 856 <release version="1.1" date="2009-03-14" description="improve performance and test coverage"> 857 <action dev="asomov" type="add"> 858 Introduce JavaBeanParser (2009-03-14) 859 </action> 860 <action dev="asomov" type="add"> 861 Introduce DumperOptions.Version enum (2009-03-13) 862 </action> 863 <action dev="asomov" type="add"> 864 Introduce DumperOptions.LineBreak enum (2009-03-10) 865 </action> 866 <action dev="asomov" type="update"> 867 Use byte[] for binary type. (2009-03-09) 868 </action> 869 <action dev="asomov" type="update"> 870 Restore Regular Expressions in Resolver. Ragel gives only 5% performance increase. 871 Fix a bug in Resolver with expanded regular expressions which caused the 872 performance problem. (2009-03-06) 873 </action> 874 <action dev="asomov" type="add"> 875 Better Spring support: it is now possible to create a constructor with a String 876 as the class name. (2009-03-05) 877 </action> 878 <action dev="asomov" type="update"> 879 Throw an exception when the same Loader or Dumper instance is shared between 880 different Yaml instances. Because they are statefull it is not Thread-safe. (2009-03-05) 881 </action> 882 <action dev="asomov" type="add"> 883 Add possibility to set a meaningful name for Yaml instance to be shown in toString(). (2009-03-05) 884 </action> 885 <action dev="asomov" type="update"> 886 Refactor: declare classes which are not expected to be extended as final. (2009-03-04) 887 </action> 888 <action dev="asomov" type="update"> 889 Refactor: use 'final' keyword to identify immutable fields. (2009-03-04) 890 </action> 891 <action dev="asomov" type="update"> 892 Refactor: do not use 'final' keyword for local variables. (2009-03-04) 893 </action> 894 <action dev="asomov" type="fix"> 895 Fix: respect implicit resolvers with 'null' as a first character. (2009-03-02) 896 </action> 897 <action dev="asomov" type="update"> 898 Refactor: use Character instead of String as a key for implicit resolvers. (2009-03-02) 899 </action> 900 <action dev="asomov" type="add"> 901 Use Ragel instead of Regular Expressions for implicit types. (2009-03-02) 902 </action> 903 <action dev="asomov" type="fix" due-to="Christophe Desguez"> 904 Fix ticket #4 (in Assembla): java.sql.Date not handled. (2009-02-28) 905 </action> 906 <action dev="asomov" type="add"> 907 Introduce DumperOptions.DefaultFlowStyle enum (2009-02-24) 908 </action> 909 <action dev="asomov" type="add"> 910 Introduce DumperOptions.DefaultScalarStyle enum (2009-02-24) 911 </action> 912 <action dev="asomov" type="update"> 913 Refactor: use 'switch' with Enum instead of multiple 'if' statements to distinguish nodes (2009-02-19) 914 </action> 915 <action dev="asomov" type="update"> 916 Refactor: use Enum instead of String as NodeId (2009-02-19) 917 </action> 918 </release> 919 <release version="1.0.1" date="2009-02-18" description="implement Enum support"> 920 <action dev="asomov" type="fix"> 921 Do not emit anchors for Enum (2009-02-18) 922 </action> 923 <action dev="asomov" type="fix"> 924 Enum as a JavaBean property (when the Enum class is implicitly defined) does 925 not need tags for both loading and dumping (2009-02-17) 926 </action> 927 <action dev="asomov" type="fix"> 928 Enum is emitted as a scalar node (2009-02-17) 929 </action> 930 <action dev="asomov" type="fix" due-to="James Nissel"> 931 Enum is parsed as a scalar node or as a JavaBean property (2009-02-17) 932 </action> 933 <action dev="asomov" type="update"> 934 Refactor: for performance ScannerImpl.stalePossibleSimpleKeys() does not copy key Set (2009-02-10) 935 </action> 936 <action dev="asomov" type="update"> 937 By default allowUnicode=true. If it is necessary to escape Unicode use 938 DumperOptions.setAllowUnicode(false) (2009-02-09) 939 </action> 940 <action dev="asomov" type="add"> 941 Implement allowUnicode setting (to escape Unicode characters on non UTF-8 terminals) (2009-02-09) 942 </action> 943 <action dev="asomov" type="add"> 944 Add possibility to specify tags for dumping (2009-02-09) 945 </action> 946 <action dev="asomov" type="update"> 947 Rename getExpRoot to getExplicitRoot to conform with 948 standard JavaBean naming convention (2009-02-09) 949 </action> 950 <action dev="asomov" type="update"> 951 Rename explictStart and explicitEnd to standard setters to conform with 952 standard JavaBean naming convention (2009-02-09) 953 </action> 954 <action dev="asomov" type="fix"> 955 Add possibility to specify a line break (2009-02-09) 956 </action> 957 </release> 958 <release version="1.0" date="2009-02-06" description="final 1.0 release"> 959 <action dev="asomov" type="add"> 960 Deliver first release (2009-02-06) 961 </action> 962 </release> 963 </body> 964</document> 965