Release blog post: https://deno.com/blog/fresh-1.4
Features
- feat: Route layouts by @mcgear in #1506
- feat: add support for route groups by @marvinhagemeister in #1563
- feat(server): support https by @deer in #1599
- feat(init): add check task to run all static analysis by @deer in #1454
- feat: co-locate islands + non-route files by @marvinhagemeister in #1600
- feat: support conditional island JSX children by @marvinhagemeister in #1355
- feat: support async layout functions by @marvinhagemeister in #1597
- feat: allow layout and _app overrides by @marvinhagemeister in #1611
- feat: Support setting
<html>
in_app
template by @marvinhagemeister in #1617 - feat: support async app template by @marvinhagemeister in #1626
- feat: add helpers to make Fresh less TypeScripty by @marvinhagemeister in #1627
- feat: prebundle code + restore from snapshot by @marvinhagemeister in #1604
Fixes
- fix: async route typing by @iuioiua in #1510
- fix: middleware state reset between middlewares by @marvinhagemeister in #1500
- fix: duplicate references for same signals by @marvinhagemeister in #1503
- fix: Only show update message if current < latest by @marvinhagemeister in #1499
- fix: parse multiple route params in same part by @marvinhagemeister in #1518
- fix: allow string based event handlers in SSR by @marvinhagemeister in #1515
- fix(init): typo in flags parsing by @lino-levan in #1525
- fix(server): change RouteContext data type parameter default to any by @deer in #1536
- fix(init): remove blank line from _404 template by @deer in #1539
- fix(server): add type to Plugin so that MiddlewareHandler is typed correctly by @deer in #1534
- fix(server): merge competing PluginMiddleware handlers together by @deer in #1545
- fix: typo
boder-box
toborder-box
by @vrunt in #1574 - fix(server): make AppProps generic by @deer in #1449
- fix(update): update script actually supports comments in jsonc by @deer in #1591
- fix(server): make LayoutProps generic by @deer in #1592
- fix: add missing state property to interface by @csvn in #1579
- fix: rename layout config options by @marvinhagemeister in #1619
- fix: render state not unique per render by @marvinhagemeister in #1638
- fix: load snapshot message shown for build by @marvinhagemeister in #1640
Docs
- www: consistently spell Fresh by @roj1512 in #1504
- www: use smart quotes by @roj1512 in #1502
- www: fix remaining inconsistencies by @roj1512 in #1505
- www: Accessibility tweaks and fixes for docs/www by @timharek in #1507
- www: move latest docs into
latest
folder by @marvinhagemeister in #1522 - www: fix docs returning 500 by @marvinhagemeister in #1523
- www: add basic Dockerfile support to project generator by @wsb1994 in #1520
- www: fix lots of typos by @lino-levan in #1526
- www: fix broken canary update link by @marvinhagemeister in #1544
- www: fix 404 on "Using Deno KV OAuth" example by @mbhrznr in #1588
- www: fix agolia being initialized twice by @marvinhagemeister in #1598
- www: rewriting "data fetching" code example by @Asqit in #1603
- docs(concepts): add middlware redirect section by @fdemir in #1615
- www: remove counters in sidebar by @marvinhagemeister in #1624
- docs(concepts) make islands.md examples run without errors by @setibeings in #1614
- www: new fenced code block design by @marvinhagemeister in #1629
- www: Fix example routes by @nathanwaldman in #1637
- www: Various documentation improvements by @marvinhagemeister in #1635
Refactors
- www: fix tests not run on CI by @marvinhagemeister in #1521
- feat(ci): Spell checking by @lino-levan in #1527
- chore: clean up remaining type errors in project by @deer in #1537
- chore(ci): type check entire project in ci by @deer in #1538
- fix(ci): type error in dev_checks fixture by @deer in #1550
- chore: simplify route creation logic by @marvinhagemeister in #1561
- refactor: pre-sort all routes by @marvinhagemeister in #1562
- chore: speed up layout tests by @marvinhagemeister in #1565
- chore(CI): make formatting same across platforms by @iuioiua in #1575
- chore(CI): fix and simplify caching by @iuioiua in #1571
- chore(CI): rework lighthouse action by @iuioiua in #1570
- chore(CI): remove redundant steps by @iuioiua in #1569
- chore(CI): combine install Chrome jobs by @iuioiua in #1557
- chore: format on save by @iuioiua in #1584
- chore(CI): parallel tests by @iuioiua in #1583
- chore:
deno task ok
by @iuioiua in #1573 - chore(server): simplify plugin route creation by @deer in #1594
- chore: speed up server component tests by @marvinhagemeister in #1596
- chore: remove console.log by @marvinhagemeister in #1605
- chore: add test for checking initialized project by @deer in #1606
- chore: speed up some tests by @marvinhagemeister in #1630
- chore: switch to AOT build deployment by @marvinhagemeister in #1641
- chore: release 1.4.0 by @marvinhagemeister in #1639
Showcase
- showcase: Update showcase.json by @EdamAme-x in #1501
- showcase: Updated Paquet Showcase by @notangelmario in #1546
- showcase: add over-ip by @sirlan-ff00ff in #1554
New Contributors
- @EdamAme-x made their first contribution in #1501
- @timharek made their first contribution in #1507
- @mcgear made their first contribution in #1506
- @sirlan-ff00ff made their first contribution in #1554
- @vrunt made their first contribution in #1574
- @csvn made their first contribution in #1579
- @Asqit made their first contribution in #1603
- @fdemir made their first contribution in #1615
- @setibeings made their first contribution in #1614
- @nathanwaldman made their first contribution in #1637
Full Changelog: 1.3.1...1.4.0