TortoiseHg follows Mercurial's release schedule for major feature releases. We try to do stable releases at least once a month to push bug fixes out to users in a timely fashion.
Roughly every four months (thrice a year), we will take the development branch (default), merge it to the stable branch, and release it as a new feature release. In between these feature releases, there will be multiple maintenance releases since most of our users install our binary packages and cannot easily get bug fixes any other way.
The first incremental release after a feature release may contain behavioral or layout changes as we provide polish to the new features added in that feature release. The following incremental releases should be pure bug-fix releases.
Before each feature release, we will progressively lock down the code:
- -2 weeks - feature freeze, merge default to stable, bug fixes only
- -1 week - no new translatable strings on stable
- -3 days - code freeze on stable. Documentation and installer changes only
- Merge wizard refactor to not use a QStackedWidget (done)
- patchctx refactor - use patch.py for initial parse, then record only for shelve (tried, did not help)
- Refactor bisect, compress, rebase and backout as QWizard dialogs (backout completed)
- Refactor wctxactions, actions should be owned by StatusWidget and use cmdui.Runner (started)
- Use status widget's file tree in MQ widget
- Merge HgFileView and AnnotateWidget into a single file (done)
- Switch ManifestWidget to use an HgFileView (done)
- Add a file filter to manifest widget, same as status
- Remove standalone annotate dialog, use manifest dialog for that purpose (done)
- Move 'other parent' feature from filelistmodel to HgFileView (done)
- filelistview should forward menu events to parent repowidget or chunks widget (done)
- Use Qt's filesystem monitor to inform user when status view is dirty
- Also use Qt's filesystem monitor to replace poll functions in thgrepo, etc
- Investigate whether HgFileView can be used as an editor for wctx in status widget
- Investigate a per-repository tab log console
- Subrepository support in Repository Registry
- Subrepository support in manifest