Home | History | Annotate | Download | only in changes
      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 (a] 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&lt; Foo&gt; and Class&lt; Bar&gt; 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