"We would like to thank Josh for his work and dedication," Alouettes general manager Kavis Reed said in a statement. "He was a consummate professional throughout camp. We respect his decision and we wish him the best in the future."
Freeman, 30, signed a two-year contract with Montreal in January. He did not play a game for the franchise.
A 2009 first-round pick, Freeman had an up-and-down NFL career. He threw for 13,873 yards and 81 touchdowns against 68 interceptions, playing for the Tampa Bay Buccaneers, Minnesota Vikings and Indianapolis Colts. His best season came in 2010, when he threw for 3,451 yards and 25 touchdowns against six picks while looking like a potential franchise quarterback.
However, his inconsistency got the better of him. Freeman had a penchant for throwing bad interceptions; the 2010 campaign was his only one as a starter where he didn't have at least 17 picks. There were also questions about his work ethic and behavior, both in Tampa Bay and Minnesota.
Freeman's last NFL appearance came in January 2016. The CFL was seen as Freeman's last real hope of making a comeback after two full seasons out of the sport.