Vidalia versions

The versioning scheme is the following: every 0.x.y where x is an odd number, it is an alpha release. When x is an even number, it's a stable release.

Every stable release will only have bugfixes, all new features will go to the next alpha release.

For example, the current Vidalia stable is 0.2.y, and the alpha is 0.3.y. When 0.3.y is good enough for stable, it will become 0.4.y. At this point all the new features will go to 0.5.y.

Vidalia Roadmap

This roadmap focuses on Vidalia 0.3.x on.


  • Remember old values from settings only stored in torrc (commented out like this #*key val # and may be has a comment)
  • Improve code quality: use the pImpl idiom for certain classes, remove leaks (QSharedPointer), constify, move declarations
  • DONE Finish TorControlPrototype
  • Improve CMake scripts to only generate the .pot files
  • Add Vidalia the capability of controlling remote tor
  • DONE Add safecookie support
  • Add custom support for Ubuntu (see here on how to detect a Unity desktop)
    • May be create an applet that communicates through a DBus interface (Tutorial)
    • See here for how to whitelist the tray icon.
  • Add custom support for KDE (Plasma)
  • Create some more OSX like icons for the system tray (in OSX, obviously).
  • Add support for Win7 special taskbar features (see GPL lib, other example, forum post, etc.)
  • DONE Add TorrcPrototype [GSoC]
  • Implement a generic way to check if every torrc option is valid for the currently running version.
  • Improve the Bandwidth Graph as suggested by Ticket #3011
  • Add QtScript's debugger to the interface. [GSoC]
  • Create the code infrastructure to have self documented config options for vidalia.conf. This would mean may be a macro to declare new config options so that the configuration can be generated automatically at runtime.
  • DONE Figure out qtscriptgenerator enough so that we don't have to generate Vidalia's internal prototypes for qtscript by hand.
  • Restructure NetViewer router loading for better performance (hint: create a QList of RouterListItems, load all of them together and update after that for other info).

Core (0.5.x)

  • Plugin manager UI. Handle plugins as zipfiles (QByteArray::qCompress, may be create an XML with all the compressed bytearrays and compress that?).
  • Remove the miniupnpc dep for tor-fw-helper (actually, add an ifdef switch, don't remove completely)


  • Create the scheduling bandwidth plugin [GSoC]
  • DONE Create hidden services configuration plugin [GSoC]


  • Strip down qtscriptgenerator
  • Create a script to keep tor's config/names up to date in TorrcParser with the latest tor alpha
  • Create a script to update and enable translations automatically


  • DONE How to get started coding tutorial (see Ticket #2925)
  • DONE Tutorial: how to create a plugin
  • Plugin function reference + Qt script reference
Last modified 7 years ago Last modified on Aug 7, 2012, 1:25:03 AM