We make basically no attempts to estimate how long a feature is going to take and then update those estimates along the way. An individual feature could take a few days to implement or several months (years even). Periodic check-ins are completely independent of the 4-week release cycle.
Every 4 weeks, we release whatever has been merged in the last 4 weeks. One dev might have 8 independent changes in a release or 0. We typically have a handful of significant changes that land each release and a bunch of minor improvements. Still, there's not much effort to estimate when any particular feature might land.
When a large feature is getting close to completion, the dev might choose to push a little bit to hit a particular release. There's not really any external pressure to do that, though.
That's still a sprint?