From: Andrey Somov <py4fun@gmail.com>
To: yaml-core@lists.sourceforge.net
Subject: [ANN] SnakeYAML-1.4: better support for immutable objects

=============================
 Announcing SnakeYAML-1.4
=============================

A new release of SnakeYAML is now available:

    http://code.google.com/p/snakeyaml/

This release delivers better support for immutable objects, a minor improvement to process JavaBeans 
as well as other minor changes and bug fixes.

Changes
=======
 * better support for immutable objects
 * Introduce JavaBeanLoader and JavaBeanDumper. Deprecate JavaBeanParser
 * Change Maven repository path: groupId=org.yaml, artifactId=snakeyaml

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/org/yaml/snakeyaml/1.4/snakeyaml-1.4.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.
