What’s New
A weekly digest of what shipped across the SAP Developer platform — grouped by week, newest first.
Week of Aug 17 – Aug 23, 2026
New & improved
- Refresh the Devtoberfest Selfie backgrounds, stickers, and frames Developer Portal
Gives the Devtoberfest Selfie tool a fresh set of backgrounds, stickers, and advocate frames so your event selfies look current.
- Let authors add intro text to puzzles and Petoberfest Developer Portal
Lets authors add formatted intro text with links to puzzle and Petoberfest pages, so participants get clear instructions on how to take part.
- Let users withdraw their own Petoberfest photo Developer Portal
Lets Petoberfest participants withdraw a photo they uploaded so it no longer appears, even after it was approved.
- Randomize the Petoberfest slideshow order Developer Portal
Shuffles the Petoberfest photo slideshow on each visit so it's no longer always the newest uploads first.
- Add Devtoberfest scavenger-hunt clues Developer Portal
Adds three hidden Devtoberfest scavenger-hunt clues, one each on the home, AI, and API docs pages, featuring SAP developer advocates.
- Self-service page to create MCP access tokens Developer Portal
Adds a self-service page at /me/tokens where you can create, view, and revoke your own personal access tokens for the hosted MCP server, without needing admin access.
- Keyword search for Devtoberfest sessions Developer Portal
Adds a keyword search box to the Devtoberfest sessions page that matches across session titles, abstracts, and speaker details, and fixes the Join banner so you can find the right session faster.
- Tutorial images self-populate the image store Developer Portal
Makes the platform automatically save tutorial images to its own store the first time they're requested, so images keep loading even when the original source is unavailable.
- Store tutorial images independently of GitHub Developer Portal
Lets the platform ingest and store tutorial images directly, plus a backfill for existing ones, so tutorial screenshots no longer depend on fetching from GitHub at page-load time.
- Persist tutorial images with GitHub fallback Developer Portal
Stores tutorial images durably and serves them from the platform's own store, falling back to GitHub only when needed, so tutorial screenshots stay available even during GitHub outages or rate limits.
- Collapsible 'More from author' section Developer Portal
Makes the 'More from author' section on tutorial pages collapsible and closed by default, giving you a cleaner reading view while keeping the related tutorials one click away.
- Ask Joule what's new Developer Portal
Adds a Joule capability so you can ask what's new and get the latest platform updates from the What's New digest instead of a refusal.
Fixes
- Rescue tutorial prose and screenshots trapped inside code blocks Developer Portal
Fixes tutorials where explanatory text and screenshots that followed a code sample inside a numbered step were mistakenly rendered as raw code, so those steps now read the way the author intended.
- Restore group and mission completion tracking Developer Portal
Restores automatic credit for completing tutorial groups and missions, so finishing all the tutorials in a learning path once again marks the whole path complete.
- Grade submitted code against the stated goal, not the sample answer Developer Portal
Makes the AI code-check grader judge your answer against what the exercise actually asks for rather than nitpicking details of the reference solution, so correct submissions are no longer rejected over unrequested specifics.
- Refresh cached puzzle answers instead of trusting stale copies Developer Portal
Fixes puzzle tutorials where edited answers were ignored, so updated puzzle solutions now validate correctly on the live site.
- Enable search in the QA tutorial preview site Developer Portal
Makes tutorial search work again on the QA author-preview channel so authors can find and open the tutorial they are searching for.
- Redirect QA group and mission pages to production Developer Portal
Replaces a raw error on QA-preview group and mission pages with a graceful redirect to the live page, and shows a friendly error page when a catalog page can't render.
- Show titles and links on Featured Missions cards Developer Portal
Fixes the Featured Missions cards on the Tutorial Navigator that were rendering blank, so they once again show their title, description, and link.
- Show correct acronym casing on group and mission tag chips Developer Portal
Fixes tag chips on group and mission pages so acronyms like 'SAP BTP Cockpit' display with proper capitalization instead of 'Sap Btp Cockpit'.
- Render deeply-indented code blocks with syntax highlighting Developer Portal
Fixes hundreds of tutorials where code blocks indented inside list steps showed their raw backtick fences instead of a proper highlighted code window.
- Let puzzle designers toggle grid squares back to white Developer Portal
Fixes the admin crossword puzzle designer so clicking a black grid square turns it white again, unblocking puzzle layout work.
- Stop treating edge errors as expired sessions on photo upload Developer Portal
Fixes Petoberfest photo uploads behind the CDN that were reloading the page instead of surfacing the real error, so upload failures now report a meaningful message.
- Bound memory use during content publishing Developer Portal
Stops content rebuilds from crashing on out-of-memory by no longer loading the entire catalog's content into memory during publish, making large publishes reliable.
- Make scavenger-hunt clue captions readable Developer Portal
Gives the floating Devtoberfest scavenger-hunt clue captions a solid background so the clue text is readable against the page behind it.
- Show authored tutorials in the SAGE 'My Tutorials' panel Developer Portal
Fixes the 'My Tutorials' panel so tutorials you authored show up, not just ones where you match on email or name.
- Fix advocate photo uploads behind the CDN Developer Portal
Switches advocate photo uploads to a CDN-friendly format so they succeed on developers.sap.com and report clear errors when something goes wrong.
- Add a /puzzles/ index page and admin link Developer Portal
Adds a proper puzzles landing page listing every puzzle, replacing the 404 that used to appear at /puzzles/.
- Serve puzzle pages dynamically Developer Portal
Fixes newly created puzzles that returned a 404 by serving every puzzle page dynamically from the catalog instead of relying on hand-authored files.
- Fix Petoberfest photo uploads behind the CDN Developer Portal
Fixes Petoberfest pet-photo uploads that failed silently on developers.sap.com by switching to a CDN-friendly upload format and surfacing errors.
- Hide the Petoberfest upload form from logged-out visitors Developer Portal
Fixes the Petoberfest page so anonymous visitors see a sign-in prompt instead of the upload form.
- Repair puzzle JSON import in the admin builder Developer Portal
Fixes the admin puzzle builder so importing a puzzle JSON file after creating a new puzzle actually loads it.
- Prompt re-login when a session has expired Developer Portal
Fixes the tutorial step 'Done' button so that in an expired session it prompts you to sign in again instead of silently failing to record your progress.
- Keep the quiz verdict badge round Developer Portal
Fixes the per-question pass/fail badge in tutorial quizzes so it stays a neat circle next to long questions instead of squishing into an oval.
- Enable desktop MCP sign-in (Joule Desktop) Developer Portal
Lets desktop MCP tools such as Joule Desktop complete sign-in through their local callback, so connecting them to the platform's MCP server works reliably.
- Fix the tutorial feedback form Developer Portal
Repairs the tutorial feedback form so the detailed-feedback popup opens and submissions go through, letting you share feedback on tutorials again.
- Heal broken tutorial images in the store Developer Portal
Adds a way to force-refresh tutorial images that were saved incompletely, cleaning up broken entries so those images display correctly.
- Fix tutorial image uploads to storage Developer Portal
Fixes a startup configuration gap that was causing tutorial-image uploads to storage to fail, so images now persist as intended.
- Fix empty Featured Missions carousel on the homepage Developer Portal
Fixes the homepage Featured Missions carousel that had stopped showing any cards, so featured missions appear again.
- Fix empty tutorial image store Developer Portal
Fixes an issue that prevented tutorial images from ever being written to storage, so the image store now populates correctly.
- Store tutorial images in Object Store and fix boot crash Developer Portal
Moves tutorial-image storage to BTP Object Store and fixes a startup crash, so the service boots reliably and images are stored in the right place.
- Fix product tag filtering in the Tutorial Navigator Developer Portal
Fixes product-tag deep links in the Tutorial Navigator so clicking a product now shows all of that product's tutorials instead of just a subset.
- Restore the Mission crumb in tutorial breadcrumbs Developer Portal
Restores the missing Mission entry in tutorial breadcrumbs, so you can navigate back up to the mission when you reached a tutorial through one.
- Fix breadcrumb separator on cross-linked tutorials Developer Portal
Fixes a missing separator in the breadcrumb when you open a tutorial from a group or mission link, so the trail reads clearly.
- Fix tutorial images failing to load on mobile Developer Portal
Fixes tutorial images that were failing to load on mobile devices due to rate-limiting on mobile-sized image variants, so screenshots now render on phones and tablets.
- Add tooltips to header toolbar icons Developer Portal
Adds hover tooltips to all the icons in the top-right header bar, so it's clear what each button does.
- Fix account-linking save error for new users Developer Portal
Fixes an error that stopped some new users from saving their community profile link on first sign-in, so account linking now works for everyone.
- Redirect legacy sitemap URLs Developer Portal
Redirects old sitemap URLs left over from the previous platform to the current sitemap, so search engines can crawl and index tutorials again.
- Fix broken images in the 'You will learn' section Developer Portal
Fixes broken images in the 'You will learn' section of tutorials so those screenshots display instead of returning 404s.
Performance
- Reduce layout shift on the Browse page Developer Portal
Eliminates the remaining layout shift on the Browse page by loading card styling up front, so cards no longer jump around as the page loads.
Documentation
- docs: Devtoberfest selfie art update runbook Developer Portal
Adds an internal runbook explaining where the Devtoberfest Selfie art lives and how to swap in new backgrounds, stickers, and frames.
- docs: register ai-skills-catalog page in sidebar Developer Portal
Registers the new AI Skills Catalog page in the documentation sidebar so it is easy to find.
- docs: AI Skills Catalog (internal AI capabilities reference) Developer Portal
Adds an internal reference page cataloguing every AI capability across the tutorials platform, from Joule chat tools to the knowledge-graph jobs.
- Publish skills to the SAP AI Skills Library Developer Portal
Publishes the platform's AI skills (like the knowledge-graph builder and the What's New generator) so you can discover and install them into tools like Claude Code, Cursor, and Codex via the SAP AI Skills Library.
Documents the design for storing tutorial images in Object Store so they no longer depend on GitHub at request time.
Under the hood
- Release 1.18.0 to production Developer Portal
Ships the 1.18.0 production release, bundling the self-service token page, Devtoberfest and Petoberfest features, and a batch of fixes to developers.sap.com.
- Bump release version to 1.18.0 Developer Portal
Bumps the project version to 1.18.0 ahead of the production promotion.
- Unblock the documentation build Developer Portal
Fixes the documentation build that was failing on a link pointing to a live app route rather than a doc page.
- Allowlist puzzle routes in the QA route-drift guard Developer Portal
Registers the new puzzle content routes with the internal build guard that keeps the QA preview site in sync, turning the build green again.
- Release 1.17.0 to production Developer Portal
Ships the 1.17.0 production release, bringing the self-service token page, image persistence, and a batch of fixes to developers.sap.com.
- chore(release): bump MTA version to 1.17.0 for PROD release Developer Portal
Prepares the platform's next release version so the latest batch of improvements can roll out to production.
- Fix build check for the new token page Developer Portal
Fixes an internal build check so the new personal access token page builds and ships cleanly.
- fix(deploy): pin tutorials-srv-qa memory to 1536M (#1893) Developer Portal
Gives the QA content service enough memory to finish large content rebuilds without crashing, keeping the QA preview channel dependable.
Updates an internal build check to recognize the new image-serving routes so continuous integration passes.
- Release 1.16.0 — DEV → main (PROD promotion) Developer Portal
Promotes a batch of features and fixes, including durable tutorial-image storage and Joule's What's New support, to production.
- chore(release): bump MTA version to 1.16.0 for PROD release Developer Portal
Prepares the release version ahead of a production rollout that adds durable tutorial-image storage.
Registers the What's New chat setting in the internal feature-flag registry to keep configuration consistent and tests passing.
- test(#1614): fix DEV CI — resolve provisioned user by sapId not uuid Developer Portal
Fixes an internal test to look up users the correct way, keeping the test suite green.
Week of Aug 10 – Aug 16, 2026
New & improved
- Exclude specific accounts when granting author admin access Developer Portal
Added an option to skip specific accounts (like shared group mailboxes) when bulk-granting admin access to tutorial authors, giving admins finer control.
- Guard against stale site assets after deploy Developer Portal
Added a safeguard and automated check that catch stale or missing page assets after a deploy, preventing the broken, unstyled pages that could otherwise slip through.
- Richer image lightbox with keyboard support, thumbnails, and swipe Developer Portal
The tutorial image viewer now supports opening with the keyboard, a thumbnail filmstrip, swipe navigation, double-tap zoom, an image counter with caption, and a loading spinner, making screenshots easier and more accessible to browse.
- Top Tutorials ranking on the homepage carousel Developer Portal
The homepage carousel can now flip between Featured missions and a completions-based Top Tutorials ranking with a 90/180/360-day window selector, helping you discover what the community is actually working through.
- Freshness floor keeps stale tutorials off the homepage carousel Developer Portal
Added a configurable age cutoff so genuinely ancient tutorials no longer get ranked onto the homepage Featured carousel, keeping the recommendations feeling current.
- Byline fallback links tutorials to established author pages Developer Portal
Tutorials without explicit author frontmatter now link their byline to an existing author's page when the top contributor already has one, so more tutorials are correctly attributed without wrongly crediting bots or reviewers.
- New public What's New page Developer Portal
Added a public What's New page at /whats-new/ that groups recent platform improvements by week in plain language, so you can see at a glance what's changed on developers.sap.com.
- Devtoberfest signups analytics report Developer Portal
A new analytical report in the admin dashboard shows Devtoberfest signup trends by day and geography, giving content managers instant visibility into registration activity.
The Devtoberfest contest period now shows a live countdown timer with the exact start and end times in your local timezone, plus a tooltip explaining the contest window rules so you know precisely when your submissions count.
Tutorials embedded in third-party apps now include a persistent action bar with step navigation, Joule AI assistant access, and a Next button, making the embedded reading experience as interactive as the full developer portal.
- New operational alerts for pipeline errors, secrets, broken links, and stuck publishes Developer Portal
Automated alerts now fire when the content rebuild pipeline encounters errors, secrets approach expiry, broken links are detected, or a content publish gets stuck — reducing time-to-detection for platform issues.
- Devtoberfest: iCal and RSS calendar feeds plus add-to-calendar links Developer Portal
You can now subscribe to the full Devtoberfest session schedule via iCal or RSS, and add individual sessions to your calendar with a single click — making it easy to plan which sessions to attend from your existing calendar app.
- New alerts for gamification badge backlog and exhausted retries Developer Portal
Operators now receive automated alerts when the badge and point delivery backlog to the gamification system is growing, or when all retry attempts have been exhausted — enabling faster incident response before developers notice missing rewards.
- Badge delivery failures are now visible in metrics and alerts Developer Portal
Badge and point award failures are now accurately reflected in platform metrics and trigger operational alerts, replacing the previous silent failure mode that made badge delivery issues invisible to the team.
- Browse, Topics, and other content pages now served from HANA Developer Portal
The Browse, Topics, Verbs, Sitemap, and other non-tutorial content pages are now served dynamically from the CAP/HANA content store, completing the migration away from static Hugo files and enabling live content updates without a full redeploy.
- Per-tutorial override for the content publish rollback protection Developer Portal
Content operators can now override the rollback-protection policy on a per-tutorial basis when a genuine revert is needed, avoiding the all-or-nothing configuration change that was previously required.
- Content pages can now be served from HANA (initial rollout) Developer Portal
The infrastructure for serving non-tutorial content pages from the HANA content store is now in place, initially enabled in a validation mode to allow incremental verification before the full cut-over to dynamic page serving.
- Versioned JS and CSS bundles are retained across deployments Developer Portal
Content-hashed JavaScript and CSS assets are now preserved when a new version is deployed, eliminating the brief window where visitors with cached HTML pages could request a bundle that no longer existed on the server.
- Homepage learning verb tiles updated Developer Portal
The learning verb tiles on the homepage — the Browse by, Learn how to, and Discover action categories — have been updated with refreshed copy and links.
- Tutorials can now be embedded in SAP Business AI Platform Developer Portal
Tutorials can now be rendered in a clean read-only mode inside SAP Business AI Platform (BAIP), with portal chrome hidden and only the tutorial content and step navigation exposed — enabling seamless in-context learning from within BAIP.
Fixes
- Reliable cache-busting for the nav dropdown and concepts filter Developer Portal
The navigation dropdown and concepts filter now refresh reliably after updates, so you always see the latest version instead of a stale cached one.
- Correct asset fingerprint detection in deploy checks Developer Portal
Fixed an internal deploy safety check so that correctly versioned page assets are no longer mistakenly flagged, keeping deployments smooth and dependable.
- Accessibility improvements across pages Developer Portal
Resolved several accessibility issues around progress indicators, image alt text, and control labels so the site works better with screen readers and assistive tech.
- Improve link text and crawlable links for SEO Developer Portal
Fixed shared links so search engines can crawl them properly and read meaningful link text, improving how tutorial pages surface in search results.
- Correct group shown in tutorial breadcrumbs Developer Portal
Tutorials that also belong to a special event mission now show their real learning group in the breadcrumb and navigation, so you can find your way around a series correctly.
- Fix puzzle builder save and import Developer Portal
The admin puzzle builder now saves reliably when grid dimensions are entered and its Import button works again, so authors can build puzzles without hitting validation errors.
- Restore the developer advocate detail route Developer Portal
Fixed an internal routing gap so per-advocate detail pages are served correctly after the content-serving migration.
- Fix routing drift for homepage and author pages Developer Portal
Resolved an internal routing mismatch introduced when the homepage and author pages moved to dynamic serving, keeping the build checks green.
- Fix crawlable links and link text on shared popovers Developer Portal
Fixed the glossary and preferences popover links so search engines can crawl them and their text is meaningful, improving SEO across pages.
- Point accessibility scans at stable live pages Developer Portal
Repointed the automated accessibility scans to reliable live pages so they properly test real content instead of erroring on missing URLs.
- Cleaner SEO metadata on group and mission pages Developer Portal
Fixed breadcrumb structured data and added meaningful descriptions to group and mission pages, and cleaned up leftover placeholder text, improving how these pages appear in search.
- Fix unstyled image lightbox on tutorials Developer Portal
The tutorial image lightbox now displays properly with a single focused image and its styling, instead of dumping all images stacked and unstyled.
- Fix a build check for shared UI code Developer Portal
Adjusted an internal build guard so shared UI5 code splitting no longer trips a false failure, keeping the build pipeline healthy.
- Fix mobile overflow and button overlap on tutorials Developer Portal
Fixed tutorial pages on mobile so content no longer overflows horizontally and the Steps button no longer overlaps, for a cleaner reading experience on phones.
- Homepage accessibility fixes Developer Portal
Fixed several homepage accessibility issues around color contrast, keyboard focus, link labels, and ARIA attributes so the page works better with screen readers and meets WCAG AA.
- Concept and catalog pages now have proper SEO metadata Developer Portal
Concept, group, and mission pages now emit their own title, description, canonical URL, and social-preview tags instead of inheriting placeholder metadata, so they're properly indexed by search engines and share cleanly on social media.
- Alert call-to-action button now appears Developer Portal
The call-to-action button on notification alerts now renders correctly in the popover, so links surfaced in announcements are actually clickable.
- Tutorial tag chips now filter the navigator correctly Developer Portal
Clicking an experience-level tag like "Beginner" on a tutorial now sets the Experience filter in the navigator instead of quietly breaking the Software Product filter, so browsing by product returns the results you expect.
- Cookie banner no longer shifts the homepage on first visit Developer Portal
The consent banner is now pinned as a fixed overlay so it no longer pushes homepage content around on a first visit, giving new visitors a stable, jank-free first impression.
- Badge tracking resend reliability improvements Developer Portal
Made the badge-tracking resend process more reliable and correctly scoped to the right completion window, so recent tutorial completions get their badges assigned as expected.
- Badge backfill scripts made runnable and date-scoped Developer Portal
Fixed the badge backfill tooling so it runs against live environments and only stamps recent activity, avoiding an unnecessary sweep of the entire historical backlog.
- Devtoberfest sign-in prompt for anonymous visitors Developer Portal
Anonymous visitors clicking "Join the Fest" on the Devtoberfest homepage now see a friendly log-in prompt instead of a confusing error.
- Next/Prev now flows continuously across a mission's groups Developer Portal
The Next button no longer disappears at the end of a group within a multi-group mission, so you can now flow straight from one group into the next without hitting a dead end.
- Multiple-choice quizzes no longer pre-select every answer Developer Portal
Fixed multiple-choice knowledge checks that rendered every option pre-selected and always graded as wrong, so quizzes now start unchecked and grade correctly.
- Author pages survive overnight content rebuilds Developer Portal
Author profile pages no longer vanish (404) after nightly catalog rebuilds, so links to an author's page stay reliably available.
- Completion tracking now includes the field badges depend on Developer Portal
Tutorial completions now carry the tracking identifier the badging system needs, plus backfill and resend tooling for past completions, so badges get awarded reliably.
- Alerts can use free-text call-to-action URLs again Developer Portal
The alert call-to-action URL field in the admin UI now keeps a hand-typed URL instead of discarding anything not in the suggestion list.
- Hide "More from author" rail in embedded tutorials Developer Portal
When a tutorial is embedded in another page, the cross-tutorial "More from this author" rail is now hidden so the embed stays focused on its own content.
- Dropdown value help for link-health override in admin Developer Portal
The link-health override field in the admin UI now offers a proper OK/SLOW/BROKEN dropdown instead of a free-text box, making it clear what values are valid.
- QA navigator no longer wiped by content rebuilds Developer Portal
The QA author-preview navigator is now preserved across content-rebuild swaps, ending the recurring issue where it kept disappearing after a rebuild.
- Local deploys now build the QA preview navigator Developer Portal
Fixed local deploys so the QA author-preview tutorial navigator is built and shipped rather than serving a broken (404) page, with a guard to catch it if it ever regresses.
- Author pages exclude unpublished and deleted tutorials Developer Portal
Author pages, the "more from author" rail, and bylines now only show published, active tutorials, so unpublished or removed content no longer lingers on author profiles.
- Admin editor: long-form fields now use a proper text area Developer Portal
Long text fields such as descriptions and markdown content in the admin content editor now render as a properly-sized textarea, making it much more comfortable to write and review multi-paragraph content.
- No more red error highlighting on unrecognised code tokens Developer Portal
Code blocks no longer show distracting red error styling from the syntax highlighter on tokens it could not parse — those tokens now render as plain text instead of looking like errors.
- Clearer quiz badge and current-step indicator Developer Portal
The quiz completion badge is now easier to spot, and your current tutorial step is highlighted with a ring and a subtle pulse animation so you can always see where you are at a glance.
- Devtoberfest session times now shown in your local timezone only Developer Portal
Devtoberfest sessions and activity times now display exclusively in your local timezone, removing the confusing dual-timezone display that showed UTC alongside local time.
- Multi-select quiz answers now validate correctly Developer Portal
Quiz questions that require selecting multiple correct answers (checkboxes) now validate correctly, so tutorials using multi-select questions work as expected instead of falsely rejecting valid answers.
- Devtoberfest live session recordings show YouTube thumbnails Developer Portal
Recorded Devtoberfest live-stream sessions now display their YouTube thumbnail previews on the sessions page instead of showing a blank placeholder image.
- AEM-legacy multi-paragraph notes render as a single callout Developer Portal
Tutorial notes and callouts that were originally authored across multiple paragraphs in the old AEM system now render as a single properly-formatted block instead of splitting into bare disconnected text fragments.
- Joule button works in embedded reader mode Developer Portal
The Joule AI assistant button in the read-only embedded tutorial view now correctly opens the Joule panel when clicked, instead of silently doing nothing.
- SAP CodeJam events appear in the homepage events band Developer Portal
Upcoming SAP CodeJam events now appear in the homepage events section alongside other community events, so visitors can discover in-person learning opportunities without having to navigate to a separate page.
- Gamification badge delivery resumes after credential fix Developer Portal
Badge and point awards to the gamification system resume reliably after fixing how the platform reads authentication credentials — completions that were queued will now flush through.
- Badge delivery token flow fixed Developer Portal
Badge and point awards now complete successfully after a server-side credential flow issue that was silently blocking all deliveries has been resolved.
- Homepage link-health overrides apply correctly at build time Developer Portal
Link health overrides set by content authors in the admin interface are now correctly applied when the page is built, preventing valid links from being incorrectly flagged as broken in the homepage navigation.
- Tutorial pages no longer flash unstyled components before load Developer Portal
Tutorial pages no longer briefly flicker with unstyled UI5 browser components before the UI framework finishes initialising — content is now hidden until it is ready, removing the visual flash on page load.
- Tutorial breadcrumb step-picker respects authored sequence order Developer Portal
The breadcrumb dropdown that lets you jump between tutorial steps now lists them in their correct authored sequence rather than alphabetically, so the picker matches the actual reading order of a mission or group.
- QA channel navigator: search and filter only (no homepage sections) Developer Portal
The tutorial navigator on the QA content preview channel now shows only the search and filter interface, dropping the promotional homepage sections that were inappropriate for a content review environment.
- Event-display kiosk WebSocket no longer requires login Developer Portal
The live event display screen used at SAP community events can now establish its real-time WebSocket connection without requiring an authenticated session, fixing the connection errors that were disconnecting kiosk displays.
- Joule help button no longer overlaps the Next navigation button Developer Portal
The Joule AI help floating button no longer covers the Next navigation button when reading tutorials in a group, so both controls are independently accessible without one obscuring the other.
- Hotfix content rebuilds now reference current JS assets Developer Portal
Single-tutorial hotfix rebuilds now correctly embed versioned JavaScript asset references in the published HTML, preventing visitors from receiving stale interactive components after a quick content update.
- First-time visitors are no longer auto-redirected to login Developer Portal
The portal no longer automatically triggers a login redirect for first-time visitors — only returning users who previously authenticated are silently re-signed in, giving new readers a frictionless anonymous experience.
- Admin change history restored for content records Developer Portal
Edit history logging in the admin interface is working again — changes to tutorials, missions, and configuration now correctly appear in the Change History panel as expected.
- Tutorial step-timing statistics now persist correctly on HANA Developer Portal
A database compatibility issue that caused tutorial reading-time statistics to fail silently on HANA (while appearing to work locally) has been resolved by switching to the correct SAP CAP query API.
- Admin shelf and verb-definition reports load data automatically Developer Portal
The homepage shelf configuration and verb definitions list pages in the admin interface now load their data automatically when opened, rather than requiring a manual refresh click.
- Empty admin notification popup no longer shows blank space Developer Portal
The admin notification popup now displays a clean empty state when there are no pending alerts, instead of showing an awkward layout gap.
- AEM-legacy blockquoted code samples render inside their code window Developer Portal
Code samples in tutorials originally authored in AEM that were wrapped in blockquotes now render correctly inside the code window instead of appearing as raw text outside it.
- Content publish: rejected reverts shown correctly, not as failures Developer Portal
When a content publish correctly blocks a rollback to an older version, the outcome is now shown as 'Rejected' rather than misleadingly displayed as a verification failure.
- Tutorial contributor name no longer shows as 'Unknown' Developer Portal
Tutorial overview pages now correctly display the contributor's display name instead of 'Unknown' for authors whose profile is linked to an SAP Community account.
- Next/Previous navigation stays within the current group or mission Developer Portal
When reading a tutorial that is part of a group or mission, the Next and Previous buttons now stay within that group's sequence instead of jumping to unrelated tutorials from outside the learning path.
- Homepage content edits now automatically trigger a rebuild Developer Portal
Editing homepage shelves, featured topics, or other catalog content in the admin interface now automatically triggers a content rebuild, so changes reach visitors without needing a separate manual rebuild step.
- QA tutorial navigator now accessible at its own URL Developer Portal
The QA preview version of the tutorial navigator is now correctly served at its own path, allowing content reviewers to access it independently from the main navigator.
- Admin UI edits and deletes now work reliably in production Developer Portal
Admin panel content updates and deletions now work correctly for all users in production, fixing an edge compatibility issue that was causing edit and delete actions to fail silently.
- Live event display WebSocket connection fixed Developer Portal
The real-time event display used at SAP community events can now establish its WebSocket connection correctly after WebSocket support was explicitly enabled in the app router configuration.
- Developer Advocate photos update immediately after upload Developer Portal
Developer Advocate profile photos now appear immediately after uploading a new image — the CDN cache is invalidated on save so the updated photo is visible right away instead of being stuck behind a stale cached version.
- Devtoberfest Sessions page no longer blanks on invalid timezone data Developer Portal
The Devtoberfest Sessions page now fails gracefully if a session has an unrecognised timezone value, rendering the remaining sessions normally instead of going completely blank.
- SAP Discovery Center mission cards restored Developer Portal
The `.model.json` endpoint that SAP Discovery Center uses to display developer portal missions has been reinstated, restoring the integration that was broken during the migration away from the legacy AEM platform.
- CSS and JS assets no longer 404 after a fingerprinted deployment Developer Portal
JavaScript and CSS bundles from the previous deployment are now retained during new releases, preventing the brief window where visitors with cached HTML could request a versioned asset that no longer existed on the server.
- QA channel quiz questions fully rendered (dependency fix) Developer Portal
Quiz questions and interactive step validation now display correctly on the content preview channel, fully resolving the issue that had prevented them from appearing in preview pages.
- Quiz questions now render on the QA preview channel Developer Portal
Tutorial quiz questions and interactive step validation now display correctly on the QA content preview channel after a missing JS asset reference file was added to the QA build process.
- User account auto-provisioning works reliably on HANA Developer Portal
Automatic user account creation when a visitor links their SAP Community profile now works correctly in the HANA-backed production environment, fixing a silent insert failure that left users unable to have their progress tracked.
- Admin-editable configuration no longer overwritten on deployment Developer Portal
Configuration values that admins edit at runtime — homepage shelves, featured topics — are no longer overwritten by seed data during deployment, preventing live edits from being silently wiped on every new release.
- Tutorial right rail restored after CDS code block layout regression Developer Portal
An unbalanced HTML tag in the CDS syntax highlighter was pushing the tutorial progress sidebar off-screen; the fix restores correct side-by-side layout so the right rail displays normally alongside CDS code samples.
- CDS syntax highlighting colours restored in tutorial code blocks Developer Portal
SAP Core Data Services (CDS) code blocks in tutorials now show correct syntax highlighting colours after a CSS mapping regression was identified and fixed.
- Puzzle progress survives login, and orphaned drafts are recovered Developer Portal
Progress made on coding puzzles before signing in is now correctly merged with your account when you log in, completed puzzles are properly recognised after a browser refresh, and orphaned draft submissions are automatically recovered.
- CDS code highlighting restored on HANA-published tutorials Developer Portal
CDS syntax highlighting was missing from published tutorials after a build pipeline regression; the syntax highlighter is now correctly invoked when tutorials are published to the content store.
The homepage link-health checker no longer incorrectly marks internal portal URLs and login-protected pages as broken — those links are now either skipped or probed with the correct authentication context.
- Navigator mission cards link correctly for nested-group missions Developer Portal
Mission cards in the tutorial navigator now link correctly when the mission's tutorials are structured as nested groups, fixing cards that previously led to a dead end.
- Homepage footer cleaned up: broken links and padlock icon hidden Developer Portal
Broken placeholder links in the homepage directory footer and a stray sign-in padlock icon have been hidden, cleaning up footer content that was inadvertently visible since launch.
- Mobile navigation menu now opens on tap Developer Portal
On mobile devices, tapping the Navigate button in the site header now correctly opens the navigation popover instead of doing nothing.
- Admin portal no longer reload-loops on authorization errors Developer Portal
The admin portal no longer enters an infinite reload loop when a session lacks the required authorization scope — it now shows a clear access-denied message so the user knows what action to take.
- App router recovers from transient module load errors on refresh Developer Portal
The application router now retries its module-loading step when a transient import error occurs, preventing a page refresh from leaving the site in a broken state after a brief network hiccup during startup.
- Devtoberfest App Space missions load correctly Developer Portal
The Devtoberfest App Space now correctly resolves which mission is associated with an event, fixing a lookup direction bug that was preventing mission content from loading on the App Space page.
- Animated GIFs in tutorials now animate correctly Developer Portal
Animated GIFs embedded in tutorial content now play their animations correctly — they are no longer flattened to static images by the CDN image processor.
- Images and links inside Prerequisites tables now render correctly Developer Portal
Images and hyperlinks placed inside Prerequisites tables in tutorial content now render as expected instead of showing raw markdown syntax or escaped HTML tags.
- Intermittent blank page on load fixed (bootstrap race condition) Developer Portal
A timing race between the app router's legacy redirect module and its initial page load was causing intermittent blank pages or redirect loops for some visitors — the startup sequence is now deterministic.
- Content rebuilds now ship correct versioned JS assets Developer Portal
Single-tutorial hotfix rebuilds triggered via GitHub Actions now correctly generate versioned JavaScript asset references, ensuring published pages load current interactive components rather than stale cached code.
- SAP events display on the correct calendar day Developer Portal
SAP events on the homepage now show on the calendar day they actually occur, rather than being shifted by server-side timezone conversion — community events authored in a non-UTC timezone no longer appear on the wrong date.
- Cache invalidations now propagate across all server instances Developer Portal
Content cache and navigator cache invalidations now propagate reliably across all running server instances, preventing visitors from seeing stale content on one instance after a content publish updated another.
- Community event dates now show the locally authored day Developer Portal
Community events such as CodeJams and workshops now display the date as authored, rather than being shifted by server timezone conversion — events authored as starting on a Monday no longer appear as Sunday in the portal.
- SAP Community profile linking now accepts a pasted profile URL Developer Portal
Linking your SAP Community profile to your developer account now works when you paste the full profile URL, and automatically creates your account record if it does not yet exist.
- Raw image attributes no longer appear as text in option-tab blocks Developer Portal
Images inside option-tab blocks in tutorials no longer leak their raw HTML attributes as visible text below the image — the rendered output is now clean.
- Concepts page no longer 404s on hard refresh with a query string Developer Portal
Refreshing or directly navigating to a `/concepts/` URL with a query parameter no longer returns a 404 — the route is now correctly handled server-side.
- Joule and SAP Fundamental Styles CSS are now cache-busted on update Developer Portal
The Joule AI assistant stylesheet and the SAP Fundamental Styles base CSS are now content-hashed, preventing browsers and CDN edges from serving stale cached versions of these critical stylesheets after a platform update.
- Topics page concept links now point to published content Developer Portal
Placeholder concept links on the Topics page now point to real published concept pages instead of broken placeholder slugs, so all concept browsing links reach actual content.
- Interactive JS components are now versioned to prevent stale code Developer Portal
Interactive JavaScript components on portal pages are now content-hashed so CDN edges and browsers always fetch the current version after a deployment, eliminating the stale-JS problem that could leave interactive page elements in a broken state.
- Developer Advocate profile card flip works correctly on iOS Safari Developer Portal
Developer Advocate profile cards now flip correctly on iOS Safari — the front photo is properly hidden when the card flips to reveal the back, instead of both sides being visible at the same time.
- Homepage verb tiles always navigate on click, even after hovering Developer Portal
Clicking a learning verb tile on the homepage now reliably navigates to the correct page even after hovering over the card triggered the flip animation — the click target was previously lost after the animation completed.
- Remaining page-level Hugo CSS files are now cache-busted Developer Portal
The remaining page-level stylesheets not yet covered by content hashing are now versioned, completing full CDN cache-busting coverage for CSS across the platform.
- Devtoberfest event registrations can now be saved to the database Developer Portal
Devtoberfest event registrations can now be correctly persisted — a missing database sequence for generating registration IDs was causing all registrations to fail silently.
- Hugo CSS files are content-hashed to prevent stale style delivery Developer Portal
Hugo-managed CSS files are now content-hashed at build time, ensuring CDN edges and browsers always retrieve the latest stylesheets after a new release rather than serving stale cached versions.
- Navigator Type and Experience filter lists render fully Developer Portal
The Type and Experience filter panels in the tutorial navigator now render all available options instead of being cut off partway through the list.
- Duplicate product tags in navigator filters are now merged Developer Portal
Duplicate Software Product tags in the tutorial navigator filter — caused by slight label variations across tutorial metadata — are now merged by display label, resulting in cleaner filter lists without repetitions.
- Option-tab controls in tutorials render as interactive buttons Developer Portal
Option-tab controls in tutorials now render as interactive buttons as intended, rather than showing the raw HTML tag text that was being escaped by the Markdown renderer.
- Explore page no longer breaks the Hugo build Developer Portal
A special character in the Explore page frontmatter description that was causing Hugo build failures has been escaped, restoring the ability to build the full site with the Explore page included.
- Production app router no longer crash-loops under load Developer Portal
The production app router was running out of memory under real traffic and crash-looping; its memory allocation has been increased to handle the load seen since the platform went live.
- Devtoberfest Planner admin link resolves to the correct environment Developer Portal
The Devtoberfest Planner link in the admin interface now correctly resolves to the current environment — it was previously always pointing to DEV even when accessed from the PROD admin panel.
- Topics admin actions work reliably regardless of slug casing Developer Portal
Topic publish and unpublish actions in the admin interface now correctly normalise the topic slug before performing the lookup, fixing a case-sensitivity mismatch that was causing failures on any topic change.
Performance
- Steadier layout on the Browse page Developer Portal
Category chips on the Browse page cards no longer cause the page to jump around as it loads, giving you a smoother, more stable browsing experience.
- Restore stable tutorial navigator layout Developer Portal
The tutorial navigator page now loads with a steady layout again, reversing an earlier experiment that had caused the content to shift as it appeared.
- Eliminate layout shift on the tutorial navigator Developer Portal
The tutorial navigator cards now reserve their space up front, so the page no longer visibly reflows while loading.
- Lighter page load by trimming unused UI themes Developer Portal
Removed about 1.4 MB of unused theme data from the page bundle, so tutorial and browse pages load noticeably faster.
- Load the picture-in-picture player only when needed Developer Portal
The picture-in-picture tutorial player (~1.2 MB) now loads only when you actually open it, making every tutorial page load faster by default.
- Faster loading of non-critical styles and third-party scripts Developer Portal
Optimized how the consent banner and non-essential stylesheets load, shaving render-blocking delays off page loads.
- Stop the Browse page from jumping while it loads Developer Portal
Front-loaded the Browse page styling so the layout settles immediately instead of shifting as content appears, for a much steadier first view.
- Defer non-essential scripts to speed up first interaction Developer Portal
The tutorial navigator and picture-in-picture button now initialize after the page is interactive, reducing the time before you can start using the page.
- Slimmer homepage icon styles and right-sized images Developer Portal
The homepage now ships only the handful of icon styles it actually uses and requests appropriately sized images, trimming roughly 150 KB of render-blocking CSS plus oversized thumbnails for faster page loads.
- Per-page code-splitting of UI5 components Developer Portal
Each page now loads only the UI5 web components it actually needs rather than one monolithic bundle, cutting the homepage's UI5 payload by more than half for noticeably faster loads (rolled out behind a safe toggle).
- Minified CSS and self-hosted icon fonts Developer Portal
Several stylesheets are now minified and the icon CSS is served from our own domain instead of a third-party CDN, speeding up rendering and removing an external dependency that could break icons if it went down.
- Dropped unused locale data from the UI5 bootstrap Developer Portal
Removed unused locale and calendar data from the UI5 bundle that loads on every page, shrinking it by nearly 80% (from 16 MB to 3.5 MB) for a much faster first load.
- Shorter edge cache and reduced homepage layout shift Developer Portal
Lowered the CDN cache window so newly published content appears within minutes instead of up to a day, and reserved space for homepage video and community sections to cut layout shift by over 90%.
Documentation
Adds a missing documentation page to the docs sidebar so it's reachable in the developer docs.
- Explain the author console 403 as a role assignment gap Developer Portal
Documented that authors seeing a 403 on the Author Console need the Admin role collection assigned, and provided a helper to grant it.
- Design note for fixing homepage layout shift Developer Portal
Documented the root cause and design for reducing homepage layout shift, where placeholder bands resize once real content loads.
- Author guide: Mission and Group content model explained Developer Portal
Updated author documentation now clarifies how missions map to groups in the new platform and explains how to structure multi-step learning paths as groups — essential reading for contributors building tutorial series.
- Docs: SAP Discovery Center .model.json integration Developer Portal
Developer documentation now covers the `.model.json` endpoint that feeds SAP Discovery Center mission cards, clarifying the contract between the developer portal and the Discovery Center catalog.
Under the hood
- Release with performance, accessibility, and SEO improvements Developer Portal
Ships a batch of performance, accessibility, and SEO improvements to production, including much faster tutorial page loads, a lighter startup bundle, and better search-engine visibility.
- Remove dead references to the retired rebuild push Developer Portal
Cleaned up leftover configuration referencing a retired internal content-push mechanism, keeping the deployment setup tidy and consistent.
- Serve /llms.txt dynamically from the database Developer Portal
The /llms.txt file is now served from the content store like its companion pages, making it easier to keep up to date.
- Update tests for the database-only content rebuild Developer Portal
Updated internal tests to match the new content-rebuild process that renders pages against already-deployed assets.
Reworked content rebuilds so admin edits and refreshes update the database only, ending the recurring problem where a rebuild could overwrite freshly deployed site assets.
- Groundwork for decoupling assets from content rebuilds Developer Portal
Added the plumbing to let content rebuilds render pages against the currently deployed assets, a preparatory step with no visible change yet.
- Serve advocate detail pages dynamically from the database Developer Portal
Per-advocate detail pages now come from the dynamic content store, so admin edits to advocate profiles show up reliably.
- Serve author pages dynamically from the database Developer Portal
The roughly 150 per-author pages now come from the dynamic content store, so author profile updates stay fresh and reliable.
- Serve the homepage from the database and drop the restart workaround Developer Portal
The homepage is now served dynamically from the content store, eliminating the post-deploy restart that had been needed to avoid stale content.
- Update a homepage topic-clusters test Developer Portal
Updated an internal test to match a recent change in how homepage topic-cluster links render, keeping the test suite accurate.
- test(scheduler): bump lockstep to 46 jobs for top-tutorials (#1782) Developer Portal
Updated an internal scheduler test to account for the new nightly Top Tutorials job, keeping the build green.
- Release 1.14.1 — DEV → PROD Developer Portal
Routine release bump shipping the accumulated development work to production.
- ci(rebuild-content): enable keyless DEV content publishing (DRAFT — needs DEV approuter key seed) Developer Portal
Enabled server-side content publishing for the development environment so routine content refreshes no longer need a manual key pasted in during deploys.
Relaxed deploy tooling to allow development and QA deploys from an isolated workspace while keeping production deploys strict.
Production release bundling the What's New page, author detail pages, and the Devtoberfest signups report.
- More predictable platform releases Developer Portal
Platform releases are now batched behind a stable integration branch, making production updates more predictable and reducing the risk of mid-sprint changes reaching users before they are fully verified.
- Security dependency updates (undici, sharp, tar) Developer Portal
Production dependencies undici, sharp, and tar have been updated to resolve known security vulnerabilities.
- Deployments verified before going live to prevent broken pages Developer Portal
New releases now automatically verify that all page assets are in place before the update goes live, catching any missing CSS or JavaScript references before visitors could encounter broken pages.
- Repository licensed under Apache-2.0 (OSPO compliance) Developer Portal
The developer portal codebase is now explicitly licensed under Apache-2.0 with REUSE-compliant headers, meeting SAP open-source compliance requirements as the repository moves toward public visibility.
A safety guard now prevents single-tutorial hotfix rebuilds from going through if the current build's CSS fingerprints have not been deployed yet, avoiding a state where published tutorial HTML references styles that do not exist on the server.
- Local builds now reliably reference correct versioned JS assets Developer Portal
The build step that maps Vue component names to their versioned JS filenames is now always run as part of the main build, fixing a long-standing issue where local builds shipped pages with unversioned JS paths that would not match the assets actually on the server.