Penny, who opened his career with the Florida Marlins from 2000-04, is 119-100 with a 4.26 ERA in 13 seasons. He last pitched in 2012 with the San Francisco Giants, going 0-1 with a 6.11 ERA in 22 games (no starts).
The Kansas City Royals signed him to a minor-league deal in January but released him on March 7 after four innings when he surrendered seven runs on 13 hits.
In 2012, prior to joining the Giants, Penny agreed to a one-year, $3 million deal with the Fukuoka SoftBank Hawks. He lasted just one outing there, allowing six runs and five stolen bases in only 3 1-3 innings.
As a Marlin, Penny won 48 games, which ranks fifth in franchise history. His two victories in the 2003 World Series helped Florida capture its second title.
Left-hander Randy Wolf, who the Marlins designated for assignment on Monday, elected free agency on Wednesday. He started four games and came on in relief in another two after signing with the club in mid-May.