Yes it was discouraged previously. It became an implementation detail in 3.6 but is wasn't guaranteed. But now it is guaranteed in version 3.7:
> Changed in version 3.7: Dictionary order is guaranteed to be insertion order. This behavior was an implementation detail of CPython from 3.6. [0]
[0] https://docs.python.org/3.7/library/stdtypes.html#typesmappi...