After five months since the last patch and almost two years since the 0.2.0 release, version 0.3.0 of the minimalist Wayland tiler river has dropped last week.
The new version improves rendering performance and damage tracking, adds several quality of life features, such as resizing windows from all sides, extend the rules system, and supports several new Wayland protocols like text-input-v3, input-method-v2, fractional-scale-v1 and more.
I think the biggest difference is dynamic (river) vs manual tiling (sway). Other than that, I feel sway is much more mature and there's a proper community surrounding it that had written scripts and tools that work with sway. Many of which you are probably gonna use with river as well (swaylock, swaybg, swayidle).
One thing that's pretty cool about river (at least in theory) is that the tiling algorithm is not part of the compositor itself. Instead, you can run any river tiling program and have that part be completely custom if you wish. Also configuration is done via commands instead of a config language (you usually run a bash script at start).
From what I remember, the vision of Isaac Freund (main developer) is, that river will become more of a tiling compositor base, that others can then use to create their own distributions. I heard that in some talk he gave. You should be able to find that on YouTube.
However, there's still a long way to go.
In it's current state, river reminds me of spectrwm. Very simple, with some cool, but ultimately non-essential, ideas that you probably won't find anywhere else.