Принципы ведения версий

Разработка всегда или почти всегда будет вестись параллельно в двух ветках

  • Стабильная версия
    • Тестируется перед выходом на большом объеме данных (в случаях, когда это возможно и разумно - на совпадение с референсной имплементацией в лице dcraw)
    • После выпуска версии - API этой ветки фиксируется, насколько это возможно
    • Новая функциональность не добавляется (исключение: функциональность была объявлена при стабилизации ветки, но не работала)
  • Девелоперская версия или даже версии
    • Тестируется на минимальном объеме данных, для скорости, проверяется работоспособность.
    • Разрабатывается под одной платформой (как правило, Unix), собираемость на других не гарантируется.
    • Критичными ошибками, исправляемыми в первую очередь, считаются некомпилируемость на какой-то из основных платформ (Unix, Win32, Mac OS) и фатальные ошибки при работе.
    • Стабильность API внутри одной девелоперской версии не гарантируется, хотя по-возможности новые варианты API будут замораживаться и документироваться одновременно с появлением очередной девелоперской major-версии.

Форумы: