Specify versions for dependencies

Too old or too new versions of dependencies can break a library. To avoid this, explicitly specify versions for dependencies.