v16.2.0-canary.29
- Don't insert build id comment in HTML: #89478
- Clarify type checking error message: #89525
- Require explicit
cacheLifeon outer"use cache"when nesting short-lived caches: #89481 - [Instant] Instant validation in Dev: #89077
- Upgrade React from
3e00319b-20260203to95ffd6cd-20260205: #89550 - Turbpopack: fix is_persistent_caching_enabled: #89533
- Fix a small doc typo: #89553
- Proper e2e test of function determinism: #88908
- docs: fix ISR guide link to res.revalidate: #89342
Huge thanks to @mischnic, @unstubbable, @lubieowoce, @pavan-sh, and @lukesandberg for helping!
v1.158.3
Version 1.158.3 - 2/5/26, 9:49 PM
- do not pass signal into server function (#5470) (b5b4079) by Manuel Schiller
- Update WorkOS example to use new AuthKit SDK (#5394) (6f64ae2) by Nick Nisi
- @tanstack/start-client-core@1.158.3
- @tanstack/start-server-core@1.158.3
- @tanstack/start-plugin-core@1.158.3
- @tanstack/solid-start@1.158.3
- @tanstack/solid-start-client@1.158.3
- @tanstack/solid-start-server@1.158.3
- @tanstack/vue-start@1.158.3
- @tanstack/vue-start-client@1.158.3
- @tanstack/vue-start-server@1.158.3
- @tanstack/react-start@1.158.3
- @tanstack/react-start-client@1.158.3
- @tanstack/react-start-server@1.158.3
- @tanstack/start-static-server-functions@1.158.3
v1.158.2
Version 1.158.2 - 2/5/26, 9:05 PM
- resolve env-only functions through module re-export chains (#6599) (f5bf1cd) by Manuel Schiller
- @tanstack/start-plugin-core@1.158.2
- @tanstack/solid-start@1.158.2
- @tanstack/vue-start@1.158.2
- @tanstack/react-start@1.158.2
- @tanstack/start-static-server-functions@1.158.2
astro@6.0.0-beta.9
-
#15415
cc3c46cThanks @ematipico! - Fixes an issue where CSP headers were incorrectly injected in the development server. -
#15412
c546563Thanks @florian-lefebvre! - Improves theAstroAdaptertype and how legacy adapters are handled -
#15421
bf62b6fThanks @Princesseuh! - Removes unintended logging
@astrojs/cloudflare@13.0.0-beta.5
-
#15400
41eb284Thanks @florian-lefebvre! - Removes theworkerEntryPointoption, which wasn't used anymore. Set themainfield of your wrangler config insteadSee how to migrate
- Updated dependencies []:
- @astrojs/underscore-redirects@1.0.0
Release v2.5.0
-
#441 by @bobsingor – Implemented per-document rotation normalization in the PDFium engine:
- Updated
PdfCache.setDocument()to accept per-documentnormalizeRotationflag - Added
normalizeRotationproperty toDocumentContextfor tracking document-level setting - Updated
PageCacheto useEPDF_LoadPageNormalizedwhen normalization is enabled - Modified page size retrieval to use
EPDF_GetPageSizeByIndexNormalizedfor normalized documents - Propagated
doc: PdfDocumentObjectparameter through 30+ coordinate transformation methods to access the normalization flag - Updated
convertDevicePointToPagePointandconvertPagePointToDevicePointto use 0° rotation when normalization is enabled
This change allows annotations, text selection, and rendering to work correctly across pages with different rotations by treating all coordinates in a consistent 0° space.
- Updated
-
#441 by @bobsingor – Added support for per-document rotation normalization:
- Added
normalizedRotation: booleanproperty toPdfDocumentObjectto track whether the document was opened with normalized rotation - Added
normalizeRotation?: booleanoption toPdfOpenDocumentBufferOptionsinterface - Added
normalizeRotation?: booleanoption toPdfOpenDocumentUrlOptionsinterface
When
normalizeRotationis enabled, all page coordinates (annotations, text, rendering) are in 0° space regardless of the page's original rotation. - Added
-
#441 by @bobsingor – Added new PDFium functions to support normalized page rotation:
EPDF_GetPageSizeByIndexNormalized: Returns page dimensions as if the page had 0° rotation (swaps width/height for 90°/270° rotated pages)EPDF_LoadPageNormalized: Loads a page with normalized rotation, treating all coordinates in 0° space
These functions enable the engine to work with page coordinates consistently regardless of original page rotation.
-
#441 by @bobsingor – Enabled rotation normalization by default for all documents opened through the document manager:
- Added
normalizeRotation: truetoopenDocumentFromUrl()method - Added
normalizeRotation: truetoopenDocumentFromBuffer()method - Added
normalizeRotation: trueto internaldoOpen()method
This ensures all documents managed by the plugin have consistent coordinate handling regardless of individual page rotations.
- Added
- #441 by @bobsingor – Fixed rotation calculation in AnnotationLayer components to properly combine page intrinsic rotation with document rotation:
- Updated React
AnnotationLayercomponent to compute effective rotation as(pageRotation + docRotation) % 4 - Updated Vue
annotation-layer.vuecomponent with the same rotation logic - Updated Svelte
AnnotationLayer.sveltecomponent with the same rotation logic
- Updated React
- #441 by @bobsingor – Fixed rotation calculation in PagePointerProvider components to properly handle rotation override and combine page intrinsic rotation with document rotation:
- Updated React
PagePointerProviderto use rotation override directly when provided, otherwise combine page and document rotation - Updated Vue
page-pointer-provider.vuewith the same rotation logic - Updated Svelte
PagePointerProvider.sveltewith the same rotation logic
- Updated React
- #441 by @bobsingor – Fixed rotation calculation in RedactionLayer components to properly combine page intrinsic rotation with document rotation:
- Updated React
RedactionLayercomponent to compute effective rotation as(pageRotation + docRotation) % 4 - Updated Vue
redaction-layer.vuecomponent with the same rotation logic - Updated Svelte
redaction-layer.sveltecomponent with the same rotation logic
- Updated React
- #441 by @bobsingor – Fixed rotation calculation in Rotate components to properly handle rotation override and combine page intrinsic rotation with document rotation:
- Updated React
Rotatecomponent to use rotation override directly when provided, otherwise combine page and document rotation - Updated Vue
rotate.vuecomponent with the same rotation logic - Updated Svelte
Rotate.sveltecomponent with the same rotation logic
- Updated React
- #441 by @bobsingor – Fixed scroll calculations to account for page intrinsic rotation:
- Updated
getSpreadPagesWithSizes()to compute effective rotation as(pageRotation + docRotation) % 4for each page - Updated
scrollToPage()to use effective rotation when calculating scroll position - Updated
getRectPositionForPage()to use effective rotation when provided rotation is undefined - Fixed
calculatePageVisibility()in base strategy to account for horizontal centering offset
- Updated
- #441 by @bobsingor – Fixed rotation calculation in SelectionLayer components to properly combine page intrinsic rotation with document rotation:
- Updated React
SelectionLayercomponent to compute effective rotation as(pageRotation + docRotation) % 4 - Updated Vue
selection-layer.vuecomponent with the same rotation logic - Updated Svelte
SelectionLayer.sveltecomponent with the same rotation logic
- Updated React
- #441 by @bobsingor – Fixed thumbnail rendering to account for page intrinsic rotation:
- Updated
rebuildLayout()to swap width/height for pages with 90° or 270° rotation when calculating thumbnail dimensions - Added
rotation: page.rotationto render options inrenderThumb()to ensure thumbnails display with correct orientation
- Updated
- #441 by @bobsingor – Fixed tile calculations to account for page intrinsic rotation:
- Updated
refreshTilesForPages()to compute effective rotation as(pageRotation + docRotation) % 4for each page - Updated
onScrollMetricsChange()to use effective rotation per page when calculating tiles
- Updated
-
#441 by @bobsingor – Fixed resize handle cursors to account for page rotation:
- Updated
diagonalCursor()function to swapns-resizeandew-resizecursors for edge handles (n, s, e, w) on odd rotation values (90° and 270°) - Reorganized cursor logic to handle edge handles separately from corner handles
Previously, edge resize handles showed incorrect cursors on rotated pages (e.g., north handle showed
ns-resizeinstead ofew-resizeon 90° rotated pages). - Updated
@astrojs/node@10.0.0-beta.2
-
#15258
d339a18Thanks @ematipico! - Stabilizes the adapter featureexperimentalStatiHeaders. If you were using this feature in any of the supported adapters, you'll need to change the name of the flag:export default defineConfig({ adapter: netlify({ - experimentalStaticHeaders: true + staticHeaders: true }) })
@astrojs/vercel@10.0.0-beta.2
-
#15258
d339a18Thanks @ematipico! - Stabilizes the adapter featureexperimentalStatiHeaders. If you were using this feature in any of the supported adapters, you'll need to change the name of the flag:export default defineConfig({ adapter: netlify({ - experimentalStaticHeaders: true + staticHeaders: true }) })
@astrojs/netlify@7.0.0-beta.7
-
#15258
d339a18Thanks @ematipico! - Stabilizes the adapter featureexperimentalStatiHeaders. If you were using this feature in any of the supported adapters, you'll need to change the name of the flag:export default defineConfig({ adapter: netlify({ - experimentalStaticHeaders: true + staticHeaders: true }) })
- Updated dependencies []:
- @astrojs/underscore-redirects@1.0.0