The biggest changes in CRAM v0.4.0 is comparison to v0.3.0 is the restructuring:
all main CRAM repositories got merged into one big repo, which makes maintenance and installation easier. Now we can be sure that all the packages have compatible with each other versions. Moreover, to install CRAM you now only need to clone one repository from GitHub, run rosdep install and you're ready to go.

For those who worry about huge repositories with enormous dependencies: don't worry! With the new script for managing dependencies, only the dependencies of a particular high-level package you want to use or a particular tutorial code, will be installed on your system. It's a smart script that crawls the package.xml file of the entry high-level package and all its dependencies and adds CATKIN_IGNORE files automatically to all the unused packages. More about this in the v0.4.1 blog post, stay tuned.

The tutorial on using PR2 for pick and place tasks in a fast simulation environment has been updated with new cool plans, so do check it out. The beginner tutorials have also been updated and majorly improved, with these tutorials learning CRAM hasn't ever been more fun than it is now.

In cram_core, we've got 2 new features together with small nicifications and fixes, no API breakage. Now we have motion designators, which are a new class of designators used to interface with process modules, calling PERFORM on them results in calls to process modules. PERFORMing action designators, on the other hand, now calls other plans. Check out the tutorial for this new feature.

In cram_3rdparty, yason has been updated to a newer version with no API breakage

cram_plans got renamed into cram_common, which seems to be a much more fitting name for the repo. Also, cram_transforms_stamped got renamed into cram_tf, which is shorter. No API breakage except the renamings. There have been important bugfixes in the location costmap functionality, better initialization of cram_tf variables, some new utility functions in cram_tf and cram_robot_interfaces and a new package cram_commander to execute CRAM actions over ROS.

cram_semantic_maps got renamed into cram_knowrob and there were some bugfixes and updates to support newer KnowRob APIs and the new semantic map of the kitchen.

cram_3d_world got rid of some unused dependencies, moveit-specific things were moved away into the cram_pr2 repo, household objects were renamed into items to support other domains than human household, new utility functions, nicifications etc.

in cram_pr2 there have been lots of changes: process module bugfixes, a new cram_motion_manager package to support different motion planners, reachability costmap now supports moveit IK interface, there are new low-level interfaces, designators and plans also available for PR2, etc.

the rosinstall file for CRAM has been updated to use the newest version.

All the main CRAM repositories now contain a CHANGELOG.md file!

On the aforementioned repositories, there have been 39 PRs merged, 15 issues solved, and there are currently no PRs or issues open!