From: Andrey Somov <py4fun@gmail.com>
To: yaml-core@lists.sourceforge.net
Subject: [ANN] SnakeYAML-1.3: support for recursive objects

=============================
 Announcing SnakeYAML-1.3
=============================

A new release of SnakeYAML is now available:

    http://code.google.com/p/snakeyaml/

This release delivers complete support for recursive objects as well as minor changes and bug fixes.
A very important milestone is met: all the issues are fixed !
(http://code.google.com/p/snakeyaml/issues/list)

Changes
=======
 * recursive objects are fully supported
 * further improve test coverage
 * minor bug fixes when constructing JavaBeans

Resources
=========

SnakeYAML homepage: http://code.google.com/p/snakeyaml/
SnakeYAML documentation: http://code.google.com/p/snakeyaml/wiki/Documentation

JAR package: http://snakeyamlrepo.appspot.com/repository/SnakeYAML/SnakeYAML/1.3/SnakeYAML-1.3.jar
Reports: http://snakeyamlrepo.appspot.com/

SnakeYAML Mercurial repository: http://snakeyaml.googlecode.com/hg/
Submit a bug report: http://code.google.com/p/snakeyaml/issues/entry

YAML homepage: http://yaml.org/
YAML-core mailing list: http://lists.sourceforge.net/lists/listinfo/yaml-core


About SnakeYAML
============

YAML is a data serialization format designed for human readability and
interaction with scripting languages.  SnakeYAML is a YAML parser and
emitter for Java 5.

SnakeYAML features a complete YAML 1.1 parser.
SnakeYAML is applicable for a broad range of tasks from complex
configuration files to object serialization and persistence.


Copyright
=========

SnakeYAML is developed by Andrey Somov <py4fun@gmail.com>.

SnakeYAML is released under the MIT license.
