This is a very big release since v1.31.4. If you've used phtn.app, you won't notice a difference, since that runs on the latest commit.
### TL;DR
- Photon has been completely rewritten to use Svelte 5
- This brings significant performance improvements
- The UX has been changed to fit Photon's philosophy more closely
- Many issues have been resolved and bugs fixed
- 60% of changes are under the hood, but there's many visible ones too
# What you'll notice
## Snappier performance
- **Svelte 5 optimizes a lot of the reactive parts of the app**
- I've also spent a lot of time on a new virtualizer, which runs a lot faster
## Design changes
- While the overall layout is relatively the same, I've reworked a lot of pages to fall more in line with my design philosophy.
- The design across (most) pages is much more consistent
- There's a new default theme
- Compact mode is now the default (if you've used photon before, this will not affect your setting)
- Comment layout is slightly different and more intuitive
- Modals now create a backstack so you can press the back button on your browser
## New features and options
- More moderation features
- Quickly view users'/submissions' moderation logs
- View the users' votes n a post
- **Grouped reports for many reports on the same post**
- you can resolve many at once
- Options for more granular control over how links work in posts
- Option to reverse the action row
- Option to use absolute timestamps
- lemmy language tagging support
- Command palette now has contextual navigation options
- Contextual warnings for certain actions (like missing languages in posts)
- Messages page has been overhauled with markdown, contextual actions, etc
- Better view and options for modlog page
- Donation dialog as Lemmy requested
## Optimizations
- Uses CSS animations more often which are faster
- Uses svelte context API to reduce prop drilling
- Navbar uses CSS rather than JS for positioning
- Uses optimized svelte $state rather than stores
## Languages
Thanks to the community making translations on the [Weblate](https://weblate.xylight.dev/), Photon has support for **18 languages!**
- **English** (100%)
- **Hebrew** (58%)
- **Arabic** (33%) (fxomt)
- **Bulgarian** (72%) (salif)
- **Chinese (Simplified)** (91%) (qiancsf, CDN, binary3141)
- **Chinese (Traditional)** (21%) (binary3141)
- **Dutch** (81%) (qaz)
- **Estonian** (24%) (pewgar)
- **Finnish** (94%) (sevon)
- **French** (87%) (Blisterexe)
- **German** (64%) (poVoq, Tywele)
- **Hungarian** (55%) (myedition8)
- **Japanese** (84%) (Rentlar)
- **Polish** (83%) (gapetto)
- **Portuguese** (78%) (tmpod)
- **Russian** (83%) (WerySkok, mudkip)
- **Spanish** (81%) (acidrums4)
- **Turkish** (91%) (ikanat)
## In the future
- Piefed support is targeting v2.2.0
- With the way it is being written, Mastodon support may as well come sometime around v3.0.0
There's a lot more in this release, as well as more to come. I'm trying to make Photon closer to its design philosophy, which can be summarized as:
> It should not take more than 3 seconds to identify an action you wish to perform within a given container or page.
This covers a lot of reasons why I design stuff the way I do, for example, you'll never find more than 5 buttons (minus links) in a single container. Additionally, specific types of actions will usually look different, like primary actions on a page versus sub actions.
I hope you enjoy this release!
**Full Changelog**: https://github.com/Xyphyn/photon/compare/v1.31.4...v2.0.0
