Currently, when the player cuts down a tree, it has a chance of dropping the seed of the tree on the ground. This seed will either get picked up by the player or despawn. But I think it would be a good opportunity to introduce a mechanic for auto-regenerating forests, where if (1) the seed has not been picked up within 10 minutes (or whatever the entity despawn timer is set at), and (2) the block the seed fell on meets certain conditions, the seed will auto-plant and grow a new sapling.
This would avoid entity-spam or performance issues as it is entirely controlled by the player (only cut down trees drop seeds), and the trees would grow the same way wild crops do. If performance was not a concern, this mechanic could be expanded to living trees as well, dropping their seeds on the ground in specific seasons/months.
Conditions for if a seed can auto-plant would be the presence of medium or tall grass (so that forests do not overtake natural grasslands, only clearings created by the player and spots missed during worldgen), and light level (so that saplings don't grow in cramped conditions), in addition to the basic climate checks for each specific species of tree.