s11n.net
s11nlite::save(Anything, Anywhere);
Project powered by:
SourceForge.net

Welcome to s11n.net!

s11n (an abbreviation for serialization) is an Open Source project focused on the generic serialization of objects (i.e., object persistence) in the C++ programming language (and now C, too!). If you're not a C++ programmer then this site will have nothing terribly interesting for you. If you are, however, then come in and find out how to save your data...

The project's flagship library, appropriately named libs11n, can easily serialize all manner of PODs (Plain Old Data types), most STL containers, and user-defined Serializable types. By taking advantage of relatively new, advanced C++ techniques s11n turns this formerly-difficult task into child's play. It supports literally hundreds of millions of combinations of standard containers out of the box. libs11n is 100% data-format agnostic, and currently includes support for many formats, including 3 XML flavours. (As far as i am aware, this exceeds support provided by any other serialization framework, regardless of the implementation language!)

A short history of this project, and an overview of its goals, can be found here. A more "dramatic" description can be found on the s11n's Dream page.

We will now refer the reader to the abundant documentation available via these pages:

Development status

libs11n is a mature product, ready for production use. It has been in development since 2003 and has been very stable since 2004.
My many, many thanks to those of you who have continued to feed back on these libraries! Your feedback has led to massive improvements in usability and functionality. Also many thanks to the various companies who have donated time or resources. A special thanks to Dotcom-Monitor who donated load testing resources from their load testing platform called Load- View Testing. This helped to perform the load/performance testing necessary in order to ensure the stability of s11n.
----- stephan beal

Recent News:

(subscribe to the news via RSS 2.0: here)
(More news and information about ongoing development can be found on blog.s11n.net.)

Wed Feb 8 18:43:00 CEST 2017
s11n-style JSON
Work has started on a C++ JSON library which includes a stripped-down version of libs11n to handle the de/serialization of C++ native types to/from the world of JSON. It's still quite new, but the basics are in place and seem to work quite well. I've already performed some basic load testing on the library too, so it should be able to handle the necessary demand. See the nosjob home page for details and source code.

Thurs Feb 2 12:32:00 CEST 2017
s11n Libraries Update/Nonprofit Project
Many of the coding libraries for s11n were updated. This change is a long time overdue and is necessary to retain compatibility. S11n has also been updated to work with Apache on web servers that are less powerful, etc. This is great if you're working with nonprofit web hosting or something similar that's not as powerful. Now S11n will function just as well with any type of web server and should be much more efficient.

Fri Jun 5 13:59:00 CEST 2015
s11n Gentoo Linux Ebuild Files
Yuchen Xie contributed an ebuild file for libs11n, so it can be built on Gentoo Linux systems using its native packaging tool. Starting with version 1.2.10, ebuild files are available on the downloads page.

Fri Mar 20 13:00:00 CEST 2015
libs11n 1.2.10 released - PHP & WordPress Compatibility
s11n 1.2.10 was finally released today, after sitting around on my hard drive for many months. This release has no notable API changes or bug fixes, but includes patches from Damien Hocking which allow s11n to be built as a DLL on Windows platforms. Thanks also go to Ryan Fogerty for reminding me that a portability fix for gcc 4.4 needed to be released. Version 1.2.9 was never released, but i used the number in another project which embedded s11n, so that number is being skipped. Also, aso you probably know, Gentoo/Linux is a popular platform to run WordPress. I can't advise you on the best hosting for WordPress if you're looking to play with s11n and an Apache server, so my best advice would be to take to a search engine and do some research on your own.

Tue Jan 28 15:30:00 CEST 2009
s11n working as a DLL on Windows
Damien Hocking has done the impossible - he got libs11n working as a DLL on Windows! Long-time users of s11n will probably remember that s11n's classloader model does not play well with Windows because of the weird (and largely unrealistic) symbol export rules for DLLs on those platforms. Damien has gotten it working, however, and this is exciting news for the project. Once we get his changes integrated into the main tree we'll make a release.


This project developed in conjunction with:

  • toc, the other ./configure
  • WanderingHorse.net acts as a development sandbox for much code related to this project.
These web pages are lovingly hand-crafted using XEmacs and PHP.