Roadmap: Coding

Current significant features relative to freeciv-2.6: FEATURES-3.0.txt

  • S2_6 branched 02-Jan-15. 3.0 development started at that point.
  • S3_0 branched 02-Jan-17
  • Next milestone: Alpha2 light-weight release

S3_0 branching happened two years after S2_6 branching.

  • S2_6 datafile formats frozen 12-Mar-16 -> two years later would be 12-Mar-18 (Currently planned 02-Jan-19)
  • S2_6 network protocol frozen 15-Aug-16 -> two years later would be 15-Aug-18
  • 2.6.0-beta1 released 16-Sep-17 -> two years later would be 16-Sep-19
  • 2.6.0 released 21-Jul-18 -> two years later would be 21-Jul-20

Changes to Development

Ruleset backward compatibility

Freeciv-3.0 must be able to load freeciv-2.6 compatible rulesets. Do not introduce ruleset format changes without providing migration from 2.6 format. There's some hard problems to solve, such as how to make sure mixed-version rulesets, resulting from usage of include-directive, load ok. Another problem is knowing whether something has not been defined in the old ruleset is because it was not needed at the time ruleset was saved (and should now be added), or because it has left out to disable the feature (and should not be added now). Action enablers are a good example of the latter - earlier version may have had hardcoded rule that action is enabled and new version would need action enabler without any requirements to do that.

Changes to ruleset comments should be made to data/ruledit/comments.txt too. That file tells ruledit what kind of comments to save to the ruleset files it writes. Not all comments are there yet, adding them is Work In Progress.

Next Milestone

Next milestones are alpha2 light-weight release Task #740488 followed datafile format freeze (d3f) Task #656466

Database may still contain tickets that have no target at all, while they should be targeted to 3.0.

Tickets against version 3.0.0:

  • 25-Feb-18: 318 issues (255 closed — 63 open)
  • 31-Jul-18: 405 issues (347 closed - 58 open)

Features in Development

Help System Updates for 3.0

Documentation updates for 3.0 (Feature #698198)

Alien ruleset (Alien_World)

Alio tileset

We've got just enough alio-specific gfx to tell if alio is in use instead of amplio2.


The main new feature in development for ruledit is that saved rulesets should be more human readable - especially they should contain the standard documentation comments. This way rulesets that have once been edited with ruledit are more practical to be edited by hand again (for edits that ruledit does not yet support).
It also should serve for the use-case of easily updating 2.6 ruleset to one that can be used in 3.0. Just load the 2.6 ruleset to ruledit (that uses compatibility loading mode, and converts the ruleset) and save it again, in 3.0 format. -> This is now separated to an standalone utility freeciv-ruleup.
Requirements editing is being worked on.

Action Enablers

In 2.6 Action Enablers are used for Diplomat and Caravan actions only. This has been extended to many more activities in 3.0.

Json network protocol

Freeciv-web client and patches server communicate with json protocol. The goal is to remove the need of heavy patching of freeciv networking code when producing server for freeciv-web use.
First phase completed - freeciv can be built so that the server and client communicate with json protocol.
As this serves mainly freeciv-web, and freeciv-web follows master anyway, continuation happens in 3.1.

Compatibility mode for Ruleset loading

See "Changes to Development"


Libicu is now an freeciv requirement, but the code does not take advantage of it much yet. We may even decide to revert it from S3_0, i.e. , postpone to 3.1. One alternative is also making it optional dependency in S3_0.

Scenarios usable with multiple rulesets

Simplified version from the original plan has been implemented. Not likely to get any better in 3.0 timeline.

Threaded AI autosettlers

Not much further changes in S3_0 expected. Threaded AI is built in by default, and as such should not get disruptive changes. Development happens with tex module in master.

Compilation to work with tcc (tiny c compiler)

It turned out non-trivial in S2_6, so we need to re-evaluate it in full release cycle of 3.0.

Memory leak fixes

Regular checking with valgrind to start soon.


First profiling runs with S3_0 being run.


Using MSYS2 based system as Windows Installer build environment. This is in testing.


Cross-compiling experimental Windows Installers. This is in testing.

Spaceship part placing UI

In planning

AI fixing


Postponed to 3.1

Generalized actions

Transition from xxx_Possible effects to Action Enablers

Map object

Unit transportation rule changes

Gettext contexts

Ruleset item obsolescense

Gui for generalized extras

Achievement visibility

Community content is available under CC-BY-SA unless otherwise noted.

Fandom may earn an affiliate commission on sales made from links on this page.

Stream the best stories.

Fandom may earn an affiliate commission on sales made from links on this page.

Get Disney+