# 3.4.0 * Feature #686: meson-installer_build.sh: Support building from separate build directory * Feature #702: Msys2: Drop autotools based build * Feature #703: Meson: Generate langstat files to build directory * Feature #714: FREECIV_DEV_SAVE_COMPAT_3_4 * Feature #719: Ruledit: comments-3.4.txt * Feature #910: Msys2: Drop qt5 installers completely * Feature #911: Msys2: Drop win64 (windows 8.1) support * Feature #973: Remove /metamessage command * Feature #1044: meson-build_all_installers.sh: Support building from separate build directory * Feature #1099: Meson requirement 0.63.0 * Feature #1100: Python requirement 3.7 * Feature #1116: gtk4x: finddlg.c FcFCityRow * Feature #1125: gtk4x: pages.c host list as GListStore * Feature #1129: gtk4x: pages.c hosts list GListStore implementation to use * Feature #1174: gtk4x: diplodlg.c clause item factory bind() and create() * Feature #1212: Ruleset capstrs to 3.4 time * Feature #1213: mpdl capstr to 3.4 one * Feature #1214: Make 3.4 ruleup from S3_3 * Feature #1215: Clean out 3.2 -> 3.3 rscompat code from the main branch * Feature #1218: Drop qt5 configure options * Feature #1219: Clean out qt5 support code * Feature #1221: AI: Rename aidiplomat.[ch] as daidiplomat.[ch] * Feature #1224: Drop installer_msys2/create-freeciv-qt5-nsi.sh * Feature #1229: fc_version: Drop x-prefixing * Feature #1230: doc: Drop qt5 references * Feature #1255: spec_propagate.sh: Remove x-prefixing * Feature #1259: Tests: Remove x-prefixing from shell scripts * Feature #1260: common: Remove trailing spaces * Feature #1263: aihand.[ch] -> daihand.[ch] * Feature #1269: src-check.sh * Feature #1270: pf_tools.c: NULL -> nullptr * Feature #1273: Tex: Remove trailing spaces * Feature #1275: installer_cross: Make Windows 10 the minimum version * Feature #1279: daihand.c: NULL -> nullptr * Feature #1281: INSTALL.meson as the main INSTALL * Feature #1282: meson.build: Make Windows 10 the minimum version * Feature #1283: dataio_raw.[ch]: NULL -> nullptr * Feature #1284: generate_gitrev.sh: Remove x-prefixing * Feature #1286: Classic AI: Remove trailing spaces * Feature #1294: cm.c: NULL -> nullptr * Feature #1295: freeciv.project: Remove x-prefixing * Feature #1300: Qt6-6.4 as minimum requirement for Qt6-mode * Feature #1301: Meson: Simplify Qt version check * Feature #1302: luascript.[ch]: NULL -> nullptr * Feature #1304: savegame/: Remove trailing spaces * Feature #1305: packets.[ch]: NULL -> nullptr * Feature #1315: Autotools binary wrapper scripts: Remove x-prefixing * Feature #1318: path_finding.[ch]: NULL -> nullptr * Feature #1320: handicaps.c: Remove trailing spaces * Bug #1321: Autotools --enable-ack-legacy error message refers to doc/INSTALL.meson * Feature #1324: Access Areas * Feature #1326: daitools.c: Improve coding style * Feature #1329: luascript_func.c: NULL -> nullptr * Feature #1332: client/include: Remove trailing spaces * Feature #1334: tolua generated code NULL -> nullptr * Feature #1337: Meson: ruleset_loads.sh * Feature #1338: Remove RSFORMAT_3_3 * Feature #1339: packets_json.[ch]: NULL -> nullptr * Feature #1345: terrain.ruleset: Replace tabs with spaces * Feature #1346: executable.[ch]: exchndl.dll * Feature #1348: Meson: C++ -Wtrailing-whitespace * Feature #1352: gui-gtk-3.22: Remove trailing spaces * Feature #1353: caravan.c: NULL -> nullptr * Feature #1355: Meson: rulesets_not_broken.sh * Feature #1356: CI: Run rulesets_not_broken.sh test on meson build job * Feature #1361: api_game_find.c: NULL -> nullptr * Feature #1362: citystatus_type definition to fc_type_enums.def * Feature #1363: installer_cross: Disallow building in the source directory * Feature #1367: cvercmp-1.0.6 * Feature #1369: connection.[ch]: NULL -> nullptr * Feature #1374: client/*.h: Remove trailing spaces * Feature #1377: daicity.[ch]: Improve coding style * Feature #1383: citymap.h: Drop fc_types.h include * Feature #1384: terrain.[ch]: NULL -> nullptr * Feature #1387: Autotools: Drop 'make doc' target * Feature #1389: api_common_utilities.c: NULL -> nullptr * Feature #1395: tiledef.[ch] * Feature #1396: dataio_json.c: NULL -> nullptr * Feature #1406: README.crosser: Update to separate builddir time * Feature #1408: aisupport.c: NULL -> nullptr * Feature #1410: Document [super_specialist_???] section names * Feature #1411: Tiledef: Functions dealing with the tiledef id * Feature #1412: meson-winbuild.sh: Use fc_version * Feature #1413: client/*.c: Remove trailing spaces * Feature #1416: styles.ruleset: Replace tabs with spaces * Feature #1421: luascript_signal.c: NULL -> nullptr * Feature #1422: Tiledef: Functions dealing with the tiledef name * Feature #1423: Doxygen: Include generated sources from builddir * Feature #1427: fcmp: Call executable_init() * Feature #1428: Meson: rulesets_save.sh * Feature #1429: CI: Run rulesets_save.sh test on meson build job * Feature #1433: daiunit.[ch]: Improve coding style * Feature #1436: server/*.h: Remove trailing spaces * Feature #1437: Nonnull parameters in nation.c * Feature #1438: nation.[ch]: NULL -> nullptr * Feature #1440: Qt: Unconditionally use Qt-6.4 requiring code from FC_QT6X_MODE * Feature #1444: tiledef: tile_match_tiledef() * Feature #1445: citymap.c: NULL -> nullptr * Feature #1449: Meson: C -Wtrailing-whitespace * Feature #1450: aiferry.[ch] -> daiferry.[ch] * Bug #1459: CI: Ruleup test failing in main branch due to Shield2Gold_Factor * Feature #1462: api_signal_base.c: NULL -> nullptr * Feature #1469: daidiplomacy.c: Improve coding style * Feature #1475: metaknowledge.c: NULL -> nullptr * Feature #1482: tile.[ch]: NULL -> nullptr * Feature #1487: daiferry.[ch]: Improve coding style * Feature #1491: api_game_effects.c: NULL -> nullptr * Feature #1500: Government flags to client * Feature #1504: vision.[ch]: NULL -> nullptr * Feature #1509: stdinhand.[ch]: Improve coding style * Feature #1514: api_game_methods.c: NULL -> nullptr * Feature #1515: Show government flags in government help * Feature #1516: cities.ruleset: Replace tabs with spaces * Feature #1517: granularity: Allow max 4 units on tile * Feature #1518: upgrade_ruleset_sync.bash: Remove x-prefixing * Feature #1519: CI: Run autogame test on meson build job * Feature #1521: ai/default: Remove trailing spaces * Feature #1526: unittype.[ch]: NULL -> nullptr * Feature #1532: Drop rulesets_not_broken.sh.in * Feature #1535: unithand.c: Improve coding style * Feature #1541: Add specialist subtarget kind * Feature #1542: aiguard.[ch] -> daiguard.[ch] * Feature #1543: Meson: rulesets_upgrade.sh * Feature #1544: api_common_intl.c: NULL -> nullptr * Feature #1548: Ruledit: add unit specialist parameter * Feature #1553: actions.c: Drop action_ui_name_ruleset_var_name() * Feature #1555: Test enabling of non-unit actor actions * Feature #1556: server: Remove trailing spaces * Feature #1558: generate_version_header.sh: Remove x-prefixing * Feature #1565: CI: Run rulesets_upgrade.sh test on meson build job * Feature #1572: CI: Make meson based build with static libfreeciv * Feature #1573: send tiledefs to client * Feature #1574: Drop rulesets_upgrade.sh.in & friends * Feature #1575: granularity: Allow moving 6 units to the same tile when Strategies known * Feature #1576: srv_main.[ch]: Improve coding style * Feature #1580: Ruleset comments for tiledefs * Feature #1581: mapimg.c: NULL -> nullptr * Bug #1583: Logic of is_action_possible() * Feature #1589: settings.[ch]: Improve coding style * Feature #1595: stub ruleset: Replace tabs with spaces * Feature #1597: Introduce is_action_enabled_player_on_*() * Feature #1600: Ruleset comments for government flags * Bug #1601: Governments' flags not loaded * Bug #1602: No rule to make target 'government_enums.def', needed by 'distdir-am'. Stop. * Feature #1610: Generalize illegal action explanations for all actor kinds * Feature #1616: cityturn.c: Improve coding style * Feature #1617: Do not reset foodbox when city grows for reasons other than full foodbox * Feature #1621: research.c: NULL -> nullptr * Bug #1626: gtk4x client emits warnings when quitting * Feature #1638: unittools.[ch]: Improve coding style * Feature #1649: Nonnull parameters in player.c * Feature #1650: player.[ch]: NULL -> nullptr * Feature #1660: specialist.c: NULL -> nullptr * Feature #1661: tolua: Remove trailing spaces * Bug #1662: control.c: Trailing tab * Bug #1675: mpgui_gtk5.c listed twice * Feature #1680: unitlist.[ch]: NULL -> nullptr * Feature #1701: [proposed] resolved inconsistency in autoworker APIs to avoid memory handling errors * Feature #1702: actions.[ch]: NULL -> nullptr * Feature #1711: reqtext.c: NULL -> nullptr * Feature #1716: base.c: NULL -> nullptr * Feature #1719: gtk4x/gtk5 client: Add menu items to change sound volume * Feature #1720: Nonnull parameters in team.c * Feature #1721: team.[ch]: NULL -> nullptr * Feature #1724: civ2civ3: Use GovFlag on Shield2Gold_Pct requirements * Feature #1726: extras.[ch]: NULL -> nullptr * Feature #1729: citizens.c: NULL -> nullptr * Feature #1733: is_tiledef_near_tile() & is_tiledef_card_near() * Feature #1735: improvement.[ch]: NULL -> nullptr * Feature #1736: Nonnull parameters in improvement.c * Feature #1738: Clear SDL2_rotozoom trailing spaces * Bug #1743: SDL3_rotozoom.c: Trailing tabs * Feature #1745: trailing_spaces.sh: Check *.h files * Feature #1746: src-check.sh: Show progress * Feature #1749: tech.[ch]: NULL -> nullptr * Feature #1755: counters.c: NULL -> nullptr * Feature #1758: Drop webperimental ruleset * Feature #1765: sandbox: Demonstrate Tiledef * Feature #1767: Meson: rulesets_autohelp.sh replacement * Bug #1770: gamehand.c: Trailing tab * Feature #1779: Remove double spaces from client options help * Feature #1789: requirements.c: NULL -> nullptr * Bug #1797: Government flags not cleared * Feature #1807: the cases for city name attribution * Feature #1810: effects.[ch]: NULL -> nullptr * Feature #1816: Meson: aimodules option * Feature #1829: style.[ch]: NULL -> nullptr * Feature #1830: Nonnull parameters in style.c * Feature #1836: re-write/improve reqtext.c * Bug #1837: Sanity checking method to AI interface * Feature #1838: FC_AI_MOD_CAPSTR to 3.4 time * Feature #1846: actres.c: NULL -> nullptr * Feature #1853: Meson: Dynamic AI modules support * Feature #1859: city.[ch]: NULL -> nullptr * Feature #1862: gtk3.22: Clear trailing tabs * Feature #1872: gtk4x: Drop unused fields from unit_select_dialog * Bug #1874: gtk4x: Bad unit/building icon sizes in dialogs * Feature #1887: version.[ch]: NULL -> nullptr * Feature #1905: Remove double spaces from war_countdown() messages * Feature #1913: unit.[ch]: NULL -> nullptr * Feature #1914: Nonnull parameters in unit.c * Feature #1916: AI: War countdown sanity check * Feature #1917: Sandbox: Factory requires connection to Coal Mine * Feature #1918: access_areas_refresh(): Check only existing tiledefs * Feature #1919: Autoworkers: Seek shelter when no work