Everything herein has moved to RubyForge.
Syck is now at 0.45: http://rubyforge.org/projects/syck/
RedCloth is now at 2.0.11:
This weekend Rich Kilmer gave me a script which crashed YAML for Ruby. Certain nodes which extended beyond Syck's default buffer size were causing segfault. Thanks to Rich's script, I was able to find and kill this bug. So, here I am releasing an update.
Rather stable bytecode support is also available in this version. Enjoy (but not so much that you become the green smurfs which gnash on other smurfs' tails.)... read more
Syck 0.35 is in the can!
Welcome to the first stable release of Earth's premier YAML parser! This release includes YAML.rb 0.60 (for Ruby 1.6.x). If you are using Ruby 1.8.0, then simply update Ruby from CVS. Syck comes with Ruby 1.8.0.
I am also proud to announce that I will be adding an emitter to Syck. This will complete Syck as a YAML toolkit for scripting languages.
Many adulations to the ruby-core team that have helped by submitting bug reports.
At last, Syck and YAML.rb have converged. This latest version of Syck has come a long, long ways. I'm about to where YAML.rb 0.50 left off. The descrepancies have to do with rarely used features at any rate. Don't use type families, though, because I'm redoing things for 0.60, which is days away.
Enjoy! The Python and PHP extensions for Syck are included and work wonderfully!
If you haven't been following my weblog, Syck is a new YAML extension coded in C. This release features extensions in Ruby, PHP and Python. Syck will replace parts of YAML.rb and is (hopefully) a shoe-in for Ruby 1.8.
I have now issued two subreleases to 0.49. Small changes have crept into the YAML spec over the month of January and these releases give me a chance to test them before releasing a general 0.50.
These releases have been somewhat volatile. YAML generated by 0.49 may not be loaded the same in 0.49.1. YAML generated by 0.49.1 may not be loaded identically in 0.49.2.
Please file bugs for anything you are not sure of.
Hi. 0.49 is here. After three months of work. I've rebuilt the tokenizer. It's a bit speedier and is updated for the spec.
This release has an increase in speed, a few bugfixes, a lot of minor stuff. Here's the deal: I've rewritten the tokenizer for speed in 0.50. I'm now writing some necessary optimization to preprocess the tokens before actual parsing occurs. I've backmerged some of these changes to 0.47. It's gonna be a week before I am fully satisfied with 0.50. In the meantime, I'll merge in anything meaningful and release it before 0.50. Thanks for your patience. I have literally written four different parsers to help me narrow down the fastest techniques.
Yod now generates PDF, in addition to CHM and HTML. Still working on man/info. You can download the PDF docs for 0.45 in the files section. Yes, I know 0.45 isn't out yet. Basically, I'm going to release a 0.46 of yaml.rb and sync all of the documentation formats along with it.
Hello. The latest release of YAML.rb features increased stability as well as a few modules under the growing umbrella of the Okay project. !okay/rpc is analogous to XML-RPC for YAML. !okay/news is analogous to a way-stripped-down RSS. Enjoy!
The 0.42 contains a bunch of new features that will become fleshed out in the next few weeks. First, we have an API for accessing the generic data of a YAML document through a DOM-like interface. Second, YPath support through this same API.
Some bugfixes also in this release. Thanks to Michael Witrant for patches.
This release is updated for the latest "Last Call" specification (see http://yaml.org/spec/\) released 01 Sep 2002. The release also has a new !ruby/pairs type, improved inline syntax, emitter optimizations, and fixes to round-tripping classes inheriting from Hash/Array. Thanks to Torsten Rger for the bug report.
Some fine new features up in 0.40: the Emitter now handles circular references! I also have a new system for writing your own to_yaml methods, which will be very useful to writers of custom classes. Tons of fixes thanks to a handful of generous users out there (Tom Sawyer in particular helped uncover quite a few).
This release was quite a bit of work. Added Unicode support. Basically, if you have the Ruby Iconv module, it'll convert betwixt UTF-8, UTF-16, UTF-32 and the internal Ruby encoding. It'll work for now.
Also, the Emitter has been made into its own class to make YAML.rb threadsafe.
There's still alot of steps ahead. The anchor and alias code hasn't been introduced yet. And tabs still need to added. Hopefully all by 0.40.
I've renamed this project YAML.rb, as the 4R really stunk. Yeah, it's true.
The new 0.36 is closer in compatibility and includes the examples used in the new cookbook: http://yaml4r.sf.net/cookbook/
the 1/3 release (0.33) is available. As always, many fixes to approach closer compliance. Many thanks to Tobias Peters, Robert Wagner, Clark Evans, and Steve Howell for their bug reports, helpful criticism and/or encouragement.
The latest release just gets even stabler! We're at 96% compliance with the specification tests! Support for generic Object serialization now! More tests than ever before! Nearly 100! Still no tabs though!
This release introduces better multiline support, the beginnings of the Yod documentation format, better roundtripping and such.
Massive updates since 0.17. Stream parsing, add your own types, better support of the spec, more unit tests.
Can't wait to get out of coding mode, so we can document this sucker!
The big deal is just streamlining the release process. Changelog in YAML will be integrated with the website. Adding specification compliance changes to the README.
Let me tell ya. This project is a blast.
The first public release of the new YAML parser/emitter for Ruby. While shy on many features of YAML, such as block styles, and allowance of tabs, parsing of multiple documents, this release covers a surprising amount of the spec for a first release.
If you're a Ruby developer, you'll love this library! YAML is similiar in syntax to Ruby. YAML is a natural companion for object serialization and text formatting.