Snap! Release 1.8

Today I created a new release, version 1.8. You can find it on github.

This includes a ton of bug fixes that 1.7 was plagued with. It also includes new code (thread pool/thread worker) and especially, a break up of several objects from the libsnapwebsites to their own contrib projects.

This includes:

  • snapdev (18 header only functions from the libsnapwebsites)
  • addgetopt (snap_config.cpp/.h)
  • cppthread (snap_thread.cpp/h)
  • snaplogger (log.cpp/h)
  • eventdispatcher (snap_communicator.cpp/h)
  • snapcatch2 (our own catch project compatible with our projects)
  • cassandra-cpp-driver-snap (our own project)
  • libuv1-snap (our own project)

There is one other new project coming, snaprfs, which will allow for copying data between computers without having to do anything other than a one time setup which can happen at installation time.

The broken up code is going to be particularly useful to develop other projects where I want to reuse those elements, especially the cppthread, eventdispatcher, and snaplogger. I think that those three are particularly useful libraries and tools.

For more details, see the info about the release on github.

Many more things are coming:

  • better handling of the data in Cassandra (with blobs; instead of accessing the data one cell at a time, we want to read one blob which in comparison should be close to instantaneous)
  • snaprfs to duplicate files between computer (See above)
  • ipload to prepare a firewall from configuration files which we can easily tweak between projects by adding new files in the "/etc/iplock/rules/rules.d/..." folder
  • attempt to remove all the remaining "list" and use "index" instead
  • switch to the new projects: cppthread, snaplogger, eventdispatcher

These are the main feature I'm targetting for 1.9.

I also will try working with ScyllaDB instead of Cassandra. I have a new server which will allow me to create a real cluster running at full speed to test whether that will help or not. I can test with RAM disks (I have 512Gb of RAM) so that way it can really be full speed and 100% simulate a cluster on Digital Ocean where we generally run our Snap! servers.

Snap! Websites
An Open Source CMS System in C++

Contact Us Directly