Repository navigation
v3.2-dev.4
Pre-releaseThis is the forth development release for the upcoming v3.2 following our standard release cadence. The 3.2 series is now part of the development release process. The game is undergoing a lot of refactoring work at this time. It is recommended you play the stable v3.1.3
Big Changes
Freeciv21 v3.2 brings us to the Qt6 age. The Qt 5 LTS library is end of life and many development teams are moving to the new Qt6 LTS and we are doing the same.
Other big changes coming to v3.2:
- Ton of code refactoring to speed compilation and follow newer Include What You Use (IWYU) policies in the C++ sphere.
- Many Lua
scriptcoreextensions allowing much more dynamic rulesets. - Many changes to the format of the help with modern markdown support.
- Improved compatibility with civ2
- A new Map Editor!
You can track progress towards the Qt6 Miletone, the Lua Refactor Milestone, and the Map Editor Milestone
If you know C/C++ and want to help, please feel free. Contributions are always welcome.
Game
Visual appearance and usability
New Features
- Lua: Added function to make units perform actions #2918
- Lua: Allow querying and modifying buildings #2919
- Lua: Make
Unit_ClassLua methods accept aconst punit_class#2961 - Lua: Add time utilities, TC time functions, and fixed up Lua sphinx docs #2977
- Build units with a nationality of the citizens spent on them #2967
Bug Fixes
- Avoid
maybe-uninitializedindio_get()#2925 - Fix name parameter type in Tile has_extra/has_base/has_road stubs #2936
- Fix client bugs with the Capture The Flag ruleset #2944
- Lua: Removed rogue name property from
Emodule stubs #2953 - Lua: Removed
find.cities_iterateandfind.units_iterate#2954 - Fix upkeep unhomed units and server setting #2956
- Fix the output folder of map images #2965
- Fix 2 CVSS security vulnerabilities in
savegamecode #2987
Rulesets/tilesets/...
- Nothing for this release
Utility / Tools / Code Refactoring / Other
Utility
- Nothing for this release
Build Tools
- OBS: Update for 3.2-dev.3 #2916
- OBS: Fix Debian and Fedora unresolvable #2917
- OBS: Fix target project path #2923
- OBS: Support all editions of our package in the Longturn project #2949
- Fixed
Dockerfilebuild fail on ARM #2934 - Allow unsafe PR checkout for
clang-tidy#2937 - Update
vcpkgidinbuild.yaml#2951 - Add support for lua 5.5.x patch versions #2958
- Update
libpq-devversion inDockerfile#2969 - Add a new clang-tidy CI check #2992
Code Refactoring
- More refactoring of packet code #2913 #2920
- IWYU: AI, Common, Server, Utility #2931 #2939 #2940 #2945 #2946 #2950 #2952 #2955 #2995
Other
Attribution
- With this release we welcome a new contributor: @LuShadowX (#2936)
ASSET NOTE
Community members wishing to download the source code. You will notice that there are two sets of source code in the assets section below. One set will have a label of "Source Code (zip)" and "Source Code (tar.gz)" and the other set will be a tar.gz and zip file with the name of the tagged release and a file size shown. Please download and use the files with the name of the tagged release and file size shown. The other two will not compile properly.