4 hours ago
next.js

v16.1.1-canary.23

Core Changes

  • Don't import typescript at runtime: #88321
  • fix: use RDC for server action requests: #88129
  • Warn when overriding Cache-Control header on /_next/ routes: #88353
  • [prebuilt-skew-protection] feat: adding in automatic deploymentId: #88012
  • Revert "[prebuilt-skew-protection] feat: adding in automatic deploymentId": #88449
  • Turbopack: Update reqwest, remove experimental system TLS feature: #88290

Misc Changes

  • Update AGENTS.md with PR template and test generation requirements: #88417
  • Add .cursor/worktrees.json configuration: #88415
  • docs: add guidance for code block highlight line numbers to AGENTS.md: #88430
  • [turbopack] Compute transitive side effects and use them to trim imports: #86675
  • fix(turbo-tasks-backend): use correct TaskDataCategory for is_immutable check: #88331
  • perf(turbo-tasks-backend): use DefaultStorage for AggregationNumber to save memory: #88336
  • [Turbopack] Move DirList to its own module: #88256
  • docs: add rebuild guidance and ICE troubleshooting to AGENTS.md: #88337
  • Type-check run-tests.js and remove unused related flag: #88433
  • [test] Remove obsolete reference to NEXT_TEST_SKIP_RETRY_MANIFEST: #88434
  • Revert "[Turbopack] Move DirList to its own module": #88441
  • [scripts] Avoid conflicting type for pack-next --compress: #88439
  • Update Rspack production test manifest: #88403
  • Update Rspack development test manifest: #88404

Credits

Huge thanks to @mischnic, @timneutkens, @lukesandberg, @ztanner, @andrewimm, @unstubbable, @eps1lon, @brookemosby, @vercel-release-bot, and @bgw for helping!

7 hours ago
router

v1.149.2

Version 1.149.2 - 1/12/26, 8:31 PM

Changes

Fix

  • properly handle sass in dev styles (#6372) (bbfa5d3) by Manuel Schiller

Packages

  • @tanstack/start-plugin-core@1.149.2
  • @tanstack/solid-start@1.149.2
  • @tanstack/vue-start@1.149.2
  • @tanstack/react-start@1.149.2
  • @tanstack/start-static-server-functions@1.149.2
8 hours ago
embed-pdf-viewer

Release v2.2.0

@embedpdf/core@2.2.0

Minor Changes

  • #389 by @bobsingor – Add document permissions support:

    • Add useDocumentPermissions hook for React, Svelte, and Vue with reactive permission state and helper methods (hasPermission, hasAllPermissions, and shorthand booleans like canPrint, canCopyContents, etc.)
    • Add UPDATE_DOCUMENT_SECURITY action and updateDocumentSecurity action creator for updating document security state
    • Add reducer case for updating document permissions and owner unlock state
    • Add permission helper methods to BasePlugin: getDocumentPermissions, checkPermission, requirePermission
    • Export useDocumentPermissions from shared, svelte, and vue entry points
  • #389 by @bobsingor – Add permission override system with global and per-document configuration:

    • Add PermissionConfig interface for configuring permission overrides with enforceDocumentPermissions and overrides options
    • Add permissions option to PluginRegistryConfig for global permission configuration
    • Add permissions to DocumentState for per-document permission overrides
    • Add getEffectivePermission and getEffectivePermissions selectors for layered permission resolution (per-document → global → PDF)
    • Add human-readable permission names (print, modifyContents, copyContents, etc.) as alternatives to numeric flags
    • Update BasePlugin permission helpers (checkPermission, requirePermission, getDocumentPermissions) to use effective permissions
    • Update useDocumentPermissions hooks (React, Svelte, Vue) to return both effective and raw PDF permissions
    • Add config prop to EmbedPDF components for passing PluginRegistryConfig, deprecating individual logger prop
    • Export PermissionConfig, PermissionName, ALL_PERMISSION_FLAGS, and permission selectors

@embedpdf/engines@2.2.0

Minor Changes

  • #389 by @bobsingor – Add document security/encryption engine methods:
    • Add setDocumentEncryption for setting AES-256 encryption with user/owner passwords and permission flags
    • Add removeEncryption for marking documents for encryption removal on save
    • Add unlockOwnerPermissions for unlocking owner permissions on encrypted documents
    • Add isEncrypted and isOwnerUnlocked query methods
    • Implement security methods in PdfEngine orchestrator, RemoteExecutor, PdfiumNative, WebWorkerEngine, and EngineRunner
    • Query and store isEncrypted, isOwnerUnlocked, and permissions when opening documents

@embedpdf/models@2.2.0

Minor Changes

  • #389 by @bobsingor – Add PDF permission and security types:
    • Add isEncrypted, isOwnerUnlocked, and permissions properties to PdfDocumentObject
    • Add PdfPermissionFlag enum with all PDF permission flags (Print, ModifyContents, CopyContents, ModifyAnnotations, FillForms, ExtractForAccessibility, AssembleDocument, PrintHighQuality) and AllowAll combination
    • Add buildPermissions helper function for combining permission flags
    • Add PermissionDeniedError class for permission check failures
    • Add security methods to PdfEngine interface: setDocumentEncryption, removeEncryption, unlockOwnerPermissions, isEncrypted, isOwnerUnlocked
    • Add security methods to IPdfiumExecutor interface

@embedpdf/plugin-annotation@2.2.0

Minor Changes

  • #389 by @bobsingor – Add permission checking for annotation operations:
    • Check PdfPermissionFlag.ModifyAnnotations before creating, updating, or deleting annotations
    • Check permission before activating annotation tools
    • Check permission before creating annotations from text selection
    • Update AnnotationContainer components (React, Svelte, Vue) to respect canModifyAnnotations permission:
      • Disable drag/resize when permission is denied
      • Hide vertex handles when permission is denied
      • Guard double-click handlers based on permission

@embedpdf/plugin-document-manager@2.2.0

Minor Changes

  • #389 by @bobsingor – Add per-document permission overrides when opening documents:
    • Add permissions option to LoadDocumentUrlOptions for URL-based document loading
    • Add permissions option to LoadDocumentBufferOptions for buffer-based document loading
    • Add permissions option to OpenFileDialogOptions for file dialog document loading
    • Pass permission configuration to core store when documents are opened

@embedpdf/plugin-print@2.2.0

Minor Changes

  • #389 by @bobsingor – Add permission checking for print operations:
    • Check PdfPermissionFlag.Print before allowing document printing
    • Return PdfErrorCode.Security error when print permission is denied

@embedpdf/plugin-redaction@2.2.0

Minor Changes

  • #389 by @bobsingor – Add permission checking for redaction operations:
    • Check PdfPermissionFlag.ModifyContents before adding pending redaction items
    • Check permission before enabling redact selection or marquee redact modes
    • Check permission before starting redaction mode
    • Check permission before committing pending redactions (single or all)
    • Return PdfErrorCode.Security error when permission is denied for commit operations

@embedpdf/plugin-ui@2.2.0

Minor Changes

  • #389 by @bobsingor – Add overlay enable/disable functionality:
    • Add SET_OVERLAY_ENABLED action and setOverlayEnabled action creator
    • Add enabledOverlays state to UIDocumentState for tracking overlay visibility
    • Add overlay management methods to UIScope: enableOverlay, disableOverlay, toggleOverlay, isOverlayEnabled, getEnabledOverlays
    • Add onOverlayChanged event hook for overlay state changes
    • Update schema renderer to filter overlays by enabled state
    • Initialize overlay enabled state from schema's defaultEnabled property

@embedpdf/snippet@2.2.0

Minor Changes

  • #389 by @bobsingor – Add document security and protection features:

    • Add ProtectModal component for setting document encryption with user/owner passwords and permission restrictions
    • Add UnlockOwnerOverlay component to notify users when viewing protected documents with restricted permissions
    • Add ViewPermissionsModal component for viewing and unlocking document permissions
    • Add PermissionsDisplay component for showing permission status
    • Add permission-based command disabling for annotation, redaction, print, copy, and capture commands
    • Add security-related translations for English, German, Dutch, French, Spanish, and Chinese
    • Add new icons: EyeIcon, EyeOffIcon, InfoIcon, UnlockIcon
    • Update UI schema with protection modal, view permissions modal, and unlock owner overlay
  • #389 by @bobsingor – Add global permission configuration to snippet viewer:

    • Add permissions option to PDFViewerConfig for global permission overrides
    • Support enforceDocumentPermissions to ignore PDF permissions entirely
    • Support overrides with human-readable names (print, modifyAnnotations, etc.) or numeric flags
    • Update command permission checks to use effective permissions via getEffectivePermission
    • Pass permission configuration to EmbedPDF via new config prop

@embedpdf/pdfium@2.2.0

@embedpdf/plugin-attachment@2.2.0

@embedpdf/plugin-bookmark@2.2.0

@embedpdf/plugin-capture@2.2.0

@embedpdf/plugin-commands@2.2.0

@embedpdf/plugin-export@2.2.0

@embedpdf/plugin-fullscreen@2.2.0

@embedpdf/plugin-history@2.2.0

@embedpdf/plugin-i18n@2.2.0

@embedpdf/plugin-interaction-manager@2.2.0

@embedpdf/plugin-pan@2.2.0

@embedpdf/plugin-render@2.2.0

@embedpdf/plugin-rotate@2.2.0

@embedpdf/plugin-scroll@2.2.0

@embedpdf/plugin-search@2.2.0

@embedpdf/plugin-selection@2.2.0

@embedpdf/plugin-spread@2.2.0

@embedpdf/plugin-thumbnail@2.2.0

@embedpdf/plugin-tiling@2.2.0

@embedpdf/plugin-view-manager@2.2.0

@embedpdf/plugin-viewport@2.2.0

@embedpdf/plugin-zoom@2.2.0

@embedpdf/utils@2.2.0

@embedpdf/react-pdf-viewer@2.2.0

@embedpdf/svelte-pdf-viewer@2.2.0

@embedpdf/vue-pdf-viewer@2.2.0

11 hours ago
engine

v2.15.1

Fixes

  • [Fix] ES2020 compatibility for GSplatSortBinWeights worker injection by @mvaligursky in #8373

Full Changelog: https://github.com/playcanvas/engine/compare/v2.15.0...v2.15.1

12 hours ago
remix
13 hours ago
neutralinojs

Neutralinojs nightly release

⚠️ Nightly build: This nighly-release may contain experimental features and breaking changes.

What's new

Core: events

  • New window events: windowMinimize, windowRestore, windowMaximize, windowFullScreenEnter, and windowFullScreenExit

Update the config file option cli.binaryVersion with nightly and enter neu update to fetch this version.

Get started: https://neutralino.js.org/docs


This release was auto-generated by ReleaseZri 🚀

13 hours ago
astro

astro@5.16.9

Patch Changes

  • #15174 37ab65a Thanks @florian-lefebvre! - Adds Google Icons to built-in font providers

    To start using it, access it on fontProviders:

    import { defineConfig, fontProviders } from 'astro/config';
    
    export default defineConfig({
      experimental: {
        fonts: [
          {
            name: 'Material Symbols Outlined',
            provider: fontProviders.googleicons(),
            cssVariable: '--font-material',
          },
        ],
      },
    });
  • #15150 a77c4f4 Thanks @matthewp! - Fixes hydration for framework components inside MDX when using Astro.slots.render()

    Previously, when multiple framework components with client:* directives were passed as named slots to an Astro component in MDX, only the first slot would hydrate correctly. Subsequent slots would render their HTML but fail to include the necessary hydration scripts.

  • #15130 9b726c4 Thanks @florian-lefebvre! - BREAKING CHANGE to the experimental Fonts API only

    Changes how font providers are implemented with updates to the FontProvider type

    This is an implementation detail that changes how font providers are created. This process allows Astro to take more control rather than relying directly on unifont types. All of Astro's built-in font providers have been updated to reflect this new type, and can be configured as before. However, using third-party unifont providers that rely on unifont types will require an update to your project code.

    Previously, an Astro FontProvider was made of a config and a runtime part. It relied directly on unifont types, which allowed a simple configuration for third-party unifont providers, but also coupled Astro's implementation to unifont, which was limiting.

    Astro's font provider implementation is now only made of a config part with dedicated hooks. This allows for the separation of config and runtime, but requires you to create a font provider object in order to use custom font providers (e.g. third-party unifont providers, or private font registeries).

    What should I do?

    If you were using a 3rd-party unifont font provider, you will now need to write an Astro FontProvider using it under the hood. For example:

    // astro.config.ts
    import { defineConfig } from "astro/config";
    import { acmeProvider, type AcmeOptions } from '@acme/unifont-provider'
    +import type { FontProvider } from "astro";
    +import type { InitializedProvider } from 'unifont';
    
    +function acme(config?: AcmeOptions): FontProvider {
    +	const provider = acmeProvider(config);
    +	let initializedProvider: InitializedProvider | undefined;
    +	return {
    +		name: provider._name,
    +		config,
    +		async init(context) {
    +			initializedProvider = await provider(context);
    +		},
    +		async resolveFont({ familyName, ...rest }) {
    +			return await initializedProvider?.resolveFont(familyName, rest);
    +		},
    +		async listFonts() {
    +			return await initializedProvider?.listFonts?.();
    +		},
    +	};
    +}
    
    export default defineConfig({
        experimental: {
            fonts: [{
    -            provider: acmeProvider({ /* ... */ }),
    +            provider: acme({ /* ... */ }),
                name: "Material Symbols Outlined",
                cssVariable: "--font-material"
            }]
        }
    });
  • #15147 9cd5b87 Thanks @matthewp! - Fixes scripts in components not rendering when a sibling <Fragment slot="..."> exists but is unused

14 hours ago
next.js

v16.1.1-canary.22

Core Changes

  • Track search string as part of "refresh state": #87203
  • Pass RouteTree into navigation function: #87256
  • Read from segment cache unknown routes: #87293
  • Pass loading boundary as part of RSC data: #87825
  • Revert "refactor: consolidate PPR into cacheComponents architecture (#88243)": #88421
  • fix: support TypeScript noUncheckedSideEffectImports for CSS imports: #88199

Misc Changes

  • docs: fix CSP example to only include unsafe-eval in development: #88407
  • docs: add PR description guidance to AGENTS.md: #88408
  • ci: Fix retry comments in workflow files: #88412
  • [test] Deflake test/integration/invalid-custom-routes/test/index.test.ts: #88416
  • [test] Remove rogue debug log: #88423

Credits

Huge thanks to @acdlite, @timneutkens, @unstubbable, @eps1lon, @wyattjoh, and @Rani367 for helping!

14 hours ago
engine

v2.15.0

New Features

Fixes

Examples

New Contributors

Full Changelog: https://github.com/playcanvas/engine/compare/v2.14.4...v2.15.0

18 hours ago
LogicFlow

@logicflow/vue-node-registry@1.1.9

What's Changed

  • fix: 修复内部系统与issue反馈的问题 by @DymoneLewis in https://github.com/didi/LogicFlow/pull/2361
    • fix(vue-node-registry): 修复拖拽创建vue-node-registry节点时控制台报错问题
    • fix: 删除多余console.log