Egypt protests: Army say they will not use force on demonstrators as Mubarak announces cabinetThe president of Egypt has suffered a "devastating blow" after the country's army announced they would not use force against their own people, who continue to protest against the government tonight. The news came hours after six journalists who reported on the protests were released from custody.Hosni Mubarak yesterday announced a new cabinet, which does not include several figures who protesters largely do not approve of. Analysts have, however, suggested little had changed within the government; many positions, they say, are filled with military figures.Army will 'not use force'.To the great people of Egypt, your armed forces, acknowledging the legitimate rights of the people ... have not and will not use force against the Egyptian people.Egyptian army statementIn a statement broadcast on state media in Egypt, the army said: "To the great people of Egypt, your armed forces, acknowledging the legitimate rights of the people ... have not and will not use force against the Egyptian people." A BBC correspondent in Cairo said the announcement meant it "now seems increasingly likely that the 30-year rule of Mr Mubarak is drawing to a close.""The presence of the army in the streets is for your sake and to ensure your safety and wellbeing. The armed forces will not resort to use of force against our great people," the statement added. "Your armed forces, who are aware of the legitimacy of your demands and are keen to assume their responsibility in protecting the nation and the citizens, affirms that freedom of expression through peaceful means is guaranteed to everybody."Journalists releasedEarlier today, six journalists from the independent news network Al-Jazeera were released from custody after being detained by police. The U.S. State Department criticized the arrests; equipment was reportedly confiscated from the journalists.HAVE YOUR SAYEgyptian officials yesterday ordered the satellite channel to stop broadcasting in the country. Al-Jazeera said they were "appalled" by the government's decision to close its Egyptian offices, which they described as the "latest attack by the Egyptian regime to strike at its freedom to report independently on the unprecedented events in Egypt".In a statement, the news agency added: "Al-Jazeera sees this as an act designed to stifle and repress the freedom of reporting by the network and its journalists. In this time of deep turmoil and unrest in Egyptian society it is imperative that voices from all sides be heard; the closing of our bureau by the Egyptian government is aimed at censoring and silencing the voices of the Egyptian people."On Friday, Wikinews reported the government had shut off practically all Internet traffic both out of and into the nation, as well as disrupting cellphone usage. A spokesperson for the social networking website Facebook said "limiting Internet access for millions of people is a matter of concern for the global community."A reported 50,000 campaigners, who are demanding the long-time leader step down and complaining of poverty, corruption, and oppression, filled Tahrir Square in Cairo today, chanting "We will stay until the coward leaves." It is thought 100 people have so far died in the demonstrations. Today there have been protests in Suez, Mansoura, Damanhour, and Alexandria.Speaking to news media in the area, many protesters said the new cabinet did little to quell their anger. "We want a complete change of government, with a civilian authority," one said. Another added: "This is not a new government. This is the same regime—this is the same bluff. [Mubarak] has been bluffing us for 30 years."In Tahrir Square today, protesters played music as strings of barbed wire and army tanks stood nearby. Demonstrators scaled light poles, hanging Egyptian flags and calling for an end to Mubarak's rule. "One poster featured Mubarak's face plastered with a Hitler mustache, a sign of the deep resentment toward the 82-year-old leader they blame for widespread poverty, inflation and official indifference and brutality during his 30 years in power," one journalist in the square reported this evening.Article published by Wikinews.org