The White Sox have announced a $42 million US, three-year contract with free-agent outfielder Melky Cabrera.

Cabrera will make $13 million US in next year, $14 million US in 2016 and $15 million US in the final season of the deal. The agreement also includes limited no-trade provision for the 30-year-old Cabrera, who hit .301 with 16 homers and 73 RBIs in 139 games with Toronto last season.

The busy White Sox already had a news conference scheduled for Tuesday to introduce off-season acquisitions Jeff Samardzija and David Robertson, and the team said Cabrera will be available, as well.

White Sox outfielder Adam Eaton welcomed Cabrera in a tweet on Saturday night, and then Cabrera retweeted the message — signalling a deal was imminent. WSCR-AM 670 was the first to report the agreement.

Cabrera has spent the last two seasons with the Toronto Blue Jays after winning the World Series with the San Francisco Giants in 2012. He made his major league debut in 2005 with the New York Yankees and is a .286 career hitter with 88 homers and 520 RBIs in 1,211 games.