YAML 1.1 parser and emitter

Release History

Version Date Description
1.9-SNAPSHOT in Mercurial Development
1.8 2011-02-15 Performance improvement
1.7 2010-08-12 Simplify public API (drop Loader and Dumper)
1.6 2010-02-26 introduce Tag class
1.5 2009-10-30 Improve usage of generic collections in JavaBeans
1.4 2009-08-26 better support for loading immutable objects
1.3 2009-07-20 complete support for recursive objects
1.2 2009-04-27 expose low-level API
1.1 2009-03-14 improve performance and test coverage
1.0.1 2009-02-18 implement Enum support
1.0 2009-02-06 final 1.0 release
1.0rc2 2008-01-22 Improve JavaBeans support
1.0rc1 2009-01-16 Construct type safe collections
0.91 2008-01-14 Support shortcut tags for custom classes
0.9 2008-01-12 Add possibility to define a root class for Loader
0.8 2009-01-07 Import changes from PyYAML 3.08
0.7 2008-12-20 Improve test coverage
0.6 2008-12-17 Documentation added
0.5 2008-12-12 Import PyYAML 3.06
0.4 2008-11-11 Fix issues in Scanner
0.2.1 2008-10-20 Import JvYaml from CVS

Release 1.9-SNAPSHOT - in Mercurial

Type Changes By
update Add a test to prove that SnakeYAML is not affected by the problem reported for libyaml at http://pyyaml.org/ticket/196 (2011-07-28) py4fun
fix Since timestamp contains ':' characters it is dumped with single quoted scalar style in the flow context. The single quoted scalar style causes to dump the explicit tag. In the block context the plain scalar can be used and the tag is not required. It may cause unpredictable behaviour if the tag is required. See the comments in JodaTimeExampleTest (2011-07-25) Fixes 128. py4fun
fix Fix scientific notation inconsistency in the YAML 1.1 specification: scalar '8e-06' should be parsed as a Double (2011-07-24) Fixes 130. py4fun
remove Do not allow to override BaseRepresenter.representData(Object data) because users should instead implement Represent interface (2011-07-21) Fixes 127. py4fun
remove Deprecate DumperOptions.explicitRoot (2011-07-20) Fixes 124. py4fun
add Add Yaml.dumpAs(Object, Tag.MAP, FlowStyle) and Yaml.dumpAsMap(Object) methods. JavaBeanDumper is marked as deprecated (2011-07-16) Fixes 124. py4fun
add Add example to show how to dump a custom class (2011-07-12) Fixes 127. py4fun
add Add Yaml.serialize(Node) low level method to the public API (2011-07-14) Fixes 129. py4fun
add Add Yaml.represent(Object) low level method to the public API (2011-07-14) Fixes 129. py4fun
add Add support for Maven 3 via 'm3' profile (2011-07-10) Fixes 125. py4fun
remove Remove deprecated JavaBeanParser (2011-07-05) Fixes 124. py4fun
remove Remove redundant JavaBeanDumper.classTags set (2011-07-03) Fixes 124. py4fun
add Add Yaml.loadAs() methods. JavaBeanLoader is marked as deprecated (2011-07-03) Fixes 124. py4fun
remove Remove TypeDescription.root property to prepare issue 124. This is a minor backwards incompatible change. Now instead of setting as root, the TypeDescription must be passed to the Contructor's constructor to be taken as the root definition (2011-07-03) Fixes 124. py4fun
fix Fix: close files in tests to avoid a possible file handle limit (2011-06-09) Fixes 121. Thanks to Jaromir. py4fun
fix Fix: Improved support for empty JavaBeans (2011-06-09) Fixes 116. Thanks to Jim Peterson. py4fun
fix Fix: Improved support for parameterised types in collections (2011-05-25) Fixes 112. Thanks to Lethargish. py4fun
fix Fix: parameterised JavaBeans fail to load and dump because they are treated as Maps (2011-05-16) Fixes 115. Thanks to elkniwt. py4fun
fix Fix: Do not remove root tags of JavaBeans when it is not explicitly requested (2011-04-20) Fixes 114. Thanks to gileadis. py4fun
fix Fix: Long escaped tag URI sequences throw BufferOverflowException (2011-03-03) Fixes 111. Thanks to JordanAngold. py4fun
fix Fix: introduce a package for external libraries and move there the 64Coder and the Google's URL encoder (2011-02-24) Fixes 110. Thanks to dmitry.s.mamonov. py4fun
fix Fix: ancient years must be dumped with leading zeros (2011-02-19) Fixes 109. Thanks to cjalmeida. py4fun
remove Remove unused code in Constructor: Modifier.isAbstract() is not needed any more (2011-02-18) Thanks to JordanAngold. py4fun
fix Enum's name property shall be dumped instead of the 'toString()' output (2011-02-16) Fixes 108. JordanAngold

Release 1.8 - 2011-02-15

Type Changes By
add Add example to howto Wiki: How_to_substitute_object_in_YAML_document_with_a_custom_object (2011-01-27) py4fun
update When the YAML document to be loaded is provided as String parse it directly without making a Reader first (2011-01-23) py4fun
fix Immutable data structures in StreamReader allow to share the same buffer for all the Mark instances. It makes 'withMarkContext' setting redundant (2011-01-19) Fixes 106. py4fun
update Merge JavaBean properties when an explicit tag is provided (2011-01-11) Fixes 100. maslovalex
update Add an example for escaping line breaks in binary content (2011-01-03) Fixes 99. py4fun
update Propose a solution for JavaBeans to support SortedSet property when it is encoded as a sequence (2010-11-24) Fixes 97. py4fun
update Simplify the way how the order of JavaBean properties is specified. Introduce PropertyUtils.createPropertySet() method to be overridden when a specific order is expected (2010-11-23) Fixes 59. py4fun
fix Fix: Loading of generic collections with Array parameter(s). (2010-11-16) Fixes 95. maslovalex
update Add ChangeRuntimeClassTest as an example how to change a class for a global tag (2010-11-05) Fixes 94. py4fun
update Inner objects in Constructor become protected to be more flexible when Constructor is expended (2010-10-03) py4fun
update Apply www.snakeyaml.org domain name (2010-09-20) Fixes 91. py4fun
fix Move Base64Coder into another package to keep a separate copyright statement. Base64Coder is left unchanged (2010-09-19) Fixes 90. py4fun
fix Iterable should not be serialised as sequence (2010-09-16) Fixes 69. py4fun
update Introduce 'fast' Maven profile to quickly build cobertura reports (2010-09-16) py4fun
update Fix: Specify plugin versions in POM (2010-09-15) Fixes 89. py4fun
fix Fix: Custom tag erased when referenced from generic collection (2010-09-15) Fixes 88. maslovalex
update Minor refactoring in Emitter to improve performance: save calls to Constant.has() (2010-09-13) py4fun
update Minor refactorings in Emitter to improve performance: create less Strings [r9185e0b3] (2010-09-10) maslovalex
update Introduce LoaderOptions to be able to specify configuration while loading (2010-09-03) Fixes 79. py4fun
fix Representer.representJavaBeanProperty() is given the wrong tag. Instead of the property tag, the tag for the JavaBean itself is provided. (2010-09-01) Fixes 81. py4fun
update Rename JvmDetector into GenericsBugDetector (2010-08-31) py4fun
fix Fix: Timestamp is not parsed properly when milliseconds start with 0 (2010-08-24) Fixes 80. Thanks to SebastienRainville. py4fun
update Context for error reporting consumes a lot of resources (2010-08-21) Fixes 79. maslovalex
remove Cleanup unused code in deprecated Loader and Dumper (2010-08-13) py4fun

Release 1.7 - 2010-08-12

Type Changes By
update Eclipse does not run JUnit 4 tests when they are launched for the whole project (2010-08-11) py4fun
update Share PropertyUtils if not explicitly set in Constructor or Representer (BeanAccess.FIELD works properly when JavaBean is identified by a root tag) (2010-08-11) Fixes 55. maslovalex
update Create 1.7 Release Candidate 1 (2010-08-11) py4fun
update Simplify public API: Drop Dumper (2010-08-06) Fixes 77. py4fun
update Simplify public API: Drop Loader (2010-08-05) Fixes 77. py4fun
update Add examples to create scalars that match custom regular expression: CustomImplicitResolverTest, CustomBeanResolverTest (2010-08-03) Fixes 75. Thanks to jon.p.hermes. py4fun
fix Do not use redundant tags for arrays which are JavaBean properties. (2010-07-21) Fixes 74. Thanks to Kevin Menard. py4fun
update RecursiveSetTest proves that it is possible to construct a recursive set (2010-07-20) py4fun
add Provide sequence support for loading java.util.Set. Also provide an example to serialise a java.util.Set as a sequence. (2010-07-19) Fixes 73. Thanks to birnbuazn. py4fun
add Support java.util.Collection as a parent for List and Set (2010-07-09) Fixes 72. Thanks to birnbuazn. py4fun
add Allow direct field access bypassing setters and getters. Empty constructor is required to support 2-step construction (2010-07-02) Fixes 55. Thanks to birnbuazn. maslovalex
update Serialise Iterator and Iterable as sequences (2010-06-25) Fixes 69. py4fun
update Change error message when 'No suitable constructor with N arguments found for class' (2010-06-23) Thanks to maslovalex. py4fun
add Add JodaTime example (2010-06-04) Thanks to Antony Stubbs. py4fun
add Add possibility to create a Tag out of an URI (2010-05-31) Fixes 67. Thanks to Manuel Sugawara. py4fun
update URLDecoder.decode() does not fail when UTF-8 is invalid. Use CodingErrorAction.REPORT to implement the failure (2010-05-21) py4fun
update Fix generic collections which contain other collections (2010-05-18) maslovalex
fix Fix: java classes containing non-ASCII characters in names are incorrectly encoded (2010-05-14) Fixes 67. Thanks to Manuel Sugawara. py4fun
fix Fix: add checks for null arguments for JavaBeanDumper (2010-04-27) Fixes 65. Thanks to lerch.johannes. py4fun
add Add a test to see how stack trace is serialised (2010-04-27) py4fun
fix ClassCastException in Representer when working with ParameterizedType (2010-04-25) Fixes 64. Thanks to maxim.moschko. py4fun
update Improve toString() method for Node. Since scalars cannot be recursive they can be printed (2010-04-15) py4fun
fix Refactor the way arrays are constructed (2010-04-15) Fixes 63. Thanks to Udo. maslovalex
fix Add examples for dumping custom values for !!bool and !!null (2010-04-13) Fixes 62. py4fun
fix Fix: ClassCastException when dumping generic bean (2010-04-11) Fixes 61. py4fun
fix Provide an example for changing JavaBean properties order (2010-04-01) Fixes 59. py4fun
fix Provide example for skipping null and empty collections (2010-03-29) Fixes 60. py4fun
fix JavaBeanDumper.dump throws NullPointerException on list property with null element (2010-03-23) Fixes 58. Thanks to jeff.caulfield. py4fun
fix Make constructors in SafeConstructor public (2010-03-16) Fixes 56. Thanks to DZeiss. py4fun
update Releases and snapshots are available in the Sonatype Maven repository. https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide Thanks to David Bernard. py4fun
fix Enhancement for a pretty format that combines BLOCK and FLOW (2010-03-03) Fixes 53. Thanks to obastard. obastard
fix Unable to dump JavaBean that inherits from a protected base class (2010-03-02) Fixes 50. Thanks to sualeh.fatehi. py4fun
update Format source (2010-03-01) py4fun
update Use Token.ID and Event.ID instead of just ID (2010-03-01) py4fun
update Issue 50 fails in Eclipse but works with Maven (2010-03-01) py4fun

Release 1.6 - 2010-02-26

Type Changes By
update Release Candidate 2 is available (2010-02-24) py4fun
fix Don't dump read-only properties by default. DumperOptions gets a setting to include read-only JavaBean properties. This is no backwards compatible change (2010-02-19) Fixes 47. Thanks to obastard. py4fun
fix Support GregorianCalendar. Due to Daylight Saving Time parsing the timestamp with a TimeZone cannot determine the exact time (2010-02-19) Fixes 49. Thanks to obastard. py4fun
fix Some Unicode characters are wrongly replaced by \x{fffd} during double quoted style dump (2010-02-15) Fixes 51. Thanks to johann.Werner. py4fun
fix Introduce representJavaBeanProperty() method in Representer. The method can be overridden to simplify custom JavaBean representation (2010-02-12) Fixes 48. Thanks to obastard. py4fun
update Release Candidate 1 is available (2010-02-01) py4fun
add Representer.representJavaBean() returns MappingNode (2010-01-26) py4fun
add Add example of serialising static fields (2010-01-26) py4fun
add Add example of serialising java.io.File as scalar node for issue 46 (2010-01-25) py4fun
update Refactor: introduce Chomping to avoid using null as value for Boolean. Stay in line with Scala port where null is not allowed (2010-01-19) py4fun
update Refactor: use Event.ID enum instead of classes (2010-01-15) py4fun
update Refactor: use Token.ID enum instead of classes (2010-01-15) py4fun
update Refactor: use generic classes for DirectiveToken (2010-01-14) py4fun
update Refactor: rename Reader to StreamReader to avoid name conflict with java.io.Reader (2010-01-13) py4fun
update Refactor: use StringBuilder instead of StringBuffer (2010-01-12) py4fun
update Refactor: introduce Constant class to share String constants (2010-01-12) py4fun
update Keep Tag.equals(String) to simplify transition to Tag class (2010-01-08) py4fun
update Refactor: introduce Tag instead of Tags. Nodes use Tag class instead of String (2010-01-05) py4fun
fix BaseConstructor shall give more flexibility to choose a constructor at runtime (2010-01-08) Fixes 42. Thanks to Artem. py4fun
update Refactor: introduce TagTuple instead of String[] (2010-01-04) py4fun
fix Ignore tags when they are compatible with the runtime class (2010-01-04) Fixes 40. Thanks to sitrious. py4fun
add Add example to ignore unknown tags (2009-12-08) py4fun
add Add Ruby example (2009-12-08) py4fun
update Do not omit the tag for JavaBean properties when the tag is explicitly defined (2009-12-08) py4fun
fix Fix ID format for numbers over 999 (2009-12-05) Fixes 38. Thanks to gchpaco. py4fun
fix Allow separate option in DumperOptions for long strings (2009-11-16) Fixes 29. Thanks to grignaak. py4fun
add JavaBeanDumper: add possibility to define a custom Representer (2009-11-25) py4fun
fix Introduce multi contructors (tag prefix). A family of tags may be processed by a single constructor (2009-11-25) Fixes 36. py4fun
update Refactor BaseConstructor: simplify second step for recursive structures (2009-11-25) py4fun
add Add FilterPropertyToDumpTest to show how to filter JavaBean properties (2009-11-24) py4fun
add Add FilterClassesConstructorTest to show how to filter created classes (2009-11-16) py4fun
update Improve JavaDoc (2009-11-12) Thanks to Stefan. py4fun
add Add Velocity example (2009-11-03) py4fun
update Refactor: rename Tuple to RecursiveTuple and hide it inside BaseConstructor (2009-11-03) py4fun

Release 1.5 - 2009-10-30

Type Changes By
fix Extend Resolver to support custom implicit types (2009-10-27) Fixes 27. Thanks to Polyglot Maven team. py4fun
update Performance improvement: use ArrayStack instead of Stack which extends Vector (2009-10-20) py4fun
fix Improve usage of generic collections: while type erase makes no difference between Class< Foo> and Class< Bar> at runtime, the information about generics is still accessible via reflection from Method/Field. (2009-10-19) Fixes 25. Thanks to Benjamin Bentmann. py4fun
update Fix ConstructYamlObject: support recursive objects. Introduce 'resolved' property for Nodes. This property supposed to help to distinguish explicit tag from the resolved tag (2009-10-19) py4fun
update Refactor: use rootTag instead of rootType (for Class) in BaseConstructor. This is done to solve the priority problem: normally explicit tag has more priority then runtime class but for the root tag it is the other way around (2009-10-19) py4fun
fix Line numbers reported in Exceptions are Zero based, should be 1 based (2009-10-12) Fixes 24. Thanks to shrode. py4fun
fix Support arrays of reference types as JavaBean properties (2009-09-22) Fixes 21. Thanks to ashwin.jayaprakash. py4fun
fix Respect root tag for sequences (2009-09-04) Fixes 17. Thanks to jcucurull. py4fun
fix SafeRepresenter respects custom tags for standard Java classes where standard tag has more then one Java implementation available (Long, List, Map, Date etc) (2009-09-03) Fixes 18. Thanks to creiniger. py4fun
add Add possibility to define a custom Class Loader. (2009-09-01) py4fun
fix Fixed an obscure scanner error not reported when there is no line break at the end of the stream. The fix is imported from PyYAML 3.09 {ticket 118} (2009-08-31) py4fun
fix Cache JavaBean class properties. Tests show that the loading has become a few percents faster (2009-08-31) Fixes 16. Thanks to infinity0x. py4fun
add Introduce ArrayStack to use push() and pop() instead of standard (and too verbose) 'remove(size()-1)' (2009-08-27) py4fun
fix Fix: ArrayList is more efficient than LinkedList (2009-08-26) Fixes 14. Thanks to infinity0x. py4fun

Release 1.4 - 2009-08-26

Type Changes By
update Apply Apache License Version 2.0 (2009-08-14) py4fun
fix Provide javadocs link to Sun Java API (2009-08-10) Fixes 13. Thanks to infinity0x. py4fun
add Build 1.4 Release Candidate 1 (2009-08-07) py4fun
add Introduce Tags.getGlobalTagForClass() to simplify tag generation in custom constructors (2009-08-06) py4fun
update Refactor: introduce ImplicitTuple (2009-08-06) py4fun
fix Fix: create a Java instance with the following priority to choose the class: Explicit tag -> Runtime class (defined in JavaBean) -> implicit tag (2009-08-06) Fixes 11. Thanks to infinity0x. py4fun
fix Fix: Bean with no property cannot be instantiated. This is implemented via better support for immutable objects. Custom Constructor may be used when there are more then 1 way to create an instance (2009-08-04) Fixes 9. Thanks to wwagner4. py4fun
add Deliver possibility to load immutable instances with no global tags. Reflection for constructor arguments is used to get the runtime classes (2009-08-04) py4fun
update Use more informative error message when a JavaBean property cannot be created (2009-08-02) py4fun
update Refactor: Constructor is rewritten. Do not overwrite methods from BaseConstructor. Instead introduce ConstructScalar, ConstructSequence, ConstructMapping (2009-07-31) py4fun
update Change Maven repository path: groupId='org.yaml', artifactId='snakeyaml' (2009-07-31) py4fun
fix Fix: dump omits JavaBean class name when used with an alias (2009-07-28) Fixes 10. Thanks to derrick.rice. py4fun
add Generate sources and Javadoc (2009-07-27) py4fun
update Node does not have the value. It is delegated to the non-abstract classes (2009-07-27) py4fun
add Extends JavaBeanDumper to allow skipping global tags inside type-safe collections. Introduce method setMapTagForBean() (2009-07-22) py4fun
add Add ConstructEmptyBeanTest to test JavaBean construction with no properties in the YAML document(2009-07-22) py4fun
remove Refactor: redesign tag management for JavaBeans in Representer. Drop dynamic root tag concept (2009-07-22) py4fun
remove Remove unused TypeDescription in Representer (2009-07-21) py4fun
update Use NodeTuple instead of Node[] for mappings (2009-07-21) py4fun
add Introduce JavaBeanLoader and JavaBeanDumper. Deprecate JavaBeanParser (2009-07-21) py4fun
fix Fix: Representer was keeping state between invocations (2009-07-21) Fixes 8. Thanks to Alan Gutierrez. py4fun

Release 1.3 - 2009-07-20

Type Changes By
fix Fix: values returned by System.identityHashCode() are not guaranteed to be unique (2009-07-14) Fixes 6. Thanks to infinity0x. py4fun
add Add a simple test for Java Generics (BirdTest). Unfortunately it shows that some JVM implementations do not recognise classes for JavaBean properties at runtime. It leads to unnecessary global tags. See http://code.google.com/p/snakeyaml/wiki/Documentation#Generics for details (2009-07-13) py4fun
fix Fix: set the "cause" field for MarkedYAMLException (2009-07-10) Fixes 5. Thanks to infinity0x. py4fun
fix Fix: Recursive objects are now fully supported (2009-07-09) Fixes 1. maslovalex
add Add support for BigDecimal as a JavaBean property (2009-07-07) py4fun
update Improve test coverage for Constructor. Allow construction of JavaBeans with only setter without the corresponding getter (2009-07-07) py4fun
add Add a test to check the proper report for IOException (2009-07-03) py4fun
fix Fix: represent proper tags for JavaBeans when they are not the root of the YAML document but a member of a collection (2009-07-03) Fixes 3. Thanks to infinity0x. py4fun
update Refactor: run PMD and apply some of the recommendations (2009-06-18) py4fun
add Create an issue for Recursive objects to be remembered (2009-06-08) Fixes 1. py4fun
update Migrate project hosting from Assembla to Google code (2009-06-08) py4fun
fix Fix: null as a JavaBean property was not handled properly (2009-06-04) Thanks to Magne. py4fun
update Validate changes.xml file (2009-05-25) py4fun
fix Fix ticket 40 in Assembla: getting an error when javabean contains java.sql.Timestamp fields (2009-05-25) Thanks to Magne. py4fun

Release 1.2 - 2009-04-27

Type Changes By
add Add 'Yaml.parse()' method which return Events to support low level YAML processing (2009-04-20) py4fun
add Introduce LineBreak.getPlatformLineBreak (ticket 5 in Assembla) (2009-04-18) Thanks to Bob Jalex. py4fun
update Rename LineBreak.LINUX to LineBreak.UNIX (ticket 5 in Assembla) (2009-04-18) Thanks to Bob Jalex. py4fun
add Add 'Yaml.compose()' methods which return Nodes to support YEdit (2009-04-17) py4fun
update Refactor: rename enums in DumperOptions to make the names consistent (2009-04-07) py4fun
update Refactor: use Character instead of char primitive for style in Emitter (2009-04-07) py4fun
add Add possibility to parse all scalars as Strings (2009-03-30) py4fun
update Merge changeset 347 from PyYAML (2009-03-30) py4fun
fix Respect DumperOptions with a custom Representer (2009-03-18) py4fun
fix Represent TAB as '\t' instead of '(9' in the error message (2009-03-17) py4fun

Release 1.1 - 2009-03-14

Type Changes By
add Introduce JavaBeanParser (2009-03-14) py4fun
add Introduce DumperOptions.Version enum (2009-03-13) py4fun
add Introduce DumperOptions.LineBreak enum (2009-03-10) py4fun
update Use byte[] for binary type. (2009-03-09) py4fun
update Restore Regular Expressions in Resolver. Ragel gives only 5% performance increase. Fix a bug in Resolver with expanded regular expressions which caused the performance problem. (2009-03-06) py4fun
add Better Spring support: it is now possible to create a constructor with a String as the class name. (2009-03-05) py4fun
update Throw an exception when the same Loader or Dumper instance is shared between different Yaml instances. Because they are statefull it is not Thread-safe. (2009-03-05) py4fun
add Add possibility to set a meaningful name for Yaml instance to be shown in toString(). (2009-03-05) py4fun
update Refactor: declare classes which are not expected to be extended as final. (2009-03-04) py4fun
update Refactor: use 'final' keyword to identify immutable fields. (2009-03-04) py4fun
update Refactor: do not use 'final' keyword for local variables. (2009-03-04) py4fun
fix Fix: respect implicit resolvers with 'null' as a first character. (2009-03-02) py4fun
update Refactor: use Character instead of String as a key for implicit resolvers. (2009-03-02) py4fun
add Use Ragel instead of Regular Expressions for implicit types. (2009-03-02) py4fun
fix Fix ticket #4 (in Assembla): java.sql.Date not handled. (2009-02-28) Thanks to Christophe Desguez. py4fun
add Introduce DumperOptions.DefaultFlowStyle enum (2009-02-24) py4fun
add Introduce DumperOptions.DefaultScalarStyle enum (2009-02-24) py4fun
update Refactor: use 'switch' with Enum instead of multiple 'if' statements to distinguish nodes (2009-02-19) py4fun
update Refactor: use Enum instead of String as NodeId (2009-02-19) py4fun

Release 1.0.1 - 2009-02-18

Type Changes By
fix Do not emit anchors for Enum (2009-02-18) py4fun
fix Enum as a JavaBean property (when the Enum class is implicitly defined) does not need tags for both loading and dumping (2009-02-17) py4fun
fix Enum is emitted as a scalar node (2009-02-17) py4fun
fix Enum is parsed as a scalar node or as a JavaBean property (2009-02-17) Thanks to James Nissel. py4fun
update Refactor: for performance ScannerImpl.stalePossibleSimpleKeys() does not copy key Set (2009-02-10) py4fun
update By default allowUnicode=true. If it is necessary to escape Unicode use DumperOptions.setAllowUnicode(false) (2009-02-09) py4fun
add Implement allowUnicode setting (to escape Unicode characters on non UTF-8 terminals) (2009-02-09) py4fun
add Add possibility to specify tags for dumping (2009-02-09) py4fun
update Rename getExpRoot to getExplicitRoot to conform with standard JavaBean naming convention (2009-02-09) py4fun
update Rename explictStart and explicitEnd to standard setters to conform with standard JavaBean naming convention (2009-02-09) py4fun
fix Add possibility to specify a line break (2009-02-09) py4fun

Release 1.0 - 2009-02-06

Type Changes By
fix Use LinkedHashMap for Emitter.tagPrefixes to respect the order (2009-02-06) py4fun
fix Use LinkedHashMap for ScannerImpl.possibleSimpleKeys to respect the key order (2009-02-05) py4fun
add Add a test to prove that Yaml instances are independent and can safely be used in multithreaded environment like for instance a Servlet container (2009-02-05) py4fun
update The mailing list is renamed to snakeyaml-core to avoid a name conflict in Google AppEngine (2009-02-03) py4fun

Release 1.0rc2 - 2008-01-22

Type Changes By
add Provide possibility to define/eliminate the root tag for JavaBeans. Avoiding global tags helps to exchange YAML documents with other programming languages (2009-01-21) py4fun
fix Arrays as JavaBens properties are properly supported (2009-01-21) py4fun
update Do not emit redundant tags for JavaBeans (2009-01-20) py4fun
add Respect public fields in JavaBeans (2009-01-20) py4fun

Release 1.0rc1 - 2009-01-16

Type Changes By
update Replace String.getBytes(Charset charset) with String.getBytes(String charsetName) because String.getBytes(Charset charset) was introduced only in Java 6 (2009-01-16) py4fun
update Replace LinkedList.pop() with removeFirst() because pop() was introduced only in Java 6 (2009-01-16) py4fun
update Replace LinkedList.push() with addFirst() because push() was introduced only in Java 6 (2009-01-16) py4fun
add Implement type safe Map as a property of custom Java class (2009-01-16) py4fun
add Implement type safe List as a property of custom Java class (2009-01-15) py4fun
update Construct interface does not use generics. The type information is set to the Node (2009-01-15) py4fun
add Introduce TypeDescription as a single configuration option for a custom class (2009-01-15) py4fun

Release 0.91 - 2008-01-14

Type Changes By
add Add possibility to define shortcut tags for custom classes while loading (2009-01-13) py4fun
add Add possibility to define shortcut tags for custom classes while dumping (2009-01-13) py4fun
add Construct List as a JavaBean property. But due to erasure only standard Java classes created (2009-01-13) py4fun
add Import PyStructureTest from PyYAML (2009-01-13) py4fun
add Import canonical scanner and parser from PyYAML (2009-01-12) py4fun

Release 0.9 - 2008-01-12

Type Changes By
add Finish 2.27 example from the specification (2009-01-12) py4fun
add Add possibility to define a root class for Loader (2009-01-11) py4fun
update Use Java Generics in the Construct interface (2009-01-11) py4fun
update Use Java Generics in the Scanner interface (2009-01-08) py4fun
update Create ScannerIml only in ParserImpl (2009-01-08) py4fun
fix Import changeset 312 from PyYAML. Fix a bug in Emitter when writing folded scalars (2009-01-07) py4fun

Release 0.8 - 2009-01-07

Type Changes By
add Add possibility to use java.io.Reader as input. BOM must be respected. (2009-01-06) py4fun
update Import Changeset 308 from PyYAML: Refactored whitespace combination detector in the scalar analyser. (2009-01-06) py4fun
update Import Changeset 313 from PyYAML: Emit an explicit document end indicator when there is a possibility of ambiguous parsing. (2009-01-06) py4fun
update Use global tags (with !!) to dump Java custom instances. (2009-01-05) py4fun
update Use global tags (with !!) to load Java custom instances. (2009-01-05) py4fun
add Add example of defining a custom List and Map implementations. (2009-01-04) py4fun
fix Fix parsing Long.MIN_VALUE: respect the sign when parsing integers. (2009-01-04) py4fun
update when constructing integers try to create the first in the following order: Integer -> Long -> BigInteger. (2009-01-02) py4fun

Release 0.7 - 2008-12-20

Type Changes By
update Improve test coverage for constructor package (2008-12-20) py4fun
remove Remove support for "value" type because it is not used (2008-12-20) py4fun
update Require test coverage 95% (2008-12-19) py4fun
update Improve test coverage for Nodes (2008-12-19) py4fun
fix Fix dumping Date and better coverage for Representer (2008-12-19) py4fun
remove Remove unused code based on coverage report (2008-12-19) py4fun
remove Tokens are 100% covered by tests (2008-12-19) py4fun
remove Remove old tests (2008-12-18) py4fun
update Synchronized with PyYAML revision 307 py4fun

Release 0.6 - 2008-12-17

Type Changes By
add Many examples added to the Wiki page (2008-12-17) py4fun
update Public interface is using Iterator instead of Iterable (2008-12-17) py4fun
update Sort names when JavaBeans are represented (2008-12-15) py4fun
fix defaultFlowStyle for Dumper is configurable in DumperOptions (2008-12-12) py4fun

Release 0.5 - 2008-12-12

Type Changes By
add Add possibility to define an implicit resolver. {359:63190d5bcd10} (2008-12-11) py4fun
add Add possibility to define an explicit constructor. {356:ccaa0df9ca98} (2008-12-11) py4fun
update Java objects can be constructed from mapping (JavaBeans), from sequence (constructor) from scalar (constructor). (2008-12-10) py4fun
fix pairs tag works properly. (2008-12-08) py4fun
fix omap tag works properly. (2008-12-08) py4fun
add Implement possibility to define a custom Map implementation {332}. (2008-12-06) py4fun
add Implement possibility to define a custom List implementation {331:72c03254c184}. (2008-12-06) py4fun
add Path resolver is removed because it is not imported properly {330}. (2008-12-06) py4fun
add Constructor is overwritten completely. (2008-12-06) py4fun
add Implement possibility to define a custom Representer. (2008-12-01) py4fun
update Support arrays of reference types. Arrays of primitives are not supported because Arrays.asList() does not work. (2008-12-01) py4fun
update Import change 300 for Emitter from PyYAML. (2008-12-01) py4fun
fix Fix Node identity to avoid aliases for simple types - [1, 1]. (2008-11-28) py4fun
update Recursive objects can be represented (but not yet constructed) (2008-11-28) py4fun
update Binary is represented back as String (2008-11-28) py4fun
update Re-write Representer classes from scratch (2008-11-28) py4fun
fix 'null' can be a key in a map (2008-11-21) py4fun
fix !!set tag is parsed properly (2008-11-21) py4fun
update Single characters 'Y', 'N', 'y' and 'n' are parsed as String opposed to boolean as it is defined in the specification. This is how it is done in PyYAML (2008-11-21) py4fun
remove Constructor: because Java does not have generators 'deep' is not imported from PyYAML (2008-11-19) py4fun
update Composer imported from PyYAML (2008-11-17) py4fun
update Resolver.resolve() is using simple boolean argument instead of array of booleans as in PyYAML. (2008-11-18) py4fun
fix Fix: 'set' type works. (2008-11-18) py4fun
update Rewrite Parser from scratch. (2008-11-17) py4fun

Release 0.4 - 2008-11-11

Type Changes By
update Move constants from Yaml interface to appropriate classes (2008-11-10) py4fun
update Interface change: Yaml dumpAll() methods accept Iterable (2008-11-10) py4fun
update Interface change: Yaml loadAll() methods return Iterable (2008-11-10) py4fun
fix Scanner: copy keys to avoid java.util.ConcurrentModificationException when removing possible simple key (2008-11-10) py4fun
update Tag v0.3.1 (2008-11-08) py4fun
update MappingNode requires Map as a value and SequenceNode requires List as a value (2008-11-08) py4fun
update Marks in a Token are required (2008-11-08) py4fun
remove Remove prefixForward() method from Reader because it is not present in PyYAML (2008-11-08) py4fun
fix Fix a deviation with PyYAML in method scanBlockScalar(). 'chomping' can be null. Fix a bug in JvYaml that the trailing '\n' in a block scalar was removed.(2008-11-07) py4fun
fix Fix a deviation with PyYAML in method scanDirectiveIgnoredLine(). Put '#' instead of '"'. (2008-11-07) py4fun
add Restore from PyYAML the way the keys are parsed. (Restored methods are stalePossibleSimpleKeys() and removePossibleSimpleKey().) Fix issue http://code.google.com/p/jvyamlb/issues/detail?id=6. (2008-11-07) py4fun
update Refactor: put changed classes to 'org.yaml.snakeyaml' package. (2008-11-05) py4fun
update Move all the main() methods to the corresponding test classes. (2008-11-05) py4fun
update Change public interface. Rename YAML to Yaml. Remove all static methods from Yaml. Factory and configuration must be injected at the constructor. This way is closer to PyYAML API. (2008-11-05) py4fun
add Reader as in PyYAML is implemented. BOM is properly supported (2008-11-05) py4fun
add Restore Mark in Token as it is in PyYAML. Mark is not defined yet (2008-10-30) py4fun
fix Off-by-one in EmitterImpl.writeDoubleQuoted(). Fix issue: https://jvyaml.dev.java.net/issues/show_bug.cgi?id=11 (2008-10-28) py4fun
fix Respect Unicode characters. Fix issue: https://jvyaml.dev.java.net/issues/show_bug.cgi?id=10 (2008-10-28) py4fun
fix Respect sign for float. Fix issue: https://jvyaml.dev.java.net/issues/show_bug.cgi?id=13 (2008-10-28) py4fun
add Binary data is represented as ByteBuffer (2008-10-27) py4fun
fix When parsed, a timestamp in the canonical form (i.e, 2001-12-15T02:59:43.1Z) is interpreted as if it is in the default time zone. Fix issue: https://jvyaml.dev.java.net/issues/show_bug.cgi?id=7 (2008-10-27) py4fun
add Add Mark from PyYAML. It is not used yet. The JUnit test is migrated from PyYAML (2008-10-23) py4fun
update Apply SnakeYAML as the name of the library (2008-10-22) py4fun
update Reformat the source files (2008-10-22) py4fun
update Apply LICENSE info to source files (2008-10-22) py4fun
update Mavenize project. Apply standard Maven folder structure (2008-10-20) py4fun

Release 0.2.1 - 2008-10-20

Type Changes By
add Import project from https://jvyaml.dev.java.net/ (2008-10-20) py4fun