On 7/9/21 6:54 PM, Vadim Zeitlin wrote:
> ... I'd like to finally either do it or decide that we're not going
> to do it at all because this change should be done before 3.2.0 and would
> appreciate your thoughts about this...
Off-topic: I think the actual problem here is that the release cycle of
wxWidgets doesn't match development practices/needs of 2021.
It also doesn't match the time the wxwidgets developers can dedicate to
the project.
I think you should first adjust that.
I think you should drop this feature-based-release style and switch to
time-based release style.
I think you should release:
1. a stable version every 3 or 6 months - these releases should contain
whatever is backported to the stable branch.
2. a new stable branch should be made every 1 or 2 years, just create a
branch with whatever has landed in master, stabilize it for a month and
release.
Benefits:
1. new code lands in peoples hands more often. Code::Blocks suffered a
lot in the 2.8 to 3.0 transition. We started it late and I think we
still have some regressions, because there were a lot of silent
(run-time) only breakages (most of them caused by our incorrect api use).
2. you can do api/abi breaking decisions more often.
3. deprecating stuff and then removing it could happen more often. Or
the decision could be reverted faster.
Problems:
1. you'll have to land fewer or incomplete features sometimes
2. you'll have to do more work doing releases, but you still do it for
the 3.1.x releases at the moment... you've already done 5 since 3.0
landing, so I suppose it will be the same.
And for downstream projects this is already how we operate - we're using
the unstable branch where we can - MSW and Cocoa.
But there is that added burden of linux support where we're stuck with
the stable branch.
Sure we'll be stuck on older stable releases in the new scheme...
I'm just a bystander watching how every target release day is missed
with years. :)
end off-topic;
On topic:
Code::Blocks is using wxRegEx quite a lot, if you give me a branch I
could probably do some testing.
A speed boost would be welcome also.
I suppose it will be best if you switch to PCRE, but provide some API
and env vars which allow the user/application to disable it.
I'm not sure it makes sense to have a per use flag for
disabling/enabling it or the api provides just global control.
Best regards,
Teodor