# 3.2.0 * Feature #17: sdl3: SDL_FreeSurface() -> SDL_DestroySurface() * Feature #19: Msys2-next after 231008 * Feature #26: sdl3: SDL_FillRect() -> SDL_FillSurfaceRect() * Feature #31: sdl3: SDL_SetClipRect() -> SDL_SetSurfaceClipRect() * Feature #35: sdl3: SDL_FreeCursor() -> SDL_DestroyCursor() * Feature #41: sdl3: SDL_GetWindowDisplayMode() -> SDL_GetWindowFullscreenMode() * Feature #48: sdl3: SDL_GetColorKey() -> SDL_GetSurfaceColorKey() * Feature #51: Granularity: Demonstrate aircraft relocate * Feature #54: sdl3: SDL_RenderCopy() -> SDL_RenderTexture() * Feature #57: Granularity: Demonstrate Bombard mission * Feature #60: sdl3: SDL_SetColorKey() -> SDL_SetSurfaceColorKey() * Feature #63: Supplied actions.rulesets: Placement of equal signs * Feature #67: sdl3: Replace SDL_GetDisplayMode() call * Feature #68: sdl3: Drop "SDL_syswm.h" include * Bug #72: worklist_item_postpone_req_vec() switch case fallthrough in VUT_PLAYER_STATE case * Bug #74: universal_value_initial() switch fallthroughs for some cases * Feature #76: Meson: Enable 'implicit-fallthrough" warnings * Feature #82: SDL3_gfx * Feature #83: CI: Update emscripten to 3.1.51 * Feature #84: S3_2 version number bump for year 2024 * Feature #88: sdl3: Use SDL3_gfx * Bug #89: INSTALL.meson not documenting svgflags configure option * Feature #91: Msys2/Meson/Qt6: Enable svgflags * Feature #97: action_get_act_time() -> actres_get_act_time() * Feature #102: SDL3_gfx: SDL_FreeSurface() -> SDL_DestroySurface() * Feature #112: SDL3_gfx: Replace calls to deprecated SDL_CreateRGBSurface() * Feature #115: action_(min|max)_range_default() to actres.c * Feature #117: emsbuild.sh: Build sdl2-client * Bug #120: INSTALL.meson: FREECIV_DEFAULT_POR * Feature #124: Granularity: Add Map and Seamap clause types * Feature #125: Granularity: Adjust and extend tech tree * Feature #126: installer_cross/Meson: Enable svgflags * Bug #127: SDL3_gfx: SDL_GetColorKey() -> SDL_GetSurfaceColorKey() * Feature #131: Granularity: Add emissary unit * Bug #132: sdl3: create_surf_with_format(): Use SDL_CreateSurface() * Feature #135: Granularity: Peace clause * Feature #136: Granularity: Granary * Feature #137: Granularity: Add military techs * Bug #143: compat_load_030200() fails to add worklist cancel behavior * Feature #144: action_target_kind_default() -> actres_target_kind_default() * Feature #145: Granularity: Add ceasefire clause type * Feature #146: Granularity: Rituals morale boost * Feature #148: Granularity: Healing rules * Feature #153: Extras freeciv-manual page * Feature #158: AI: Reduce space part want on wonder city * Bug #160: sdl3: copy_surface() memory access trouble * Feature #162: setup-msys2-2.21.1 * Feature #166: Granularity: Fortify action * Feature #167: Granularity: Extending city radius * Feature #170: Granularity: Quarry * Bug #176: sanity_check_req_set() unannotated fallthrough * Bug #179: Amplio2 inaccessible terrain definition mess * Feature #189: Granularity: Nets * Feature #191: Granularity: Enable city conquest * Feature #193: Codeql github actions * Bug #198: unit_conquer_city() assert failing for Teleport Conquer action * Bug #203: sdl3: create_surfaces() creates texture with wrong format * Feature #204: setup-msys2-2.22.0 * Feature #206: Fix granularity gettext errors * Feature #211: Granularity: Archers * Feature #212: sdl2/3: Rename FONTO_SLIGHTLY_BIGGER as FONTO_DEFAULT_PLUS * Feature #213: Granularity: Mercenaries * Bug #218: Meson: Duplicate sdl3 section * Bug #221: action_post_success_forced_ruleset_var_name() bad early exit for Collect Ransom * Feature #222: action_sub_target_kind_default() -> actres_sub_target_kind_default * Bug #228: sdl3_rotozoom.c: Unused variable 'i' * Bug #231: S3:_2 amplio2 volcano.spec has wrong capstr * Feature #232: AI: Increase overall want for space parts * Bug #236: unit_change_owner() forgetting current form age * Feature #241: Unhardcode wld.map from actres_possible() * Feature #243: Granularity: Central Rock Pile * Bug #250: Granularity Rituals helptext typo * Bug #252: SDL3_gfx functions lacking previous prototype * Feature #253: action_result_legal_target_kind() -> actres_legal_target_kind() * Feature #258: Granularity: Library * Feature #263: Granularity: Stone Circle Small Wonder * Feature #266: Granularity: Catapult * Feature #270: Granularity: Trireme * Feature #278: Granularity: Early corruption rules * Feature #285: Msys2-next after 231202 * Feature #287: Granularity: Literature * Bug #288: Meson: missing-declarations warnings enabled twice * Feature #295: Granularity: Central Rock Pile to increase food production * Feature #300: Granularity: Temple * Feature #301: Granularity: Plow * Bug #305: savegame3.c:864 assert failing * Feature #311: Granularity: Farming Time policy * Feature #313: Granularity: Sailing * Feature #329: Granularity: Iron * Feature #332: CI: Update codeql actions * Feature #336: Drop webperimental.serv * Bug #337: .modpack comments lacking "is" * Feature #338: Granularity: Mine * Feature #341: README.sound: freeciv-gtk4 instead of freeciv-gtk3.22 * Bug #345: sdl3: __FillRectAlpha8888_32bit() not working * Bug #346: sdl3: copy_surface() creates invisible surface * Feature #354: Granularity: Medicine * Feature #356: Allow arrays with more than 254 elements in delta protocol * Feature #360: Granularity: Science tech * Feature #363: ....unit_on_units() -> ...unit_on_stack() * Bug #370: sdl3: SDL_PixelFormat bits_per_pixel * Bug #372: civ2civ3 ruleset comments lacking good flag "Self-Provided" documentation * Feature #373: Granularity: Currency * Feature #382: Granularity: Master Explorer * Feature #389: Granularity: Culture tech * Feature #394: CI: Update emscripten to version 3.1.56 * Feature #395: Granularity: Monarchy * Feature #413: Granularity: Fort * Feature #428: gtk: Long form of the wonder report, when message_chat_location MERGED * Feature #429: Document sdl3-client * Bug #435: freeciv-web build fails due to city_map_to_tile() change * Bug #439: emscripten: emscripten source tree headers included * Feature #440: emscripten/sdl: Let browser execute during gui_event_loop() * Feature #441: Granularity: Legion * Feature #448: Ruledit: Enable tech add/remove on regular builds * Feature #454: Granularity: startunits * Feature #458: generate_packets.py: Support changing dataio type of a field through capabilities * Feature #475: Check that c23 nullptr can be used as sentinel * Feature #476: Granularity: Engineering * Feature #478: Tolua generated code without trailing spaces * Feature #486: Msys2: Install Qt6Svg.dll for Qt6-client * Bug #490: Granularity: Wrong terrain move costs * Bug #491: Granularity: Central Rock Pile can be moved * Feature #499: dos2unix nation rulesets * Feature #508: Granularity: Enable multiresearch * Bug #511: json protocol: memory leak when discarding is-info packets * Feature #516: Amplio nets * Feature #517: civ2civ3: Allow non-workers to build bases * Feature #520: Granularity: Bounty Hunter * Feature #543: Granularity: Offensive Strategies policy * Feature #544: Isophex nets * Feature #552: helptext_unitclass() * Feature #565: Granularity: Gather Wood * Feature #567: Isotrident Nets * Bug #571: 3.1 -> 3.2 ruleup: "unused entry: actions.ui_name_clean_pollution" * Feature #572: Manual: Unit Classes page * Feature #581: Granularity: Housing * Feature #595: CI: setup-msys2 2.23.0 * Feature #599: sdl3 theme: Correct theme-internal file references * Feature #608: savegame: Set ACTION_NONE problems logging correct wrt the fix version * Feature #627: Msys2: Clean up special handling of libSvtAv1Enc-2.dll in CI * Feature #628: Msys2-next after 240406 * Feature #631: gtk3.22: Show popup image on its natural size * Feature #639: hex2t: Copy nets from trident * Bug #640: hex2t lacking unit.mine * Bug #647: Granularity: Move requires 5 move fragments, teleport none * Feature #648: CodingStyle: List fc_strcasecmp() in support.c functions * Feature #657: g_generic sound * Feature #669: gtk4: Show popup image on its natural size * Bug #673: Doxygen: manual_finalize() parameters wrong * Bug #674: Cimpletoon container ship wrong eastward sprite * Bug #675: Government change sound plays at the beginning of the game * Feature #679: classic: Vision bonus on Mountains * Bug #685: meson-installer_build.sh: sdl2-client gtk4-environment setup error log speaks of gtk3 * Bug #690: S3_2 sdl3 theme lacking "theme.order_auto_settler" * Bug #701: AI: Shared vision not cancelled when declaring war from dai_revolution_start() * Feature #709: Minnesota nation * Feature #710: Poyais nation * Feature #713: sdl3-client metainfo * Feature #723: CI: Run CodeQL on ubuntu-24.04 runner * Feature #741: sd3-client desktop file * Feature #744: emsdk 3.1.61 * Feature #747: sdl3: Drop flags parameter from SDL_CreateRenderer() call * Bug #748: Nonexistent CLIENT_GUI_SDL3 * Bug #749: donetsk.ruleset: Unterminated character constant * Feature #754: Nations: Clear trailing spaces * Feature #757: INSTALL: Refer to INSTALL.meson * Feature #764: Qt: Show popup image on its natural size * Feature #768: sdl: Show popup image on its natural size * Feature #770: setup-msys2-2.24.1 * Bug #771: Qt-client uses asprintf() * Feature #774: Drop unused width,height parameters from popup_image() * Bug #777: README.msys2 still documenting autotools build as the default * Feature #778: Msys2-next after 240516 * Feature #779: CI msys2: Stop installing autotools * Feature #786: man page for sdl3-client * Bug #793: CI: msys2 "target not found: automake1.17" * Feature #811: multiplayer: Vision bonus on Mountains * Bug #815: S3_2 act_results in wrong order * Feature #818: SDL3_gfx: Clear trailing spaces * Feature #821: Conch Republic Nation * Bug #831: Qt: Wrong size svgflags on pregame when loading saved game * Feature #836: sdl3: SDL_Keysym -> SDL_Keycode * Feature #837: sdl3: drop unused create_surf() parameter flags * Bug #840: Lua: tile seen() and known() in module City * Bug #846: Msys2: Qt6 installer ruledit link creation broken * Feature #848: sdl3: Mix_OpenAudio() return type * Feature #852: sdl3: Event filter return type * Bug #854: "Counter are" * Bug #858: conch.ruleset: End-of-file not in line of its own * Feature #861: sdl3: Update SDL_MapRGBA() calls * Feature #864: sdl3: Update SDL_Init() calls * Feature #865: sdl3: Update create_surf_with_format() * Feature #866: sdl3: Update SDL_MapRGB() calls * Feature #867: sdl3: Update mask_surface() * Feature #869: sdl3: Update SDL_GetSurfaceColorKey() calls * Feature #874: sdl3: Update SDL_GetRGBA() calls * Feature #875: sdl3: Update SDL_KeyboardEvent usage * Feature #880: sdl3: Update get_pixel() & get_first_pixel() * Feature #882: sdl3: Update SDL_PushEvent() calls * Feature #886: sdl: Make textinput_handler to take a const text parameter * Feature #887: sdl3: Update SDL_CreateRenderer() call * Feature #891: sdl: Drop commented out redraw_themelabel() * Feature #892: sdl3: Update TTF_SizeUTF8() calls * Feature #894: helpdata.txt: Drop Jacob Nevins from current maintainers * Bug #895: CI: mac-meson job warning about already installed pkg-config * Feature #899: sdl3: SDLK_x -> SDLK_X * Feature #903: sdl3: Update get_smaller_surface_rect() * Feature #905: CI: Drop os_x job from S3_2 too * Feature #906: sdl3: Update SDL_GetFullscreenDisplayModes() return value handling * Feature #907: emsdk 3.1.67 * Feature #908: emscripten: Use included SDL2_gfx * Feature #909: sdl3: Update SDL3_rotozoom.c * Feature #915: sdl3: Update copy_surface() * Feature #922: sdl3: Update create_line() * Feature #923: sdl3: load_gfxfile(): always convert surface * Feature #924: sdl3: Update alphablit() return value handling * Bug #927: government.rulesets: "palyer" * Feature #932: Drop emscripten stuff from autotools build system * Feature #933: build_appimages.sh: Use wget2 instead of wget * Feature #942: SDL3_gfx out from dependencies/ * Feature #966: freeciv-sdl3 binary name * Bug #975: generate_packets.py failure on mac-meson CI job * Feature #977: Work around mac-meson failure * Feature #984: TTF_RenderUTF8...() -> TTF_RenderText...() * Feature #985: TTF_FontHeight() -> TTF_GetFontHeight() * Feature #986: sdl3: TTF_SizeUTF8() -> TTF_GetStringSize() * Feature #987: sdl3: SDL_TRUE -> true * Feature #1014: build_appimages.sh: Clear error message about missing wget2 * Feature #1017: generate_doc.sh parameter sanity checking * Bug #1025: Autotools configure accepts --enable-client=sdl3 * Feature #1049: Msys2-next after 240810 * Bug #1228: generate_doc.sh: Output directory cannot create outside source tree