Repository navigation
The home page now opens on what is happening in the Action: the event in progress or the next one, the calls that are open, the latest news and the size of the network in four figures. The European Security Studies Conference 2027 has its page, set for 10 and 11 June 2027 in Belgrade with the NetSec Training School alongside it, and a Year in Review page assembles the Action's first year from records the site already holds. The September accessibility assessment's 155 contrast corrections are in, with no contrast failure left open.
The home page shows what is on
A row of three tiles under the hero shows the event in progress or the next one, the calls that are open and the latest news, in English, French and German. A strip below gives the size of the Action in four figures counted from the Directory and the event record: members, countries, Working Groups and events held. The hero leads with Join the network and Browse the directory, and its four theme chips open the Directory already filtered.
News cards carry a one-sentence summary in place of a body of 68 to 107 words, and four photographs from the 2026 conference follow the News section. An event that has ended leaves the Events block, and the two most recent events follow when nothing is upcoming.
ESSC 2027, the leadership and the Action's first year
The European Security Studies Conference 2027 has a page at /essc-2027.html: 10 and 11 June 2027 at the University of Belgrade, Faculty of Political Science, with the NetSec Training School alongside it from 8 to 11 June. Both events are in the calendar feeds and on the home page as Save the date. The call for papers follows on eiss-europa.com by early November.
The Year in Review page covers the Action year from 10 October 2025 to 9 October 2026. The About, home, Working Groups and glossary pages show the leadership as e-COST records it in October, and a news item names the new holders. Every event page carries schema.org Event data, so a search result can show the date, the venue and the status.
Contrast, touch targets and the keyboard
Link text in light mode measures 4.96:1 against the page, up from 3.43:1, and dark mode clears eleven contrast failures, the skip link among them. The accessibility statement moves to v1.6. On touch screens, 35 controls on the Directory, the Network Map and the ESSC 2026 page clear 44px, as do the home page's hero badge, theme chips and open-call links. The skip link is the first stop for the Tab key on 44 French and German pages and on every member profile.
The Directory, and underneath
The Directory finds a name typed without its accents, which twelve of its 85 members carry. Each filter chip reports what it yields given the filters already set. An audit of all 256 keywords added a seventeenth research theme, War, military history and armed conflict, and took Security and defence from 39 members to 25.
The site counts page views with GoatCounter, which sets no cookie and stores no IP address. Country flags are served from the site, which removes 52 third-party requests from the About page. Two failures that had gone unnoticed are fixed: the nightly bios sync had crashed since 28 August, and LinkedIn posts lost their text after the first bracket. A failed scheduled workflow now files an issue.
Index of changes
The index below is the audit trail for the sections above.
Added
- A news item names the Action's new leadership holders: Prof. Filip Ejdus as Working Group 1 lead with Prof. Nikolaos Tzifakis as co-lead, Dr Eliza Gheorghe as Working Group 2 co-lead, and Dr Arthur Laudrain as Science Communication co-lead.
- A page for the European Security Studies Conference 2027 at
/essc-2027.html, in English, French and German, announces the conference on 10 and 11 June 2027 at the University of Belgrade, Faculty of Political Science, with the NetSec Training School alongside it from 8 to 11 June. Both events are in the calendar feeds and on the home page as Save the date, the Training School page carries the 2027 dates, and a news item announces both (#1557, #1559, #1560). - The home page shows four photographs from the European Security Studies Conference 2026 after the News section, four across on a desktop and two on a phone, linking to the gallery and recap film on the ESSC 2026 page, in English, French and German. The images are the gallery's existing WebP and JPEG files, loaded lazily.
- A row of three tiles under the home page's hero shows what is on, what is open and what is new, in English, French and German. The first tile shows the event in progress with a pulsing dot, else the next event, else the most recent one held, and an announced but unconfirmed date reads Save the date. The second lists the open calls, soonest deadline first, with a countdown in the final 30 days. The third links the latest news item. The row is filled from the events and news files at page load, so a conference announced on Indico, or a call for papers published from a GitHub issue with a
Closes:date, appears without a page edit. It replaces the strip that listed the Action number, the MoU number, the CSO approval date and the duration. The Action number and duration stay in the hero badge, and the MoU number stays in the press kit. - A strip under the home page's Now row gives the size of the Action in four figures: members, countries, Working Groups and events held, in English, French and German. The figures are counted from the Directory, the Working Groups file and the events file at page load, so they match the Directory on the day they are read. They count up the first time the strip comes into view, and show their final values at once when the reader's system asks for reduced motion (#1882).
- A Year in Review page assembles the Action year from records the site already holds. The first edition covers 10 October 2025 to 9 October 2026 and opens on the figures that matter to a reader: 95 Directory members from 29 countries, 4 events held, and no outputs yet. Below them sit the Directory's growth month by month, the seventeen research themes ranked by how many members work in each, the news and events of each quarter of the year, and the fifteen feature releases the website shipped. Every figure, title and date is read at page load from a file a script assembles, so October needs a regeneration and two paragraphs rather than a page build. Published in English, French and German, and listed on the site map.
- The site counts page views through GoatCounter, a cookieless counter that writes no IP address and no user-agent string to its database, on the 61 top-level page-locales and the 285 member profile pages. COST reporting asks for evidence of dissemination reach, and a site with no measurement of any kind could supply none. The counter is operated from Ireland and stores its data in Finland and Germany, so the processing stays inside the European Economic Area. The privacy notice moves to v1.4 with a section recording exactly what the counter sees, where it sits, and the fact that it does not act on the browser Do Not Track setting, in English, French and German.
- Two news items record the September events. The Management Committee held its first plenary online on 11 September 2026, and Working Group 2's policy workshop on great power politics and the future of alliances ran at Bilkent University in Ankara on 13 September. Both appear on the home page, in the news archive and in the RSS feed, in English, French and German.
- Every event page now carries schema.org
Eventdata, and the Events page carries the whole calendar as a list, which is what lets a search result show the date, the venue and the status instead of a plain blue link. The policy workshop at Bilkent University and the summer school had none of this, and the conference had a block written by hand. All of it is generated fromdata/events.json, so the start time and its UTC offset are written down once rather than three times, in English, French and German. - A failed scheduled workflow files a tracking issue instead of sitting unread in the Actions tab, and the Python test workflow refuses a pull request that introduces an undefined name.
Changed
- On the About page, each leadership card that names a co-lead shows the co-lead's photo beside the name, and the Working Group Co-Leaders grid lists only Working Group co-leads. The Grant Awarding and Science Communication co-leads appear on their coordinators' cards.
- The About, home, Working Groups and glossary pages show the Action's leadership as e-COST records it on 7 October 2026: Prof. Filip Ejdus leads WG1 with Prof. Nikolaos Tzifakis as co-lead, Dr Eliza Gheorghe co-leads WG2, WG4 has no co-lead, and Dr Arthur Laudrain is Science Communication Co-Leader. The hand-written copies still showed the May line-up.
- The issue-driven news publisher is removed: the
newslabel,news-publish.ymlandscripts/publish-news.py. It never published an item after it shipped in June, and news is added todata/news.jsonby PR. - The ESSC 2026 gallery serves its 600px WebP copies through
srcseton 1x screens, 140 KB against 290 KB. 2x and 3x screens keep the 1000px files. - The home page ESSC 2026 photo strip serves 600px WebP copies of its four photographs through
srcset, 140 KB against 290 KB for the 1000px files it loaded before. - The home page runs hero, Now row, figures, audience cards, Network, Working Groups, About, Events, News, photographs, members strip and contact. About keeps its heading and three objectives and drops its two paragraphs and the Find out more cards (FAQ, Glossary and Roadmap, all still linked from the footer or the audience cards). Events starts at 4,421px on a desktop, up from 6,386px, and at 7,128px on a phone, up from 10,376px, and the page is 9,280px and 14,282px tall, down from 9,804px and 15,600px (#1888).
- Home page news cards show a one-sentence summary instead of the full 68 to 107-word body, so the mobile Read more button is gone, and the News page and RSS feed keep the full text. News items take an optional
summary, and the first Management Committee plenary loses its WG1 tag (#1889). - The home page's Network section links the Network Map from a signpost under the member faces (#1886).
- The top navigation's News link opens the News page on all 69 pages instead of the home page's news section, and the home page drops two duplicate links: the Press kit card in Find out more and the Wiki link in the members' audience card (#1884).
- Public copy on fifteen English pages is edited against a list of AI-writing patterns: 16 run-on sentences left behind by em-dash removal are repaired, the privacy notice's 18 field labels get their colons back, the Directory's seven emoji bullets are removed, and stock phrases such as "in one place", "one thing worth highlighting" and "the trade-off is real" are cut. The French and German pages carry the same edits.
- Country flags are served from the site itself, 41 PNG thumbnails of about 1 KB each, so the About page makes 52 fewer requests to a third-party host and a FlagCDN outage no longer blanks every flag. The privacy notice drops FlagCDN and Google Fonts from its list of third parties, since the fonts were already self-hosted, and names the one file the conference programme page still reads from eiss-europa.com. The accessibility statement retires its third-party assets limitation. Both are updated in English, French and German.
- Four Directory keywords that named one concept twice or broke a naming pattern are merged into one form: EU security and defence into European security and defence, Critical security into Critical security studies, US-China relations into US–China relations with the en dash its EU siblings use, and China's foreign policy into Chinese foreign policy. The old forms still resolve, so no submission needs editing.
- The Directory keyword Post structural security is retired, since it carried one member's own phrasing rather than a curated tag. That member keeps the Theory and methods theme through Securitisation.
- The Directory's research themes are rebalanced after an audit of all 256 keywords. Security and defence falls from 39 members to 25 and Foreign policy and diplomacy from 38 to 34: the drone and sensing keywords move to Cyber and emerging technology, European security to European and transatlantic security order, and the conflict keywords (civil wars, separatism, political violence and four others) to War, military history and armed conflict, which grows from 4 members to 12. Theory and methods is renamed Disciplines, theory and methods in English, French and German, since International relations, History and law carry half its 24 members. Six keywords that had no theme are placed, so every keyword maps to one.
- Eleven place names typed as Directory keywords, among them India, Western Balkans and Middle East, are dropped in favour of the research-regions filter, which every one of their holders already sets. Ten pairs of duplicate keywords are merged, among them Artificial intelligence into AI and Crises into Crisis management, and five keywords get their capitals back, such as Black Sea security and Counter-UAV detection. The Directory has 234 distinct keywords, down from 256.
- The Directory keyword Green defence industry is merged into Defence industry. Its one holder already carried both, and leaves the Climate, energy and environmental security theme, which it was her only route into.
- The Ankara policy workshop page reads as a record of 13 September 2026, in English, French and German. It had kept its Applications heading and its future-tense copy after the day was over, so a reader arriving from the news item or the calendar entry found a page that looked as though applications still mattered. A concluded notice now sits under the hero, the quick facts report the status instead of the application deadline, the themes and the terms of the call are kept for reference, and the add-to-calendar button for a day that has passed is gone.
- The Directory gains a seventeenth research theme, War, military history and armed conflict, carrying seven keywords out of Security and defence. Four members work in the area, which is the threshold the vocabulary uses for a new theme, and Security and defence goes from 39 members to 38. The theme is labelled in French and German on the filter row and the Network Map hubs.
- The Directory's research-theme and research-region chips now sort by their live count, so the areas that still have people in them lead the row. The eight chips shown while the row is collapsed are drawn from the same ranking, which brings a smaller theme into view when the current filters make it the largest one left.
- The accessibility statement moves to v1.6, recording the 2 September 2026 assessment and the 15 September rescan that followed it: 155 contrast corrections, no contrast failure left open, and the light-mode link colour that the automated scan does not reach. Published in English, French and German.
- The home page hero leads with Join the network, noted as adding a profile to the open directory, and Browse the directory in place of Discover the Action. Its four keyword chips link to the Directory filtered by theme, and the lede names the four Working Groups and the directory. Changed in English, French and German.
- The home page section headings no longer carry the faded numerals 01 to 06, which skipped the Network section and the members strip.
Fixed
- LinkedIn posts carry their full text. LinkedIn treats characters such as parentheses as markup and dropped everything from the first one, so the October 2026 news posts stopped at "(University of Belgrade)" and "(EISS)". The text is now escaped, and the hashtags are sent as LinkedIn hashtags.
- A landscape photo now fills its round avatar instead of sitting in it with a gap above and below. Dr Moritz Weiss's and Mr Eugenio Sánchez's photos on the About page showed this, and the About page now points at Mr Sánchez's photo by its real file name.
- A leadership role that cost.eu stops listing now leaves the Directory, the Working Groups page and the Network Map at the next weekly sync, and the sync report names it. The WG4 Co-Leader role had stayed on the site for a month after it left cost.eu in September.
- The member profile pages have a skip link to the profile, the first stop for the Tab key in all three languages (#1926).
- The skip link is the first stop for the Tab key on 44 French and German pages, where the translation ribbon's link came first, and the French FAQ and the French and German press kits label it in their own language.
- The skip link on French and German pages stays on one line on a phone, so it no longer shows a 5px sliver at the top of every page before it is focused.
- On touch screens, 35 controls on the Directory, the Network Map and the ESSC 2026 page clear 44px at desktop width, up from 19px to 42px, and the Directory's phone filter sheet chips clear it too, up from 27px and 32px (#1913).
- The first Management Committee plenary no longer carries a WG1 tag on its event card or in Working Group 1's related events (#1915).
- On touch screens the home hero's CA24154 badge is 46px tall at desktop width, up from 38px, and the four theme chips are 44px or more, up from 25px (chips in #1907, badge in #1905).
- The home page Now row's open-call links are at least 46px tall on touch screens, up from 20px for a one-line title and 40px for two lines, clearing the 44px target size (#1897).
- The four theme links under the home page hero are 45px tall on touch screens, up from 25px, clearing the 44px target size.
- The Joint EISS × NetSec and Save the date pills on event cards, and the prize badge on the conference programme, took their dark colours from the operating system's setting instead of the site's theme toggle. A reader in dark mode on the system who had chosen the light theme saw light-blue text on a light card. All three now follow the toggle.
- The home page's Events block showed a single line reading No upcoming events right now once the September events had ended. The two most recent events now follow that line, in English, French and German.
- A call for applications stayed on the home page after its event had taken place, so two of the three news cards covered the Ankara workshop. A news item can now carry an end date for the home page, and the closed workshop call and the closed summer-school call drop off it while staying in the archive and the RSS feed.
- The home page's news cards for readers without JavaScript, which the site search also indexes, dated from June. They are now rewritten from the news file at every deploy.
- A member who changed country on the Directory form kept the flag of the old one, so the home-page spotlight showed a French flag beside United Kingdom. The flag is now derived from the country at every sync.
- On a phone the Find your way in tab sat over the right edge of the text. It is now a round button in the bottom-right corner.
- The home page's members' Wiki panel no longer mentions repository write access and pull requests. It says that members with editing rights can update any page in their browser, in English, French and German.
- Five out-of-date statements are corrected: the FAQ's visa answer named a past conference by the wrong name, its plenary answer pointed to a home-page section that no longer exists, its leadership-cards answer placed the cards on the home page instead of About, the home-page card for the Ankara policy workshop still read as upcoming, and the Grants page sent readers "below" to grants listed above.
- A Network Map filter chip that is switched off shows an outline in its own colour with the label at full strength. The whole chip used to fade to a third of its opacity, which took its label to well under the WCAG AA floor, so a reader who had switched every hub off could not tell WG2 from WG3. The label now measures about 17:1 in both themes.
- The slide-templates page carries the generated search and social-card metadata and the visitor counter in English, French and German. It had been left out of the list of pages the metadata generator manages, so its hand-written copy could drift from the title and description unnoticed, and a new check now fails a pull request that adds a top-level page without registering it.
- The ESSC 2026 programme page read Times in Europe/Paris under the grid for a conference held in Stockholm, in English, French and German. Every event on the Indico instance reports Europe/Paris whatever country its venue is in, which is the instance default rather than a setting anyone chose, so the sync now applies the venue's own zone and the six editions on record each carry theirs. Lisbon is the case where the label was an hour out rather than merely wrong.
- The Network Map's filter chips and hub labels carried a white label on whatever colour the Working Group or research theme owned, and on WG4's amber that measured 2.15:1 against a WCAG AA floor of 4.5:1. The label colour is now taken from the fill's own luminance, so the four Working-Group colours and the eighteen theme colours all clear the floor, the worst of the twenty-two reading 4.6:1. The press kit's brand-colour table had the same shape, with 3.65:1 on the Apple blue swatch and a decorative tile painting a dark-mode colour on a fixed light background. An accessibility scan of the 66 page-locales counted 21 flags and now counts 3, all of them the script-written link already cleared as a false positive.
- The Network Map published thirteen names spelled differently from the Directory, two of them stripped of their diacritics, because a Working-Group roster row created the person and the Directory pass that followed never revisited the name. Marko Kovačević and Šárka Kolmašová carry their accents on the map, sara russo is capitalised, and five academic titles match the ones their holders submitted. Two members are shown in the country they now work in.
- The inaugural Management Committee plenary is recorded as it happened, online on 11 September 2026 from 09:30 to 11:00 CEST. The entry had carried a provisional 18 September date, a full-day 09:00 to 18:00 slot, a venue reading "To be confirmed" and a tentative calendar status, so a reader who had subscribed to the feed held a meeting that was already over in the wrong week. The calendar feeds now carry the real date and time, and the card reads the same in English, French and German.
- Searching the Directory for a name without its accents found nobody. Twelve of the 85 members carry one, and the Turkish dotless i in Pınar and Çıkrıkçı sits on no keyboard most readers have, so those entries could be reached only by copying the name off the page. The search now folds accents on both sides, and a query of several words matches when each word lands anywhere in an entry, so a surname and a country together narrow to one person. The Network Map's find box folds the same way.
- The Directory's filter chips carried counts taken from the whole network, so a research theme could advertise twenty people and then return an empty grid once a Working Group was picked. Every chip now reports what it yields inside the filters already applied, and a value that would return nobody is disabled rather than offered. The Working-Group, Management-Committee, mentorship, STSM-hosting and country controls carry a count for the first time.
- A Directory filter that matched nobody showed the message written for a directory with no submissions at all, so narrowing to a Working Group and a country reported that a directory of 85 people was empty. A zero-result filter now names the filters that produced it, each one removable from the card itself, next to a reset for all of them.
- Link text in light mode sat at 3.43:1 against the page, under the WCAG AA floor, on body links, the see-all links and the audience-router label across the site. Links now carry their own colour, a darker blue reading 4.96:1 on the page and 5.28:1 on a white card. The Apple blue keeps its published value on the surfaces that use it.
- Dark mode failed the WCAG AA contrast floor in eleven places, among them the skip link a keyboard user reaches first, which rendered white on near-white, and the Funded by the European Union attribution in the footer of every page. An accessibility scan counted 176 contrast errors across the 66 pages and now counts 21.
- The home page kept a concluded event in its Events block. Once nothing was upcoming the block held its hand-written cards, so the September policy workshop would have been advertised as forthcoming the morning after it ended. Concluded events now drop off on their own in all three languages, and a block with nothing upcoming says so.
- The Events page told a visitor without JavaScript to see the events block on the home page, and linked to the Events page they were already on. It now links to the home page in the reader's own language.
- Adding the Ankara policy workshop to a calendar placed it an hour late. Every event was published in the Stockholm time zone, which was the venue for the two June events, and Türkiye is an hour ahead. An event now carries the time zone of its own venue.
- A member joining the network arrived without a headshot. The rule that hides the generated profile pages from git matched any folder named
people, so it also hid the member photographs, and the first new member since it landed had a portrait on the runner that never reached the repository. The rule is now anchored to the one folder it was written for. - The nightly member-bios sync re-encoded 31 of the 71 map headshots every run and reported them as changed, which raised a false alarm on each pass.
- The nightly member-bios sync ran to a crash instead of opening its pull request, so directory updates submitted through the form stopped reaching the site after 28 August 2026.
- Thirty-two research keywords belonged to no theme, so the Directory's theme filter omitted the members who had submitted them, and one member appeared under no theme at all. Those keywords are now filed, and two changes keep the gap from reopening: a bare region name typed into the keyword box is dropped the way a bare country name already was, and trailing punctuation is stripped before the vocabulary is consulted, which had turned a submitted
Ukraine.into a keyword of its own.