2 hours ago
rspack

v1.6.6

Highlights 💡

Compact module factories

Rspack now generates a more compact module factory format that trims the wrapper function. Benchmarks show this reduces bundle size by about 1% before gzip.

image

What's Changed

Performance Improvements ⚡

New Features 🎉

Bug Fixes 🐞

Refactor 🔨

Document Updates 📖

Other Changes

New Contributors

Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.6.5...v1.6.6

3 hours ago
react-chrono

3.3.1

What's Changed

Full Changelog: https://github.com/prabhuignoto/react-chrono/compare/3.3.0...3.3.1

3 hours ago
plate

@platejs/ai@52.0.6

Patch Changes

6 hours ago
shiki

v3.18.0

   🚀 Features

   🐞 Bug Fixes

10 hours ago
electron

electron v40.0.0-beta.1

Note: This is a beta release. Please file new issues for any bugs you find in it.

This release is published to npm under the beta tag and can be installed via npm install electron@beta, or npm install electron@40.0.0-beta.1.

Release Notes for v40.0.0-beta.1

Fixes

  • Fixed crash when attempting to resolve modules during process exit. #49104
11 hours ago
next.js

v16.1.0-canary.10

Core Changes

  • Handle cross-page client reference contamination in development: #86591
  • Match behavior of baseline-browser-mapping with caniuse-lite: #86653
  • Turbopack: don't generateBuildId in dev: #86581
  • [devtool] unify the bundler field: #86514
  • Turbopack: normalize distDir separators: #86697
  • Cover org package external in externals-transitive test: #86691

Misc Changes

  • Update Rspack development test manifest: #86657
  • Update Rspack production test manifest: #86658
  • [test] Deflake use-cache-router-handler-only in deploy tests: #86678
  • Allow exporting object and array literals in 'use cache' files again: #86655
  • Turbopack: use tracing context for config watching: #86576
  • Turbopack: align chunk loading error name: #86593
  • docs: update prefix two-digit number in routing section: #77758
  • [bundle-analyzer] Disable revalidateOnFocus and revalidateOnReconnect: #86688
  • Turbopack: improve eventual consistency: #86682
  • [test] Enable Playwright traces in deploy tests: #86683
  • [test] Deflake app-dir-prevent-304-caching: #86693
  • Bump to swc 49: #86689
  • Turbopack: process.env.TURBOPACK should be a string: #86680

Credits

Huge thanks to @vercel-release-bot, @eps1lon, @unstubbable, @mischnic, @Marukome0743, @devjiwonchoi, @timneutkens, and @huozhi for helping!

12 hours ago
Babylon.js

8.39.2

Changes:

  • #17518: Add addons package's NOTICE.md to published output
  • #17516: Volumetric Lighting: fix lighting volume when light direction changes
  • #17517: Revert to old arcrotatecamera behavior where alpha/beta does not scale inertialLimit by speed
  • #17499: Inspector v2: Back compat for DebugLayer.openedPanes and DebugLayer.setAsActiveScene

This list of changes was auto generated.

14 hours ago
slate

slate-react@0.120.0

Minor Changes

  • #5968 49f28e50 Thanks @TyMick! - Scroll to focus point of expanded selections in defaultScrollSelectionIntoView

Patch Changes

  • #5976 3d38db8f Thanks @semimikoh! - Fix slate-dom peer dependency to require >=0.119.0 to resolve containsShadowAware import error

  • #5975 d0d192b8 Thanks @nabbydude! - Allow onValueChange and onSelectionChange to trigger on the same frame, fixing a few bugs where one was not being called

14 hours ago
slate

slate@0.120.0

Patch Changes

16 hours ago
remix

fetch-router v0.13.0

  • BREAKING CHANGE: Renamed "route handlers" terminology to "controller/action" throughout the package. This is a breaking change for anyone using the types or properties from this package. Update your code:

    // Before
    import type { RouteHandlers } from '@remix-run/fetch-router'
    
    let routeHandlers = {
      middleware: [auth()],
      handlers: {
        home() {
          return new Response('Home')
        },
        admin: {
          middleware: [requireAdmin()],
          handler() {
            return new Response('Admin')
          },
        },
      },
    } satisfies RouteHandlers<typeof routes>
    
    router.map(routes, routeHandlers)
    
    // After
    import type { Controller } from '@remix-run/fetch-router'
    
    let controller = {
      middleware: [auth()],
      actions: {
        home() {
          return new Response('Home')
        },
        admin: {
          middleware: [requireAdmin()],
          action() {
            return new Response('Admin')
          },
        },
      },
    } satisfies Controller<typeof routes>
    
    router.map(routes, controller)

    Summary of changes:

    • RouteHandlers type => Controller
    • RouteHandler type => Action
    • BuildRouteHandler type => BuildAction
    • handlers property => actions
    • handler property => action
  • BREAKING CHANGE: Renamed formAction route helper to form and moved route helpers to lib/route-helpers/ subdirectory. Update your imports:

    // Before
    import { route, formAction } from '@remix-run/fetch-router'
    
    let routes = route({
      login: formAction('/login'),
    })
    
    // After
    import { route, form } from '@remix-run/fetch-router'
    
    let routes = route({
      login: form('/login'),
    })

    The FormActionOptions type has also been renamed to FormOptions.

  • BREAKING CHANGE: The middleware property is now required (not optional) in controller and action objects that use the { middleware, actions } or { middleware, action } format. This eliminates ambiguity when route names like action collide with the action property name.

    // Before: { action } without middleware was allowed
    router.any(routes.home, {
      action() {
        return new Response('Home')
      },
    })
    
    // After: just use a plain request handler function instead
    router.any(routes.home, () => {
      return new Response('Home')
    })
    
    // Before: { actions } without middleware was allowed
    router.map(routes, {
      actions: {
        home() {
          return new Response('Home')
        },
      },
    })
    
    // After: just use a plain controller object instead
    router.map(routes, {
      home() {
        return new Response('Home')
      },
    })
    
    // With middleware, the syntax remains the same (but middleware is now required)
    router.map(routes, {
      middleware: [auth()],
      actions: {
        home() {
          return new Response('Home')
        },
      },
    })
  • Add functional aliases for creating routes that respond to a single request method

    import { del, get, patch, post } from '@remix-run/fetch-router'
    
    let routes = route({
      home: get('/'),
      login: post('/login'),
      logout: post('/logout'),
      profile: {
        show: get('/profile'),
        edit: get('/profile/edit'),
        update: patch('/profile'),
        destroy: del('/profile'),
      },
    })