The Texas Rangers have agreed to a one-year, $3 million deal with David Dahl, according to sources.

Dahl, 26, was nontendered by the Colorado Rockies earlier this month.

The outfielder is recovering from right shoulder surgery in September.