Calgary had acquired Primeau, who was to become an unrestricted free agent Sunday, from the Boston Bruins in a February trade that also brought defenceman Brad Stuart to the Flames.
Primeau, 31, had three goals and four assists in 27 games for the Flames. The six-foot-four, 230-pound forward played a defensive role on Calgary's third and fourth lines. He had two assists in six playoff games.
Primeau's salary was US$1.15 million last season. In the new deal, he'll earn $1.4 million a year.
Calgary acquired 26-year-old Hale from New Jersey at the Feb. 27 trade deadline. The six-foot-one, 215-pound rookie had one assist in 43 games for the Devils before he was traded to Calgary, where he played another 11 regular-season games and appeared in two playoff games.
Hale was a first-round draft pick, 22nd overall, of the New Jersey Devils in 2000. His salary last season was US$550,000.