Lossless Changelog
product

Team Data Updates and the Astro 6 Migration

Roster changes to the people data, plus the Astro 6 upgrade — which turned out to be less a version bump than a Content Collections migration with required rework.

Michael StatonMusic Editor

Changelog — 2026-04-09_01

Summary

This changeset updates team member data and upgrades the site’s tooling (notably Astro to v6), including required migration work for Astro v6 Content Collections.

Team / People data updates

Added

  • Added additional Institute entries to:

    • src/content/people/team.json

    • src/content/people/team-extended.json

    • Onchinsuren Dendevsambuu

      • role: Ambassador for Mongolia | TWF Institute Partner — Mongolia Desk

      • image: /headshots/headshotOf__Onchinsuren-Dendevsambuu.jpeg

      • socialLinks: LinkedIn https://www.linkedin.com/in/onch-dendev/

    • Thomas Bella

      • role: TWF Institute Partner — DACH Desk

      • socialLinks: LinkedIn https://www.linkedin.com/in/thomas-bella-munich/

    • Robert Schiele

      • role: TWF Institute Partner — DACH Desk

      • socialLinks: LinkedIn https://www.linkedin.com/in/robert-schiele-a126a2158/

    • Ineeleng Molete

      • image: /headshots/headshotOf__Ineeleng-Molete.jpeg

      • socialLinks: LinkedIn https://www.linkedin.com/in/ineeleng-molete-a5078992/

Removed

  • Removed Lisa Niedenfuehr from:

    • src/content/people/team.json

    • src/content/people/team-extended.json

  • Removed Nick Stübbe from:

    • src/content/people/team.json

    • src/content/people/team-extended.json

Updated

  • Updated Corinna Schwager title:

    • role: Chief of Staff

    • in both team.json and team-extended.json

  • Updated Divyakshi Nath:

    • role: Analyst

    • classifiers: changed from Visiting Fellow to Team

    • in both team.json and team-extended.json

  • Adjusted Martin Klässner to prevent duplicate rendering on the Team page:

    • classifiers: Vertical Partner, Team -> Vertical Partner

    • in src/content/people/team.json

  • Rewrote Robert Schiele bio to match the site’s typical third-person style and length.

Dependency upgrades

Updated package.json versions (installed via pnpm):

  • astro: ^5.16.11 -> ^6.1.5

  • tailwindcss: ^4.1.18 -> ^4.2.2

  • @tailwindcss/vite: ^4.1.18 -> ^4.2.2

  • vitest: ^4.0.17 -> ^4.1.4

  • @vitest/ui: ^4.0.17 -> ^4.1.4

  • jsdom: ^27.4.0 -> ^29.0.2

  • @types/node: ^24.10.9 -> ^25.5.2

  • @astrojs/check: ^0.9.6 -> ^0.9.8

  • typescript: ^5.9.3 -> ^6.0.2

Notes:

  • pnpm reported peer dependency warnings indicating Astro tooling expects TypeScript ^5.x (TypeScript v6 may be too new).

Astro v6 migration (Content Collections)

Content config migration

  • Added new Astro v6 content config file:

    • src/content.config.ts

  • Existing legacy file still present:

    • src/content/config.ts

Added loaders to content collections

Astro v6 requires loaders for collections.

  • Updated src/content/events/config.ts:

    • Added loader: glob({ pattern: '**/*.md', base: './src/content/events' })

    • Imported glob from astro/loaders

  • Updated src/content/facts/schema.ts:

    • Added loader: glob({ pattern: '**/[!_]*.md', base: './src/content/facts' })

    • The [!_]* exclusion prevents underscore-prefixed markdown (e.g. _All-Facts.md) from being treated as a facts entry and failing schema validation.

Render API change

Astro v6 changed how collection entries render.

  • Updated src/components/facts/FactCard--w-Image.astro:

    • Replaced entry.render() with render(entry)

    • Updated import to import { render, type CollectionEntry } from 'astro:content'

Events pages compatibility (slug handling)

With v6 loaders, pages relying on event.slug could fail.

  • Updated events pages to derive a slug from event.id when event.slug is absent.

    • Added helper getEventSlug = (event: any) => (event.slug ?? event.id?.replace(/\.md$/, '')) in several pages.

  • Files updated:

    • src/pages/events/bmw-foundation-the-leaders-collaboration-forum.astro

    • src/pages/events/unga.astro

    • src/pages/events/oceanx.astro

    • src/pages/events/norrsken-impact-week.astro

    • src/pages/events/thedrop.astro

    • src/pages/events/hellenic-impact-investor-conference.astro

    • src/pages/events/index.astro

    • src/pages/events/cop.astro

    • src/pages/events/g20-summit.astro

    • src/pages/events/twf-water-resilient-cities-forum.astro

    • src/pages/events/water-futures-forum.astro

    • src/layouts/sections/events/UpcomingEvents.astro

Build status

  • pnpm build passes successfully after the Astro v6 migration changes.

Known warnings / follow-ups

  • Unsplash 403 errors can occur during prerender when attempting Unsplash lookups; these are treated as non-blocking for now (fallback image logic exists).

  • Consider removing src/content/config.ts to avoid confusion/regressions related to legacy content config detection.

  • Consider downgrading TypeScript back to a supported ^5.x range to eliminate peer dependency warnings for Astro tooling.