Is undecidability a requirement for open-ended evolution (OEE)? Using algorithmic complexity theory methods, we propose robust computational definitions for open-ended evolution and adaptability of computable dynamical systems. Within this framework, we show that decidability imposes absolute limits to the growth of complexity on computable dynamical systems up to a double logarithmic term. Conversely, systems that exhibit open-ended evolution must be undecidable, establishing undecidability as a requirement for such systems. Complexity is assessed in terms of three measures: sophistication, coarse sophistication and busy beaver logical depth. These three complexity measures assign low complexity values to random (incompressible) objects. We conjecture that, for similar complexity measures that assign low complexity values, decidability imposes comparable limits to the stable growth of complexity and such behaviour is necessary for non-trivial evolutionary systems. Finally, we show that undecidability of adapted states imposes novel and unpredictable behaviour on the individuals or population being modelled. Such behaviour is irreducible.