Spec-Zone.ru › Web Extensions

Форматы версий устаревшего формата

На этой странице описаны форматы строк версий устаревших веб-расширений. См. документацию по ключу версии версии манифеста для получения информации о текущем формате строки версии.

Номер версии Firefox устаревшего формата

Строка версии состоит из одной или нескольких частей версии, разделенных точками.

Каждая часть версии анализируется как последовательность четырёх частей: <number-a><string-b><number-c><string-d>. Каждая из частей является необязательной. Числа — целые числа в десятичной системе (могут быть отрицательными), а строки — нечисловые символы ASCII.

Вот несколько примеров допустимых частей версии:

  • 0 (как в 1.0): <number-a>=0
  • 5a (как в 1.5a): <number-a>=5, <string-b>=a
  • 5pre4 (как в 3.5pre4): <number-a>=5, <string-b>=pre, <number-c>=4
  • * (как в 1.0.*): <string-b>=*

Для обеспечения обратной совместимости и удобочитаемости применяются некоторые специальные правила анализа:

  • если часть версии — одиночная звёздочка, она интерпретируется как бесконечно большое число: 1.5.0.* эквивалентно 1.5.0.(infinity)
  • если строка b — знак плюс, число a увеличивается для совместимости с форматом версии Firefox 1.0.x: 1.0+ эквивалентно 1.1pre

Причина разделения части версии на последовательность строк и чисел заключается в том, что при сравнении частей версии числовые части сравниваются как числа, например, '1.0pre1' < '1.0pre10', в то время как строки сравниваются побайтово. Подробности о сравнении версий см. в следующем разделе.

Начиная с Firefox 108, веб-расширения, использующие эту строку версии, вызывают предупреждение при установке.

Сравнение версий

При сравнении двух строк версии их части сравниваются слева направо. Пустая или отсутствующая часть версии эквивалентна 0.

Если в какой-то момент часть версии одной строки версии больше соответствующей части другой строки версии, то первая строка версии больше другой.

В противном случае строки версии равны. Поскольку отсутствующие части версии рассматриваются так, как если бы они были 0, эти строки версии равны: 1, 1.0, 1.0., 1.0.0, и даже 1.0...

Сравнение частей версии

Части версии также сравниваются слева направо; части A и C сравниваются как числа, а части B и D — побайтово. Существующая строковая часть всегда меньше строковой части, которая отсутствует (1.6a меньше, чем 1.6).

Примеры

1.-1
< 1 == 1. == 1.0 == 1.0.0
< 1.1a < 1.1aa < 1.1ab < 1.1b < 1.1c
< 1.1pre == 1.1pre0 == 1.0+
< 1.1pre1a < 1.1pre1aa < 1.1pre1b < 1.1pre1
< 1.1pre2
< 1.1pre10
< 1.1.-1
< 1.1 == 1.1.0 == 1.1.00
< 1.10
< 1.* < 1.*.1
< 2.0

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/version/format

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API