Welcome to the Release notes for the Voxity PWA! Please note, that these are not exhaustive, and only
covering major/some minor updates. In other words, I may update the app minorly without updating this
document.
All previous builds are kept archived. If you want the URL of a specific date, let me know!
2026
February
24th (v87)
- Added a tooltip to the sliders
- Refreshed the sleep timer modal styling
19th (v86c)
Added a Reset to current theme default button in the theme settings
18th (v86b)
- Added new theme: Paradise (thanks to @antlerhaver on Twitter)
- Accent color is now remembered in settings
v86a
- Added an Acquire screen wakelock toggle to the settings modal
- Refreshed the 404 page
16th (v86)
- Returned Musixmatch lyrics, alongside LRCLIB (you can pick in Settings)
- Improved the styles in Settings, they now cooperate with the theme and generally look better
- Added a SPA router, so opening various modals will update the URL
14th (v85a)
- Small changes to the font awesome loader and settings modal
- Removed Twemoji
13th (v85)
- Added a new slider to settings: title rotation speed
- Added a new boolean to settings: show static song title
- Refreshed the settings modal
- New function: modal_title_up, same as stat_up, but for the title of the first (if any) open modal
6th (v84c)
- Fixed a bizarre issue where HTML tags would leak into the metadata, hopefully
- Fixed the textbox in the Search lyrics modal being slightly too wide
- Notifications are now delivered silently (because Windows 11 notifications are stupid)
- Instead of not showing any of the broken songs when loading if over 10, they are now in a dropdown
- Other small adjustments
5th (v84b)
- Strengthened the error box if JS is disabled / main.js is blocked (and probably overengineering it)
- Added CTRL + F to the list of hotkeys (I forgot)
2nd (v84a)
Switched default font from Inter to Google Sans Flex (the Inter files remain, this may revert, just testing
it out)
January
26th (v84)
New queue searching function: middle-click the queue header or press CTRL+F to enter it (or the button)
21st (v83a)
- Voxity now waits 100 milliseconds between loading tracks, rudimental performance tweak (you can change
this by changing the durationLoadDelay value; might integrate to settings)
- Removed "Search " and "Paste " from the two lyrics-related buttons; the icons are kinda
self-explanatory, plus the title text
17th (v83)
- Secondary (right for most) clicking the queue header now scrolls the current track into view (for huge
queues)
- More changes to the visualizer engine: removed the fake "none" option (so none is truly none), more high
resolution, spectrum is default again, circular is centered and more spiky
15th (v82) - Voxity has moved to its own domain!
- From now on, Voxity is hosted at voxity.dev. The old
voxity.exerinity.com now redirects to the new domain.
- Added a sleep timer function, press the moon next to the trash can
- You can now see time remaining of a track by clicking the duration label in the scrubber (toggles)
- Tamed the "mobile not recommended" message (im sorry to dilute the fun)
14th (v81d)
- Refreshed the system notifications layout
- There is now an Electron build of Voxity available on GitHub. There is nothing
special about it - however the Discord RPC app Music
Presence works with it!
13th (v81c)
Refreshed icons and added install button
v81b
Attempting to prompt the browser to install the PWA instead of a "learn how" in the about modal
9th (v81a)
The status now shows "X% done" when scrubbing
8th (v81)
- There are new sliders in the settings modal to set the amount of lyrics shown and visualizer FPS
- The status updates have been changed to show bold text in most of the messages
- In regards to the art viewer update in v80a, the image is now opened in a blob, which should work better
-
Culled some themes:
- Grey
- Very high contrast
- Khaki
- Neon green
- Twitter dim
- Renamed theme "Under the sea" to "Green", completing the RGB family (lmfao)
- You can now right-click the app. I have no idea why I put this limitation, but it might make way for
something soon....
4th (v80b)
- Rewritten the visualizer engine (that has been the same since v1) to (hopefully) be more lightweight and
use less CPU
- Unsupported files are now properly handled and reported back to you instead of breaking the player - the
process is, if a duration cannot be loaded, it is not a supported audio file and thus will not add
2nd (v80a)
- Added a small catch to the release notes and the how
to install pages where if the page is opened in standalone, a "back to Voxity" gets added to the
top
- The amount of lyrics actively shown can now be modified by changing the "lrc_amount" variable in the
console (proper modifier soon)
- Added a rudimentary method of fixing "window.open" on the cover art viewer not working on Chromium with
a new page which basically does the same thing (this might not work, very possibly a 414 error and may
even upset the Service Worker)
1st (v80)
- Added a way to reorder the queue via dragging items within it
- If the song changes while the lyrics search is still ongoing, the request is aborted
2025
December
27th (v79d)
Small adjustments to try and boost Lighthouse score lolz
25th (v79c)
- Voxity now triggers the "Unsaved changes will be lost" dialogue if something is playing and the app
isn't installed as a PWA
- Waveform is again the default visualizer mode and Lights out is the
default theme
24th (v79b)
The file "app.js" has been changed to "pwa.js"
21st (v79a)
- If you disable tab title rotation in settings, the title is now a static "Title by Artist / Voxity"
instead of just "Voxity"
- Small changes to texts in some places
17th (v79)
A new diagnostic function has been added which attempts to manually load Font Awesome. Because, on my iPhone
and old iMac, icons would not load locally, but they would externally, so, it loads from Cloudflare.
It
can be found in the about box (by pressing Voxity on the left/right of the screen), the settings box, and
the welcome box if you haven't already visited (or deleted the "hai" object locally)
12th (v78a)
Brought the release notes and "how to install PWA" document local
v78
- The
Theme button has been changed to
Settings
- New settings:
- Enable sound effects
- Enable title rotation
- Load lyrics automatically
- System song notifications (read below)
- Added optional system notifications that send when a(nother) song begins
- A bug that spawned from v76 has been fixed where if you drag-and-dropped multiple files (not a full
folder), only one file would get added
- A bug where if you drag-and-drop an entire folder, things like subtitle files and images get added to
the queue
- If the file does not have full metadata, lyrics are now no longer automatically queried
- You can now press Escape to close an open modal
7th (v77)
- Completely overhauled the hotkeys engine to be more correct and precise
- New hotkey: while holding ALT, arrow keys / A/D / J/L, it scrubs ±30 seconds
- Fixed the Media Session controls not responding to pause/play
6th (v76)
- Drag and drop is now supported with folders, throw your whole music folder at it and press
H (Shuffle)
3rd (v75)
- New cursor rules:
-- When hovering over a slider, the cursor has changed from ew-resize
to grab
--- When grabbing a slider, the cursor changes to grabbing
--
Cover art from pointer to zoom-in
-- Metadata from pointer to
copy
-- The queue header and visualizer canvas now shows pointer
- Hyperlinks are now underlined
- All scripts are now deferred (which means it should load a bit faster)
- You can no longer right-click inside the app (but you can still right click the status bar)
- Titles for things like labels and buttons have been refreshed
This is mostly just a QoL update,
nothing new
November
30th (v74)
- New theme: Neon purple
- Fixed a bug where if a song was marked as instrumental, and the Search lyrics modal is used, lyrics did
not show upon insertion
28th (v73)
- New theme: Very high contrast
18th (v72.5)
- Reverted Musixmatch back to LRCLIB. My server got banned, and the lyrics were horrible. Does this count
as an actual version? Ah, who gives a shit, my left shoe.
17th (v72)
- Moved queue header out of the queue container, so it looks better
High contrast is now the default theme reverted
16th (v71)
- Changed main lyrics source from LRCLIB to Musixmatch
This is very experimental and will likely not
remain
14th (v70.5)
- Status bar now shows "loading X of Z"
v70
- When loading multiple songs they are now loaded one at a time to prevent freezing
- New index.html source code comment
11th (v69)
- The "Clear queue" button now actually clears the queue instead of refreshing the page
- "fka Audion" has been removed from the welcome and about boxes as I have deactivated my Bluesky account
(it linked to a post there)
- Cleaned up old unused code
5th (v68)
- Metadata in the queue is now truncated
October
31st (v66)
- Added new theme: Neon blue
- Small tweak to lyrics, if previously it was marked as instrumental, lyrics would be switched off. From
here, if you paste lyrics, that is overridden and lyrics are re-enabled. (previously, nothing would
happen)
29th (v65)
- When a song is an instrumental, the lyrics will no longer be updated while playing (performance
improvement)
- The spinner for loading lyrics shows longer
26th (v64)
- Fixed the lyrics modal getting stuck, hopefully
- Changed location of sound effects from
/sound.ogg to /app/media/sound.ogg
20th (v63)
- Small update, the Themes selector now show proper names instead of their variable names
- Cleaned up old code
18th (v62)
- Added 4 new themes: neon-green, under-the-sea,
frutiger-aero and twitter-dim
- Fixed a bug where the modal for precise input on sliders would not update the sliders
- Amplified the "scrolling tab title" to stop when the audio is paused or finished and generally just
strengthening it
- The "Search lyrics" button has been revamped: instead of creating multiple popups, it edits the same one
- With that, the modal module now has an API to edit the content of an existing modal
17th (v61)
- Added queue shuffling
- Added new themes: red and paper
- Long text is no longer a "marquee", it now scrolls dynamically and reverses at the end
15th (v60)
- Blank lines are now shown in lyrics (for things like beat drops or riffs or whatever)
13th (v59)
Renaming from Audion to Voxity... why?
- "Audion" is two other music-related things: an old music player created by Panic, you know, the guys who
made Playdate; and also, a French music advertisement platform (https://www.audion.fm)
- "Audion" sounds bland and runs counter to my usual creative naming conventions
"Voxity" is derived from the Latin word "vox", noun, feminine, meaning voice, sound, or utterance, and also
the last three letters of my username (exerinity)
12th (v58)
- Added new hotkeys: Shift + numerical keys (0 to 9) jump to in the middle of the
corresponding number, for example, Shift + 4 jumps to 35%
- Added new themes: "light" (
), "khaki", "hacker", "synthwave"
- Made the Service Worker more rigid; if you are blocking it, it properly informs you and prevents
anything from failing
- Plugged my socials into the welcome and about message
- Added more intelligent text truncation that bases off your screen size
11th (v57)
- Added new hotkeys: Z to go to previous track / restart current and X
to go to next track
- Fixed Font Awesome not being cached by the Service Worker, resulting in no icons when offline
10th (v56)
- The "Paste lyrics" button now has the current lyrics (if any) prefilled to the text box
9th (v55)
- The maximum speed has changed from 2x to 14x but ultimately depends on what browser you are using
(Firefox goes silent at around 9x)
- WebVTT and SubRip files are now supported for drag-and-drop to lyrics
- There is a new "up to date" variable which is shown in the about message
- Added new hotkeys: CTRL + Arrow (Left/Right) seeks 5 seconds
- Added a preemptive warn message if main.js fails:

September
27th (v54)
- Added a new message notification sound
26th (v53)
- The previous button now restarts the track instead of saying no if you are at the start
of the queue
- Removed the stars background, it was quite useless and bulky
- Added a finished sound,
TADA.wav from Windows ME
25th (v52)
- You can now click on the visualizer itself to change the mode, alongside the dedicated button
- Added a title field to the message box function, as in, "Theme settings" instead of just "Audion"
- Spectrum is now the default visualizer instead of Waveform
- Added Search lyrics button and lyrics browser
24th (v51)
- Added a total time to the queue header
20th (v50)
- The cover art is now set as the favicon, if available
- Split up the stylesheet into 5 individual files
19th (v49)
- New welcome message on first visit
17th (v48)
- When hovering over sliders, the cursor changes to ew-resize, horizontal resize
15th (v47)
- Message boxes are now clamped within viewport, so you cannot drag them out of display
- Texts are now truncated if over 30 characters
12th (v46)
- Multimedia keys can now control Audion, for example, the skip button... skips.
- Added stars background
11th (v45)
- The duration of a song is now shown in the queue
- Heavily overhauled Service Worker
10th (v44)
-
A queue system has been added... Audion is now useful!!
- The cascading menu for selecting a visualizer mode has been removed and relocated to a modal
8th (v43)
- The volume and playback speed are now remembered upon loading new tracks
- Moved the scrubber slider to its own division, making it longer and cleaner
4th (v42)
- Certain miscellaneous buttons have been moved to their own division, instead of all being crammed in one
- Added new themes: blue and high-contrast (which is basically
lights-out, only makes accent yellow)
2nd (v41)
- Audion now integrates with the Media Session API, so now the track is shown better on your
device (+
api.js)
1st (v40)
- Added theme switcher alongside these three themes: light, grey,
dim and lights-out
- Added Paste lyrics button and handler
- Removed a lot of redundant old unused code
- Redone the error box module, instead of a static ephemeral red box, it now has a countdown that stops on
hover and overall better look
August
31st (v39)
- Added new hotkeys: numerical keys (0 to 9) jump to the corresponding percentage of the track (4 to 40%),
and also, T to toggle loop
- If nothing is playing, most buttons are now disabled until something plays
- Audion is now less harsh on mobile users, instead of outright denying them entry; it just warns them
that the experience won't be grand
29th (v38)
- Added new hotkeys: K to play/pause, J & A to go
back 10 seconds, L & D to go forward 10 seconds,
W & S for volume up/down
- You can now scroll over sliders to change them
- Removed some redundant old unused code
28th (v37)
- Removed the clock and replaced it with branding
- Instead of truncating some text, it is now scrolling horizontally
27th (v36)
- You can now click on the labels above the sliders to open a modal for a precise input
26th (v35)
- Added a "click-to-copy" to the status bar, title, artist and album
23rd (v34)
22nd (v33)
- Added new hotkey: R to restart track
- Added a catch for Chromium browsers with the full-sized album art popup; directing you to right click
and press Open image in new tab
- Made it so hotkeys cannot be used while a text box is focused to prevent inteference
21st (v32)
- Amplified the tab title scroller: instead of being static, it now adapts; if you're playing a single
(where the title and album are the same name), Audion ignores the album name. For example,
"Animals" -> "Martin Garrix" -> "Animals" -> "Audion" is now
"Animals" -> "Martin Garrix" -> "Audion"
19th (v31)
- The lyrics panel now shows 16 lines instead of 8
- New visualizer color picker
18th (v30)
- The main accent color has been changed from green (#238600) to purple (#8000ff)
- Added new scrolling tab title
17th (v29)
- Added Spectrum visualizer
15th (v28)
- Added success toggle to error box module, which makes it purple
- You can now click on lines in lyrics to jump to them
13th (v27)
- Added an instrumental check to searching lyrics, if instrumental is returned, it says so, rather than
returning "no results"
11th (v26)
-
- Brought JSMediaTags and Font Awesome local
- Changed font from Chirp by Twitter to Inter from Google Fonts
10th (v25)
- Renaming from "Music player" to "Audion"
- Reworked error box module, mostly better styling and stacking
9th (v24)
- The icons in the status bar are now dynamic when changing speed/volume (adjusts intensity based on
level)
- You can now click on the cover art to open a modal which enlarges it
- Removed URL input source (it was inefficient, and almost always ran into CORS errors)
5th (v23)
- New message box function, originally from https://ex3.icu
(my Discord bot's site)
4th (v22)
- You can now truly disable the visualizer
- It is also now neon green
July
30th (v21)
- The status timer has been changed from 1.1 seconds to 2.5 seconds
- Improved visualizer efficiency, preventing overlapping cycles
29th (v20)
- Metadata is now a global object (
${metadata})
- Improved status messages
28th (v19)
- Fixed lyrics sometimes getting stuck or just never working
27th (v1 to 18)
Initial upload to current repository
Previously, it was *just* on Cloudflare Pages, but I took that down and uploaded it to GitHub. The
rest is history...