Releases: FunkinCrew/Funkin
Releases · FunkinCrew/Funkin
v0.8.5
v0.8.4
[0.8.4] - 2026-03-26
More responsive inputs and unlocked framerates with SDL3!
Added
- Added several new features to Polymod:
- Added FULL support for abstracts! (Previously, only
FlxColorwas supported) - Added support for getting the code of a single character string (i.e
’h’.code) (Thanks NotHyper-474!) - Added support for import defaults (
import.hx/import.hxc), allowing scripted classes with the same package to share imports. (Thanks KoloInDaCrib!) - Added
scriptInitandlistScriptClassesfunctions to scripted classes. (Thanks KoloInDaCrib!) .hxfiles can now be parsed. (Thanks Starexify!)- Added support for preprocessing (
#if/#elsesyntax), allowing for platform-specific code to be implemented in an easier way. (Thanks KoloInDaCrib!) - Added support for mod IDs. (Thanks Starexify!)
- Implemented
_mergesupport for scripts. (Thanks KoloInDaCrib!)- Please refer to the Cookbook to learn how to use this.
- Added FULL support for abstracts! (Previously, only
- Added widescreen scale properties to the Zoom Camera event in the Chart Editor to account for widescreen resolutions.
- Added a flipY field for Story Mode level props. (48ed659) - by @ExtraCode75 in #6340
- Implemented working start and end times for Freeplay song previews. (40eab2e) - by @ADA-Funni in #6725
- Added a new albumOSTName property to Freeplay album data to make the "OFFICIAL OST" text moddable. (67d2a98) - by @NotHyper-474 in #6578
- Added an optional 'capsule' field to level data to display any week label on Freeplay capsules. (528e9e4) - by @trayfellow in #7149
- Implemented ScriptedBaseFreeplayDJ, allowing modders to customize how custom Freeplay DJs are rendered. (423ccfa) - by @PurSnake in #6806
- Added a new FunkinGroup class to make groups of sprites easier to modify. (4f31600) - by @MightyTheArmiddilo in #6758
- Added
Reflect.makeVarArgsto allow modders to create functions with a variable number of arguments. (3633df3) - by @Starexify in #6738 - Added script event support for song events. (15bef89) - by @KoloInDaCrib in #4130
- Added a new Chart Editor event type: Set Target Bop Speed. (1893f2b) - by @roma-perec-bp in #6769
- Added shortcuts to select all notes above or below the playhead in the Chart Editor. (08b3af9) - by @Lasercar in #4306
- Added the ability to view and edit the timing of a note or event through the Chart Editor context menu. (a782b3f) - by @Lasercar in #4200
- Added an "Edit Note" option to the Chart Editor context menu that opens the Notes window. (e710198) - by @Honton129 in #7010
- Added the ability to Ctrl-click on health icons in the Chart Editor to open character previews. (011f154) - by @Trofem in #7089
Changed
- Upgraded the input handling system from SDL2 to SDL3!
- Added an “Unlocked Framerate” preference to Desktop platforms.
- The input system is now much more responsive and accurate down to the nanosecond.
- The game now properly supports more controllers and input devices.
- The game now shows popups when installed mods have issues, such as when the API version is incorrect.
- Unfocusing the game now reduces the game’s volume to 25% (down from 50%).
- The notekinds dropdown are no longer hardcoded in the Chart Editor.
- The Character Select key is now hidden in the Controls menu until a new character is unlocked. (6c13444) - by @Lasercar in #4882
- The Story Mode level score now displays with commas. (04fffe8) - by @JVNpixels in #4965
- Freeplay capsule week labels are now softcoded and rendered using a font. (48752e4) - by @KoloInDaCrib in #5249
- The Freeplay change character hint now changes when a gamepad is connected. (0f7859b) - by @MrMadera in #6609
- Moved the Winter Horrorland intro cutscene logic into a script. (9bbe73b) - by @mario64thane in funkin.assets#63
- Merged FlxFilteredSprite functionality into FunkinSprite. (22736b2) - by @TechnikTil in #7114
- Adjusted some wording in the Chart/Stage Editor backup window to be clearer. (a607396) - by @Marcosayfi in #7071
Fixed
- Conjoined string interpolation
$a$bnow parses properly in Polymod. - Video cutscenes are no longer muted at volumes of 3 or lower.
- Video cutscenes no longer occasionally show glitches at the beginning.
- [MOBILE] Loading a cloud save from Newgrounds no longer carries over the volume level from Desktop.
- [HTML5] Scrolling the game out of view now pauses the game instead of allowing gameplay to continue processing.
- The Boyfriend Freeplay DJ new rank animation now transitions smoothly back to its idle animation.
- Hold notes now score much more consistently across different framerate values.
- The bricks in Week 7 stages are now better quality.
- Trimmed out the silent beat at the beginning of Ugh Erect.
- Camera bopping no longer stops at zoom values of 1.35x or higher.
- Charting many hold notes in a row no longer breaks audio handling.
- Adding collapsible frames in event schemas no longer crashes the game.
- Some event properties have been grouped under Advanced frames.
- Chart Editor dropdowns no longer refocus when a tooltip appears.
- Focus and Zoom Camera event durations now account for playback speed.
- [WINDOWS] Exiting the game no longer leaves it running as a background process. (881aba3) - by @AnimatingLegend in #6885
- Story Mode now only shows difficulties that all of a level's songs have. (365f8dc) - by @Starexify in #7046
- The Girlfriend Story Mode prop now bops continuously when scrolling through levels. (84b2d5b) - by @Redar13 in #6830
- The Freeplay new rank slam animation now properly plays its glow effect. (fcbce0a) - by @FuroYT in #7015
- The Freeplay Random capsule no longer displays BPM and difficulty numbers. (0ad2d50) - by @Lasercar in #4927
- Favoriting a song in Freeplay no longer breaks capsule text cycling. (ce493a0) - by @VirtuGuy in #7134
- Freeplay songs with invalid pixel icons no longer duplicate the icon from the previous song in the list. (b3eb709) - by @FuroYT in #7006
- A Freeplay clear percent of 100% now properly exits to the right when returning to the Main Menu. (5974c1a) - by @trayfellow in [#7183](https://github.com/Funki...
v0.8.3
v0.8.2
[0.8.2] - 2026-02-23
More stability fixes and improvements!
Added
- Added 14 new blend modes, allowing the engine to render better visual effects.
- Added a PlayState parameter that mirrors notes during a song.
- Added preview graphs for Chart Editor event easing types. (eea1265) - by @PurSnake in #6374
- Added the ability to mirror notes on the X and Y axes in the Chart Editor. (fd0c2df) - by @Lasercar in #4372
- Added a deselect button and shortcut to the Stage Editor. (a9f1d41) - by @Lasercar in #5281
Changed
- Made some improvements to Polymod:
- Added string interpolation support. (Thanks NotHyper-474!)
- Scripted classes can now extend nothing. (Thanks NotHyper-474!)
- Scripted classes can now extend other scripted classes. (Thanks KoloInDaCrib!)
- Tweaked some error messages to be more verbose.
- Added
scriptHasandstaticScriptHasfunctions to check if a script has a specific variable/function. - The
isoperator is now more accurate to regular Haxe. (Thanks Starexify!) - Static functions can now use static extensions (
usings). (Thanks NotHyper-474!) interfaces can now be properly parsed. (Thanks Starexify!)- Optional fields and extensions can now be used in
typedefs. (Thanks Starexify!) - Added stricter checking for default/optional arguments in functions. (Thanks Starexify!)
- May be a breaking change for some scripts, so please update your scripts to account for this!
- Enums now have multiple arguments. (Thanks Starexify!)
- Basic types (e.g
String,Int,Bool, etc.) can now be used with theisoperator without having to import the type first.
- Tweaked charts for the following songs:
- Bopeebo (Pico Mix) [Normal/Hard] - Adjusted note timings and added a “hey” animation event in Sections 18, 26, and 27.
- Fresh Erect [Nightmare] - Added 2 notes where Boyfriend’s vocals echo.
- DadBattle Erect [Nightmare] - Added a missing jack note in Section 38, added holds to two notes in Section 63.
- DadBattle (Pico Mix) [all difficulties] - Adjusted timings for various notes in Sections 37-40 and 60.
- Spookeez Erect [Erect/Nightmare] - Adjusted many hold note lengths to better match vocals.
- Spookeez (Pico Mix) - Added one missing note to Section 14.
- South Erect [Erect/Nightmare] - Adjusted many hold note lengths to better match vocals.
- Pico [Easy] - Adjusted timings for one note each in Sections 36 and 38.
- Pico [Normal/Hard] - Adjusted timings for Boyfriend’s right notes to be a bit earlier in Sections 31-42.
- Pico [all difficulties] - Added a Focus Camera event on Girlfriend during the duet.
- Satin Panties Erect [Erect/Nightmare] - Split a hold note into two for Mom in Sections 14 and 18.
- High Erect [Erect/Nightmare] - Adjusted timing for one note each in Sections 25 and 41.
- M.I.L.F [Easy] - Adjusted timings for two notes in Section 73.
- M.I.L.F [Hard] - Changed one down note into an up note in Section 15 for consistency.
- Cocoa Erect [Nightmare] - Fixed one note not being a Mom notekind in Section 24, added holds to 2 notes in Section 67.
- Cocoa (Pico Mix) [all difficulties] - Adjusted timings for two notes in Section 15.
- Eggnog Erect [Erect/Nightmare] - Adjusted how a grace note is charted in Section 52, added 2 missing notes for Mom in Section 72, adjusted Camera Bop event in Section 63.
- Senpai (Pico Mix) [all difficulties] - Adjusted timing for one note in Section 10.
- Roses [Normal] - Adjusted timings for four notes in Sections 30, 32, 41, and 43.
- Thorns Erect [Erect] - Adjusted timings for two notes in Section 36, removed some double notes to differentiate the chart from Nightmare.
- Ugh Erect [Erect/Nightmare] - Adjusted some Zoom Camera events around Section 24.
- Guns (Pico Mix) [all difficulties] - Fixed many timing issues throughout the whole song.
- SPAGHETTI [Normal/Hard] - Added one note to match Boyfriend’s rapping.
- Darnell (BF Mix) [all difficulties] - Removed extra notes from Sections 49 and 50, adjusted various note timings throughout the song.
- Lit Up [Normal] - Added one missing note each in Sections 40 and 60.
- Lit Up (BF Mix) [Normal/Hard] - Adjusted timings for various grace notes in Sections 1, 52, 55, and 56.
- 2hot [Easy/Normal] - Recharted many sections to be more predictable.
- [macOS] Disabled high DPI to significantly improve performance on some displays.
- Improved the Lag Adjustment menu to better handle very large offsets.
- Chart Editor exporting now omits default values and orders values more consistently.
- Chart Editor playtests now processes all events before the starting position.
- Optimized the Week 2 Spooky Mansion stage background by using a texture atlas. (2bdd5a7) - by @MaybeMaru and @trayfellow in funkin.assets#348
- Added more default imports for mods. (1620cf3) - by @Starexify in #6706
- The Set Camera Bop event now supports decimal values for rate and offset at 0.25 precision. (ffaba34) - by @KoloInDaCrib in #6741
Fixed
- Fixed some issues with Polymod:
- The super constructor for scripted classes can now accept more than 4 arguments. (Thanks NotHyper-474!)
- Functions can now accept more than 8 arguments. (Thanks NotHyper-474!)
- Script variables are no longer dropped early when passing them to a callback (ex.
FlxTimer). (Thanks NotHyper-474!) - Fix a memory leak that could happen if a script tried to reference an anonymous object with a lot of
StringMaps. (Thanks NotHyper-474!) - Properties (
get_/set_functions) are now much more accurate to regular Haxe. (Thanks NotHyper-474!)
- Re-exported some assets to fix some issues:
- Re-exported all variations of Pico as texture atlases to optimize memory usage.
- Freeplay DJ Pico’s table sparks no longer persist when his gun is lifted.
- Pico (Blazin’)’s game over retry animation now properly displays its blend modes.
- Pico (Christmas) no longer shows several stray marks around his sprites.
- Nene (Christmas) no longer becomes slightly offset when her knife is raised.
- The running tankmen in Stress (Pico Mix) no longer tank the game’s performance.
- Daddy Dearest now properly holds his up pose.
- Monster (Christmas)’s hat no longer moves while he holds a pose.
- Darnell’s can in 2hot now shows a sparkling effect.
- [DESKTOP] Modded atlas characters with both .png and .astc spritesheets no longer crash the game.
- [DESKTOP] The game display no longer sometimes becomes offset from the window.
- [MOBILE] Selecting a song using touch controls when a keyboard is connected no longer disables the keyboard strumline layout.
- [ANDROID] Improved Freeplay scrolling behavior on high framerate displays.
- [WINDOWS] Chart Editor save dialog windows no longer freeze the game.
- The Chart Editor Results Screen playtest option now consistently shows the Results Screen after each playtest.
- Scrolling really quickly in Freeplay no longer crashes the game. (76699b2) - by @ComedyLost in #6962
- Fixed a memory leak in the Freeplay menu. (910ba65) - by @KoloInDaCrib in #6615
- Modded difficulty dots and graphics now render correctly in Freeplay. (90b856d) - by @ComedyLost in #6205
- Freeplay capsules with long song names no longer display too far to the left during the new rank animation. (17a914c) - by @VirtuGuy in #6690
- Freeplay capsule BPM values ending in 1 now display with proper spacing. (e5b4351) - by @VirtuGuy in #6696
- The Freeplay pixel icon now properly plays its confirm animation when mashing the capsule. (a56bc44) - by @VirtuGuy in #6723
- [HTML5] Scrolling with the mouse now works properly in Story Mode and Freeplay. (506d80b) - by @VirtuGuy in #6621
- Optimized rendering in the Character Select menu. (2ecebf7) - by @MaybeMaru in #6789
- [MOBILE] Tapping on a lock in Character Select now plays its reject animation. (05148f0) - by @VirtuGuy ...
v0.8.1
The v0.8.0 SPAGHETTI Collab and the v0.8.1 hotfix!
Some commit links may be broken due to internal rebasing.
[0.8.1] - 2026-01-04
Added
- Added a new "Non-scoreable" notekind to the Chart Editor that doesn't affect scores and ranks, or play miss animations.
Changed
- Changed the order in which events are dispatched in PlayState. (16f3e03) - by @ComedyLost in #6606
Fixed
- The last note of SPAGHETTI no longer counts toward scoring, allowing players to earn Perfect ranks.
[0.8.0] - 2025-01-03
The LE SSERAFIM collab update!
Added
- Added a new playable song: SPAGHETTI (feat. j-hope of BTS) (Clean ver.) by LE SSERAFIM (feat. j-hope)!
- Try it out from either Story Mode or the Freeplay Menu!
- Added subtitles for various cutscenes and songs throughout the game.
- This can be toggled in the Preferences menu.
- [MOBILE] Added support for Newgrounds logins and saving/loading from the cloud.
- [MOBILE] Added support for opening FNFC chart files through the filesystem.
- [MOBILE] Added haptics for tapping to begin on the Title Screen.
- [MOBILE] Added the back button to the Character Select menu.
- Added new function callbacks for Module scripts in Freeplay and Character Select.
- Added
getOtherNotes()function for counting notes that are not of a certain notekind. - Implemented stacked patches to JSON merging.
- This allows mods to add new variations to existing songs without any extra fuss. See the Code Cookbook for more information.
- Added the ability to import Osu!Mania and StepMania charts in the Chart Editor.
- Added Move Difficulty and Clone Difficulty buttons to the Chart Editor Difficulty window.
- Added a checkbox to hide vocal waveforms in the Chart Editor.
- Added support for SRT subtitles that can display in game. (a7fc70a) - by @PurSnake in #6206
- Added support for various render types and scripting for the Freeplay DJ. (8b38bcf) - by @PurSnake and @AbnormalPoof in #5698
- Level props can now have a flipX field. (4961d4e) - by @Starexify in #6218
- [LINUX] Added support for Feral Gamemode. (555ec09) - by @Noobz4Life in #2473
- Added support for importing charts from Osu!Mania. (0be42bf) - by @FuroYT in #6155
- Added a "No Animation" notekind to the Chart Editor. (618e093) - by @Eviethecoder in #4036
- Added a way to adjust time signature/BPM changes through the Metadata window in the Chart Editor. (b05a5c7) - by @Keoiki and @Lasercar in #4770
- Added character preview windows for the player and opponent in the Chart Editor. (9f59231) - by @PurSnake and @ComedyLost in #6221
- Added the option to view the Results Screen after Chart Editor playtests. (eeba677) - by @Lasercar in #4087
- Added the option to carry over Chart Editor volume levels into a playtest. (4dd87e7) - by @KoloInDaCrib in #6302
- Added the ability to time-travel during a Chart Editor playtest in release builds with PgUp and PgDown. (4a00429) - by @AbnormalPoof in #4209
- Added the Rift of the Necrodancer collab trailer to the pool of videos in Attract Mode.
Changed
- The mod API version is now 0.8.0. Please update your mods to ensure they work.
- Made some improvements to Polymod:
- Scripts can no longer accidentally redefine variables defined in their super class.
MathandStdcan now properly be used in static functions. (Thanks NotHyper-474!)- Significantly improved the speed of retrieving modded assets, improving the performance of the game with a lot of mods installed. (Thanks PurSnake!)
- Replaced
FlxAnimatewithflixel-animateto overhaul texture atlas handling:- Significantly improved performance in the Character Select Menu.
- Pico (holding Nene)’s game over confirm animation now plays properly.
- The camera now properly focuses on atlas characters after restarting the song.
- Atlas characters now properly display the rimlight shader.
- Implemented multiple new settings for atlas sprites.
- Fixed a ton of bugs across various menus.
- Re-exported many assets to improve memory usage and performance throughout the game.
- [MOBILE] Music from external sources now pauses when opening the game.
- [MOBILE] The game is now named “FNF” on the Home Screen.
- [DESKTOP] Reworked window resizing behavior to behave more consistently.
- Made it easier to implement custom Pause Menu substates.
- Pressing F6 (rebindable) now cycles through debug display modes.
- Boyfriend and Girlfriend’s scared animations in Week 2 now last longer.
- Added “Change difficulty” to the list of undo-able actions in the Chart Editor.
- Changed the default easing type for the Chart Editor Focus Camera event from Linear to Classic.
- The game now displays a user-friendly crash message when attempting to play without a graphics card. (5270353) - by @ACrazyTown in #6160
- Adjusted strumline confirm animations when hitting notes to feel more responsive. (62a3f73) - by @gamerbross in #6261
- The Lag Adjustment menu now displays a note splash when hitting perfectly. (342c3cd) - by @ExtraCode75 in #6602
- Freeplay song previews now fade out before restarting. (aaf5084) - by @JVNpixels in #6094
- The game's volume is now reduced when unfocused without pausing. (3040692) - by @PurSnake in #6250
- Optimized the way the windows in Week 3 are handled. (70d433d) - by @CrusherNotDrip in funkin.assets#291
- Script create events now also run after hot-reloading with F5, rather than only during initialization. (2f865a5) - by @VirtuGuy in #6084
- Hot-reloading with F5 during a Chart Editor playtest no longer returns to the Chart Editor. (c1988f1) - by @KoloInDaCrib in #6275
- Opening the Chart Editor during a song now places the playhead at the current song position. (71b4a58) - by @KoloInDaCrib in #6210
- The Easing property for Chart Editor events is now split into two separate dropdowns: type and direction. (d1d77dd) - by @PurSnake in #5612
- The Chart Editor Events window now supports collapsible groups. (9f6879e) - by @KoloInDaCrib in #6554
- Chart Editor BPM fields now support up to 3 decimal places. (c863ef3) - by @roma-perec-bp in funkin.assets#273
- Long difficulty and variation names are now shortened in the Chart Editor playbar. (2c4167b) - by @Lasercar in #6150
- The remaining time in the playbar now also shows a millisecond value in the Chart Editor. (2d5ef19) - by @...
v0.7.5
Another batch of fixes and optimizations!
[0.7.5] - 2025-09-19
Added
- Added an
onStateCreateevent to the Module class.
Changed
- Gave the debug display a huge upgrade!
- Choose from three settings in the Preferences Menu: Off/Simple/Advanced
- New “Task memory” counter shows how much RAM the game is using on your computer.
- Advanced mode displays graphs for FPS and RAM usage.
- Hot reloading now works in scripted states.
- Made a few more classes scriptable.
- FunkinVideoSprite
- FlxStrip
- FlxTypedGroup
- Strumline
- StageProp
- The Random capsule now brings up the option to select a random instrumental. (0d5c6ac) - by @VioletSnowLeopard in #5891
- The Character Select menu now returns to Freeplay after pressing a back button. (250d218) - by @MrMadera in #5887
- Pressing the Shift key in the Credits menu now pauses scrolling. (479036a) - by @JVNpixels in #2924
- Chart Editor and Stage Editor backup files are now given relevant filenames. (b31be10) - by @Lasercar in #4118
- The Animation Editor's onion skin now properly accounts for offsets and displays the idle animation. (0fd6f5b) - by @KoloInDaCrib in #5810
Fixed
- The Freeplay new rank animation now shows the new rank slamming onto the old one.
- Freeplay capsules with a Gold Perfect rank no longer become randomly offset when scrolling.
- The Pico Freeplay DJ’s new rank animation now properly renders its lighting.
- Freeplay song previews no longer play replaced or deleted audio files.
- The strumline no longer disappears after re-entering Lag Adjustment.
- Fixed various issues with Week 6 dialogue boxes, portraits, and audio.
- [MOBILE] The strumlines are no longer offset to the left in Blazin’.
- The preloader no longer disables fullscreen mode after completion.
- Attempting to log in to Newgrounds during an ongoing login attempt no longer crashes the game. (4e572b1) - by @KoloInDaCrib in #5922
- Added null-safety to Leaderboards and Medals to prevent a rare crash. (88fc5f9) - by @NotHyper-474 in #5926
- Freeplay ranks no longer pop out when scrolling through song capsules. (747446e) - by @VioletSnowLeopard in #5822
- The Freeplay intro no longer plays when returning from a sticker transition. (63ec749) - by @PurSnake in #5942
- Hot-reloading with F5 after earning a rank no longer crashes Freeplay. (79e8b5d) - by @KoloInDaCrib in #5971
- The Main Menu music now fades in consistently when exiting from Freeplay to the Title Screen. (a10bbf6) - by @VirtuGuy in #5855
- The game now falls back to default audio files when files specified by the metadata don't exist. (b5357ac) - by @VioletSnowLeopard in #5954
- The cutscene pause menu no longer persists across songs after exiting a video cutscene. (c2305f3) - by @KoloInDaCrib in #5880
- Mashing to skip the Eggnog Erect cutscene no longer crashes the game. (5ca3c6a) - by @VioletSnowLeopard in funkin.assets#258
- Stress (Pico Mix) no longer lag spikes when loading in the background tankmen. (6701405) - by @NotHyper-474 and @KoloInDaCrib in funkin.assets#242
- Stress (Pico Mix) no longer lag spikes when Tankman changes sprites. (aa5956a) - by @NotHyper-474 in #5939
- The bricks in Stress (Pico Mix) no longer move after restarting the song. (9cfee03) - by @VirtuGuy in #5875
- Pico now properly shoots after restarting Stress. (b0ef0d3) - by @7oltan in funkin.assets#254
- A-Bot's visualizer now zeroes out when restarting the song. (ba3a8b0) - by @KoloInDaCrib in funkin.assets#246
- Notekinds now properly receive dispatched events last in PlayState. (89b2b7f) - by @Az989YT in #5936
- Text from .json files is now properly sanitized before it is parsed. (80d7ace) - by @KoloInDaCrib in #5108
- Fixed a crash when exiting the Chart Editor after interacting with a text field. (f85f2f0) - by @NotHyper-474 in #5992
- Fixed some issues with variation handling in the Chart Editor. (970ccf2) - by @NotHyper-474 in #4396
- Audio no longer plays when dragging a playhead in the Chart Editor. (2d95754) - by @Lasercar in #4140
- The Chart Editor Offsets window song preview no longer continues playing during playtesting. (11eb406) - by @PurSnake and @Lasercar in #5973
- The fullscreen keybind no longer triggers when typing in a field. (4ebd00b) - by @lemz1 in #4131
- The Stage Editor new stage menu can no longer be opened multiple times at once. (47b1cee) - by @VioletSnowLeopard in #5873
- Adjusted the save hotkeys in the Animation Editor to be usable on Windows. (8ead5ee) - by @VioletSnowLeopard in #5974
- A few more tiny fixes.
New Contributors for 0.7.5
v0.7.4
A huge batch of fixes and major optimizations!
[0.7.4] - 2025-09-01
Added
- [MOBILE] Added haptics to the can explosion in 2hot.
- Added the
scorableproperty to notekinds, which excludes them from tallies. - Added saving and loading save data using Newgrounds! Check out the new "Save Data Options" button in the Options menu after logging in. (832f013) - by @TechnikTil in #4900
- Added variation-specific song scripts, improving compatibility between mods. (c94d6bb) - by @AbnormalPoof in #5165
- Added scoped modules, which only run in a specified state. (842ec2c) - by @AbnormalPoof in #5138
- Added ModStore, a helper class that stores data across hot reloads until the game is closed. (3170346) - by @cyn0x8 in #4230
- Added hotkeys to toggle individual audio tracks in the Chart Editor. (1e1b564) - by @Lasercar in #4247
- Added visual indicators and tooltips for notekinds. (32c775e) - by @KoloInDaCrib in #5284
- Added a Charter field to the New Chart dialog in the Chart Editor. (23b163c) - by @NotHyper-474 in #5657
- Added a Song ID field to the Chart Editor metadata toolbox. (55f9d24) - by @cyn0x8 in funkin.assets#229
- Added a confirmation prompt when exiting the Chart Editor with an unsaved chart. (e6d7371) - by @anysad in #5091
- [ANDROID] Added support for monochrome icons on Android 12 and above. (5de4e76) - by @ThatOneCalculator in #5507
Changed
- Reworked the Conductor to make note scrolling smoother.
- Reworked Attract Mode.
- The Title Screen fades out and plays a video after a certain amount of time.
- The video alternates between the Mobile Trailer and the BOYFRIEND EVERYWHERE music video, replacing the previous toy commercial.
- The “Input Offsets” menu is now named “Lag Adjustment”.
- Freeplay difficulty dots are now displayed as rows of eight when modded difficulties are present.
- Optimized the way the game searches for Freeplay pixel icons.
- Results Screen and game over haptics are now softcoded.
- [WINDOWS] The window title bar now matches the system theme, light or dark.
- [LINUX] The game now displays with an icon.
- [iOS] The edges of the app icon are now properly filled in.
- Made several improvements and fixes to Polymod and HScript:
- Significantly optimized mod loading, especially with many installed at once. (Thanks KoloInDaCrib!)
- Fixed several cases where script variables would be lost. (Thanks NotHyper-474!)
- Zip mod loading on Linux is now case-insensitive. (Thanks NotHyper-474!)
- Added the ability to import scripted classes. (Thanks lemz1!)
- NOTE: You currently can’t use them in a static context.
- Added the ability to use the
??=operator. (Thanks lemz1!) - Added the ability to use the
usingkeyword. (Thanks KoloInDaCrib!) finalvariables created inside of scripts are now treated as actualfinals. (Thanks KoloInDaCrib!)- Added null-safe field assign. (ex.
someVar?.someVar2 = new Class();) (Thanks NotHyper-474!) - Improved properties support, behaving more like regular Haxe. (Thanks NotHyper-474!)
- Fixed a null object reference when evaluating static variables with no explicit values. (Thanks NotHyper-474!)
- Fixed a null object reference when iterating over a null variable. (Thanks NotHyper-474!)
- Scripts are now automatically cleared when Polymod is initialized. (Thanks KoloInDaCrib!)
- Polished every chart in the game!
- The lengths of hold notes have been adjusted to match the vocals as closely as possible, across all variations and difficulties.
- Easy and Normal charts from Week 1 to Week 3 have been adjusted for more consistency between the player and opponent.
- Many charting errors have been corrected.
- Accept keybinds and gamepad south buttons now work on the Title Screen. (e281bdd) - by @MrMadera in #5650
- [ANDROID] Pressing the Back button in the Title Screen now closes the game. (e6fd5d9) - by @NotHyper-474 in #5527
- The HOME and END keys now jump to the top and bottom of the Story Mode menu, respectively. (d1a96f7) - by @JVNpixels in #4591
- Freeplay favorite songs are now separated by variation. (b4b2e8d) - by @KoloInDaCrib in #5154
- Freeplay preview volumes now play at 70% volume, up from 40%. (4ecef6d) - by @JackXson-Real in #5645
- Selecting a song in the Freeplay menu now plays a fade-out transition. (705e6b3) - by @VirtuGuy in #5626
- Implemented null safety to PlayState and LoadingState. (34ce13c) - by @NotHyper-474 in #4789
- Health icons now have an offset variable. (8bab619) - by @PurSnake in #5760
- The "hey" notekind now plays the animation for BF (Christmas). (91d5970) - by @JackXson-Real in funkin.assets#225
- Added an "offset" property to the Set Camera Bop event, enabling more flexible camera bops. (3f5ef4a) - by @Burgerballs in #3575
- Added caching to multi-sparrow characters and fixed textures not being properly cached. (feb55b2) - by @PurSnake in #5684
- Optimized the way Freeplay backing card text is rendered. (f6de4c5) - by @MaybeMaru in #5730
- Optimized the rendering of many visual elements in Freeplay. (6f193c4) - by @MaybeMaru in #5773
- Optimized the way notes are rendered, especially when many are visible at once. (a2b347e) - by @MaybeMaru in #5752
- Image assets for gradients are now smaller and stretched in-game for better optimization. (fab646c) - by @MaybeMaru in funkin.assets#227
Fixed
- The song no longer restarts from an earlier point in the song instead of ending.
- Perfect ranks no longer occasionally disappear after the rank slam animation.
- Later notes are no longer hit before earlier notes on songs with high scroll speeds.
- [MOBILE] Clearing save data no longer crashes the game.
- [MOBILE] Cutscenes no longer continue playing behind the Pause Menu after losing focus.
- [MOBILE] Freeplay capsules now properly shift away from under the letter sort bar.
- [MOBILE] The Options button now animates properly after the first interaction.
- [HTML5] The “Touch here to play” button is no longer too large.
- Shaders now apply to A-Bot.
- Adjusted offsets for some of Pico’s special animations.
- Trimmed the extra silence at the beginning of Stress.
- Trimmed the extra silence at the end of Senpai.
- Monster and Winter Horrorland now display the correct album.
- The “Haptics intensity” preference no longer displays inconsistent values.
- The Lag Adjustment menu no longer permanently stops sending notes.
- The Results Screen clear percentage now disapp...
v0.7.3
A quick hotfix update for major issues in v0.7.2.
[0.7.3] - 2025-07-21
Fixed
- Fixed stuttering throughout the game caused by the Polymod upgrade. (Thanks NotHyper-474!)
- [MOBILE] Fixed buttons in the Main Menu not working.
- [iOS] The Upgrade button no longer appears if you have already purchased it (actually this time).
- Fixed the countdown overlapping itself when restarting the song. (Thanks NotHyper-474!)
- Optimized the Week 6 Erect stage.
- Fixed an oversight when clearing the cache. (Thanks cherrythecool!)
- The Input Offset Test menu text now displays in the correct position.
- Fixed script errors appearing in the Week 3 Erect stage.
- Fixed adding variations in the Chart Editor erasing difficulties. (Thanks NotHyper-474!)
New Contributors for 0.7.3
- @cherrythecool made their first contribution in #5458
v0.7.2
The first release of 0.7.x for Desktop platforms.
Downloadable builds are available for the v0.7.3 Release.
All Changelog entries from 0.7.0 - 0.7.2 are listed below:
0.7.2 Changelog
[0.7.2] - 2025-07-18
Added
- [ANDROID] Added a button in the Options menu to access the mods folder.
- [MOBILE] Added a preference to adjust the intensity of haptic feedback, ranging from 0.1 to 5.
- [MOBILE] Added an easter egg when tapping the player's healthbar icon.
Changed
- Changed default OpenAL configuration settings to improve audio quality. (Thanks Smokey555, cyn0x8, and CCobaltDev!)
- The difference may be more or less noticeable on different devices and hardware.
- Applies to Desktop and Android, but not iOS yet.
- Made several improvements to Polymod and HScript. These changes might break some mods, so please update them accordingly!
- Fixed an issue where scripted classes can define two or more fields with the same name.
- Fixed an issue causing some syntax errors (such as missing commas) to be ignored by the parser.
- Scripted classes can now create static fields and functions.
- Scripted classes can now create variables with the
finalkeyword. - Scripted classes can now access variables from another scripted class with
class.someVariable, instead ofclass.scriptGet("someVariable")- This applies to functions too:
class.someFunction()
- This applies to functions too:
- Scripted classes that don't extend another class can now be created!
- This only works if you access the class in a static context. Creating an instance of said class doesn't work just yet!
- Added support for properties (
get_andset_functions) (Thanks KoloInDaCrib!) - Added support for abstracts in a static context. (Thanks lemz1!)
- You can now use classes like
FlxColorproperly!
- You can now use classes like
- Added support for creating and using enums. (Thanks lemz1!)
- You can import them in another script as usual.
- Added support for renaming imported classes using the
askeyword. (Thanks KoloInDaCrib!) - Fixed
try/catchblocks not working properly. (Thanks NotHyper-474!) - Fixed null-safe field access not working properly for functions (ex.
class?.someFunction()). (Thanks KoloInDaCrib!) - Fixed Linux being case-sensitive with filenames. (Thanks mikolka9144!)
Fixed
- [MOBILE] Weekend 1 Story Mode no longer crashes before loading into Blazin'.
- [MOBILE] Beating 2hot from Freeplay no longer crashes in the Results screen.
- [MOBILE] Retrying and pressing the Back button at the same time no longer crashes the game.
- [MOBILE] Pressing the Options and Back buttons at the same time no longer softlocks the game.
- [HTML5] Pausing while the train passes by on the Week 3 Erect stage no longer crashes.
- [DESKTOP] Getting a Bad/Shit rating on Blazin' no longer breaks animations.
- The scroll sound no longer plays once after entering Freeplay.
- The Freeplay song preview and album cover now update properly when switching variations.
- The Freeplay clear percent counter now consistently displays the correct value on unranked songs.
- The Freeplay difficulty star flames no longer become offset from the stars.
- The Freeplay difficulty star flames no longer appear during a new rank animation.
- The Freeplay menu now correctly assigns the
currentCharacterId. (Thanks TechnikTil!) - Boyfriend's Perfect (Gold) Results animation now loops properly.
- [DESKTOP] The Input Offsets menu no longer activates the debug cursor.
- The Input Offsets Test menu no longer generates stacked notes.
- The Input Offsets Test menu drums no longer desync from the rest of the track.
- The Input Offsets Test menu no longer breaks when a keyboard or controller is connected.
- [MOBILE] Sustain trails now display properly with upscroll enabled.
- [MOBILE] Added a Back button to the keyboard/gamepad Controls menu.
- [iOS] Fixed app name spacing on the Home Screen.
- [iOS] Adjusted the preloader to accommodate for different screen sizes.
- [iOS] The Upgrade button no longer appears if you have already purchased it.
- [ANDROID] Fixed some issues with scrolling.
- [ANDROID] Toasts with blank messages no longer appear.
- Fixed a critical security vulnerability that could be exploited in mods.
- A few more bugfixes and optimizations here and there.
New Contributors for 0.7.2
- @Smokey555 made their first contribution in #3318
- @CCobaltDev made their first contribution in #3318
- @mikolka9144 made their first contribution in polymod#212
0.7.1 Changelog
[0.7.1] - 2025-07-15
Fixed
- Properly implemented ad playback on iOS devices.
0.7.0 Changelog
[0.7.0] - 2025-07-15
Added
- Friday Night Funkin' now has OFFICIAL mobile versions for Android and iOS, available on the Google Play Store and Apple App Store!
- This version contains 100% of the songs from the desktop version of the game.
- [MOBILE] New touch input compatibility for all menus.
- [MOBILE] Added banner and interstitial advertisements to the game. You can upgrade to the full version through an in-app purchase to permanently disable advertisements.
- [MOBILE] Graphics are compressed using the ASTC algorithm, decreasing memory usage in exchange for a slightly larger file size.
- [MOBILE] Added haptic feedback to several areas of the game.
- Added a visual indicator that shows available difficulties for the currently selected song in Freeplay.
- Overhauled the input offsets system, including:
- One unified "offset" value.
- An "Offset Calibration" screen where the game determines your ideal offset.
- A "Test" screen where you can play a short note pattern to try out your offset.
- A brand new offset testing theme: Syncobation by Kawai Sprite!
- The ability to change your offsets in the Pause Menu, mid-song!
- The Input Offsets menu isn't yet available on HTML5, but offsets are still configurable through the Pause Menu.
- Added null-safety to a bunch of classes in the source code.
- Added the Changelog back to the game files, written by Hundrec and AbnormalPoof!
- Added a few sandboxed classes to give mods limited access to the Discord and Newgrounds APIs. (50d9584) - by @KoloInDaCrib in #5040
- Added script support for Freeplay Backing Cards. (0001017) - by @KoloInDaCrib in #5233
- Sparrow results screen animations can now be scriptable. (7bb2336) - by @KoloInDaCrib in #5168
- Added a blank
Objectclass for scripts to extend, and madeFlxObjectandFlxBasicscriptable. (eb6becc) - by @cyn0x8 in #3119 - Added default gamepad controls for two recently added Freeplay controls. (a0d3f8e) - by @MrMadera in #4559
- Added the ability to press the Chart Editor keybind in Freeplay with a song capsule selected. (2221594) - by @Lasercar in #4114
- The Chart Editor now highlights and deletes stacked notes using a customizable threshold. (8cae34e) - by @NotHyper-474 in #3574
- Added a variation indicator next to the Chart Editor playbar difficulty. (ccd0148) - by @KoloInDaCrib in #5236
- Added more tween types to certain Chart Editor events. (5177e12) - by @Lasercar in #4249
- Pressing Ctrl + N now creates a new stage in the Stage Editor. (576f8e5) - by @Lasercar in #5175
- Added "Flip character horizontally" to the list of shortcuts in the Animation Editor. (c464cae) - by @AbnormalPoof in funkin.assets#60
- Added Perfect (Gold) to the list of available ranks in Results Debug menu. (c5308cc) - by @AbnormalPoof in #4642
- [MOBILE] Implemented Kevin and Michael.
Changed
- The mod API version now supports v0.7.0, along with v0.6.3. Be sure to check that your mods still work!
- Updated the app icon for Desktop platforms.
- [MOBILE] Modified several parts of the game to look better on phone screens with wider aspect ratios, up to 20:9.
- [DESKTOP] The game now tries to match the window's aspect ratio when changing states, extending as wide as 2...
v0.6.4
A big batch of public bugfixes!
[0.6.4] - 2025-05-02
Changed
- Misses now actually reduce your clear percentage and rank, as Eric intended. (5fdbd23) - by @Lasercar in #4880
- The miss rebalance is now reflected on the Freeplay clear percent display. (f6ac4ca) - by @Lasercar, @Hundrec, and @NotHyper-474 in #4898 and #4923
Fixed
- HTML5 builds are no longer literally unplayable. (6f43438) - by @cyn0x8 in #4398
- Medals no longer crash the game when obtained. (808698a) - by @KoloInDaCrib in #4815
- The game no longer crashes when reaching the main menu before authenticating with Newgrounds. (a83a4a5) - by @NotHyper-474 in #4871
- User preferences and other settings are now properly saved after restarting the game. (23a9e7f) - by @Lasercar in #4881
- Texture atlas sprites no longer loop infinitely, fixing issues with multiple cutscenes. (f385cf9) - by @AbnormalPoof in #4564
- The Week 3 Pico Mix cutscene no longer breaks with Naughtyness turned off. (e3aba5c) - by @Lasercar in funkin.assets#169
- Adjusted the pixel strumline’s position when Downscroll is enabled to match the regular notestyle. (ea93ec9) - by @Lasercar in #4318
- The Main Menu now correctly remembers your most recently selected menu item. (05b9d68) - by @Lasercar and @Hundrec in #4227
- Fixed an occasional softlock when returning to the Freeplay menu from a song. (b15e809) - by @TechnikTil in #4665
- Switching to and from the Freeplay Random capsule now behaves more consistently. (832bc5b) - by @VioletSnowLeopard in #4885
- Changing Freeplay filters with the Random capsule selected now behaves more consistently. (edf6889) - by @VioletSnowLeopard in #4913
- Switching between identical Freeplay filters no longer makes the songlist invisible. (8b9775d) - by @VioletSnowLeopard in #4919
- The millions place digit of the Freeplay score display now updates properly. (d9fcaf0) - by @Lasercar in #4065
- The Freeplay clear percent display is now more consistently aligned. (329182e) - by @Hundrec in funkin.assets#37
- The Freeplay alternate instrumental selector now disables all other inputs. (664d9e0) - @Lasercar in #4214
- The Freeplay alternate instrumental selector no longer becomes offset when changing difficulties. (664d9e0) - @Lasercar in #4214
- Exiting and then navigating through the Freeplay alternate instrumental selector no longer crashes the game. (664d9e0) - @Lasercar in #4214
- Ranks no longer overwrite themselves in the Freeplay new rank animation. (664d9e0) - @Lasercar in #4214
- The debris in Pico’s Great Results animation no longer grows in size. (c108a7f) - by @ThatRozebudDude in funkin.assets#73
- Fixed the song not starting if more than 32 sounds are playing at once. (31d3718) - by @KoloInDaCrib in #4352
- Hot reloading (pressing F5) during dialogue no longer crashes the game. (3e0dbe2) - by @KoloInDaCrib in #4769
- Restarting a song without either a player or an opponent no longer crashes the game, fixing minimal playtest mode. (bbc0546) - by @thesuperpig56 in #4778
- The sound tray no longer behaves incorrectly after wiping save data. (afbb335) - by @Lasercar in #4617
- Opening a chart from the “Open Recent” section no longer crashes the Chart Editor. (def1b74) - by @CrusherNotDrip in #4936
- Loading an invalid variation in the Chart Editor no longer crashes the game. (c5f2a74) - by @NotHyper-474 in #4391
- Default difficulties are no longer re-added when saving and loading a .FNFC chart. (8074d57) - by @Lasercar in #4216
- The Chart Editor now resizes properly after entering Fullscreen during a playtest. (142ea6d) - by @NotHyper-474 in #4266
- Added three missing hotkeys to the Chart Editor user guide. (73ccb9a) - by @NotHyper-474 and @Hundrec in funkin.assets#83
- The “Skip Forward” button is no longer named “Skip Back” in the Chart Editor. (78f9fb7) - by @Hundrec in funkin.assets#22
- Exporting a character .JSON from the Animation Editor now fills in the file name. (a8262a8) - by @anysad in #3090
- Properly credited MtH as a Charter in Monster’s metadata. (6a10799) - by @ChillyBeanBAM in funkin.assets#66
- Corrected the chances of a Pause Menu easter egg appearing. (0101bae) - by @VioletSnowLeopard in #4358
- Removed spammy traces for Playable Pico’s animations. (f87255d) - by @VioletSnowLeopard in funkin.assets#179
- Fixed memory overflowing in crash logs. (189e028) - by @ACrazyTown in #4589
Removed
- The CHANGELOG.md file will no longer be included in builds. Visit the Funkin' GitHub to view the latest changes! (a7da71c) - by @Hundrec and @NotHyper-474 in #4868
New Contributors for 0.6.4
- @thesuperpig56 made their first contribution in [#4778](ht...