Change log: (chronologically ordered)
2022-07-13 | (#4483) Fix some bugs with maneuvers 
2022-07-13 | (#4487) Cap bank velocity in AI turning 
2022-07-12 | (#4485) Fix an nprintf being in the wrong logic branch 
2022-07-11 | (#4461) Prevent accidental skip cutscene at loading screen 
2022-07-10 | (#4370) Do our best to avoid invalid types in obj_team 
2022-07-10 | (#4475) fix erroneous position/angle modification 
2022-07-08 | (#4470) Provide a limited partial fix for FRED keyboard shortcuts 
2022-07-08 | (#4477) fix lod assertion check (it can equal the max) 
2022-07-08 | (#4478) fix memset() on nullptr in psnet_get_addr() 
2022-07-08 | (#4476) use proper bounds check when bashing hull in red-alert 
2022-07-08 | (#4462) Fix gcc12 warnings 
2022-07-08 | (#4471) reset the adjusted volume when the mission closes 
2022-07-07 | (#4473) address issues causing network connectivity failures on macOS 
2022-07-05 | (#4458) Warn on mismatched turret objects 
2022-07-04 | (#4460) Handle syntax checking and caching for nodes with dynamic values 
2022-07-04 | (#4449) Prevent a crash by exiting here 
2022-07-03 | (#4463) Clamp values to their correct ranges when loading and saving pilot and campaign files 
2022-06-11 | (#4363) Clean up list modifier code 
2022-06-05 | (#4330) Detect concurrent container modification 
2022-07-02 | (#4455) refine SEXP error reporting 
2022-07-01 | (#4450) Auto-accept completed campaign mission before exiting game from debriefing screen 
2022-06-30 | (#4456) Small clarity edit to getTurretHeading() docs 
2022-06-29 | (#4434) sync Orientation virtvars 
2022-06-29 | (#4407) A comprehensive fix for the `player.target_is_dying` variable. 
2022-06-20 | (#4426) Flush the mouse state after toggling between Use_mouse_to_fly states 
2022-06-07 | (#4364) Hopefully fix the post-build-release yaml 
2022-06-25 | (#4438) Fix/post build release autotrigger01 
2022-06-19 | (#4425) Autotrigger on either workflow_call or push event. 
2022-06-07 | (#4365) Fix Post Release Build action 
2022-04-12 | (#4126) Fix auto-trigger for post-release build workflow, Checkout passed release tag, Fix version string 
2022-06-28 | (#4445) Ignore Wshadow warnings in stale librocket headers 
2022-06-28 | (#4448) add some logging to waitAsync 
2022-06-28 | (#4452) set up debug_filter.cfg to have default filters that can be turned off 
2022-06-28 | (#4451) Fix AI Goal Display Strings 
2022-06-28 | (#4447) even more fixes for the skip-training-mission crash 
2022-06-27 | (#4446) Fix Seg Fault on Standalones with Safer Check for Secondaries 
2022-06-26 | (#4439) Use correct needs elements for post build action 
2022-06-25 | (#4440) better handling of invalid message sources 
2022-06-25 | (#4437) fix crash when removing form-on-wing 
2022-06-25 | (#4436) Fixes Team Colors not working with `show-ship` 
2022-06-23 | (#4433) stop non-printable keys adding text to multi msg buffer 
2022-06-21 | (#4431) fix clearing a skybox model when it isn't the mission default 
2022-06-21 | (#4428) more fixes for the skip-training-mission crash 
2022-06-19 | (#4424) fix control chars test that also excluded space key 
2022-06-18 | (#4423) fix parsing issues with hud color presets 
2022-06-18 | (#4420) only display one popup when the player gets to the main hall 
2022-06-18 | (#4413) end the campaign properly when a mission is skipped 
2022-06-18 | (#4422) Followup improvement for the LuaAI AI Control Helper 
2022-06-18 | (#4410) Fix issues with loading of hud config presets 
2022-06-17 | (#4417) Update `ai_turn_towards_vector` to use a target vel for banking 
2022-06-16 | (#4401) add isActive checks for new-style script hooks 
2022-06-16 | (#4416) Two minor lab fixes 
2022-06-16 | (#4414) split subsystem warning display checks 
2022-06-16 | (#4403) some tweaks to the FRED error checking 
2022-06-15 | (#4404) Fix the standalone ship being added to ship list 
2022-06-15 | (#4380) Changelog.py improvements and post-release-build.yaml debugging 
2022-06-15 | (#4399) Handle weapons-locked slots that aren't ship-locked in selection screens. 
2022-06-15 | (#4392) Disallow using Replace Container Data with special argument list 
2022-06-14 | (#4406) Properly set rotation data from LuaAI 
2022-06-12 | (#4391) fix use of default tech database flags 
2022-06-12 | (#4389) Remove a pointless assert 
2022-06-12 | (#4376) disable compilation warnings in BitOp 
2022-06-10 | (#4379) Fix FRED Crash with Team Colors 
2022-06-10 | (#4377) re-enable mod-only controls that have a tab. 
2022-06-09 | (#4375) Ensure legacy order for HUD commands 
2022-06-09 | (#4373) Don't try casting a string to an int 
2022-06-08 | (#4371) Check string, not number in release version regex 
2022-06-08 | (#4369) Check either possibility for cmake set function 
2022-06-08 | (#4368) Use correct call signature for subprocess.check_output 
2022-06-07 | (#4355) Convert some Lua hooks to the new style to add documentation 
2022-06-07 | (#4360) Correct some Bad Documentation 
2022-06-06 | (#4359) Small fix for music initialization 
2022-06-06 | (#4354) save PXO stats to local pilot file 
2022-06-06 | (#4358) add additional XSTR entries 
2022-06-05 | (#4307) tweak strdup handling for argument vector 
2022-06-05 | (#4357) additional checks for FS1 message conversion 
2022-06-05 | (#4349) Multi Bump for 22.2 release 
2022-06-04 | (#4314) Fix rollback primary collisions 
2022-06-05 | (#4144) Interpolation Overhaul 2 
2022-06-05 | (#4316) Cached subsystem indexing 
2022-06-05 | (#3769) Implemented debug sphere queuing and rendering. 
2022-06-05 | (#4133) Controls6: Keyboard Localization and Scripted Contols 
2022-06-05 | (#4264) Multi sexp fixes 
2022-06-05 | (#4306) De-Bitfield-y Player Orders 
2022-06-04 | (#4327) add some extra safeguards to gr.drawString 
2022-06-04 | (#4331) Draw 3d lines in space with Lua 
2022-06-04 | (#4342) Add option to expand warning on unbound keys 
2022-06-04 | (#4346) Fix line endings in the core codebase 
2022-06-04 | (#4347) Fix line endings in a few more files 
2022-06-04 | (#4348) Add Fennel script support to cfile. 
2022-06-04 | (#4326) Support using containers with random-multiple-of SEXP 
2022-06-03 | (#4317) fix a bunch of graphics functions to respect GR_STUB 
2022-06-03 | (#4339) log non-psnet packets for debugging 
2022-06-03 | (#4208) Weapon lights 
2022-06-02 | (#4344) Use correct function for regular stamp 
2022-05-30 | (#4328) Remove pointless assertion in mission parsing. 
2022-06-02 | (#4343) Add overload for timestamp_elapsed_safe 
2022-06-02 | (#4333) Add apply-container-filter SEXP 
2022-06-02 | (#4334) Add timestamp get delta 
2022-06-02 | (#4341) better error checking of campaign loop branches in FRED 
2022-06-01 | (#4332) clean up ship arrival and departure effects 
2022-06-01 | (#4168) Set up Mac builds on CI 
2022-06-01 | (#4305) Support using string-based containers in some when-argument SEXPs 
2022-06-01 | (#4323) minor cleanup of turret names 
2022-06-01 | (#4319) Add gr.CurrentResizeMode 
2022-05-31 | (#4274) add Lua BitOp 1.0.2 
2022-05-30 | (#4324) timestamp comparisons 
2022-05-30 | (#4290) Make number of player orders FRED can handle dynamic 
2022-05-30 | (#4325) removed vestigial bit-depth asserts for aabitmaps. 
2022-05-28 | (#4308) Handle deprecated cmdline flags programmatically. 
2022-05-29 | (#4322) Fix is_for_op() to follow existing conventions 
2022-05-28 | (#4286) add timestamp_since 
2022-05-28 | (#4313) Allow Weapon To Override Turret Name 
2022-05-28 | (#4318) use proper buffer size for PXO chat line 
2022-05-28 | (#4304) Add LuaAI validity callbacks 
2022-05-28 | (#4320) fix NAME_LENGTH discrepancy 
2022-05-27 | (#4296) Add for-* SEXPs for containers 
2022-05-26 | (#4312) Fix Orders Accepted List properly 
2022-05-26 | (#4299) Add container name subtype to Sexp_nodes 
2022-05-25 | (#4310) Fix +Orders Accepted List: parse 
2022-05-17 | (#4233) Add TBL Viewer 
2022-04-04 | (#4050) Feature/texture replacement dialog 
2022-05-24 | (#4293) fix some memory management problems in the for-* operators 
2022-05-16 | (#4198) LuaAI 
2022-05-23 | (#4303) Activate LuaAI custom message parsing 
2022-05-23 | (#4301) Fix FRED Add/Replace 
2022-05-23 | (#4291) Add copy-container SEXP 
2022-05-22 | (#4289) briefing icon behavior tweaks per request 
2022-05-21 | (#4283) Fix HUD squad menu PageDown 
2022-05-20 | (#4277) add hu.getTargetDistance() 
2022-05-20 | (#4273) resolve FIXME for AIM_GET_BEHIND 
2022-05-18 | (#4275) Allow SCPUI to run `$On Briefing Stage:` hooks 
2022-05-18 | (#4282) Replace +Orders Accepted: Bitfield with flag list 
2022-05-18 | (#4284) use SCP_string for constructing multi/event log lines 
2022-05-18 | (#4281) Enable Doxygen for QTFred 
2022-05-18 | (#4279) Lab Environment-Map Export 
2022-05-18 | (#4266) address multiple timestamp issues with multi 
2022-05-18 | (#4280) add improvements to aid in multi troubleshooting 
2022-05-15 | (#4257) Ensure Replace/Add String and (Add) Paste are disabled for container name nodes 
2022-05-15 | (#4267) Add cancel-future-waves 
2022-05-15 | (#4271) fix maybePlayCutscene arguments 
2022-05-14 | (#4268) some wing wave cleanup 
2022-05-12 | (#4260) revised disabling of Enter and Escape 
2022-05-14 | (#4265) fix a standalone crash from disabled uniform buffer manager 
2022-05-14 | (#4263) Replace "Always_show_goals" with "Toggle_showing_goals" 
2022-05-12 | (#4209) Limit all MP client collisions to prevent bugs 
2022-05-13 | (#4258) Correct sun position compensation math 
2022-05-13 | (#4261) disable sun bank controls 
2022-05-13 | (#4262) miscellaneous fixes related to old Coverity fixes 
2022-05-12 | (#4159) guard against off-by-one errors in replace_one and replace_all 
2022-05-11 | (#4249) fix assignment of alt-name when using the hash 
2022-05-11 | (#4255) Fix clear-container SEXP 
2022-05-11 | (#4256) partial revert of targeting distance ranking change 
2022-05-10 | (#4253) keep default identity orientation when host flag is active 
2022-05-09 | (#4242) clean up some parse problems in FRED 
2022-05-09 | (#4250) assign cues when a ship is ship-created 
2022-05-09 | (#4252) use the proper time for the newly added timestamps 
2022-05-09 | (#4247) Implement query_modified() for Add/Modify Container FRED dialog 
2022-05-09 | (#3862) SEXP containers, Part 8: Change SEXPs 
2022-05-08 | (#4246) Fix memory leak and use tmap verts directly 
2022-05-08 | (#3861) SEXP containers, Part 7: Status SEXPs 
2022-05-07 | (#4232) add some UX guards to the briefing editor icons 
2022-05-07 | (#4245) Fix background sun positioning as well 
2022-05-07 | (#4243) disable Enter and Escape in the container dialog 
2022-05-07 | (#4239) fix two bugs associated with custom tech databases 
2022-05-06 | (#4186) background bitmap fix 
2022-04-30 | (#4224) Allow an unlimited number of ship flags to be parsed at once. 
2022-05-02 | (#3852) SEXP containers, Part 6: FRED/qtFRED SEXP trees 
2022-05-02 | (#4225) Make the "$Player Weapon Precedence:" list actually give precedence. 
2022-05-01 | (#4235) Add Subsystem Flag to Hide Turrets from Ship Loadout Stats 
2022-05-01 | (#4234) Encapsulate testing for LoS in a function and expose to Lua 
2022-05-01 | (#4212) patch the freeing of SEXP nodes 
2022-05-01 | (#4222) Model code cleanup #1 
2022-05-01 | (#4020) Implement Replace Data for Number and String in qtFRED 
2022-05-01 | (#4230) Clearer Paste function names and saner defaults 
2022-04-30 | (#4231) fix up conditions for script hooks 
2022-04-29 | (#4229) Bad lpt line 
2022-04-28 | (#4218) make variable list parsing a little more robust 
2022-04-28 | (#4220) Add cockpit FoV 
2022-04-28 | (#4221) Avoid setting .rest for Locked_sexp_true/false with malformed SEXPs. 
2022-04-27 | (#4213) add a script function to flash parts of the target box 
2022-04-27 | (#4223) Actually clear delayed SSM parsing data when it's no longer needed. 
2022-04-27 | (#4205) Move of special parsing functions out of lighting_profiles into new file 
2022-04-26 | (#4215) Early return instead of assert on 0 or less sized hud brackets 
2022-04-26 | (#3490) SEXP containers, Part 4: Text replacement 
2022-04-25 | (#4217) Always record primary bank ammo capacity during ship creation. 
2022-04-26 | (#4216) Fix RTT Cockpits Gauges with Change Ship Class 
2022-04-26 | (#4211) Beam light cleanup 
2022-04-25 | (#4207) Fix Texture Replace and Team Colors with Ship Changes 
2022-04-25 | (#3607) Reinforcements Dialog 
2022-04-24 | (#3737) Remove light filtering data 
2022-04-24 | (#4206) add some script functions for HUD gauge data 
2022-04-24 | (#4203) Add a ship flag to allow the firing fail sound to play with locked primaries 
2022-04-24 | (#4191) Random chance of particle spawning 
2022-04-23 | (#4201) Delay processing "$Player Weapon Precedence:" until after parsing. 
2022-04-22 | (#4200) Don't treat a bare <argument> as an error. 
2022-04-21 | (#4194) Fix FRED accessibility of new flag `ai-attackable-if-no-collide` V2 
2022-04-21 | (#4192) probably fix #4187 
2022-04-21 | (#4190) More Pof space optimizations 
2022-04-20 | (#4189) Fix FRED accessibility of new flag `ai-attackable-if-no-collide` 
2022-04-19 | (#4174) Basic Implementation for Attackable_if_no_collide 
2022-04-19 | (#4172) add optional flag to not change subtitle aspect ratio 
2022-04-18 | (#4180) Log data packets2 
2022-04-18 | (#4176) Disengage the sound limiters 
2022-04-17 | (#4177) various HUD gauge fixes 
2022-04-17 | (#4175) Create commandline option for logging data packets 
2022-04-16 | (#4163) Increase POF vertex limit 
2022-04-14 | (#4158) add the ability for subtitles to be scaled correctly to the screen  
2022-04-13 | (#4128) Switched light shader attenuation math to something that looks more real 
2022-04-13 | (#4167) Update PREBUILT_VERSION_NAME to latest (mac libs) 
2022-04-13 | (#4165) Fix for #3629 
2022-04-13 | (#4169) add preload ability for mission-set-subspace 
2022-04-11 | (#4160) Change include order to fix compilation of unit tests on Mac 
2022-04-12 | (#4162) prevent crashes in the event of a subsystem mismatch 
2022-04-11 | (#4157) add game_settings.tbl option to specify subtitle coords in pixels 
2022-04-10 | (#4155) Insertion sort update 
2022-04-10 | (#4156) upgrade supernova timestamps 
2022-04-09 | (#4151) Fix cockpit engine sound volume changing unexpectedly 
2022-04-09 | (#4153) refactor supernova code 
2022-04-09 | (#4146) Add SEXP constants for containers 
2022-04-08 | (#4150) add an additional check to the convert-to-Command logic 
2022-04-06 | (#4111) Fred object orientation features 
2022-04-06 | (#4147) fix show-subtitle again 
2022-04-05 | (#4127) vectorize Soundtracks and Spooled_music 
2022-04-05 | (#4145) Check for valid index before accessing Weapon_info 
2022-04-05 | (#4141) $AI ignores aspect lock for leading: AIP flag implemented 
2022-04-05 | (#4143) remove daisy-chained mission flag 
2022-04-04 | (#4093) add player loaded hook 
2022-04-04 | (#4101) add flags to keep same warp effects when docked 
2022-04-04 | (#4134) Removed collide_remove_weapons from weapon_create 
2022-04-04 | (#4139) Fix techroom turret lookup and make animations more robust 
2022-04-04 | (#4084) Add 'pause on reverse' Animation Flag 
2022-04-04 | (#4132) lua ship.checkVisibility mimicing sexp ship-is-visible 
2022-04-04 | (#4138) Fix destroyed submodels showing in Techroom 
2022-04-03 | (#4121) make HUD target distance consistent 
2022-04-03 | (#4090) FRED Nebula background UI enhancements 
2022-04-03 | (#4135) address highlighting for events with background colors 
2022-04-03 | (#4136) follow-up to 4074 
2022-04-02 | (#4087) Add delay into ai_new_maybe_reposition_attack_subsys for performance  
2022-04-02 | (#4117) dynamic IFF list in the ship select editor 
2022-04-02 | (#4096) enhance help text for Lua sexps 
2022-04-02 | (#4085) add campaign start hook 
2022-04-02 | (#4118) add a class encapsulation for Volition's linked list 
2022-04-02 | (#3960) add scripting support for decals 
2022-04-02 | (#4056) add capability (plus sexps) to set navpoint color 
2022-04-02 | (#4062) add missile list iterator 
2022-04-02 | (#4123) Make sure that zero-length strings still get the proper height;  fixes missing whitespace in the credits 
2022-04-02 | (#4124) bump version to 22.1.x 
2022-04-02 | (#4125) 21.0-22.0 changelog 
Deprecations:None
Deprecations are a mechanism in FSO where a certain feature or aspect of the engine has changed or is no longer supported. Since this would normally break existing mods we have the mod table feature "
$Target Version:" with which a mod can specify what version of FSO it was developed with. The features listed above will be removed or changed when the target version of a mod is at least the version released in this post.
Previous 21.0 Release ThreadLaunchers, if you don't have one already:
All platforms:  For every day use, we recommend 
Knossos, an integrated solution for downloading and launching mods.
Hidden Text: Alternative Launchers  Show Cross-platform: 
wxLauncher 0.12.x Test Build (ongoing project for a unified launcher, you should upgrade to the latest RC/test build if you have not yet)
Important: For best compatibility with FSO 3.8 and later you should use at least wxLauncher 0.12.
Windows:  
Launcher 5.5g (
Mirror) (
Mirror) Not compatible with Windows 8+, use wxLauncher above
OS X:  Soulstorm's 
OS X Launcher 3.0Linux:  
YAL or 
by hand or whatever you can figure out.
 Windows (32/64-bit)Compiled using GitHub Actions on Windows Server 2019 (10.0.17763), Visual Studio Enterprise 201964-bit: fs2_open_22_2_0_RC6-builds-x64-SSE2.zip32-bit: fs2_open_22_2_0_RC6-builds-Win32-SSE2.zipThis one is based on the SSE2 Optimizations from the MSVC Compiler.
 Windows (32/64-bit)Compiled using GitHub Actions on Windows Server 2019 (10.0.17763), Visual Studio Enterprise 201964-bit: fs2_open_22_2_0_RC6-builds-x64-SSE2.zip32-bit: fs2_open_22_2_0_RC6-builds-Win32-SSE2.zipThis one is based on the SSE2 Optimizations from the MSVC Compiler.Hidden Text: Alternative builds  Show  Linux 64-bitCompiled with Ubuntu 16.04 LTS 64-bit, GCC 5fs2_open_22_2_0_RC6-builds-Linux.tar.gz
 Linux 64-bitCompiled with Ubuntu 16.04 LTS 64-bit, GCC 5fs2_open_22_2_0_RC6-builds-Linux.tar.gzThese builds use a mechanism called 
AppImage which should allow these builds to run on most Linux distributions. However, we recommend that you compile your own builds which will result in less issues.
Alternatively, if there is a package in your software repository then you should use that. If you are the maintainer of such a package for a distribution then let us know and we will include that here.
 OS XNot available
 OS XNot available Still none available at this time.  Please check back later.
Hidden Text: TrackIR Users  Show Important!!An external DLL is required for FSO to use TrackIR functions.  The following DLL is simply unpacked in to your main FreeSpace2 root dir.
TrackIR is only supported on Windows.
TrackIR SCP DLL (
Mirror) (
Mirror)
 Known issues: