There are several partitioning methods in MySQL, but they all reduce to spreading data over a predetermined number of partitions (see syntax here).
You can, however, setup a cron job or use the event scheduler to add new partitions as time passes.
This answer offers a nice procedure that could be triggered at regular intervals to achieve this effect. Modifying the procedure so that it partitions by year (instead of days) seems to be straightforward.