Yesterday at Logilab we had a small meeting to discuss about a roadmap to
Cubicweb 3.28 (and beyond), and we would like to report back to you from this
Cubicweb 3.28 will mainly bring the implementation of content negotiation. It
means that Cubicweb will handle content negotiation and will be able to return
RDF using Cubicweb's ontology when requested by a client.
The 3.28 will have other features as well (like a new
variables attributes to
ResultSet that contains the name of the projected variables, etc). Those
features will be detailed the release changelog.
Before releasing this version, we would like to finish the migration to
heptapod, to make sure that everything is ok. The remaining tasks are:
- fixing the CI (there is still some random failings, that need further investigation)
- migrate the jenkins job that pushes images to hub.docker.com on heptapod,
to make everthing available from the forge. It will be explicit for
everyone when a job is done, and what is its status.
Beside of releasing Cubicweb 3.28, its ecosystem will also be updated:
- logilab-common, a new version will be released very soon, which brings a
refactoring of the deprecation system, and annotations (coming from
- yams, a new version is coming. This version:
- brings type annotation (manually done, a carefully checked);
- removes a lot of abbreviation to make the code clearer;
- removes some magic related to a object which used to behave like a
The goal of these two releases, is to have type annotations in the core
libraries used by CubicWeb, and then to be able to bring type annotation into
CubicWeb itself, in a future version.
On those projects, some “modernisation” has been started too ; (fixing flake8
when needed, repaint the code black). This “modernisation” step is still on
going on the different projects related to CubicWeb (and achieved for yams, and
In the medium term, we would like to focus on the documentation of CubicWeb and
its ecosystem. We do know that it's really hard for newcomers (and even ourself
sometime) to understand how to start, what each module is doing etc. An
automatic documentation has been released for some modules (see 1,
2 or 3
for instance). It would be nice to automatize the update of the documentation on
readthedocs, update the old examples, and add new ones about the new feature we
are adding (like content negotiation, pyramid predicates, etc). This could be
done in team Friday's sprint or hackathon for instance. CubicWeb would also need
some modernisation (running black ? and above all, make all files flake8
Regarding CubicWeb development, all (or, at least a lot of) cubes and Cubicweb
related projects moved from cubicweb.org's forge to our instance of heptapod
(4 and 5). Some issues have been imported from cubicweb.org to heptapod. New
issues should be opened on heptapod, and the review should also be done there.
We hope that will ease the reappropriation of the code basis and stimulates new
To end this report, we like to emphasis that we will try to make a « remote
Cubicweb meeting » each Tuesday at 2 pm. If you would like to participate to
this meeting, it's with great pleasure (if you need the webconference URL, contact one of us, we will provide it to you). We also created a #Cubicweb channel
on matrix.logilab.org ; feel free to ask for an invitation if you'd like to
discuss Cubicweb related things with us.
All the best, and… see you next Tuesday :)