Sorry, completely missed this comment.

The current PyPI version is [1.2.3](https://pypi.python.org/pypi/behave/), which doesn't yet have the change you show. So I don't think it makes sense to implement this change in this way since it breaks behave stable branch.

We could, however, turn this into a try/except which would future-proof it for the next version. That is, something like this:

    try:
        undefined_steps = runner.undefined_steps
    except AttributeError:
        undefined_steps = runner.undefined
    for step in undefined_steps:
        ...