|
| 1 | +--- |
| 2 | +title: Monthly updates (November 2023) |
| 3 | +description: 25 releases this month! What's new in the UnJS ecosystem? |
| 4 | +image: |
| 5 | + src: |
| 6 | + alt: |
| 7 | +authors: |
| 8 | + - name: |
| 9 | + picture: |
| 10 | + twitter: |
| 11 | +category: |
| 12 | + - releases |
| 13 | +packages: |
| 14 | + - citty |
| 15 | + - h3 |
| 16 | + - ipx |
| 17 | + - magicast |
| 18 | + - mkdist |
| 19 | + - nitro |
| 20 | + - scule |
| 21 | + - std-env |
| 22 | + - ufo |
| 23 | + - unenv |
| 24 | + - unhead |
| 25 | + - unpdf |
| 26 | + - unstorage |
| 27 | +publishedAt: 2023-11-28T01:00:36.879Z |
| 28 | +modifiedAt: 2023-11-28T01:00:36.879Z |
| 29 | +layout: blog-post |
| 30 | +--- |
| 31 | + |
| 32 | +## citty |
| 33 | + |
| 34 | +This month, we release 1 new release (0 major release, 0 minor release and 1 patch release): |
| 35 | + |
| 36 | +- [v0.1.5](https://github.com/unjs/citty/releases/tag/v0.1.5) |
| 37 | + |
| 38 | +### enhancements |
| 39 | + |
| 40 | +- **command:** Return result of run command ([#101](https://github.com/unjs/citty/pull/101)) |
| 41 | +- **runMain:** Support custom `showUsage` option ([#74](https://github.com/unjs/citty/pull/74)) |
| 42 | + |
| 43 | +## h3 |
| 44 | + |
| 45 | +This month, we release 1 new release (0 major release, 1 minor release and 0 patch release): |
| 46 | + |
| 47 | +- [v1.9.0](https://github.com/unjs/h3/releases/tag/v1.9.0) |
| 48 | + |
| 49 | +### enhancements |
| 50 | + |
| 51 | +- `getValidatedRouterParams` util ([#573](https://github.com/unjs/h3/pull/573)) |
| 52 | +- `decode` option for `getRouterParam` ([#556](https://github.com/unjs/h3/pull/556)) |
| 53 | +- `getRequestFingerprint` util ([#564](https://github.com/unjs/h3/pull/564)) |
| 54 | + |
| 55 | +### fixes |
| 56 | + |
| 57 | +- **sendNoContent:** Preserve custom status code if already set ([#577](https://github.com/unjs/h3/pull/577)) |
| 58 | + |
| 59 | +### documentation |
| 60 | + |
| 61 | +- Add `@intlify/h3` to community packages ([#559](https://github.com/unjs/h3/pull/559)) |
| 62 | +- Improve jsdocs ([#574](https://github.com/unjs/h3/pull/574)) |
| 63 | +- Add package pronunciation ([#569](https://github.com/unjs/h3/pull/569)) |
| 64 | + |
| 65 | +### 🌊 types |
| 66 | + |
| 67 | +- Add generics to `H3Error` data and `createError` ([#566](https://github.com/unjs/h3/pull/566)) |
| 68 | +- Support auto complete for HTTP header names in utils ([#542](https://github.com/unjs/h3/pull/542)) |
| 69 | + |
| 70 | +## ipx |
| 71 | + |
| 72 | +This month, we release 2 new releases (0 major release, 0 minor release and 2 patch releases): |
| 73 | + |
| 74 | +- [v2.0.2](https://github.com/unjs/ipx/releases/tag/v2.0.2) |
| 75 | +- [v2.0.1](https://github.com/unjs/ipx/releases/tag/v2.0.1) |
| 76 | + |
| 77 | +### what's changed |
| 78 | + |
| 79 | +- fix: allow httpStorage `allowAllDomains` config param to be used. by @Jarrku in https://github.com/unjs/ipx/pull/189 |
| 80 | +- deps: update to svgo v3.0.3 by @SethFalco in https://github.com/unjs/ipx/pull/188 |
| 81 | + |
| 82 | +### fixes |
| 83 | + |
| 84 | +- **svgo:** Handle javascript uris in `removexss` plugin ([#186](https://github.com/unjs/ipx/pull/186)) |
| 85 | + |
| 86 | +## magicast |
| 87 | + |
| 88 | +This month, we release 2 new releases (0 major release, 0 minor release and 2 patch releases): |
| 89 | + |
| 90 | +- [v0.3.2](https://github.com/unjs/magicast/releases/tag/v0.3.2) |
| 91 | +- [v0.3.1](https://github.com/unjs/magicast/releases/tag/v0.3.1) |
| 92 | + |
| 93 | +### fixes |
| 94 | + |
| 95 | +- Quoted properties of `ObjectExpression` not in exports proxy ([#94](https://github.com/unjs/magicast/pull/94)) |
| 96 | + |
| 97 | +## mkdist |
| 98 | + |
| 99 | +This month, we release 2 new releases (0 major release, 1 minor release and 1 patch release): |
| 100 | + |
| 101 | +- [v1.4.0](https://github.com/unjs/mkdist/releases/tag/v1.4.0) |
| 102 | +- [v1.3.1](https://github.com/unjs/mkdist/releases/tag/v1.3.1) |
| 103 | + |
| 104 | +### enhancements |
| 105 | + |
| 106 | +- Support [postcss](https://postcss.org/) loader with [autoprefixer](https://github.com/postcss/autoprefixer), [cssnano](https://cssnano.co/) and [postcss-nested](https://www.npmjs.com/package/postcss-nested) enabled out of the box! ([#167](https://github.com/unjs/mkdist/pull/167)) |
| 107 | + |
| 108 | +### fixes |
| 109 | + |
| 110 | +- Resolve dynamic import paths ([#165](https://github.com/unjs/mkdist/pull/165)) |
| 111 | +- Pass all options to loader context ([ea5ba97](https://github.com/unjs/mkdist/commit/ea5ba97)) |
| 112 | + |
| 113 | +### 🌊 types |
| 114 | + |
| 115 | +- Add `cjs`, `mts`, and `cts` to the supported extensions ([e7d3ffb](https://github.com/unjs/mkdist/commit/e7d3ffb)) |
| 116 | + |
| 117 | +## nitro |
| 118 | + |
| 119 | +This month, we release 1 new release (0 major release, 1 minor release and 0 patch release): |
| 120 | + |
| 121 | +- [v2.8.0](https://github.com/unjs/nitro/releases/tag/v2.8.0) |
| 122 | + |
| 123 | +### 🌟 what is new? |
| 124 | + |
| 125 | + |
| 126 | + |
| 127 | +### zero config deployment to aws amplify hosting |
| 128 | + |
| 129 | +We have been closely working with the [AWS Amplify](https://aws.amazon.com/amplify/) team to bring you a zero-config experience AWS deployment and it is ready today! Read more in the [deployment guide](https://nitro.unjs.io/deploy/providers/aws-amplify). |
| 130 | + |
| 131 | +### 🔥 code splitting enabled for cloudflare pages and modules |
| 132 | + |
| 133 | +Code-splitting support is now enabled for Cloudflare Pages and Modules presets making startup-time even faster by leveraging lazy chunks. (read more: ([#1905](https://github.com/unjs/nitro/pull/1905))) |
| 134 | + |
| 135 | +### 🍣 rollup v4 with native swc-based parser |
| 136 | + |
| 137 | +We've upgraded Nitro to the latest [Rollup v4](https://github.com/rollup/rollup/releases/tag/v4.0.0), powered native [SWC](https://swc.rs/)-based parser for even faster builds (https://github.com/rollup/rollup/pull/5073) 🔥 |
| 138 | +Normally, you won't need any specific changes in your project. You can also ignore warnings about compatibility with `rollup-plugin-visualizer`. If you're adding a custom Rollup plugin or using Vite v4, you might encounter type issues due to duplicate dependencies. You can either use the `resolutions` field in your `package.json` or simply ignore this warning until Nuxt upgrades to [Vite v5](https://vitejs.dev/blog/announcing-vite5) (soon!). |
| 139 | + |
| 140 | +### 🧩 modules support to extend nitro core |
| 141 | + |
| 142 | +With this release, we have introduced a new advanced feature to extend the Nitro builder core. (more documentation will be available soon) |
| 143 | +**Example:** `modules/test.ts` (`server/modules/test.ts` for Nuxt projects) |
| 144 | +```ts |
| 145 | +import type { NitroModule } from "nitropack"; |
| 146 | +export default <NitroModule>{ |
| 147 | +name: "my-nitro-module", |
| 148 | +async setup(nitro) { |
| 149 | +console.log("Running custom nitro module..."); |
| 150 | +await nitro.updateConfig({ |
| 151 | +routeRules: { |
| 152 | +"/**": { swr: true }, |
| 153 | +}, |
| 154 | +}); |
| 155 | +}, |
| 156 | +}; |
| 157 | +``` |
| 158 | + |
| 159 | +### ⚡️ h3 v1.9 |
| 160 | + |
| 161 | +h3 [v1.9.0](https://github.com/unjs/h3/releases/tag/v1.9.0) comes with new `getValidatedRouterParams`and `getRequestFingerprint` utilities, `decode` options for `getRouterParam ` and auto-completion for headers in your IDE! |
| 162 | +<img width="666" alt="image" src="https://github.com/unjs/nitro/assets/5158436/7bb2612b-3811-4b05-859c-c3a438d67ce1"> |
| 163 | + |
| 164 | +### 🔥 more coming soon |
| 165 | + |
| 166 | +There are more exciting features including [tasks](https://github.com/unjs/nitro/pull/1929), [db layer](https://github.com/unjs/nitro/pull/1351), and WebSocket API planned for the next minor releases. Stay tuned! |
| 167 | + |
| 168 | +### changelog |
| 169 | + |
| 170 | + |
| 171 | + |
| 172 | +### enhancements |
| 173 | + |
| 174 | +- Support modules to extend nitro builder ([#1789](https://github.com/unjs/nitro/pull/1789)) |
| 175 | +- Support `inline` mode for `serveStatic` ([#1864](https://github.com/unjs/nitro/pull/1864)) |
| 176 | +- Add experimental `winterjs` preset ([#1863](https://github.com/unjs/nitro/pull/1863)) |
| 177 | +- Allow setting preset using `SERVER_PRESET` environment variable ([#1870](https://github.com/unjs/nitro/pull/1870)) |
| 178 | +- **cloudflare-pages, Cloudflare-module:** Enable code splitting by default ([#1905](https://github.com/unjs/nitro/pull/1905)) |
| 179 | +- Support `framework` config ([#1843](https://github.com/unjs/nitro/pull/1843)) |
| 180 | +- Add AWS Amplify Hosting preset ([#1912](https://github.com/unjs/nitro/pull/1912)) |
| 181 | +- Upgrade to Rollup v4 ([#1927](https://github.com/unjs/nitro/pull/1927)) |
| 182 | +- Improve `nitro.json` build info ([#1930](https://github.com/unjs/nitro/pull/1930)) |
| 183 | +- **aws-amplify:** Support static builds ([#1933](https://github.com/unjs/nitro/pull/1933)) |
| 184 | +- Add `defineNitroErrorHandler` type helper ([#1923](https://github.com/unjs/nitro/pull/1923)) |
| 185 | + |
| 186 | +### fixes |
| 187 | + |
| 188 | +- **cloudflare-pages:** Filter out overlapping public assets dirs ([#1859](https://github.com/unjs/nitro/pull/1859)) |
| 189 | +- **scanner:** Allow having HTTP method as part of the route name ([#1895](https://github.com/unjs/nitro/pull/1895)) |
| 190 | +- Generate route types with resolve path and stripped extension ([#1897](https://github.com/unjs/nitro/pull/1897)) |
| 191 | +- Scan dirs for unimport on initialization ([#1908](https://github.com/unjs/nitro/pull/1908)) |
| 192 | +- **aws-amplify:** Register and auto detect ([0f38eb6f](https://github.com/unjs/nitro/commit/0f38eb6f)) |
| 193 | +- **prerender:** Decode generated routes ([#1914](https://github.com/unjs/nitro/pull/1914)) |
| 194 | +- Disabled public asset handler name is `null` ([b7a6a1a6](https://github.com/unjs/nitro/commit/b7a6a1a6)) |
| 195 | +- **prerender:** Decode URIs in headers ([#1932](https://github.com/unjs/nitro/pull/1932)) |
| 196 | +- **error:** Respect accept: `text/html` request header ([#1921](https://github.com/unjs/nitro/pull/1921)) |
| 197 | +- **prerender:** Filter encoded links starting with `#` ([#1936](https://github.com/unjs/nitro/pull/1936)) |
| 198 | + |
| 199 | +### 💅 refactors |
| 200 | + |
| 201 | +- **deno-deploy:** Use `Deno.serve` ([#1879](https://github.com/unjs/nitro/pull/1879)) |
| 202 | +- Split preset types ([#1910](https://github.com/unjs/nitro/pull/1910)) |
| 203 | + |
| 204 | +### documentation |
| 205 | + |
| 206 | +- **deploy:** Split runtimes from providers ([#1865](https://github.com/unjs/nitro/pull/1865)) |
| 207 | +- **routing:** Add note about middleware returns ([#1884](https://github.com/unjs/nitro/pull/1884)) |
| 208 | +- Update edge links to nightly ([#1902](https://github.com/unjs/nitro/pull/1902)) |
| 209 | +- **deploy:** Add deno to runtime list ([#1899](https://github.com/unjs/nitro/pull/1899)) |
| 210 | +- **cloudflare:** Update wrangler link ([#1913](https://github.com/unjs/nitro/pull/1913)) |
| 211 | +- **aws-amplify:** Add custom `amplify.yml` ([f412af16](https://github.com/unjs/nitro/commit/f412af16)) |
| 212 | +- **amplify:** Remove cache from config ([7bbb723e](https://github.com/unjs/nitro/commit/7bbb723e)) |
| 213 | +- Hide winterjs due to instability ([048c8ff0](https://github.com/unjs/nitro/commit/048c8ff0)) |
| 214 | +- Add jsdoc for `cache.maxAge` ([#1878](https://github.com/unjs/nitro/pull/1878)) |
| 215 | + |
| 216 | +### 🌊 types |
| 217 | + |
| 218 | +- Export `SerializeTuple` and `SerializeObject` types ([#1907](https://github.com/unjs/nitro/pull/1907)) |
| 219 | + |
| 220 | +## scule |
| 221 | + |
| 222 | +This month, we release 1 new release (0 major release, 1 minor release and 0 patch release): |
| 223 | + |
| 224 | +- [v1.1.0](https://github.com/unjs/scule/releases/tag/v1.1.0) |
| 225 | + |
| 226 | +### enhancements |
| 227 | + |
| 228 | +- Export type helpers ([#58](https://github.com/unjs/scule/pull/58)) |
| 229 | + |
| 230 | +### fixes |
| 231 | + |
| 232 | +- Move types filed to the top ([4fd4a79](https://github.com/unjs/scule/commit/4fd4a79)) |
| 233 | +- **pascalCase, camelCase:** Lower rest of each segment ([#62](https://github.com/unjs/scule/pull/62)) |
| 234 | + |
| 235 | +### documentation |
| 236 | + |
| 237 | +- Add missing quotation mark ([#41](https://github.com/unjs/scule/pull/41)) |
| 238 | +- Improve readme with code examples ([21f19ba](https://github.com/unjs/scule/commit/21f19ba)) |
| 239 | + |
| 240 | +## std-env |
| 241 | + |
| 242 | +This month, we release 1 new release (0 major release, 1 minor release and 0 patch release): |
| 243 | + |
| 244 | +- [v3.5.0](https://github.com/unjs/std-env/releases/tag/v3.5.0) |
| 245 | + |
| 246 | +### enhancements |
| 247 | + |
| 248 | +- Add `aws_amplify` provider ([#91](https://github.com/unjs/std-env/pull/91)) |
| 249 | + |
| 250 | +## ufo |
| 251 | + |
| 252 | +This month, we release 1 new release (0 major release, 0 minor release and 1 patch release): |
| 253 | + |
| 254 | +- [v1.3.2](https://github.com/unjs/ufo/releases/tag/v1.3.2) |
| 255 | + |
| 256 | +### fixes |
| 257 | + |
| 258 | +- **parseURL:** Parse protocol case-insensitively ([#188](https://github.com/unjs/ufo/pull/188)) |
| 259 | +- Respect fragment in trailing slash utils ([#175](https://github.com/unjs/ufo/pull/175)) |
| 260 | + |
| 261 | +## unenv |
| 262 | + |
| 263 | +This month, we release 1 new release (0 major release, 1 minor release and 0 patch release): |
| 264 | + |
| 265 | +- [v1.8.0](https://github.com/unjs/unenv/releases/tag/v1.8.0) |
| 266 | + |
| 267 | +### enhancements |
| 268 | + |
| 269 | +- Polyfill `node:module` ([#148](https://github.com/unjs/unenv/pull/148)) |
| 270 | +- Add polyfill for `node:https` with named exports ([5917a50](https://github.com/unjs/unenv/commit/5917a50)) |
| 271 | +- Support `consola/utils` subpath ([#149](https://github.com/unjs/unenv/pull/149)) |
| 272 | + |
| 273 | +### fixes |
| 274 | + |
| 275 | +- **node:net:** Add missing new exports ([2b805b1](https://github.com/unjs/unenv/commit/2b805b1)) |
| 276 | +- **node:net/socket:** Add new `destroySoon` and `autoSelectFamilyAttemptedAddresses` ([311c72b](https://github.com/unjs/unenv/commit/311c72b)) |
| 277 | + |
| 278 | +### 🎨 styles |
| 279 | + |
| 280 | +- Format with prettier ([b31444d](https://github.com/unjs/unenv/commit/b31444d)) |
| 281 | + |
| 282 | +## unhead |
| 283 | + |
| 284 | +This month, we release 7 new releases (0 major release, 0 minor release and 7 patch releases): |
| 285 | + |
| 286 | +- [v1.8.8](https://github.com/unjs/unhead/releases/tag/v1.8.8) |
| 287 | +- [v1.8.7](https://github.com/unjs/unhead/releases/tag/v1.8.7) |
| 288 | +- [v1.8.6](https://github.com/unjs/unhead/releases/tag/v1.8.6) |
| 289 | +- [v1.8.5](https://github.com/unjs/unhead/releases/tag/v1.8.5) |
| 290 | +- [v1.8.4](https://github.com/unjs/unhead/releases/tag/v1.8.4) |
| 291 | +- [v1.8.3](https://github.com/unjs/unhead/releases/tag/v1.8.3) |
| 292 | +- [v1.8.2](https://github.com/unjs/unhead/releases/tag/v1.8.2) |
| 293 | + |
| 294 | +### bug fixes |
| 295 | + |
| 296 | +- **schema-org:** more accurate id resolving ([7c29141](https://github.com/unjs/unhead/commit/7c29141)) |
| 297 | + |
| 298 | +## unpdf |
| 299 | + |
| 300 | +This month, we release 3 new releases (0 major release, 3 minor releases and 0 patch release): |
| 301 | + |
| 302 | +- [v0.10.0](https://github.com/unjs/unpdf/releases/tag/v0.10.0) |
| 303 | +- [v0.9.0](https://github.com/unjs/unpdf/releases/tag/v0.9.0) |
| 304 | +- [v0.8.0](https://github.com/unjs/unpdf/releases/tag/v0.8.0) |
| 305 | + |
| 306 | +### breaking changes |
| 307 | + |
| 308 | +- Remove deprecated `extractPDFText` fn - by @johannschopplich [<samp>(61fb4)</samp>](https://github.com/unjs/unpdf/commit/61fb4f8) |
| 309 | +- Deprecate `defineUnPDFConfig` for `configureUnPDF` - by @johannschopplich [<samp>(014a6)</samp>](https://github.com/unjs/unpdf/commit/014a6ea) |
| 310 | + |
| 311 | +### bug fixes |
| 312 | + |
| 313 | +- Apply `useSystemFonts: true` by default - by @johannschopplich [<samp>(02afd)</samp>](https://github.com/unjs/unpdf/commit/02afd71) |
| 314 | + |
| 315 | +### features |
| 316 | + |
| 317 | +- Support PDF.js v4 - by @johannschopplich [<samp>(faa96)</samp>](https://github.com/unjs/unpdf/commit/faa9648) |
| 318 | + |
| 319 | +## unstorage |
| 320 | + |
| 321 | +This month, we release 2 new releases (0 major release, 1 minor release and 1 patch release): |
| 322 | + |
| 323 | +- [v1.10.1](https://github.com/unjs/unstorage/releases/tag/v1.10.1) |
| 324 | +- [v1.10.0](https://github.com/unjs/unstorage/releases/tag/v1.10.0) |
| 325 | + |
| 326 | +### enhancements |
| 327 | + |
| 328 | +- Support `netlify-blobs` driver ([#337](https://github.com/unjs/unstorage/pull/337)) (Read more in the [documentation](https://unstorage.unjs.io/drivers/netlify-blobs)) |
| 329 | + |
| 330 | +### fixes |
| 331 | + |
| 332 | +- **server:** Read body as string ([dfda25f](https://github.com/unjs/unstorage/commit/dfda25f)) |
| 333 | +- **azure-key-vault-driver:** Fix character encoding ([#308](https://github.com/unjs/unstorage/pull/308)) |
| 334 | +- **lru-cache, memory, mongodb, redis:** Return falsy values when set in storage ([#320](https://github.com/unjs/unstorage/pull/320)) |
| 335 | + |
| 336 | +### documentation |
| 337 | + |
| 338 | +- Fix memory driver description ([#286](https://github.com/unjs/unstorage/pull/286)) |
| 339 | +- **fs:** Fix typo ([#290](https://github.com/unjs/unstorage/pull/290)) |
| 340 | +- Fix typo in `getMount` usage ([#297](https://github.com/unjs/unstorage/pull/297)) |
| 341 | +- Update deps ([#310](https://github.com/unjs/unstorage/pull/310)) |
| 342 | +- **indexedb:** Fix typo in import ([#327](https://github.com/unjs/unstorage/pull/327)) |
0 commit comments