| 2.4.4 "Be My Valentank" Release date: 2016-02-14
 Protocol: BZFS0221
 | 
	
		|  | Correctly exit the game when closing from the Windows 10 taskbar by: Scott Wichser
 | 
	
		| Update the player status when a gameover event occurs by: Scott Wichser
 | 
	
		| Fix fullscreen window toggling on Mac OS X by: Joshua Bodine
 | 
	
		| Fix crash on exit with Windows bzfs by: Scott Wichser
 | 
	
		| Fix crash on exit with Mac OS X bzfs by: Joshua Bodine
 | 
	
		| Fix buffer overrun that caused a crash on exit and other strange behavior on Windows and Linux by: Scott Wichser
 | 
	
		| On Windows, reload textures after initializing the context by: Scott Wichser
 | 
	
		| Add a menu to edit server list quick filters by: Scott Wichser
 | 
	
		| Tell Windows that we are DPI aware by: Scott Wichser
 | 
	
		| Time functions in the bzfs API use doubles instead of int by: Vladimir Jimenez
 | 
	
		| Fix issue on Windows that allowed mouse to get stuck off-screen when switching to windowed mode by: Scott Wichser
 | 
	
		| Replace NaN with zero in nboUnpackFloat() by: Jeff Makey
 | 
	
		| Add a bz_ChatEventData_V2 that contains message type by: Konstantinos Kanavouras
 | 
	
		| Show recipient/sender for private action messages in BZAadmin by: Konstantinos Kanavouras
 | 
	
		| Server list filter: remove "cached" boolean filter, rename "flags" to "ffa", "teams" to "ctf", and add "offa" by: Scott Wichser
 | 
	
		| Add server list filter help pages by: Scott Wichser
 | 
	
		| Add config option to control shot brightness by: Konstantinos Kanavouras
 | 
	
		| Don't show a running countdown to a player who joins a paused game by: Konstantinos Kanavouras
 | 
	
		| Allow RGB values in ANSI color codes to allow custom colors by: Konstantinos Kanavouras
 | 
	
		| Vastly improved support for changing tank and radar colors by: Konstantinos Kanavouras
 | 
	
		| Fix rendering of TK warning symbol by: Joshua Bodine
 | 
	
		| Remove third-party libraries from our source tree by: Scott Wichser
 | 
	
		| Fix search field losing focus while loading server list by: Joshua Bodine
 | 
	
		| Do not count observers when sorting the server list by: Scott Wichser
 | 
	
		| Randomize the order of servers with identical player counts by: Scott Wichser
 | 
	
		| Mouse grab/confine fixes by: Joshua Bodine, Scott Wichser
 | 
	
		| Improvements to flagStay and rabidRabbit plugin by: Vladimir Jimenez
 | 
	
		| Joystick hat fixes by: Konstantinos Kanavouras
 | 
	
		| Update shot stats live by: Konstantinos Kanavouras
 | 
	
		| Track shot stats for all flag types, even custom flags by: Konstantinos Kanavouras
 | 
	
		| Filter messages before MsgEnter by: Jeff Myers
 | 
	
		| Require a player have spawned to be added to rejoin wait list by: Jeff Makey
 | 
	
		| Validate the player ID in MsgPlayerUpdate and MsgPlayerUpdateShort by: Scott Wichser
 | 
	
		| Fix usage of privateMessage permission by: Konstantinos Kanavouras
 | 
	
		| Properly prevent multiple MsgEnter messages by: Jeff Myers
 | 
	
		| Refactor and extend the shot API by: Jeff Myers
 | 
	
		| Autokick on unknown packet type by: Vladimir Jimenez
 | 
	
		| Block whitespace-only message and kick for garbage characters by: Scott Wichser
 | 
	
		| Validate teleporter index in client and server by: Scott Wichser
 | 
	
		| Limit half-joined player connection duration by: Scott Wichser
 | 
	
		| Add various checks for invalid player actions by: Jeff Makey
 | 
	
		| Show coordinates of target tank instead of observer camera location by: Jeff Makey
 | 
	
		| Allow shot API event to cancel broadcasting shot to other clients by: Jeff Myers
 | 
	
		| Store a list of how many times each player was killed by other players and expose it to the API by: Jeff Myers
 | 
	
		| Allow plugins delay adding players to allow for remote data lookups by: Jeff Myers
 | 
	
		| Add API event triggered when authentication is complete by: Jeff Myers
 | 
	
		| Added bz_GetPlayerMottoData_V2 by: Jeff Myers
 | 
	
		| Relicense the SAMPLE_PLUGIN to BSD 2 clause license by: Jeff Myers, Tim Riker
 | 
	
		| Update joystick axis list when changing joystick device by: Konstantinos Kanavouras
 | 
	
		| List server communication now uses HTTPS by: Scott Wichser
 | 
	
		| Added bz_setPlayerSpawnAtBase and bz_getPlayerSpawnAtBase API functions by: Vladimir Jimenez
 | 
	
		| Added configure --enable-custom-plugins and --enable-custom-plugins-file options by: Jeff Makey
 | 
	
		| Introduce bz_AllowSpawnData_V2 by: Vladimir Jimenez
 | 
	
		| Added bz_setPlayerSpawnable and bz_isPlayerSpawnable API functions by: Vladimir Jimenez
 | 
	
		| Removed GLEW as a dependency by: Joshua Bodine, Scott Wichser
 | 
	
		| Made text at top of HUD use sans-serif font and removed serif font by: Joshua Bodine
 | 
	
		| Player scores are now factors in auto team assignment by: Joshua Bodine
 | 
	
		| New font rendering tool and new font textures up to 64pt by: Joshua Bodine
 | 
	
		| Added bz_getPlayerBySlotOrCallsign API function by: Vladimir Jimenez
 | 
	
		| Have custom permissions show in /showperms and /groupperms by: Vladimir Jimenez
 | 
	
		| Start adding unit tests with CppUTest by: Scott Wichser
 | 
	
		| CIDR ban support by: Scott Wichser
 | 
	
		| Radar size and panel size are now set individually by: Joshua Bodine
 | 
	
		| Added bz_incrementTeamLosses and bz_incrementTeamWins API functions by: Vladimir Jimenez
 | 
	
		| Vertical sync support under SDL by: Joshua Bodine, Jeff Makey
 | 
	
		| SDL 2 support by: Alfredo Tupone, Joshua Bodine
 | 
	
		| Do not flash GAME OVER for observers by: Jeff Makey
 | 
	
		| Validate the teleporter indexes in MsgTeleport by: Scott Wichser
 | 
	
		| Correctly validate an offered admin password by: Jeff Makey
 | 
	
		| Added "showAdmin" permission by: Vladimir Jimenez
 | 
	
		| Added countdown pause/resume API events by: Vladimir Jimenez
 | 
	
		| Added bz_getCountdownRemaining API function by: Vladimir Jimenez
 | 
	
		| Added bz_getPausedTime API function by: Vladimir Jimenez
 | 
	
		| Added bz_isCountDownPaused API function by: Vladimir Jimenez
 | 
	
		| Added bz_getIdleTime API function by: Vladimir Jimenez
 | 
	
		| Added bz_getPlayerFlagID API function by: Vladimir Jimenez
 | 
	
		| Added bz_isAutoTeamEnabled API function by: Vladimir Jimenez
 | 
	
		| Added bz_cancelCountdown API function by: Vladimir Jimenez
 | 
	
		| Added bz_pollActive API function by: Vladimir Jimenez
 | 
	
		| Added bz_CustomZoneObject API class by: Vladimir Jimenez
 | 
	
		| Added CustomZoneSample plugin by: Vladimir Jimenez
 | 
	
		| Added permission for /listplugins by: Vladimir Jimenez
 | 
	
		| Allow API to overload built-in slash commands by: Vladimir Jimenez
 | 
	
		| Added "report" permission by: Vladimir Jimenez
 | 
	
		| Added bz_eGameResumeEvent and bz_eGamePauseEvent to the API by: Vladimir Jimenez
 | 
	
		| Don't allow muted players with ADMINMESSAGESEND to send PMs to hidden admins by: Konstantinos Kanavouras, Vladimir Jimenez
 | 
	
		| Add [Reverse Score] scoreboard sort option by: Konstantinos Kanavouras
 | 
	
		| Track number of self-kills on the scoreboard by: Konstantinos Kanavouras
 | 
	
		| Added menu option to pause chat window scrolling by: Konstantinos Kanavouras
 | 
	
		| Added "noteam" option for "/flag reset" command by: Konstantinos Kanavouras
 | 
	
		| Added option to bz_resetFlags to skip team flags by: Konstantinos Kanavouras
 | 
	
		| Implemented "/poll kill" command by: Konstantinos Kanavouras
 | 
	
		| Added "/countdown cancel" command by: Konstantinos Kanavouras
 | 
	
		| Added serverSidePlayerSample plugin by: Jeff Myers
 | 
	
		| Fix fancy radar tank when zoomed by: Kyle Mills
 | 
	
		| Added /handicap command by: Frank Thilo
 | 
	
		| Reverted to traditional handicap calculation by: Frank Thilo
 | 
	
		| Add bzfscron plugin to execute commands on time intervals by: Daniel Remenak, Scott Wichser
 | 
	
		| Server-side players can send slash commands by: Scott Wichser
 | 
	
		| Added server side shot tracking by: Jeff Myers
 | 
	
		| Added clientQuery permission by: Konstantinos Kanavouras
 | 
	
		| Added superUser plugin by: Jeff Myers
 | 
	
		| Added bz_getPlayerCount API function by: Jeff Myers
 | 
	
		| Added bz_incrementPlayerWins API function by: Jeff Myers
 | 
	
		| Added bz_incrementPlayerLosses API function by: Jeff Myers
 | 
	
		| Added bz_incrementPlayerTKs API function by: Jeff Myers
 | 
	
		| Make players respawn on bases after countdown ends by: Lee Marshall
 | 
	
		| Countdown now resets player scores as well as team scores by: Lee Marshall
 | 
	
		| Fully integrated Xcode project file by: Joshua Bodine
 |