>

Back

# Version History:

## Version P1 (Prototype 1) -- 03.05.2016

- First prototype of the website
- Simple sound and a counter (non-saved)

## Version P2 (Prototype 2) -- 15.05.2016

- Second prototype of the website
- Multiplay sounds
- Saved counter via PHP/JS

## Version P3 (Prototype 3) -- 24.05.2016

- Third prototype of the website
- SQL implementation via PHP (with help from Kagumi, see credits)

## Version 1.0 -- 04.06.2016

- First release version
- Sidebar with contact information and partner sites
- Cached background counter
- Instant on-page counter updates
- Possible discrepancies when pressing fast and instantly reloading

## Version 1.1 -- 28.06.2016

- Sound randomization for the button
- Various other sounds like Megumin's introduction
- Currently 5 different sounds, open to implement more

## Version 1.2 -- 05.11.2016

- Switch MySQL for SQLite
- A bunch of new sounds
- Minor HTML/CSS improvements
- More sounds once Season 2 goes live

## Version 1.3 - 18.12.2016

- Live updates for the counter
- Counter will update globally for all users at the same time
- Soundboard to play sounds without randomization
- Several minor adjustments that do not add functionality

## Version 2.0 - 16.04.2017

- Complete backend rewrite from PHP to Node.js
- Real live updates for the counter, no longer simulated
- Error template pages for 404 (Not Found) & 500 (Internal Server Error)
- ion.sound replaced with howler.js for sounds playback
- Increases in performance for the counter due to caching optimization

## Version 2.1 - 01.06.2017

- Statistics page to answer questions about click frequency
- Statistics are saved in database and page is updated live
- "/x.html" page links redirected to "/x" format
- Counters are now displayed in "x.xxx.xxx" format

## Version 2.2 - 03.06.2017

- Only changes the user will not notice
- Development environment changes
- Code refactorization

## Version 2.3 - 24.06.2017

- Soundboard now adjusted for mobile thanks to Danktuary (see credits)
- Background website code optimized
- API statistics endpoint to get more data (see Wiki in GitHub repo linked in sidebar)

## Version 2.4 - 31.07.2017

- Dynamic creation of all soundboard-related components
- Details on how new sounds are added described in the GitHub releases notes

## Version 3.0 - 21.09.2017

- Soundboard click rankings
- Various typo or design fixes
- Automatic database adjustment on boot
- Code refactorization

## Version 4.0 - 06.12.2017

- A lot of background changes the user does not see
- Reducing the information sent between server and client to save data
- "Season" setting renamed to "Source" for soundboard
- ogg soundfiles with mp3 fallback, aac support removed
- Safeguard for emitting clicks for non-existing sounds
- Socket.IO replaced with uws
- Higher quality images like sidebar and background
- Sidebar now a vector graphic (thanks to fudgepop01, see credits)
- Design adjustment to be more unified and constant across browsers
- Randomized website backgrounds with user preference setting in sidebar
- Six total backgrounds to choose from as of now
- "Version" page (this one) renamed to be the "Versions" page
- More concrete changes listed in the GitHub release notes

## Version 5.0 - 28.01.2018

- Restructured the way data is saved serverside
- Information about sounds now saved in database, not JSON
- Individual soundboard entry clicks now saved alongside respective filename, displayname, source
- Database migration script for this move provided
- Admin panel page
- Upload, rename or delete sounds from within the website
- Main page, soundboard and rankings will live update when admin panel is used
- Zero programming knowledge required to use this functionality
- Logging in as admin requires a login token set in the website configuration
- Various small adjustments that have no impact on user / admin
- See GitHub release notes for detailed information on website configuration

## Version 5.1 - 16.07.2018

- Statistics endpoint now supports "over", "under" and "equals" filters
- Yearly counter added to statistics page
- Chart visualizing the monthly click distribution added
- Two new backgrounds added to randomization
- Code refactorization that does not affect the user

## Version 6.0 - 12.09.2018

- Some database table names adjusted
- API routes restructured to make more sense
- Proper documentation for available API routes
- Details on this in GitHub release notes
- moment.js replaced with date-fns
- node-schedule replaced with node-cron
- "Crazy mode" added, available in sidebar
- Activation will make it so you hear the same sound when someone else presses any sound button
- WARNING: Use at your own risk. Possibly extremely loud and may crash your browser under extreme button spam
- Above warning as the reason for its name

## Version 7.0 - 31.12.2018

- Data transfer between server and client optimized to use less data
- Database update interval adjusted to every 15 minutes
- Social media icons and links updated
- Credits overhauled and expanded
- Admin sound upload/rename/delete functionality reworked
- API routes (locations, mostly) and documentation reworked to make a lot more sense
- Chart data for statistics now sent via WebSocket for live updates, as well as giving it consistent scaling
- "from" argument for statistics api endpoint reworked to fit more into the "from" / "to" wording
- Remove jQuery and maintenance mode, instead use standard browser javascript
- Refactor soundboard inner workings and fix some bugs, as well as adding a "Play all" button for every source
- Update dependencies and manifest file the site uses
- Add many different seasonal backgrounds (check the sidebar dropdown)
- Adjust main counter to fit 9,99 billion (as it surpassed prev. 99,99 million limit)
- Rewrite versions page into lists (like this one)
- Improve responsiveness (mobile layout)
- SEO optimization (robots.txt, sitemap, canonical links, etc)
- Adjust content of sidebar (links, mostly)
- General code refactorization, including dropping ogg audio format and only carrying mp3
- Make megumin.love/fun out of boredom (try pressing on it)
- Add possibility of having different versions of the same seasonal background
- Adjust color scheme and redesign buttons website-wide (based on survey results)

## Version 8.0 - 01.06.2019

- Admin routes (for sound management etc) refactored
- Add themes, allowing assets (backgrounds, sounds + more) for other characters
- Change folder structures for resources to be more organized
- Add one new megumin background
- Add aqua, kazuma and darkness theme, including 11, 3 and 11 sounds plus one background respectively
- Add one new megumin sound ("Wahaha")
- Despite the survey results, I could not stand a lot of the Season 2 clips, and have thus archived 25
- Archived sounds are still available in the GitHub repository, but not on the site itself (unless manually added back)
- Only sounds that ranked below 20 on the soundboard rankings were archived
- Added a comprehensive and interactive database migration script for the command line
- Added meta information (like version) to the database
- Update various links in the sidebar
- Update credits
- Update various dependencies
- Add counter milestones
- Change twitter sharing phrase
- Update default database with new tables and columns
- Update and add documentation about new features
- Change the frontend to be asynchronous and utilizing await
- Add specific sources for every sound clip on the site, including Season, Episode and Timestamp
- Many more small changes available in the GitHub commit history

## Version 9.0 - 13.03.2020

- Release mostly focused on backend development related to admin functionality
- Ratelimiting, connection limits, websocket response intervals implemented (backend features), including endpoints
- "/conInfo" API endpoint renamed to "/meta"
- Serverside warning added that shows up if you leave admin password or session secret unchanged from defaults
- Add /admin/database/save endpoint to immediately save the cache to db
- Adjust admin route check to work with either a logged in session or an admin token
- Rename the "SSLproxy" setting to "proxy"
- Adjust how the frontend socket connects to the backend server
- Fix the output of the "/themes" route (duplicate "megumin" theme displayed)
- Clean up HTML ids
- Sidebar text adjusted
- Update main counter display and chart
- Reorganize all of the API documentation at GitHub

Back