What version of PostgreSQL first implemented autovacuum?
Prior to PostgreSQL 8.1 it was an extension; 8.1 moved autovacuum into the distribution and away from pg_autovacuum, from the release notes

Move /contrib/pg_autovacuum into the main server (Alvaro)
Integrating autovacuum into the server allows it to be automatically started and stopped in sync with the database server, and allows autovacuum to be configured from postgresql.conf.

But concurrent vacuuming and enabled-by-default autovacuum was introduced in 8.3,

Autovacuum is now enabled by default (Alvaro)
Several changes were made to eliminate disadvantages of having autovacuum enabled, thereby justifying the change in default. Several other autovacuum parameter defaults were also modified.