These features are possible right now on the backend of git to be implemented. There's nothing blocking git to add these things. What git would need is a front-end (remember, the cli is a frontend) to implement these.
Don't get me wrong, I do agree fossil is adding some new cards to the table. I just think it would be better implemented as extensions to git than a new system made from scratch.