# 3.1.1 * Feature #2: Update bug tracker URL to point to redmine.freeciv.org * Bug #147: Granularity: Base city size limit defined twice * Bug #207: AI: Helicopter trying to recover on open * Bug #260: genlist.h inline functions lack doxygen header's "**//**" * Feature #265: Unhardcode wld.map from unit_order_list_is_sane() * Feature #272: stdlib_h.m4 serial 77 * Feature #273: Unhardcode wld.map from is_action_possible() * Feature #280: Metainfo: Add developer name information * Feature #281: Unhardcode wld.map from caravan_search_from() * Bug #282: Typo: "seperate" * Feature #284: Ruledit: Unit type flag editing * Bug #286: show_small_citybar(): Dead increment of canvas_y * Feature #290: 3.1 screenshot for gtk3.22-client * Feature #291: locale-fr.m4 update (serial remains 23) * Feature #296: Unhardcode wld.map from actions.c static functions * Bug #297: HACKING: Wrong connection.h location documented * Feature #298: Ruledit: Add terrain native_to editing * Bug #304: UNIT and CITY only 16 bits in network protocol * Bug #307: Meson: Duplicate vsnprintf check * Bug #312: gtk4: Invalid "format-value" signal to GtkScale * Feature #316: Ruledit: Add extra native_to editing * Bug #317: blocked_find_target_tile() clang analyzer warning about NULL target_unit dereference * Feature #319: Doxygen configuration update to 1.9.8 * Feature #320: Unhardcode wld.map from is_action_enabled_unit_on_city() * Bug #321: manual_improvements() hardcoded
* Feature #322: Flatpak: Update org.gnome Platform and Sdk to 46 * Feature #323: Ruledit: Add extra flags editing * Bug #324: Allied victory not working if all players allied before anybody defeated * Feature #325: Manual: Horizontal line between terrain types * Feature #326: Ruledit: Helpeditor * Feature #327: Ruledit: values_dlg * Bug #328: Autotools C++20 capture this check not working * Bug #330: Misspellings: "hashs" * Bug #335: announce_trade_route_removal() call with a NULL city * Feature #339: Ruledit: Add terrain flags editing * Feature #340: Unhardcode wld.map from is_action_enabled_unit_on_unit() * Bug #342: S3_1 webpackets compile failure due to 32bit unit/city ids * Feature #349: Ruledit: Building flag editing unified with other flag editors * Bug #350: Resources hidden to player sent to player * Bug #352: CI: Homebrew install/update fails on github actions * Bug #357: Misspellings: "re-use" * Feature #358: Ruledit: Tech value editor * Feature #361: Unhardcode wld.map from caravan_find_best_destination() * Feature #362: Unhardcode wld.map from is_action_enabled_unit_on_units() * Bug #365: generate_packets.py invalid escape sequence warnings * Feature #367: lib-prefix.m4 serial 23 * Bug #368: helpeditor.h not part of tarball * Bug #371: Misspellings: "fullfilled" * Feature #374: Unhardcode wld.map from city_map_to_tile() * Feature #377: cityresult_fill(): Check city center existence in non-debug builds * Feature #378: gnulib-common.m4 serial 93 * Bug #383: player_number() access for packaging unit after player_destroy() * Bug #386: Misspellings: "abbrevation" * Feature #390: Unhardcode wld.map from is_action_enabled_unit_on_tile() * Feature #393: Meson: appimage option * Feature #396: AppImage: build_appimages.sh * Feature #403: Unhardcode wld.map from cowt_callback() * Feature #404: progtest.m4 serial 10 * Feature #405: Gnulib m4 -files headers update * Bug #407: AI: tile_data_cache output fields too narrow * Bug #408: AI: cityresult_fill() assert failure when no known free tiles in city area * Feature #410: Unhardcode wld.map from is_action_enabled_unit_on_extras() * Bug #427: Client options migration gtk3.22 -> gtk4 not saved correctly * Bug #430: Ruledit: Bad Add/Remove tech layout * Bug #431: Misspellings: "useable" * Bug #434: S3_1 threaded AI build fails due to city_map_to_tile() change * Feature #438: Flatpak: Qt Sdk & Platform to version 6.7 * Bug #462: fc_shortcut_popup() has no Q_OBJECT * Bug #489: S3_1 handle_investigate_started(): Dead assignment to unit_id32 * Feature #495: S3_1 AI module capstr to stable form