It's only been about 4 months since we released Ensembles 1.0, but it's already time for Ensembles 2. We've spent that time rewriting large parts of the framework, with performance and resource usage the focus.
Ensembles 1.x is robust and works great for most apps. But apps with complex models or large data stores could not really make use of the framework, because Ensembles 1.x must be able to load the full store into memory at various times.
With Ensembles 2, our focus was on improving performance, reducing memory usage, and reducing cloud data storage. To give you an idea of the progress made, cloud storage has been reduced by up to 50 times in Ensembles 2. You read that right — many cloud files are only 2% of the size of their Ensembles 1.x counterparts.
Ensembles 2 is not open source. We are making it available with purchases of a package. You can get the binaries for just $179, and full source code starting at $299.
Should you use Ensembles 1.x or Ensembles 2? Ensembles 1.x is still maintained and developed. It's free and open source, and will work well for many apps. If it works for you, there is no need to adopt Ensembles 2.
If you worry about memory usage, or want to minimize cloud storage, Ensembles 2 is probably the way to go. It's a drop-in replacement — the API has been extended, but is fully compatible with Ensembles 1.x — so it's easy to start with Ensembles 1.x and move to Ensembles 2 before shipping.
If you already have a shipping app using Ensembles 1.x, you need to be aware that although Ensembles 2 has an API that is compatible with Ensembles 1.x, it is not binary compatible. In particular, the cloud file storage format is changed, so you should not mix Ensembles 1.x and Ensembles 2 cloud data. The easiest way to migrate is simply to deleech, remove the cloud data, and create a new Ensemble under a different name (e.g. MainStore.v2).