News

TriFrost 0.6.0

Sunday, May 11, 2025|peterver

Improved

  • feat: Router.get/post/put/patch/del now accepts an empty path ('') as valid. Useful for mounting a handler directly at a group base path:
  • .group('/api/v1/', r => r
        .get('', ...))
        .get('users/:id', ...)
  • feat: Router.group now accepts both void and Router return types, allowing cleaner chaining in TypeScript:
  • /* ✅ Now valid in TypeScript */
    .group('/api/v1/', r => r
        .get('users/:id', ...)
        .get('posts/:id', ...))
    
    /* (Previous) Typescript-safe way */
    .group('/api/v1/', r => {
        r
            .get('users/:id', ...)
            .get('posts/:id', ...);
    })
  • jsx: Enhanced support for rendering multiple JSX elements via .map(...), fragments, or sibling arrays — now fully supported in runtime output. For example, this JSX block now correctly renders all spans:
  • const nav = ['Home', 'Docs', 'Blog'];
    
    return (<header>
        <div>Logo</div>
        {nav.map((label) => (
            <span>{label}</span>
        ))}
    </header>);
  • deps: Upgrade bun-types to 1.2.13

Fixed

  • jsx: Fixed issue where falsy-but-valid props (0, false, '') were being skipped during render. These are now correctly serialized unless explicitly null or undefined.