I am almost done with 1.53, soon I can move onto 2.0!
I had a bit of a scare, though, with the Joint interface. Nothing in the wrapper code or the Newton.h changed in relation to the joints, but my joint demo was crashing. I narrowed it down to crashing in NewtonUpdate() if function NewtonBodySetMatrixRecursive() is used on a zero mass object, attached by joint to an object with mass.
I noticed the wiki says this (same as CHM file):
this funtion should not be used to transform set of articulated bodies that are connected to a static body. doing so will result in umprediactable results. Think for example moving a chain attached to a ceiling from one place to another, to do that in real life a person first need to desconect the chain (destroy the joint), move the chain (apply the tranfomation to the entire chain), the reconect it in the new position (recreate the joint again).
Now to add to my confusion, in one of my projects I have a hinge joint working off a Tree Collision object without issue from NewtonBodySetMatrixRecursive, but when I try to do the same in a small demo it fails (crashes). So I was wondering if there's a hard/fast rule that I'm just lucky to avoid in that one project?
And this sort of thing used to work well in 1.32, so I'm wondering why the decision to take it away? It was quite handy to set a joint on a static body near the 0,0,0 coordinates and then move/rotate the static body wherever you want with the movable joint following. I feel I may have to do some translation/offset math now with joints.

Thanks for any insight.