What's New in Helium 3.0
Helium 3.0 brings significant improvements to performance, developer experience, and reliability. This document details all the new features and enhancements.
Major Updates
1. Modern Build Tooling
Vike (formerly vite-plugin-ssr)
Updated from: vite-plugin-ssr 0.4.x
Updated to: vike 0.4.195
What changed: Official rebrand and improved API
Benefits:
- Better documentation at vike.dev
- Improved error messages
- More active development and support
- Future-proof for upcoming features
Vite 5
Updated from: Vite 3.x
Updated to: Vite 5.4.x
Benefits:
- Faster builds and improved build performance
- Better HMR (Hot Module Replacement) in development
- Improved caching and build optimization
- Enhanced TypeScript support with faster type checking
2. Performance Improvements
Server-Side Rendering Optimization
Server-side rendering performance has been improved in the Cloudflare Workers deployment environment:
Manifest Caching
- Before: Manifest parsed on every request
- After: Manifest parsed once at server startup
- Impact: Eliminates unnecessary processing overhead
- Result: Faster response times for all pages
Memory Management
- Apollo Client cleanup: Automatic cleanup prevents memory leaks in long-running sessions
- Better resource management: Proper disposal of unused clients
- Impact: Consistent performance even after many page navigations
3. Developer Experience Enhancements
Enhanced Vite Configuration
Vite configuration has been enhanced and expanded in @thoughtindustries/helium-server:
Before (2.x):
import { tiConfig } from '@thoughtindustries/helium-server';
export default defineConfig(async () => {
tiConfig.plugins.push(mdx());
return tiConfig;
});
// tiConfig had: plugins, optimizeDeps, envPrefix
After (3.x):
// Factory function provides complete config with all critical settings
import { createVikeConfig } from '@thoughtindustries/helium-server';
export default defineConfig(async () => {
const config = await createVikeConfig();
config.plugins.push(mdx());
return config;
});
// Now includes: plugins, build.manifest, optimizeDeps, envPrefix,
// ssr.noExternal, resolve.dedupe - all critical settings
Benefits:
- ✅ Added critical build settings (manifest, ssr, resolve)
- ✅ Factory function pattern prevents shared reference bugs
- ✅ Dynamic imports for ESM/CJS compatibility
- ✅ Can't accidentally break production deployment settings
- ✅ Consistent configuration across all projects
Better Error Messages
3.0 includes improved error handling throughout:
- Vike loading failures: Clear error messages with troubleshooting steps
- Missing dependencies: Specific instructions on what to install
- Configuration errors: Helpful hints about what went wrong
- Build failures: Better stack traces and context
4. Security Improvements
Dependency Updates
Helium dependencies have been updated to more recent versions with a better security posture. These updates mitigate several security vulnerabilities from these dependencies:
- GraphQL: 16.6.0 → 16.11.0
- universal-cookie: ^4.0.4 → ^7.2.2
- remark-mdx-frontmatter: ^2.0.3 → ^5.2.0
- tsup: Updated to ^8.5.0
- Apollo Client: ^3.7.0 (updated with latest security patches)
- Vite: 3.x → 5.4.11
These updates ensure your Helium applications are built on secure, well-maintained dependencies with the latest security patches applied.
5. Enhanced Features
Improved Client Routing Support
Helium 3.0 makes Client Routing easier to implement and more reliable:
Server Routing (Default)
- Full page reload on navigation
- Better for SEO and initial load
- Simpler to implement
Client Routing (Optional)
- Instant page transitions
- App-like navigation experience
- Perfect for dashboard-heavy applications
Enable Client Routing by adding a single export:
// In renderer/_default.page.client.tsx
export const clientRouting = true;
Learn more in the Routing documentation.
Enhanced TypeScript Support
- Better type definitions across all packages
- Improved autocomplete in IDEs
- Catch more errors at compile time
6. Updated Development Tools
Storybook 8
- Updated from: Storybook 7.x
- Updated to: Storybook 8.6.14
- Benefits:
- Faster startup times
- Better component testing
- Improved documentation generation
- Modern UI
i18next Ecosystem
- i18next: v21 → v23.16.8
- react-i18next: v11 → v13.5.0
- Benefits:
- Better React 18 compatibility
- Improved performance
- More translation features
7. Reliability Improvements
Improved Module Loading
Server-side module loading has been improved:
- Critical modules loaded once and cached
- More reliable initialization
- Better performance under load
Better Error Recovery
- Graceful handling of failed imports
- Clear error messages instead of silent failures
- Helpful troubleshooting guidance in error messages
8. Build Output Improvements
Automatic Manifest Generation
The build process now automatically generates:
manifest.json- Maps routes to assetsasset-tags.json- Pre-calculated asset references- Optimized bundle splitting
No manual configuration needed - everything is generated automatically during npm run build.
Upgrade Benefits Summary
| Category | Improvement | Impact |
|---|---|---|
| Performance | Server manifest caching | Faster page loads |
| Performance | Apollo Client cleanup | No memory leaks |
| Security | 8 vulnerabilities fixed | More secure applications |
| Developer Experience | Centralized config | Less boilerplate |
| Developer Experience | Better errors | Faster debugging |
| Reliability | Improved initialization | More stable deployments |
| Features | Enhanced Client Routing | Easier to implement |
| Build Speed | Vite 5 improvements | Improved build performance |
Compatibility
Backward Compatibility
Helium 3.0 maintains backward compatibility for:
- ✅ All GraphQL queries and mutations
- ✅ Component APIs (no breaking changes)
- ✅ Routing patterns (file-based routing unchanged)
- ✅ Deployment process (same commands)
- ✅ Environment variable patterns
- ✅ ti-config.json structure
What Requires Migration
Only these items need updating:
- Import statements (
vite-plugin-ssr→vike) - vite.config.ts (use
createVikeConfig()) - Dependencies in package.json
Migration Effort
Typical migration times:
| Project Size | Estimated Time |
|---|---|
| Hello World (essentials) | 30-60 minutes |
| Small (3-5 pages) | 1-2 hours |
| Medium (10-15 pages) | 2-4 hours |
| Large (custom components) | 4-8 hours |
| Enterprise (extensive customization) | 8-16 hours |
Most of the time is testing and verification, not code changes.
Future-Proofing
Helium 3.0 sets the foundation for future enhancements:
- Vike V1 compatibility: Ready for upcoming Vike V1 migration
- React 19 ready: Compatible with future React versions
- Modern standards: Uses latest web platform features
- Active development: Based on actively maintained dependencies
Get Started
Ready to upgrade? Follow the Migration Guide for step-by-step instructions.
Last updated: November 2025 Helium version: 3.0.0