Skip to content

Commit 2f65f44

Browse files
feat(blog): create the v2 post
1 parent 2ee2b26 commit 2f65f44

File tree

6 files changed

+177
-4
lines changed

6 files changed

+177
-4
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ Some computations are made to generate the badges, but everything else is a simp
2525
wrapper around GitHub releases.
2626
**No data alteration is performed by the site other than for styling and rendering purposes**.
2727

28+
For more info, visit the [v2 release blog](https://svelte-changelog.dev/blog/v2).
29+
2830
## Missing a package?
2931

3032
If you think I missed a package, you can either open an issue or directly contribute.

src/routes/+layout.svelte

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,11 +120,17 @@
120120
alt="Svelte"
121121
class="size-8"
122122
/>
123-
<span class="hidden text-xl font-semibold xs:inline-block">
124-
Svelte
125-
<span class="text-primary">Changelog</span>
126-
</span>
123+
{#if !page.route.id?.startsWith("/blog")}
124+
<span class="hidden text-xl font-semibold xs:inline-block">
125+
Svelte
126+
<span class="text-primary">Changelog</span>
127+
</span>
128+
{/if}
127129
</a>
130+
{#if page.route.id?.startsWith("/blog")}
131+
<div class="mx-4 h-8 w-0.5 rotate-25 rounded-full bg-muted-foreground/40"></div>
132+
<span class="text-xl font-semibold">Blog</span>
133+
{/if}
128134

129135
<!-- Right part -->
130136
<div class="flex flex-1 items-center justify-end space-x-2 sm:space-x-4">

src/routes/blog/+layout.svelte

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<script lang="ts">
2+
import { page } from "$app/state";
3+
4+
let { children } = $props();
5+
</script>
6+
7+
<article
8+
class="mx-auto my-8 prose dark:prose-invert prose-h1:text-primary prose-a:text-primary prose-a:no-underline prose-a:underline-offset-4 prose-a:hover:underline"
9+
>
10+
<h1>{page.route.id?.substring(page.route.id?.lastIndexOf("/") + 1) ?? 0}</h1>
11+
{@render children()}
12+
</article>

src/routes/blog/+page.server.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { redirect } from "@sveltejs/kit";
2+
3+
export function load() {
4+
redirect(307, "/");
5+
}

src/routes/blog/v2/+page.svelte

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
<script lang="ts">
2+
import { page } from "$app/state";
3+
</script>
4+
5+
<h5 class="-mt-8 text-muted-foreground">
6+
{new Intl.DateTimeFormat("en", {
7+
dateStyle: "long"
8+
}).format(new Date("2025-04-11"))} • Antoine Lethimonnier
9+
</h5>
10+
11+
<p>
12+
<strong>Svelte Changelog v2 is here!</strong>
13+
With a new, faster backend, a new domain and a design refresh, here's a quick tour of what's changed
14+
in this new iteration.
15+
</p>
16+
17+
<h2>The road to today</h2>
18+
19+
<p>
20+
More than a year ago now, I started this project after watching <a
21+
href="https://www.youtube.com/@SvelteSociety/streams"
22+
>
23+
This Week in Svelte
24+
</a>, because I saw a need in the "old way" of browsing the releases: directly and manually
25+
through GitHub. This site was born in an afternoon.<br />Since then, it has become
26+
<a href="https://github.com/WarningImHack3r?tab=repositories&type=source&sort=stargazers">
27+
my most starred GitHub repository
28+
</a>, and has been featured <strong>every week</strong> in TWIS. I can't be more grateful for all this.
29+
</p>
30+
31+
<p>
32+
Since then, it's got a few evolutions like <a
33+
href="https://twitter.com/PaoloRicciuti/status/1814402700794310677"
34+
>
35+
the details page
36+
</a>, a
37+
<a href="https://twitter.com/probably_coding/status/1814394782481035526">syntax highlighter</a>,
38+
and
39+
<a href="https://twitter.com/probably_coding/status/1828201003260486051">a login mechanism</a>. It
40+
came as I thought about it, but also from live feedbacks (and bugs) reported from TWIS.
41+
</p>
42+
43+
<p>
44+
But as new features and notable migrations were introduced, I started realizing the mess of a
45+
codebase it was starting to become. <a href="https://ricciuti.me">Paolo</a> (TWIS host) himself also
46+
said the old "Others" tab was unreadable (and I thank him for his feedback!).
47+
</p>
48+
49+
<p>
50+
All of this indicated it was <a href="https://bsky.app/profile/antleth.fr/post/3lco2v2awqk2i">
51+
time for a change
52+
</a>. So, with a bit of prototyping and help from
53+
<a href="https://www.thomasglopes.com">Thomas</a> (<a href="https://melt-ui.com">Melt UI</a>
54+
creator) and 3 weeks of work in the middle of moving to a new flat, <strong>here we are</strong>.
55+
</p>
56+
57+
<h2>What's new</h2>
58+
59+
<p>
60+
As you may guess now, my goals were the following: a codebase easier to maintain, a clearer and
61+
cleaner website, packed of course with long-awaited features.
62+
</p>
63+
64+
<p>
65+
More than an upgrade, <strong>Svelte Changelog v2 features a brand new paradigm</strong>. No more
66+
client auth, no more forever-spinning loadings: it now just works, and it works <em>fast</em>.
67+
</p>
68+
69+
<p>
70+
I rewrote almost everything from scratch, moving from a bring-your-own-token client-only paradigm
71+
to a brand new server-side data fetching layer.
72+
<br />
73+
Under the hood, I now use a dedicated Redis instance, hosted on
74+
<a href="https://upstash.com/docs/redis/overall/getstarted">Upstash</a>. Thanks to a granular
75+
cache TTL, data fetched with my token on the server is automatically purged and re-fetched
76+
periodically.
77+
</p>
78+
79+
<p>
80+
The UI also got a design refresh, vibing more with <a href="https://svelte.dev">
81+
the new Svelte site
82+
</a>. Alongside new fonts and updated colors, the site now uses modernized components, still based
83+
on
84+
<a href="https://shadcn-svelte.com">shadcn/ui</a>.
85+
<br />
86+
The routing has also been revamped, now featuring <strong>a page per package</strong> as well as a
87+
sidebar for a better packages overview and an eased navigation.
88+
</p>
89+
90+
<p>All that now lives under a brand new domain, <a href="/">{page.url.host}</a>.</p>
91+
92+
<p>
93+
This version truly is the beginning of a new era for this site, unlocking many possibilities
94+
whilst being way more pleasant to browse.
95+
</p>
96+
97+
<h2>The roadmap</h2>
98+
99+
<p>This refresh sets the bar for a ton of other improvements I'd like to bring:</p>
100+
101+
<ul>
102+
<li>
103+
<strong>A global search</strong> based on <a href="https://typesense.org">TypeSense</a>,
104+
allowing to search for packages or even release details
105+
</li>
106+
<li>
107+
<strong>More filters</strong> to allow you to customize even more what's shown on your releases
108+
page (cc <a href="https://github.com/WarningImHack3r/svelte-changelog/issues/45">Thomas</a>!)
109+
</li>
110+
<li>
111+
<strong>Infinite loading</strong> to be able to load as many releases as desired, leveraging the
112+
new data fetching layer
113+
</li>
114+
<li><strong>A dashboard</strong>, using graphs to show stats about releases and more</li>
115+
<li><strong>Even more frequent updates</strong> thanks to a revised notification system</li>
116+
<li>
117+
and even more! Check the <a href="https://github.com/WarningImHack3r/svelte-changelog/issues">
118+
open issues
119+
</a> for sneak peeks ;)
120+
</li>
121+
</ul>
122+
123+
<h2>Thank <em>you</em></h2>
124+
125+
<p>
126+
I really hope you'll like everything I put into this release!
127+
<br />
128+
As always, I'm open to feedbacks and contributions, visit
129+
<a href="https://github.com/WarningImHack3r/svelte-changelog">the repo</a>!
130+
</p>
131+
132+
<p>
133+
Many thanks to <strong>Paolo</strong> for your key role in TWIS and the community,
134+
<strong>Thomas</strong> for your help and kindness, the whole <strong>Svelte Community</strong>
135+
for being so great, the <strong>Svelte team</strong> for bringing us such amazing pieces of
136+
software, and <strong>thank you to everyone supporting me</strong> and enjoying this site and my projects!
137+
</p>
138+
139+
<div class="mt-12 text-muted-foreground">~ Antoine</div>

src/routes/blog/v2/+page.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import type { MetaTagsProps } from "svelte-meta-tags";
2+
3+
export function load() {
4+
return {
5+
pageMetaTags: Object.freeze({
6+
title: "v2 • Blog"
7+
}) satisfies MetaTagsProps
8+
};
9+
}

0 commit comments

Comments
 (0)