From: Andrey Somov <py4fun@gmail.com>
To: yaml-core@lists.sourceforge.net
Subject: [ANN] SnakeYAML-1.8 final is available

==========================
 Announcing SnakeYAML-1.8
==========================

A new release of SnakeYAML is now available:

    http://www.snakeyaml.org

This release delivers a significant performance improvement, Compact Object Notation
as well as other minor changes and bug fixes.

Changes
========
 * fix for issue 88: Custom tag erased when referenced from generic collection
 * fix for issue 80: Timestamp is not parsed properly when milliseconds start with 0

The complete list of changes is here: http://snakeyamlrepo.appspot.com/releases/1.7/site/changes-report.html 

Resources
==========

SnakeYAML homepage: http://www.snakeyaml.org
SnakeYAML documentation: http://code.google.com/p/snakeyaml/wiki/Documentation

JAR package: http://repo2.maven.org/maven2/org/yaml/snakeyaml/1.7/snakeyaml-1.7.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
================

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 released under the Apache License Version 2.0
