Thursday, July 9, 2026
aff4639e-9a74-4ad9-9d31-5b2a8e27d930
| Summary | ⛅️ Mostly clear throughout the day. |
|---|---|
| Temperature Range | 22°C to 30°C (71°F to 85°F) |
| Feels Like | Low: 77°F | High: 95°F |
| Humidity | 76% |
| Wind | 11 km/h (7 mph), Direction: 166° |
| Precipitation | Probability: 0%, Type: No precipitation expected |
| Sunrise / Sunset | 🌅 05:42 AM / 🌇 08:03 PM |
| Moon Phase | Waning Crescent (81%) |
| Cloud Cover | 21% |
| Pressure | 1007.41 hPa |
| Dew Point | 70.78°F |
| Visibility | 5.88 miles |
Cabinet will likely next week discuss planned changes to the police protection offered to high-ranking politicians, with some amendments coming about due to changes in parliament’s makeup following May’s election, and Justice Minister Costas Fitiris reportedly minded to modernise the service.
At present, House president Annita Demetriou has a police entourage comprising 10 officers. When she was first elected to the role in 2021, she was initially assigned eight officers but then asked that this be reduced to five. She also refused to be assigned a second police vehicle and requested that the vehicle she was assigned not have blue lights.
However, after she received an email claiming that an assassination attempt was being planned against her, a further five police officers were assigned to protect her and now guard her house.
Akel leader Stefanos Stefanou and Diko leader Nicholas Papadopoulos are protected by four police officers apiece, while Edek leader Nikos Anastasiou is protected by three.
Elam leader Christos Christou, Dipa leader and former House president Marios Garoyian, as well as fellow former House presidents Demetris Syllouris and Yiannakis Omirou, and Archbishop Georgios, are protected by two police officers each.
Former president Nicos Anastasiades is protected by a detail of 12 police officers, while his house in Limassol is guarded by police officers 24 hours a day.
Additionally, former first ladies Elsa Christofia and Androulla Vassiliou are assigned a single police officer, while former first lady Fotini Papadopoulou renounced her police protection in 2011.
Next week, it is expected that the government will assign police protection to Alma leader Odysseas Michaelides and Direct Democracy Cyprus leader Fidias Panayiotou, though in the latter’s case, “special” provisions may have to be made as he retains his seat as a member of the European Parliament and as such spends most of his time in Brussels.
With Elam having doubled its number of seats from four to eight, it is expected that Christou will have his protection detail doubled from two to four officers, while Anastasiou is set to lose his police protection, given that Edek no longer has any MPs.
Dipa, too, lost all its seats in parliament, but Garoyian will maintain his police protection in his capacity as a former House president.
Ecologists’ Movement leader Stavros Papadouris did not have police protection prior to the election as the party had requested in 2020 that its leaders not be protected by the police.
Looking ahead, newspaper Politis has reported that Fitiris has requested that the 24-hour protection of his home to which he is entitled in his capacity as a minister be replaced with smart CCTV cameras.
As such, it has been suggested that other current and former state officials could, in the future, see their police protection reduced and replaced by CCTV cameras.
Dust from port operations, abandoned buildings and persistent cleanliness problems dominated a public meeting between Larnaca mayor Andreas Vyras and residents living around the city’s port on Wednesday, with the municipality promising both short-term measures and long-term redevelopment plans.
The meeting, held at Larnaca port’s departure hall and attended by municipal councillors and officials, aimed to update residents on ongoing efforts while giving them an opportunity to raise concerns affecting their daily lives.
“We didn’t come only to speak, we came to listen,” Vyras said, acknowledging that the area faces long-standing problems that have worsened in recent years.
The issue raised most frequently was dust generated during the loading and unloading of gypsum and animal feed at the port.
Residents expressed concern about the impact on their health, with reference made during the meeting to doctors reporting higher rates of respiratory problems among people living in the area.
Vyras said the municipality has repeatedly raised the issue with the Cyprus Ports Authority and the transport ministry, describing it as one of the area’s most pressing concerns.
He said the permanent solution remains the transfer of gypsum and animal feed operations to the future industrial port at Vasiliko, a project which both the President and the relevant minister have confirmed will go ahead but will take time to complete.
Until then, he said, authorities are relying on new specialist loading equipment expected to significantly reduce dust emissions.
According to Vyras, both the companies carrying out the loading operations and the Cyprus Ports Authority have assured the municipality that machinery costing between €10 million and €12 million will reduce dust by around 90 per cent.
“They assure us that once this equipment arrives, 90 per cent of the problem will be solved,” he said, adding that the municipality would judge its effectiveness once it is in operation.
The mayor also highlighted the growing number of abandoned homes and other properties in the area, saying many have become dumping grounds and sources of nuisance.
He explained that many of the worst cleanliness problems occur on private property, limiting the municipality’s ability to intervene immediately because legal procedures must first be followed before entering abandoned buildings.
Some properties have already been cleaned, while legal action is underway in other cases to allow municipal crews to gain access, officials told residents.
Vyras also acknowledged ongoing difficulties in maintaining cleanliness across the neighbourhood, saying illegal dumping remains a persistent problem.
He said municipal cleaning crews often clear affected areas only to find them littered again within hours.
“We clean one day and by the next it’s as if we never cleaned,” he said.
According to Vyras, identifying those responsible and enforcing penalties is often difficult, making waste management one of the municipality’s biggest challenges in the port area.
Looking ahead, the mayor said the Cyprus Ports Authority has begun procedures for the unified redevelopment of Larnaca port and marina, a project valued at around €400 million.
He said consultants are expected to begin work on the plans shortly, while some improvements could start sooner, including relocating the boatyard from the marina, removing used vessels from the port and carrying out maintenance works ahead of the wider redevelopment.
Residents largely echoed the concerns raised by the municipality but expressed frustration that the area has remained neglected and disadvantaged for many years despite repeated promises of improvement.
Police and customs officers seized more than 66kg of shisha tobacco, hundreds of cartons of cigarettes and other untaxed tobacco products during a vehicle search in Ayia Napa on Wednesday.
The search was carried out after police evaluated intelligence as part of ongoing operations targeting the illegal possession, transport and trade of duty-unpaid tobacco products.
Police, working alongside officers from the customs department, searched a vehicle parked in a public car park in Ayia Napa.
During the search, officers found more than 66kg of shisha tobacco, 406 cartons of cigarettes, 64 cartons of cigars, 40 cartons of heated tobacco products and 2.75kg of rolling tobacco.
The vehicle and all seized tobacco products were confiscated by the customs department.
Ayia Napa police, in cooperation with customs officials, are continuing their investigation.
The fifth phase of construction works to upgrade Prigkipos Karolos Avenue in Ayios Dometios and part of Achaeon Street in Nicosia will begin at 11pm on Thursday, July 9, the municipality announced.
The latest phase, which is expected to last six months, will continue works on the northern section of Prince Charles Avenue, while the section of Achaeon Street, including the junction with Delphon Street, will reopen to traffic.
During the works, Prigkipos Karolos Avenue will continue operating as a one-way street towards Ayios Dometios, with westbound traffic only. Traffic diversions will be in place and signposted on site.
Access to Nicosia Polyclinic will continue to be provided via the junction of Achaeon and Delphon streets.
The €2.23 million project is co-funded under the EU’s 2021-2027 Cohesion Policy programme and includes upgrades to the stormwater drainage system, new pavements with street furniture, cycling infrastructure, additional green spaces and tree planting, reconstruction of the roadway with new roadside parking bays, improvements to utility networks and the installation of new street lighting.
Only one in five attempts to serve traffic camera fines has been successful, lawmakers heard on Wednesday, as authorities defended the current enforcement process while work continues on legislation that would allow fines to be served electronically.
Figures presented to the House legal affairs committee by the road transport department showed that just 20 per cent of approximately 190,000 attempts to serve out-of-court fines had been successful.
The committee examined the authorities’ practice of serving outstanding fines through the so-called “Photo Radar List” at police stations and crossing points, amid concerns over how motorists are notified and whether some drivers may be unaware of fines because of incorrect address details.
Officials from the road transport department said draft legislation allowing fines to be served by SMS and email has completed public consultation and has been with the Law Office for legal vetting since February 4.
Committee members requested further information on the number of outstanding fines, the procedures followed when notices are served and the progress of the proposed legislation.
Concerns were also raised by Mps about motorists who may never have received notification because of incorrect addresses, with questions over whether they could later face court proceedings or accumulated penalties through no fault of their own. Lawmakers also questioned reports that some motorists had been informed of outstanding fines while passing through crossing points or airports, raising broader concerns over whether the current enforcement process fully complies with existing legislation.
Justice ministry officials said the “Photo Radar List” is not used at airports or ports and stressed that outstanding fines are served at police stations. They added that the document-checking system used at airports is not linked to the outstanding fines database, meaning motorists are not identified through passport or identity checks.
Police representative Harris Evripidou said fines are served at police stations, crossing points and other locations where police are authorised to carry out checks.
He confirmed that information on outstanding fines does not appear during routine identity checks at airports and acknowledged that, if motorists had been informed of outstanding fines during passport control as alleged, “it was wrong”.
Evripidou added that only fines for which previous attempts at service by a private process server had failed are included in the current enforcement process.
A representative of the Law Office told the committee that the legislation permits fines to be served anywhere within Cyprus, while noting that the practical implementation of the process is an operational matter for the police and the private process-serving company.
The committee is expected to revisit the issue at a future meeting.
Summer and cinema go hand in hand and in Cyprus we thankfully don’t have to look far to find a screening. Larnaka Cinema Society continues its weekly open-air screenings, bringing a different film from world cinema to the courtyard of the Pierides Museum every Tuesday night. Three more films are on the agenda for July.
Next Tuesday, July 14, the Spanish social comedy Stories Not to Be Told (Historias para no contar) will draw audiences in with five different stories where lovers, friends and acquaintances live their lives, revealing big and small truths. As with all films of the series, it will be screened in its original language (Spanish) with subtitles in Greek.
Then, on July 21, the 2023 biographical drama The Great Escaper will be screened, based on the true story of an 89-year-old British World War veteran who escaped from his nursing home to attend the 70th anniversary D-Day commemorations in France. Starring Michael Caine and Glenda Jackson, it is a heartfelt film that combines comedy and drama.
Last in the month’s screening programme is the renowned romantic comedy, Amélie on July 28. The French film centres around Amélie Poulain, an iconic role played by Audrey Tautou. Filled with dreamy atmosphere, timeless soundtracks and quirky characters, it focuses on looking for joy and happiness in life’s small details and in helping others.
Larnaka Film Screenings
Stories Not to Be Told (Spanish). July 14. The Great Escaper (English). July 21. Amelie (French). July 28. Pierides Museum courtyard, Larnaca. 8.30pm. Free admission. In original language, with subtitles in Greek. Tel: 99-434793. https://www.larnakacinema.com/
Police arrested 52 people in Larnaca and Paphos on Wednesday for illegally residing in Cyprus as part of a coordinated operation targeting illegal migration and unlawful employment.
The operation was carried out by the Immigration Service as part of ongoing efforts by police and the deputy migration ministry to combat illegal migration and illegal employment.
According to police, repatriation procedures are already underway for 24 of those arrested and were expected to be completed later on Wednesday.
The remaining detainees will also undergo the same return procedures.
Police said operations targeting people residing illegally in Cyprus and employers engaging in illegal employment continue on a daily basis as part of wider enforcement efforts.
Cyprus has emerged from its presidency of the Council of the European Union stronger, more influential and better equipped to advance its national interests, President Nikos Christodoulides said on Wednesday, arguing that the six-month term had generated lasting political capital that extends well beyond its legislative achievements.
Presenting the government’s assessment of the presidency alongside Deputy Minister for European Affairs Marilena Raouna and Foreign Minister Constantinos Kombos, Christodoulides said the true measure of success was not the number of agreements reached but the credibility Cyprus had earned among its European partners, the institutional expertise developed across government and the stronger position from which it can now pursue both European and national priorities.
“The end of the presidency is not the end of our effort. It is the beginning of a new responsibility,” he said.
Christodoulides said Cyprus had assumed the presidency on January 1 during one of the most difficult geopolitical periods in recent years, marked by the wars in Ukraine and the Middle East, growing economic uncertainty and mounting pressure on Europe to respond more quickly and decisively to global crises.
Against that backdrop, he said Cyprus had done more than simply chair meetings of the Council of the EU, helping instead to build consensus on difficult decisions at a time when Europe required unity, strategic direction and effective leadership.
He said that the presidency had significantly strengthened Cyprus’ credibility within the European Union, creating political capital that the government now intends to use to advance the country’s strategic priorities, including efforts to reunify the island.
“We served the common European interest with consistency, credibility and a sense of responsibility,” he said. “That has strengthened, to a significant degree, our ability to pursue our national objectives, including the Cyprus problem.”
The president also announced that the legacy of the presidency would become permanent, saying the government would retain the Deputy Ministry for European Affairs while transforming the Presidency Secretariat into a permanent structure coordinating European affairs across government.
He said the expertise, cooperation and institutional culture developed over the past two and a half years should not be lost, describing them as “valuable national capital” that would continue serving Cyprus long after the presidency had ended.
Raouna said the conclusion of the presidency marked both the end of a major chapter in Cyprus’ European journey and the beginning of a new one, with the experience gained now becoming a lasting asset for the public service.
Among the presidency’s legislative achievements, Cyprus concluded negotiations on 27 of the 32 political trilogue files it inherited, representing a success rate of more than 84 per cent.
The presidency also secured agreement on 41 general approaches and 22 Council conclusions, completed 10 legislative simplification proposals and obtained negotiating mandates for another four.
Cyprus also hosted more than 230 official events across the island involving almost 25,000 participants, including the informal meeting of European leaders, 19 informal ministerial meetings, the visit of the College of Commissioners, the Conference of Presidents of the European Parliament and the high-level conference on islands and coastal regions.
She said the programme included visits to the Green Line, enabling senior European officials to witness first-hand the consequences of Turkey’s occupation on European territory, while more than 500 artists participated in cultural events held across 31 countries.
Kombos said the presidency had been exercised during a period of multiple international crises but had strengthened Cyprus’ diplomatic footprint and earned recognition from EU institutions, member states and international partners.
He said two priorities established before the presidency – strengthening relations with neighbouring countries and highlighting the strategic importance of maritime transport – had become central issues for the European Union itself as geopolitical tensions intensified.
Among the presidency’s diplomatic successes, he highlighted regional participation in the informal European Council meeting and the Gymnich meeting of EU foreign ministers, as well as progress on enlargement, including advances involving Montenegro and Albania and the opening of negotiating chapters for Moldova and Ukraine.
The president also pointed to progress made during the presidency on defence mobility, implementation of the EU’s mutual assistance clause under Article 42.7, the Safe defence financing instrument, measures to boost European competitiveness, reforms on air passenger rights, critical medicines, affordable housing, island policy and efforts to strengthen Europe’s strategic autonomy.
He said the presidency had also reinforced Cyprus’ role as a bridge between Europe and the wider Middle East, helping persuade European partners of the region’s strategic importance while strengthening Cyprus’ own diplomatic standing.
“The greatest success is not only what we achieved during these six months,” he said. “It is that we proved to ourselves that our country can achieve ambitious goals when it works with planning, coordination and self-confidence.”
Cyprus recorded the highest share of household energy consumption devoted to air conditioning and cooling in the European Union in 2024, according to figures released on Wednesday by Eurostat, highlighting the growing impact of hotter weather on domestic energy demand.
The latest figures show that 16 per cent of final household energy consumption in Cyprus was used for space cooling, the highest proportion among all EU member states.
Malta ranked second, with 15 per cent of household energy consumption devoted to cooling.
Although southern European countries such as Italy, Spain and Greece consumed larger overall volumes of energy for air conditioning because of their bigger populations, Cyprus stood out for the proportion of household energy dedicated to keeping homes cool.
Eurostat’s figures show that Greece allocated 7.4 per cent of household energy consumption to space cooling, while the corresponding shares were 2.5 per cent in Spain and 2.3 per cent in Italy.
Across the EU as a whole, household energy consumption for space cooling reached 80.4 thousand terajoules (TJ) in 2024, reflecting the increasing importance of air conditioning as temperatures continue to rise.
The latest total represents double the level recorded in 2018, when EU households consumed 40.5 thousand terajoules for space cooling.
According to Eurostat, household energy consumption for cooling increased every year between 2018 and 2024, with the exception of 2020, when it declined by 2.5 per cent compared with the previous year, and 2023, when it fell by 1.9 per cent.
Despite those temporary declines, the longer-term trend has been one of sustained growth as cooling becomes an increasingly important part of household energy use across Europe.
In absolute terms, Italy recorded the highest energy consumption for space cooling at 26.3 thousand terajoules, followed by Spain with 14.3 thousand terajoules and Greece with 11.9 thousand terajoules.
However, Eurostat’s figures indicate that Cyprus and Malta remain by far the most cooling-dependent household markets in the EU when measured as a share of total household energy consumption, underlining the particular impact of high summer temperatures in the two Mediterranean island states.
Indeed, the aforementioned figures illustrate how rising temperatures are reshaping household energy demand, with cooling accounting for an increasingly significant proportion of domestic electricity use in warmer parts of Europe.
Attorney-general George Savvides on Wednesday defended his decision to recuse himself from the anti-corruption authority’s Mafia State report investigation, telling parliament that the move was necessary to preserve impartiality.
“If we had done the opposite, they would have hung us out to dry,” he said.
Appearing before the House legal affairs committee alongside deputy attorney-general Savvas Angelides, Savvides also confirmed that the file relating to the Sandy case is currently being examined by the Law Office, with prosecutors assessing the next steps, including whether criminal charges should be filed.
Responding to criticism over the handling of the Mafia State investigation, Savvides said the decision to step aside had been taken solely on grounds of objective impartiality.
His comments came after Akel MP Andreas Pasiourtidis argued that both the attorney-general and his deputy should resign to remove any perception of conflict of interest, saying the Law Office could not simply abstain from the process while acting as a “messenger”.
“The situation creates institutional deadlocks that cannot be broken,” Pasiourtidis said.
Savvides rejected the criticism, describing the office of the attorney-general as “a very lonely role” and insisting decisions are taken independently of public opinion.
“I have said from the first day we took office that, regardless of the noise, whether positive or negative, when we make decisions we completely isolate ourselves from the influence of public opinion,” he said.
Asked separately about the decision to release the convicted criminal Charalambos Chrysanthou, known as Hamburger, Savvides referred to a previous public statement issued by the Law Office, saying it addressed the questions that had been raised. While acknowledging the need for greater transparency, he said there were cases where full disclosure was impossible because of ongoing criminal proceedings and other legal interests.
He added that improving the Law Office’s public communication was currently under consideration.
The committee also discussed the long-running proposal to separate the constitutional roles of the attorney-general as legal adviser to the state and as public prosecutor.
Savvides said the issue was not one of personal preference but of constitutional design.
“If we were drafting the Constitution today, I could see the advantages of separating the roles,” he said. “At the same time, I believe there are significant advantages in keeping criminal prosecution together with the other legal functions of the Law Office.”
He confirmed that although he had signed the explanatory report accompanying the government’s draft legislation on the matter, he had explicitly recorded his reservations regarding its constitutionality and attached detailed legal opinions supporting that position.
“Had I refused to sign the explanatory report, I would have been accused of blocking the bill and creating an institutional deadlock,” he said.
Outlining the Law Office’s priorities, Savvides described lawful interception of communications as the most important tool in combating corruption and organised crime.
“There can be no effective fight against corruption without this tool, provided it is always used within the constitutional and legislative framework,” he said.
He added that protecting society from corruption and organised crime should not automatically give way to the rights of those accused of serious criminal offences.
Another priority, he said, is new legislation dealing with abuse on social media, online insults and the organised spread of false information.
Savvides said discussions with the justice ministry were continuing and that draft legislation would be submitted as soon as possible.
Regarding the Mafia State investigation, Savvides said the inquiry was progressing and that a substantial part of the process would be completed in the coming days.
Once investigators have completed their work and prosecutors have assessed the evidence, the Law Office will decide how to proceed strictly on the basis of the law and the available evidence, he said.
He added that any decision on appointing an independent public prosecutor would depend on the findings of the investigation.
Committee members also raised concerns over delays in the Cypriot justice system, the possible introduction of video recording in court proceedings and broader judicial reform.
Savvides replied that policymaking was not the responsibility of the attorney-general, whose role is limited to legal scrutiny of draft legislation, but noted that significant improvements had already been made in reducing delays, particularly in administrative cases.
Angelides said protocols had already been revised following rulings of the European Court of Human Rights and that training programmes for officials were being implemented.
Total beer deliveries from breweries in Cyprus fell by 2.7 per cent in June 2026, compared with the same month last year, driven largely by a sharp decline in exports, according to data released by the Statistical Service on Wednesday.
The total volume of beer delivered to the domestic market and for export reached 4,716,070 litres in June 2026.
This figure compares with 4,846,927 litres recorded in June 2025, representing the aforementioned 2.7 per cent contraction.
Deliveries to the domestic market saw a marginal decline of 0.8 per cent in June 2026 compared with June 2025, totalling 4,564,749 litres.
Conversely, beer exports from Cypriot breweries experienced a substantial downturn of 38.3 per cent.
Specifically, export volumes fell to 151,321 litres, a sharp contrast to the 245,087 litres sent abroad in June 2025.
Despite the annual decline, total beer deliveries showed a monthly recovery, increasing by 7.4 per cent or 326,421 litres when compared with May 2026.
Fifty-two-year-old property developer Ahmet Noyan appeared in court in Trikomo on Wednesday after having been arrested on suspicion of negligence after one of the many buildings constructed by his company in the area caught fire at the weekend.
Noyan was arrested on Tuesday alongside two other directors of the Noyanlar group, which describes itself as “a market leader in Cyprus’ construction industry”.
The arrests came after a fire broke out at the Riverside Life Residence, a complex featuring over 800 holiday apartments across five tower blocks in Trikomo’s Long Beach area, on Sunday evening.
In total, 50 people were evacuated from the building, though no serious injuries were recorded. The trio were charged and released on Wednesday.
The Noyanlar group reportedly employs more than 1,500 people, and is one of the major names in construction in the north, particularly in the Trikomo area. The Riverside Life Residence is one of 28 construction projects undertaken by the group.
Noyan himself was called as a prosecution witness in one of the cases brought against the five Greek Cypriots who were arrested in the north in July last year, when the five faced charges of trespassing, breaching the peace, and privacy violations following a day trip to the area.
All five Greek Cypriots were eventually released in December last year.
It had been reported in April last year that Noyan had been refused entry to the United Arab Emirates over his alleged construction of buildings on land belonging to Greek Cypriots in the north.
The reports stated that he is on a list of people banned from entering the UAE, though this was never confirmed.
Cypriot members of the European Parliament on Wednesday demanded that the island be offered more protection from the consequences of wildfires as the Strasbourg plenary session discussed the European Union’s preparedness to deal with fires and heatwaves in the future.
“The climate crisis is here, even if the conservative [United States President Donald] Trump imitators do not recognise it, and even if [European Commission President Ursula] von der Leyen underestimates it,” Akel MEP Giorgos Georgiou said.
“Heatwaves kill, fires destroy, and the countries of Europe’s south are being tested,” he added.
“Cyprus is on the front line. Extreme temperatures, prolonged drought, burned forests, lost property, human lives at risk. It is not enough to measure the disasters. We need more prevention, and not that which is based on costs, more resilience, and more solidarity.”
He added that the island “can and must become a model European regional centre for forest firefighting and civil protection for the eastern Mediterranean”, highlighting the island’s “strategic geographical location”.
The island, he said, should be given “permanent aerial means, with specialised personnel and sufficient European funding”.
Meanwhile, Disy MEP Loukas Fourlas hailed the European Commission’s decision to bolster its deployment of firefighters and equipment to areas of the EU which are vulnerable to wildfires under the bloc’s civil protection mechanism.
“There will be a record number for the European Union: 777 firefighters, 22 aircraft, and five helicopters in various parts of European territory, so that they can assist at any time where they are needed,” he said.
“I would like to know if there is any planning for where they will go and when.”
“I was and remain one of those who strongly supported the absolute need for a permanent and reinforced rescEU presence in Cyprus, as its geographical isolation made it vulnerable,” he said. RescEU is the EU’s strategic reserve of disaster response capabilities, including firefighting aircraft.
He said that he believes that the EU is “on the right track”, but that “continued reinforcement is necessary”.
On this matter, the commission had said that firefighters and equipment have this year been deployed to “strategically pre-positioned … high-risk areas across Cyprus, Greece, Italy, France, Spain, and Portugal”.
The bloc has also set up a regional firefighting hub in Cyprus, which the commission last month said will “strengthen wildfire preparedness and response capacities, across Europe and the south Mediterranean region”.
The European Parliament on Wednesday adopted a report into the sexual violence suffered by Cypriot women during Turkey’s invasion in 1974, with 575 votes in its favour, 33 votes against and 43 abstentions.
All six Cypriot MEPs voted in favour of the report, though the parliament’s rapporteur on Turkey, Nacho Sanchez Amor, was among the abstainers.
On Tuesday, Greek MEP Eleonora Meleti of ruling party Nea Dimokratia, the rapporteur for sexual violence suffered by Cypriot women during Turkey’s invasion in 1974, implored her fellow MEPs to endorse her report, saying that “this is not just a resolution on Cyprus which I am asking you to support”, but “the story behind the resolution”.
“It is the women, the girls, those who left, those who are still here, those who we met a year ago on our mission, those who told us the darkest stories of violence, despair, humiliation and abuse,” she said.
Meanwhile, Elam MEP Geadis Geadi complained that “while we should be speaking about the obvious, we are here to restore some common sense”.
“It is a shame that senior officials of the European Union, [foreign policy chief Kaja] Kallas and [Enlargement Commissioner Marta] Kos, chose a few days ago to present Turkey as a key strategic partner, talking about deepening cooperation,” he said.
Akel MEP Giorgos Georgiou said that “in 1974, the Turkish armed forces in Cyprus systematically organised sexual violence against Greek Cypriot women and men of all ages”, and that this constitutes “another heinous crime [committed] by Turkey which remains unpunished”.
“However, we must be honest. Barbarities were also committed by Greek Cypriot paramilitary groups against Turkish Cypriot women. Rape has no colour, race, or religion. Wounds are difficult to heal,” he said.
He added that “Cyprus and the European Union have an obligation to ensure the rights, dignity and historical memory of all women in Cyprus” and called for “the common pain [to] become a driving force for bicommunal cooperation and peace on our island”.
However, German MEP Irmhild Bossdorf, of far-right party the Alternative for Germany, lambasted the report as “incomprehensible”.
“We Germans, in particular, know how difficult it is to reconcile decades after the outbreak of a conflict, to resume dialogue and to forgive one another. We have made considerable progress in this with our Polish neighbours. We are now working together in the European Parliament for a Europe of sovereign nations,” she said.
As such, she added, “it is all the more comprehensible, therefore, that the European Parliament’s [gender equality committee (Femm)] has chosen to issue a resolution today concerning the 1974 attacks by Turkish armed forces on Cypriot women and girls”.
To this end, she said that “a hearing involving gender-sensitive [non-government organisations] to formally recognise past witness testimony within the EU’s institutional framework, a retrospective justification of abortions to place them within the international legal context, and EU financial and technical support for gender-sensitive counselling are not the pressing issues between Turkey and Greece”.
Bossdorf was among the 33 votes against the report.
Three men who were arrested after having robbed and kidnapped a 65-year-old man in Larnaca were on Wednesday remanded in custody for six days after appearing at the Larnaca district court.
The police had said earlier in the day that they were investigating a case of “robbery, kidnapping, theft, assault, and causing actual bodily harm”, after the 65-year-old had reported on Monday that he had been attacked by three people.
He said that he knew two of the perpetrators, one of whom attacked and beat him, and took from him €300 in cash, his mobile phone, and the keys to his car.
Then, he said, the trio forced him into a car and drove him to his own house, before heading inside, taking “various items” from inside and loading them into his car, and then driving off “in an unknown direction”.
All three were arrested in Nicosia.
The Cyprus Workers’ Confederation (Sek) has urged employers to implement measures to protect staff from heat stress, noting that prolonged exposure to high temperatures can seriously harm health and may be fatal, according to a statement on Wednesday.
The union said heat stress should not be viewed as merely an uncomfortable part of working during the summer.
It described it as a significant occupational hazard, particularly for employees working outdoors or in hot environments.
Sek said construction workers, agricultural labourers, port staff and employees in industrial facilities are among those most at risk.
The danger increases when high temperatures are combined with physically demanding work, humidity and prolonged exposure to direct sunlight.
The union warned that ineffective temperature regulation can lead to exhaustion, cramps, dizziness, fainting and heat stroke, which can be life-threatening.
Sek emphasised that employers are primarily responsible for their employees’ health and safety.
Companies should conduct risk assessments before hazardous conditions arise and implement preventive measures in line with safety legislation.
The union suggested adjusting working hours to cooler times of day, providing regular breaks, easy access to cool drinking water, and shaded areas for workers to recover.
Employers must adhere to guidance from the Department of Labour Inspection and follow the Code of Practice on Heat Stress.
Sek stated these requirements are vital for protecting lives, not just administrative tasks.
The union advised workers to recognise early signs of heat exhaustion, such as weakness, dizziness, severe thirst, headaches, and unusual fatigue.
Employees should report these symptoms to their supervisors and seek relief.
Sek will continue to monitor heat protection measures in workplaces across Cyprus throughout the summer.
“No salary, no schedule and no production need can be placed above human life,” the union said, adding that every worker has the right to carry out their job in safe conditions and return home healthy at the end of the day.
The Limassol municipality will carry out a collection of bulky and unwanted items in the Agios Ioannis area on Friday as part of its cleaning campaign, authorities said on Wednesday.
Residents in the affected streets can leave old furniture, mattresses, wooden items, bulky objects and plastic toys outside their homes from the previous afternoon.
The municipality reminded residents to place items where they do not block pedestrians or vehicles.
Rubble, construction materials, household waste, garden cuttings and agricultural waste will not be collected.
Authorities called on residents to cooperate and help maintain cleanliness and improve the quality of life in the area.
The Ecologists movement on Wednesday expressed its strong opposition to proposals to kill stray dogs in the Paphos forest as discussed in a meeting between government services and the forestry department on Monday.
“A modern society cannot accept the killing of defenceless animals as a solution,” said the party’s animal action group coordinator, Anthi Mouzouri.
The protection of local wild animals and wildlife was “everyone’s obligation”, the movement said, stressing that the solution could not be the extermination of the animals, which were themselves victims of abandonment.
Rather than addressing the cause of the problem, the killing of the dogs would shift the responsibility from those who abandon animals to the animals themselves, it added.
Instead of killing the animals, the Ecologists suggest the collection of dogs by specialised personnel, the strengthening of neutering programmes and the transfer to appropriate shelters, as well as strict consequences for owners who abandon their animals.
Direct Democracy MP Diana Constantinides has pledged to clamp down on violence against women during her five-year term, having borne the burden of losing her mother at a young age.
Her mother, she revealed on Sigma TV this week, was Christine Constantinides from Sweden, who in 1993 was raped, murdered and dumped in Kotsiatis landfill. Christine, who was 28, had been missing since June 7, 1993, but her body was only found in November 1993.
Antonis Prokopiou Kitas, also known as ‘Al Capone’, told the police on October 31, 1993, that the body of 21-year-old Oxana Lisna from Romania, missing since June 20 the same year, was in a well in Livadia, Larnaca. Kitas then admitted he had also killed Christine. It took 17 days for the authorities to find her amongst the rubbish.
The autopsies indicated that both women had been raped and beaten, and had died a violent death.
Diana Constantinides had taken part in the House human rights committee on Monday, which discussed violence against women and recent femicides. She told Sigma that a murder causes “collateral damage” and told her own story.
“I am also living the part of collateral damage, even if it wasn’t a matter of domestic violence. Having your mother taken from you, the person we all need so much, is not just a legal issue. It is a deeply personal matter. No woman should be a victim of attempted murder or femicide,” she said.
Constantinides added that “the children who are left behind bear the burden.”
Kitas did not kill Christine alone. He had an accomplice, Michalis Iacovides. Initially, when Kitas – 25 at the time – was arrested, he blamed Andros Kalopsidiotis for both crimes. Kalopsidiotis was then arrested and remanded for eight days, only to be released when nothing was found against him. In the meantime, the police arrested Iacovides, a taxi driver from Lakatamia, who admitted both murders and implicated Kitas.
Kitas was convicted to two life sentences in 1994. He has escaped twice, once in 1993 after he was arrested for robbing a jewellery shop in Athienou and the second in 2008 when he climbed out of a clinic window and disappeared for weeks, prompting the resignation of the justice minister and chief of police, as well as suspensions of police and prison officers. In 2009, he was convicted for masterminding the exhumation of former president Tassos Papadopoulos from the cemetery in Deftera. The remains were found almost a year later. In 2019 Kitas had requested to be released and be fitted with an ankle monitor. His request was rejected.
Diana Constantinides said two men killed her mother in 1993, but two others stood by her and supported her: her father and later her husband.
“They became my knees that buckled. They became the voice I lost.”
Addressing women who may be experiencing abuse or intimidation, Constantinides urged them to find the strength to ask for help.
“Whether it is 1993 or 2026, the consequences are the same. Human pain remains the same.”
Cyprus was wrapped over the knuckles by the European Commission yet again on Wednesday for failing to implement EU waste recycling targets, its restrictive energy-installation policies, and its failure to implement both anti money laundering directives and enshrining adequate minimum wages into national law.
“The decision is part of the Commission’s enforcement efforts to remove barriers in the single market in 11 focus areas,” the commission said, issuing its the energy-related infringement procedures.
Calling on a total of 12 member states to meet EU waste recycling targets, which stipulated a 50 per cent recycling target of municipal waste by 2020, the commission issued “letters of formal notice” to Cyprus, Greece and Germany.
In the case of Cyprus, the “letter of formal notice”, marks the first step of the EU’s formal five-step infringement procedure.
The stipulated goals are part of EU framework directives which are legally binding for all EU member states.
Cyprus has also joined six other member states in missing the EU targets for total packaging, metals and glass, having been found in breach of the latter target, along with Portugal.
“Achieving these targets is essential to foster the single market for secondary raw material and enhance circularity,” the commission said.
A further infringement case was filed against Cyprus for imposing what the EU described as “restrictive mandatory authorisation or certification schemes for energy installation and construction services”.
“The cases tackle obstacles to the installation of renewable energy equipment, which are created by authorisation and similar requirements,” the commission said, adding that the respective requirements made it difficult for installers of renewable energy equipment and providers of energy efficiency installations to work across the bloc.
In a third infringement notice, the commission appealed to Cyprus to correctly transpose the provisions of the EU directive on combatting money laundering.
Here, Cyprus ranks among Lithuania, Poland and Slovenia, with all four countries infringed for failing to correctly transpose “some of the provisions” of the EU directive 2018/1673, including regarding penalties and the money laundering offences
“The directive defines criminal offences and sanctions for money laundering, facilitates police and judicial cooperation between EU member states and prevents criminals from taking advantage of diverging legal systems across the EU,” the commission said.
In a fourth infringement notices, the commission called on Cyprus and Luxembourg to transpose the directive on adequate minimum wages into national law, which all EU member states were scheduled to implement by November 2024.
“To date, Cyprus and Luxembourg have not notified any national transposition measures to the commission,” the commission said.
Both countries now have two months to respond and notify their measures to the commission.
In the absence of a relevant response, the commission could decide to proceed with the second stage of its infringement procedure and issue a “reasoned opinion”, which is another formal request to comply with the EU law, explaining why the commission believes the country is breaching the law and requests that the commission be informed about relevant measures within a specified time frame.
GitHub Advanced Security enterprise customers can now publish internal security advisories. Innersource advisories work similarly to GitHub’s open source advisories, but their visibility is restricted to repositories owned by the enterprise.
There is a new REST API endpoint to manage innersource vulnerabilities, including operations to create, update, or withdraw vulnerabilities. Once you use the API to create an advisory about a component, GitHub uses Dependabot to notify repositories inside the enterprise that use the component. Notifications can include security alerts and version updates. When a version upgrade is needed, Dependabot will open a pull request to upgrade a vulnerable version of the component to one with a fix. For more information, see Creating and using innersource advisories.
The post Innersource security advisories are generally available appeared first on The GitHub Blog.
Organizations can now mandate where GitHub Copilot sends OpenTelemetry (OTel) data, so telemetry flows to an approved collector without each developer setting OTEL_* environment variables. The configuration is delivered through the telemetry block in enterprise-managed settings and applies to both the Copilot Chat extension in VS Code and the agent host process that powers Copilot CLI.
Administrators can control:
otlp-http or otlp-grpc).A managed value always wins, taking precedence over environment variables and user settings. Deliver these settings through any of the supported channels: native MDM (Windows Registry or macOS managed preferences), server-managed settings resolved from the signed-in GitHub account, or a file-based managed-settings.json.
For security, managed exporter headers are applied only to the Copilot Chat extension’s OTLP exporter and are never passed through environment variables, so a value such as an authentication token can’t leak into the tool subprocesses that the agent host spawns.
This builds on enterprise managed settings and joins the growing set of Copilot governance controls available across VS Code and Copilot CLI.
To learn more, see Configure telemetry export with OpenTelemetry and Monitor agent usage with OpenTelemetry.
Join the discussion within GitHub Community.
The post Enterprise-managed OpenTelemetry export for VS Code and CLI appeared first on The GitHub Blog.
Enterprise administrators can now deliver managed GitHub Copilot settings directly to devices through native mobile device management (MDM) and file-based configuration, in addition to the existing server-managed channel. This is generally available for GitHub Copilot CLI and VS Code.
Device-level deployment lets you enforce Copilot governance using the same tools you already use to manage endpoints. You can push settings through Microsoft Intune, Jamf, or Group Policy, or deploy a configuration file with Chef, Puppet, or Ansible. Because settings are read from the device, they apply consistently across VS Code and Copilot CLI, regardless of how a developer signs in.
You can deliver managed settings through any of three channels, all of which use the same keys and values.
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\GitHubCopilot registry key. On macOS, they come from managed preferences for the com.github.copilot domain.managed-settings.json file from a well-known path (i.e, /Library/Application Support/GitHubCopilot/managed-settings.json on macOS, %ProgramFiles%\GitHubCopilot\managed-settings.json on Windows, and /etc/github-copilot/managed-settings.json on Linux). File-based settings must be owned by root and cannot be world-writable or symlinked.managed-settings.json in your organization’s .github-private repository.When more than one channel provides settings, the highest-precedence channel wins outright, in this order:
The device-level channels support the same managed setting keys as the server-managed channel, including:
permissions.disableBypassPermissionsModemodelenabledPluginsextraKnownMarketplacesstrictKnownMarketplacestelemetry.* for OpenTelemetry export configurationScalar settings use their dot-separated key directly, while structured settings such as enabledPlugins are supplied as a JSON string value. Additional keys will be added over time.
To learn how to deploy managed settings to your devices, see Deploy Copilot managed settings. For the full list of keys and the settings they control, see Configure enterprise managed settings.
Join the discussion within GitHub Community.
The post Deploy managed Copilot settings via MDM in VS Code and CLI appeared first on The GitHub Blog.
This changelog covers VS Code v1.123 through v1.127, shipped throughout June and early July 2026.
The latest VS Code releases build on the Copilot experience developers use every day, making it easier to manage agent work, understand usage, choose the right models, and stay in the flow. From a smarter integrated browser to parallel sessions, clearer cost visibility, Marketplace model discovery, and sharper Autopilot behavior, these updates help developers move faster while staying in control.
The integrated browser brings more of your web workflow into VS Code, including search, screenshots, remote browsing, and agent-driven validation.
The Agents window continues to grow with enhancements for keeping parallel sessions and chats organized and easy to navigate.
Use multiple chats in one session: Break a larger change into focused workstreams, so you can keep implementation, review, testing, and docs separate while still managing the overall task in one place.
Agent session organization: Tidy up your Agents window by grouping related sessions or dragging and dropping your sessions to rearrange them.
Cost visibility is clearer across whole sessions, delegated work, and additional Copilot spend.
Track additional usage: Review usage from the GitHub Copilot status dashboard.
Inspect subagent usage: See credit usage for individual subagent sections when work is delegated.
Model provider discovery now starts directly from VS Code, making it easier to add and tune models for different tasks.
Install from Marketplace: Open filtered Marketplace results for extensions that contribute models.
Customize models faster: Adjust context size and reasoning effort from a unified picker.
Autopilot, the permission level that lets agents act without checking in at every step, is now more hands-off and better at seeing tasks through.
More independent progress: Agents can continue working through steps with less manual steering.
Session sync and chronicle: Sync chat sessions to your GitHub account and search coding history across machines and workspaces.
Gutter feedback: Leave comments on an agent’s changes directly from the editor gutter.
Smarter pull request creation: Create a pull request from a session with the title and description generated from session context.
1M context windows: Work with compatible Anthropic and OpenAI models using much larger context windows for bigger codebases and longer conversations.
Model hover cards: See a quick model descriptor and jump directly to relevant configuration options.
Official Ollama extension: Move from the built-in Ollama provider to the official VS Code extension for faster model and capability updates.
Managed Copilot settings: Deliver Copilot configuration through native device management on Windows and macOS.
File-based managed settings: Apply managed Copilot settings from a JSON file for machines that are not enrolled in device management.
MCP OAuth credentials: Configure preregistered OAuth client IDs and keep client secrets in VS Code secret storage.
Extension auto-update delay: A two-hour delay is applied before automatically installing newly published extension versions, giving teams a safety buffer.
Workspace Trust improvements: Browse new folders safely first, then trust the folder when ready.
Taken together, these updates continue to evolve VS Code for agentic development. Agents can work across longer-running tasks, developers get clearer visibility into costs and models, and teams gain better tools for building and shipping with confidence.
For the full details, browse the complete release notes across these versions: Visual Studio Code 1.123, 1.124, 1.125, 1.126 and & 1.127.
Install the latest version of Visual Studio Code today, and as always happy coding!
The post GitHub Copilot in Visual Studio Code, June 2026 releases appeared first on The GitHub Blog.
The actions/setup-java v5.5.0 release adds cryptographic signature verification for downloaded JDKs, support for a new distribution, and several quality-of-life improvements for Maven users. Here’s what changed since v5.4.0.
verify-signature: true and the action downloads the detached GPG signature and validates the JDK archive before installing it. Verification is supported today for the Temurin and Microsoft distributions, and enabling it for a distribution that doesn’t support it fails fast rather than silently skipping the check. You can supply your own trusted key with verify-signature-public-key.kona distribution lets you install Tencent Kona JDK directly.set-default: false, the action leaves JAVA_HOME and PATH untouched while still exporting JAVA_HOME__ and registering the JDK in Maven toolchains, so a single step can use a specific JDK without disturbing the rest of your workflow..sdkmanrc: When you drive your Java version from a .sdkmanrc file, the action now infers the distribution from the SDKMAN identifier suffix (e.g., -tem resolves to Temurin), so you no longer have to repeat it in the distribution input.--no-transfer-progress in MAVEN_ARGS by default for Maven 3.9+ and the Maven Wrapper, giving you quieter logs out of the box. Any existing MAVEN_ARGS value is preserved, and you can restore the progress output with show-download-progress: true. The generated settings.xml also disables interactive mode so Maven never blocks a CI run waiting on a prompt.toolchains.xml. The generated file is now deduplicated by toolchain type and id, and your existing root attributes and non-JDK toolchains are preserved.The v5.4.0 release shipped without a changelog post, so a few notable additions from that version are worth calling out too:
graalvm-community)javac problem matcher that surfaces compiler errors and warnings as inline annotations on your pull requestscache: mavenFor reproducible, supply-chain-safe builds, pin the action to the exact v5.5.0 release tag or to its full commit SHA (0f481fcb613427c0f801b606911222b5b6f3083a) for the strongest guarantee, rather than the floating v5 major tag.
For the full list of inputs and examples, see the setup-java advanced usage guide and the v5.5.0 release notes. As always, we welcome feedback and issues in the actions/setup-java repository.
The post setup-java v5.5.0: signature verification, Kona JDK, and Maven fixes appeared first on The GitHub Blog.
npm v12 is now generally available and tagged latest. This major release turns on the install-time security defaults we announced in June, and it’s also where we begin a deprecation of the most sensitive uses of 2FA-bypass granular access tokens (GATs).
As of npm v12, the following npm install behaviors that used to run automatically are now opt-in:
allowScripts defaults to off: Dependency lifecycle scripts (i.e., preinstall, install, postinstall) and implicit node-gyp builds no longer run unless explicitly allowed.--allow-git defaults to none: Git dependencies (direct or transitive) are no longer resolved unless explicitly allowed.--allow-remote defaults to none: Dependencies from remote URLs (e.g., https tarballs) are no longer resolved unless explicitly allowed.All of these were available behind warnings in npm 11.16.0+, so you can prepare before upgrading. To review and approve the scripts you trust, run npm approve-scripts --allow-scripts-pending, then commit the resulting allowlist in package.json.
For full details, migration steps, and the docs links, see Upcoming breaking changes for npm v12 and share questions in the npm v12 community discussion.
npm granular access tokens configured to bypass 2FA will be unable to perform sensitive account, package, and organization management actions once the change is rolled out. Operations for account management on npm will not be able skip 2FA anymore.
This affects operations such as:
We expect this change to take effect in early August 2026. To prepare, stop using 2FA-bypass tokens for these operations and perform them interactively with 2FA.
Following the change above, 2FA-bypass tokens will also lose the ability to publish directly. Their publishing surface will be reduced to reading private packages and staging a publish, where a package only becomes public after a human 2FA approval.
We expect this change to take effect around January 2027. To prepare, plan to move automated publishing to trusted publishing (OIDC) or staged publishing with a human approval step, rather than a long-lived publish token.
More work is landing over the next few months to make migrating to trusted publishing and staged publishing easier. We’ll share migration guides in a follow-up community discussion.
Follow along and ask questions in the community discussion.
The post npm install-time security and GAT bypass2fa deprecation appeared first on The GitHub Blog.
GitHub Mobile now supports fixing pull request merge conflicts with Copilot cloud agent, making it easier to unblock pull requests while you’re on the go.
When a pull request has merge conflicts, you can now start the Copilot workflow directly from the pull request merge box on mobile. Tap Fix with Copilot to prepopulate a comment asking Copilot to resolve the conflicts, then submit it to launch Copilot cloud agent.
This brings the streamlined “fix merge conflicts” experience to GitHub Mobile, so you can:
You can also continue to mention @copilot in pull request comments to ask Copilot to help with other tasks, such as:
This is now available on the latest production build of GitHub Mobile on iOS and Android.
Join the discussion within GitHub Community.
The post GitHub Mobile: Fix merge conflicts with Copilot cloud agent appeared first on The GitHub Blog.
Live coding agent notifications on GitHub Mobile now support remote Copilot CLI sessions, making it easier to stay connected to agent work that starts outside of GitHub Mobile.
When a Copilot CLI session is running remotely, GitHub Mobile can surface real-time updates directly on your phone so you can track progress, know when the agent needs your input, and jump back into the session when needed.
Using live activities on iOS and live update notifications on Android, you’ll see key session details and the current session status. Tap the notification to open the corresponding session logs view in GitHub Mobile.
Live notifications for remote Copilot CLI sessions can show updates when a session is:
Remote Copilot CLI session live notifications extends the existing experience beyond cloud-run coding agent sessions, helping you monitor remote sessions launched from Copilot CLI, VS Code, and other supported surfaces while you’re on the go.
If you’d rather not use live notifications, you can disable them in your settings. The first live notification also includes a Disable Live Updates button for quick opt-out.
This is now available on the latest production build of GitHub Mobile on iOS and Android.
Join the discussion within GitHub Community.
The post GitHub Mobile: Live notifications for Copilot CLI sessions appeared first on The GitHub Blog.
The Copilot usage metrics API now reports two additional code-review velocity metrics for each AI adoption phase, extending the adoption phase cohorts fields available in the enterprise and organization reports. Alongside the existing per-phase merge time and merge counts, you can now compare how quickly pull requests are reviewed and how many review cycles they take across your adoption cohorts.
Each phase entry in the totals_by_ai_adoption_phase breakdown now includes two new fields:
avg_pull_requests_minutes_to_review: The median time, in minutes, from when a pull request is created to its first review.avg_pull_requests_review_cycles: The median number of review submissions a pull request receives before it merges.Both metrics are scoped to merged pull requests and attributed to each pull request’s merge day, so every pull request is counted exactly once. Pull requests that are reviewed but never merged do not contribute to either metric.
Review latency and review-cycle counts are leading indicators of engineering throughput. By breaking them out by AI adoption phase, you can see whether teams with deeper Copilot adoption get their pull requests reviewed faster and iterate through fewer review cycles. This helps quantify the downstream impact of Copilot on your review process and helps you target enablement where it moves the needle most.
Visit the Copilot usage metrics API documentation to get started.
The post Add review cycles and time to adoption phases in the usage API appeared first on The GitHub Blog.
This update brings Codex as a new agent provider in public preview, expands the Customizations editor with Hooks support and richer MCP server management, and introduces custom model support configured by GitHub Copilot Business and Enterprise administrators.
It also adds approval settings for Copilot CLI sessions, permission modes selection and debug logs support for the Claude agent, and takes Inline Chat to general availability, alongside a set of performance and reliability improvements.
Codex is now available as an agent provider in public preview, giving you more flexibility to pick the agent that best fits your task. And you can do this without leaving your JetBrains IDE.
To use it, first install the Codex CLI on your machine. Then go to Settings > Tools > GitHub Copilot > Chat, enable Codex and set the Codex CLI path. Once configured, select Codex from the agent picker in the Copilot Chat panel to start a session.
If you are a Copilot Business or Copilot Enterprise subscriber, an administrator will have to enable the editor preview features policy before you can use this feature.
MCP servers management: MCP servers can now be managed directly in “Agent Customizations” for Copilot CLI sessions. You can browse available servers through Browse Marketplace or add an MCP server directly from this view (both command and HTTP types are supported). For configured MCP servers, you can view each server’s status and perform key actions such as start, stop, restart, and uninstall. We also support workspace-level MCP servers. You can define and manage them with .github/mcp.json in your project. Dedicated UX improvements are coming in a future update.
Generate customization files with AI: In the “Overview” page, you can quickly create each customization file by clicking the New button. You can also scaffold files from chat with /create-instruction, /create-prompt, /create-skill, /create-agent, or /create-hook.
You can now configure approval settings for Copilot CLI sessions, giving you more control over how tool calls and approvals are handled during agentic tasks.
To use this feature, select a permission level from the permissions dropdown in the chat input area for Copilot CLI sessions.
Claude agent sessions now support Permission modes selection, letting you choose the approval behavior that fits your workflow. To get started, select a permission mode from the permissions dropdown in the chat input area for Claude sessions. Learn more about permission modes.
Claude sessions are now supported in agent debug logs, making it easier to review and debug session activity.
The local model picker now includes model view management, giving you more control over how models are listed and selected across sessions. In Local agent, click the model dropdown, then select Manage models… to open the model management view.
GitHub Copilot for JetBrains IDEs now supports custom models configured by GitHub Copilot Business and Enterprise administrators in GitHub settings. Custom models are automatically available to members once configured by an admin.
For setup details, see Use your own API keys.
We’ve made several improvements to performance and day-to-day reliability across JetBrains IDEs:
This release includes important reliability fixes:
Inline Chat is now generally available.
We encourage you to try out the latest version of the GitHub Copilot plugin and share your feedback. Your input is invaluable in helping us refine and improve the product.
Your feedback drives improvements. We’d love to hear about your experience in the following channels:
The post Codex as agent provider and agentic enhancements in JetBrains IDEs appeared first on The GitHub Blog.
Hello friends. For a year now, I've been learning / adopting Go and I really loved every second.
But now that I know the pros and cons, the ins and the outs about Go, I might have made a huge mistake; I tried rust and immediatly starting considering it as a main lamguage.
Thing is, I want to learn both languages but time won't let me do that AND get 6-8 hours of sleep a day.
Now I realized I should have never looked up rust and honestly, some raw opinions and advices from this sub would probably fix my problem.
Let me know your thoughts!
For Diago lib users, there is work on more cleaner lib and full media pion webrtc integration.
Together with old media stack (as standard SIP), now you can also utilize full webrtc with High Level APIs, like playbacks, recordings, bridging etc..
You can follow PROGRESS more on branch and here more on breaking changes: https://github.com/emiago/diago/blob/webrtc-pion/WEBRTC_PION_CHANGES.md
NOTE: Diago lib is project driven VOIP lib, to make lot of code reusable with High Level API and following Go style of IO reading/writing. Making SIP + Media Server should be easy as building HTTP server.
| submitted by /u/Maybe-monad [link] [comments] |
What do you think about inline error handling? I'm on the verge of disabling this linter because it's supposed to improve readability and enforce a consistent style, but code like
if err := u.UnmarshalText(text); err != nil {
is fine with me.
This linter feels opinionated. If this pattern wasn't meant to be used, why is it part of the language?
I have mixed feelings about it. If my function is short, I'm fine with inline error handling. But in a larger function, where I already have
a, b, err := something() if (a == nil || b.IsZero()) && err == nil { break } I feel like I should stick to the same style.
What do you think about the "Avoid inline error handling" linter rule?
Hello Everyone,
I am trying to port ts library to go and the one i tried to start with is Valibot, I want to make sure the existing ts users aren't affected by it and just get the performance boost that go offers but here are the problems i am facing
To make sure that existing ts users aren't affected, i want to make sure that the my go library passes all the existing tests from the from the ts library, there is also another problem that go and js do not share memory natively. very time a user calls parse() or safeParse() in their JS code, the JS object must be serialized (e.g., to JSON or a shared memory buffer), passed across the boundary, deserialized by Go, validated, serialized back into an issue/success struct, and decoded back into JS.
I am new to porting and i will appreciate all the help i can get.
I had an interview today. At first, the interviewer asked me about the four pillars of OOP,s and then he asked me to implement method overriding in Java. I mentioned that I don't have a Java background and that I have worked primarily with Go. He then asked me to implement overriding in Go. I was completely blank at that moment, so I told him that Go doesn't support method overriding, but he didn't buy it.
Does Go actually support method overriding?
Hey there! I was reading on idiomatic Go interfaces and I'm having difficulty understanding idiomatic interfaces and what actually makes something an anti-pattern in Go, not on the concept itself but rather its implementation.
I get the gist of it: accept interfaces, return structs, no extra abstractions, small and local interfaces.
My confusion is that all of this feels like general software design and architecture to me, not something specific to Go. DDD already solves speculation and unnecessary abstraction. Well-defined domains avoid the local interface problem.
So, my question is, what makes idiomatic Go interfaces specifically Go, rather than just good software design principles applied to any language? Am I missing something Go-specific here?
Creator of Gin here! I haven't posted about Gin or the process of building Gin ever, but found it was a good idea to go out there and put my words in writing, almost like a process of self documenting myself.
In 2014 I came back from San Francisco with no plan. I spent a year working in some random startups (I was 18) and when I was back to my home town ready to start university I could not stay still. I started working on my own startup called Fyve and built Gin along the way.
Around then I watched Rob Pike Simplicity is Complicated, and it gave me vocabulary for what bothered me about Martini. What stuck with me was the idea that simple software often takes more work from the person building it so that it can take less work from the person using it.
Decided to use a simpler router, simpler, more idiomatic Go code and my personal balance between Martini and the standard library router.
Rest of the story:
https://manualmeida.dev/articles/gin-simple-over-easy/
I know Gin is loved and hated by some, not selling you anything, just sharing my thoughts!
JSON is slow to parse on one hand, but on the other -- it looks like the perfect format for dynamic data.
In this post I'll show what I ended up with when I tried to figure out whether it's possible to speed up data processing at the system level using only Go, combining two things that seem completely incompatible: a high-performance storage engine and the JSON format.
I picked up my virtual scalpel and started cutting away all the abstraction. I don't care about objects. I only care about information.
First things first -- I needed to figure out how to store data on disk without bottlenecking on slow I/O and wasting resources on OS overhead for every read and write. I dug through a ton of options, and honestly, for this kind of task there's nothing better than the "mmap" (Memory-Mapped Files) system call.
The idea is simple: we take the database file and map it directly into the address space of our Go process.
You'd think "mmap" would solve everything. But the speed was still underwhelming. I started digging -- and it turned out the bottleneck wasn't the disk at all. Go's native module ("encoding/json") can do everything under the sun: convert types, create custom parsers, validate structs. Everything except one thing -- work with information quickly. It parses JSON painfully slow.
That's because the standard parser runs heavy runtime reflection on every single call and creates a pile of objects on the heap for every string and every field.
I couldn't get rid of reflection entirely. But I managed to corner it: it fires exactly once at application startup (Warm-up), and after that it's completely gone from the hot path.
During initialization, we scan the Go struct once with reflection and memorize the memory offsets of all its fields via "reflect.StructField.Offset". We build something like a registry: which field lives at which address.
From that point on, everything flies without reflection:
Pull the value straight from the JSON text and write it to the struct's memory address via "unsafe.Pointer":
// Write value directly into struct memory at the pre-calculated offset fieldPtr := unsafe.Pointer(uintptr(structStartPtr) + fieldOffset) (int)(fieldPtr) = parsedIntVal
That's how lazy parsing was born. If a JSON document has 100 fields but we only need 2 -- the CPU just flies past the other 98. Result: up to 35,000,000 projections per second with zero allocations ("0 B/op").
Indexes, obviously. Without them any database turns into a dumb brute-force scan of everything.
We have two kinds of indexes:
Here I stepped on an interesting rake. When you need to sort 20 million records by some field, the naive approach is to sort the entire array of structs. But each struct weighs ~168 bytes, and on every swap the CPU drags those 168 bytes back and forth. At 20 million records this becomes torture for the CPU cache.
The fix turned out to be simple -- lightweight pairs. Instead of heavy structs, we extract just the ID and the field value into a tiny 16-byte struct:
type SortPairFloat struct { ID int32 Val float64 } // Just 16 bytes! 16 bytes is exactly what the CPU can shuffle around in its registers without spilling out of the fast L1/L2 caches. Sorting 20 million records dropped from several minutes to ~1.5 seconds.
To avoid recalculating indexes on every write (that would be insane), we went with an LSM-tree approach:
Here's the juicy part. JSON is stored in the database as-is -- raw bytes. And that gives us two serious wins:
+-----------------------------------------------------------------+ | Application / BFF | | [Transaction Buffer in RAM] [Two-pass Merge Sort] | +--------------------------------+--------------------------------+ | | (mmap / SHM memory mapping) v +-----------------------------------------------------------------+ | MakoDB Storage | | Documents (raw JSON bytes): | | - "tx:101" -> {"id":101,"country":"Germany","cost":12.5} | | Indexes (binary int32 arrays): | | - "sort:cost" -> [15, 101, 88, ...] | | - "idx:country:germany" -> [4, 101, 502, ...] | +-----------------------------------------------------------------+ Key point: indexes are just data, same as the records themselves. You can throw anything into the database and it'll be stored as-is. Indexes live right next to the data under their own prefixes ("idx:" and "sort:") as dense binary arrays.
The speed of this system is comparable to reading from RAM. Not from disk -- from actual RAM. Why?
Turns out, hell yes. And the results speak for themselves:
All of this in pure Go, without third-party code generators, and without heavy runtime reflection.
I wrote a walkthrough of building auth with a Go backend and a React frontend using Limen (a composable auth library for Go) and its new TypeScript client.
You can download binary and source distributions from the Go website: https://go.dev/dl/
View the release notes for more information:
https://go.dev/doc/devel/release#go1.26.5
It includes security fixes to the crypto/tls and os packages, as well as bug fixes to the compiler, the runtime, the go command, and the net, os, and syscall packages. See the Go 1.26.5 milestone on our issue tracker for details.
Find out more: https://github.com/golang/go/issues?q=milestone%3AGo1.26.5
(I want to thank the people working on this!)