The French parliament definitively adopted a set of contentious labour reforms on Thursday which sparked months of violent
protests against a package seen as a threat to cherished workers' rights.
Prime Minister Manuel Valls used a constitutional tool to force the legislation through parliament three times, to avoid rebel Socialist backbenchers sinking it.
After the passage of the reform Valls praised "a great step for the reform of our country: more rights for workers, more visibility for our small and medium enterprises and more jobs."
After a lengthy bicameral shuttle the reforms were considered adopted on Thursday afternoon after no lawmakers called a vote of no confidence in the government.
In a sign of the divisions among the Socialists, lawmakers from the ruling party were only two votes short of calling a vote of no confidence.
The Republicans opposition party said it would take the matter to the constitutional council, and the Left Front said it would do the same to denounce "a forceful passage which only strengthens a democratic crisis in our institutions".
Unions have vowed to continue their protests, many of which ended in violence, in September.
The proposed labour reforms are aimed at making the job market more flexible and reducing unemployment, stubbornly high at around 10 percent.
The stand-out changes will make it easier for firms to lay people off when their are going through tough times, although strict rules have been laid out for when companies can make redundancies on these grounds.
The reforms are also aimed at weakening the power of trade unions by allowing companies to enter into negotiations with workers at a company level rather than a sector level, where union representation is strong.
But critics see the measures, which would make it easier to hire and fire people, are too pro-business and would fail to bring down the jobless count.
Those in business, who have long been calling for more flexibility in the job market, have also criticized the bill on the grounds that it does not go far enough.