You are correct that OpenSprinkler 3.0 only works with expander version 3.0 — this expander and the previous (2.1) use completely different connectors and pins, so they are not compatible.
More technically, expander 3.0 uses I2C IO expander chips, while previous version uses a simple shift register. This changes was done for a variety of reasons: the I2C IO expander chip uses much fewer pins, is easy for the microcontroller to enumerate directly (previously the enumeration has to be done through an analog pin, and the ESP8266 WiFi chip only has 1 analog pin already reserved for current sensing), and it can output higher current, which helps to turn triac fully on (whereas the shift register’s output current is much more limited). In any case, for these reasons, the hardware was completely changed.
If you’ve bought previous versions of OpenSprinkler, and considering upgrade, you can contact us and we may be able to offer some discounts so that you don’t have to pay full price for the controller and expanders.