- fix(member-management): Zod v4 .partial() on refined schema crash
Separated CreateMemberBaseSchema from superRefine so .partial()
works for UpdateMemberSchema. Fixes members-cms page crash.
- fix(course-management): snake_case→camelCase stats normalization
getQuickStats RPC returns snake_case keys but templates expect
camelCase. Added normalization layer so stats cards display values.
- fix(blog): add missing cover images for 5 German blog posts
Posts referenced /images/posts/*.webp that didn't exist.
- fix(docker): remove non-existent catch_entries table from bootstrap
dev-bootstrap.sh granted permissions on catch_entries which has no
migration. Removed the stale reference.
- docs: add qa-checklist.md with full test report
A new component, BlogPagination, has been added to the blog section of the website. This component includes buttons for navigating to the next and previous pages of blog posts. The BlogPagination component has been integrated into the main blog page, resulting in a more user-friendly browsing experience.
The code changes involve a significant update to the configuration of our CMS client. The nature of retrieving content items has been refactored to be more granular, allowing for the identification and fetching of content from specified collections rather than general categories. These modifications improve the efficiency and specificity of content queries. Furthermore, other changes were made to provide a better alignment of our content structure, including the reorganization of content files and renaming of image paths in various components for consistency.