Nyx

Change Log

The following is a log of all user-facing changes to Nyx, both released and unreleased. For a monthly report on work being done see my development log.

- Versioning
- Unreleased
- Version 1.x

Versioning

As of the 2.x release Nyx uses semantic versioning, which means that versions consist of three numbers (such as '1.2.4'). These are used to convey the kind of backward compatibility a release has...

- The first value is the major version. This changes infrequently, and indicates that backward incompatible changes have been made (such as the removal of deprecated functions).

- The second value is the minor version. This is the most common kind of release, and denotes that the improvements are backward compatible.

- The third value is the patch version. When a Nyx release has a major issue another release is made which fixes just that problem. These do not contain substantial improvements or new features. This value is sometimes left off to indicate all releases with a given major/minor version.

Prior to version 2.x nyx did not follow any particular versioning scheme.

Unreleased

The following are only available within Nyx's git repository.

From a user perspective little has changed, but this release is nothing less than a complete rewrite of our codebase. This adds long overdue support for python 3.x, test coverage, and migrate from TorCtl to Stem.

Python 2.5 and 2.6 is no longer supported. Hopefully by now nobody will miss it. :P

- Startup
  - Startup is several seconds faster when ran for the first time
  - Halved startup time and reduced memory by caching consensus data to disk
- Graph
  - Graph prepopulation no longer requires shifting to 15 minute intervals
  - Graphing bandwidth as bytes by default, rather than bits
  - Reduced cpu usage of rendering this panel by 60%
- Connections
  - Connections now shown despite DisableDebuggerAttachment
  - Support for showing IPv6 connections
- Logging
  - Reduced log deduplication from an O(n2) operation to constant time
- Interpreter
  - Integrate Stem's richer control interpreter
  - Functional python prompt, like IDLE
- Curses
  - Interface continues to update while awaiting user input
- Website
  - Entirely new website at nyx.torproject.org
  - Added FAQ section
  - Added Configuration section
  - Added Contact section

Version 1.x

Prior to its 2.x release Nyx went under the name of arm. This series was under active development 2009 to 2012. Changelog for the series is available here.