CubicWeb version 4 is now alive!

After more than 10 years developing and maintaining CubicWeb 3 we are pleased to announce the release of CubicWeb 4!

The main idea behind this major release is to transform the CubicWeb library into a headless framework with a convenient API so that every projects can build its own frontend with the technologies of his choice. This is why we decided to remove HTML generation from CubicWeb. But rest assured, the HTML views are still provided by the cubicweb-web cube and a CubicWeb 3.x project won't have to rewrite its whole frontend code. However, they are now considered legacy and they will receive minimal maintenance.

In order for developers to build their applications, we are in the process of building Typescript tooling to ease the creation of web frontends.

You can follow this guide to migrate from CubicWeb 3.38 to CubicWeb 4.0.

Apart from the extraction of thecubicweb.web module, here are some other major changes which landed in this release:

  • a new cubicweb-ctl config command to show the actual configuration of an instance
  • /<eid> and /<entity type>/<eid> routes can return either HTML or RDF depending on the value of the HTTP Accept header. These routes are enabled by default, but you can be disabled by editing your pyramid.ini.
  • in RQL statements, NOW and TODAY are now evaluated differently depending on the entity type they represent (Datetime, TZDateTime or Date), leading to more predictable behaviour
  • the cubicweb-ctl start command replaces cubicweb-ctl pyramid.

A full changelog for this new major version is available here.

We will go deeper in the frontend development for CubicWeb 4 in a future blog entry which will be published here.

Stay tuned!