Форматы версий устаревшего формата
На этой странице описаны форматы строк версий устаревших веб-расширений. См. документацию по ключу версии версии манифеста для получения информации о текущем формате строки версии.
Номер версии 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