Funnily enough, I've recently been searching for an alternative to the current Box2D physics, as I have hit a few roadblocks due to 1 major limitation in the current physics behaviour - collision filtering.
I keep wondering if collision filtering is simply not possible with Box2D, and perhaps something else such as chipmunk, or Matter.JS, could give us collision filtering. On C2, I literally couldn't have made a specific project I was doing if it weren't for R0j0's amazing chipmunk physics plugin (so much appreciation for that, R0j0!)
A very basic example of why collision filtering is important - say you make a multiplayer platformer game using physics only, and you want to have "jump thru" platforms - If Player 1 is travelling down and needs to land on the jump-thru, whilst Player 2 is jumping from below the jump-thru, you would want to enable collisions between Player 1 and the jump-thru, and disable collisions between Player 2 and the jump-thru.
You cannot achieve this, as once you disable collisions for Player 2, then ALL players will have their collisions disabled, meaning Player 1 falls right through the jump-thru.
There are likely workarounds, one I saw was to have a 2nd type of player object attached to the main player object, and then enable/disable the physics behaviour depending on whether they need to travel up or down, but that is quite tricky and fiddly to deal with. I did test a hopeful workaround which was adding 2 physics behaviours to 1 object, but from my tests, I think Box2D goes by UID, so if you disabled collisions with the jump-thru on the 2nd physics behaviour, it disables collisions for the 1st physics behaviour too. Arrgh!
On a project I'm working on, I wanted to have physics cars to drive through sonic-style loop-de-loops, which involves enabling and disabling collisions as you reach different segments of the loop. Very doable with solids or pure events, but I cannot find a way to do this with physics, and I really don't want to have to clone every vehicle part and make sure to match their physics properties and collision polygon every time I want to make a change - I can imagine it being even more complicated when dealing with switching to the cloned vehicle parts when a vehicle is made up of physics wheel joints and such.
Definitely something for the suggestions platform, but need to write it all up neatly!