latest release with fixed adjacent_swap method