5 hours ago
remix

fs v0.3.0

  • Move @remix-run/lazy-file and @remix-run/mime to peerDependencies
5 hours ago
remix

multipart-parser v0.14.0

  • Move @remix-run/headers to peerDependencies
5 hours ago
remix

lazy-file v4.2.0

  • Move @remix-run/mime to peerDependencies
5 hours ago
next.js

v16.1.0-canary.2

Core Changes

  • [turbopack] Enable the filesystem cache for dev in canary builds: #85940
  • docs: fix typos in packages: #82508

Example Changes

  • chore(examples): remove with-windicss example: #81846
  • examples: fix typos in cms-agilitycms: #82504

Misc Changes

  • Fix typed routes test expectations: #86487
  • Add test for external middleware rewrite with changed headers: #49606
  • Fix grammar and typos in typescript doc: #86513
  • Skip filesystem-cache.test.ts test with Webpack: #86506

Credits

Huge thanks to @gaojude, @lukesandberg, @JamBalaya56562, @florianliebig, @icyJoseph, and @mischnic for helping!

6 hours ago
remix

static-middleware v0.4.0

  • BREAKING CHANGE: Replace mrmime dependency with @remix-run/mime for MIME type detection which is now a peer dependency.

  • Add support for acceptRanges function to conditionally enable HTTP Range requests based on the file being served:

    // Enable ranges only for large files
    staticFiles('./public', {
      acceptRanges: (file) => file.size > 10 * 1024 * 1024,
    })
    
    // Enable ranges only for videos
    staticFiles('./public', {
      acceptRanges: (file) => file.type.startsWith('video/'),
    })
6 hours ago
remix

fs v0.2.0

  • Replaced mrmime dependency with @remix-run/mime for MIME type detection
6 hours ago
remix

lazy-file v4.1.0

  • Replaced mrmime dependency with @remix-run/mime for MIME type detection
6 hours ago
remix

response v0.2.0

  • BREAKING CHANGE: Add @remix-run/mime as a peer dependency. This package is used by the createFileResponse() response helper to determine if HTTP Range requests should be supported by default for a given MIME type.

  • Add compressResponse helper

  • The createFileResponse() response helper now only enables HTTP Range requests by default for non-compressible MIME types. This allows text-based assets to be compressed while still supporting resumable downloads for media files.

    To restore the previous behavior where all files support range requests:

    return createFileResponse(file, request, {
      acceptRanges: true,
    })

    Note: Range requests and compression are mutually exclusive. When Accept-Ranges: bytes is present in response headers, the compress() response helper and compression() middleware will not compress the response.

6 hours ago
remix

headers v0.18.0

  • Add Vary support
import { Vary } from '@remix-run/headers'

let header = new Vary('Accept-Encoding')
header.add('Accept-Language')
header.headerNames // ['accept-encoding', 'accept-language']
header.toString() // 'accept-encoding, accept-language'
  • Accept.getPreferred(), AcceptEncoding.getPreferred(), and AcceptLanguage.getPreferred() are now generic, preserving the union type of the input array in the return type
6 hours ago
remix

compression-middleware v0.1.0

Initial release of this package.

See the README for more details.