What's Changed
Read the release announcement here: https://deno.com/blog/fresh-1.2
Features
- feat(server): Allow for custom HEAD method implementations by @kamilogorek in #1175
- feat: add
createHandler()
by @Octo8080X in #622 - feat: island sub-directories by @iuioiua in #1185
- feat: add status and headers overwrite for HandlerContext.render by @crowlKats in #725
- feat: more advanced prop serializer for islands by @lucacasonato in #1224
- feat: support passing signals as island props by @lucacasonato in #757
- feat: support passing Uint8Array as island props by @lucacasonato in #1225
- feat: remove hardcoded
deno.json
path by @iceghost in #1208 - feat: add
PageProps
to _app by @huai-jie in #1229 - feat: preloading JavaScript files by @ayame113 in #1189
- feat: support embedded import map in
deno.json
by @iuioiua in #1188 - feat: use
PORT
environment variable to change port by @notangelmario in #468 - feat: async plugin rendering (addresses #728) by @dragonwocky in #745
- feat: limited
npm:
specifier support by @lucacasonato in #1245 - feat: break render islands single task into to multiples by @igorbrasileiro in #1019
- feat(debug): show rendering issues during SSR by @marvinhagemeister in #1256
- feat(init): make directory argument optional by @marvinhagemeister in #1263
- feat(server): make startup message easier to see by @marvinhagemeister in #1273
- feat(server): pick free port if none specified by @marvinhagemeister in #1274
- fix: update script to work with non-embedded import maps by @lucacasonato in #1283
- feat(init): add update task by @marvinhagemeister in #1290
- feat(islands): allow passing JSX children to island + nested islands by @marvinhagemeister in #1285
- feat(server): trailing slash configuration by @deer in #1291
Fixes
- fix: don't change scheme on redirect by @lucacasonato in #1024
- fix:
__FRSH_BUILD_ID is not defined
by @lucacasonato in #1207 - fix: better HEAD handling with less special casing by @lucacasonato in #1206
- fix: buildIdPlugin breaks when Fresh is hosted by @lucacasonato in #1230
- fix: preload all the necessary files by @ayame113 in #1242
- fix: remove top level <script> imports by @lucacasonato in #1246
- fix(ssr): invalid HTML comment tags by @marvinhagemeister in #1260
- fixes typo in init.ts "Projet" -> "Project" by @ybabts in #1269
- fix: use
await Deno.serve().finished
by @iuioiua in #1287 - fix: rendering islands inside other islands by @marvinhagemeister in #1295
Docs
- docs: clarify what props can be passed to islands by @lionel-rowe in #1131
- docs: optimise images size by @jheysaav in #1101
- docs: add new "Examples" section by @iuioiua in #1221
- docs: add "Modifying the Head Element" example by @DanielXing1103 in #1226
- www: correctly use signals in
<CopyArea>
by @lucacasonato in #1239 - chore: improve init readme by @lucacasonato in #1238
- chore(www): fix accessibility issues by @ayame113 in #1243
- docs: improve examples and fix app wrapper by @lucacasonato in #1244
- docs: fix example folder names to be
deno-fresh-demo
by @moonstripe in #582 - docs: add
_
prefix to unused request params by @duffn in #1007 - docs: work around inline click handler by @marvinhagemeister in #1267
- docs: add "setting the language" example by @deer in #1265
- fix(www): show missing GA env warning once by @marvinhagemeister in #1272
- docs: add discord icon + blog link by @marvinhagemeister in #1276
- docs: add "Writing Tests" example by @Octo8080X in #1223
- chore: remove
www
workflow by @iuioiua in #1282 - docs: fix "Writing Tests" example title typo by @iuioiua in #1288
- docs: add "Server configuration" concept explanation by @deer in #1293
- docs: add "Changing the source directory" example by @deer in #1286
- docs: Invoke getTime() on the Date value and not on the date signal by @najumancheril in #1284
Refactors
- chore: add test case covering islands that return
null
by @azerum in #1203 - chore(deps): update to std@0.189.0 by @iuioiua in #1201
- chore: remove stale workaround in
collect()
by @gflarity in #1078 - refactor: move counter example to top-level by @iuioiua in #1219
- chore: upgrade to
esbuild_deno_loader@0.7.0
by @iuioiua in #1228 - refactor: replace
useState()
withuseSignal()
by @iuioiua in #1234 - chore: upgrade
preact-render-to-string
to 6.0.3 by @iuioiua in #1236 - chore: upgrade
preact
to 10.15.1 andstd
to 0.190.0 by @lino-levan in #1237 - chore: clean up esbuild builder logic by @lucacasonato in #1231
- chore(test): extract shared start server code by @marvinhagemeister in #1250
- chore: correct misspelled variable by @garbles in #1258
- chore(tests): use to spin up server by @marvinhagemeister in #1261
- chore(tests): don't cancel child process stream by @marvinhagemeister in #1262
- chore(ci): run tests in parallel by @marvinhagemeister in #1281
Showcase
- showcase: add "OpenAI Semantic Search" to showcase by @thorwebdev in #1259
New Contributors
- @lionel-rowe made their first contribution in #1131
- @jheysaav made their first contribution in #1101
- @gflarity made their first contribution in #1078
- @Octo8080X made their first contribution in #622
- @iceghost made their first contribution in #1208
- @huai-jie made their first contribution in #1229
- @ayame113 made their first contribution in #1189
- @DanielXing1103 made their first contribution in #1226
- @moonstripe made their first contribution in #582
- @duffn made their first contribution in #1007
- @dragonwocky made their first contribution in #745
- @igorbrasileiro made their first contribution in #1019
- @garbles made their first contribution in #1258
- @deer made their first contribution in #1265
- @ybabts made their first contribution in #1269
- @thorwebdev made their first contribution in #1259
- @najumancheril made their first contribution in #1284
Full Changelog: 1.1.6...1.2.0