|
| 1 | +# Excelize v2.11.0 |
| 2 | + |
| 3 | +* Дата выпуска: 7 июля 2026 г. |
| 4 | + |
| 5 | +## Примечания к выпуску |
| 6 | + |
| 7 | +Наиболее заметные изменения в этом выпуске: |
| 8 | + |
| 9 | +### Совместимость |
| 10 | + |
| 11 | +* Обновлены требования: версия языка Go должна быть 1.25.0 или выше для обновления зависимого пакета `golang.org/x/net` |
| 12 | +* Несовместимые изменения в функциях `AddChart`, `AddChartSheet` и `AddShape` |
| 13 | + * Изменён тип данных поля `Title` структуры `Chart` с `[]RichTextRun` на `ChartTitle` |
| 14 | + * Изменён тип данных поля `Line` структуры `Shape` с `ShapeLine` на `LineOptions` |
| 15 | + * Переименован тип данных `ChartDashType` в `LineDashType` |
| 16 | + * Переименован тип данных `ChartLineType` в `LineType` |
| 17 | + * Переименован тип данных `ChartLine` в `LineOptions` |
| 18 | + |
| 19 | +### Безопасность |
| 20 | + |
| 21 | +* Добавлена проверка номера строки при чтении листа для предотвращения неограниченного выделения памяти (CVE-2026-54063), связанные предупреждения безопасности [#GHSA-h69g-9hx6-f3v4](https://github.com/xuri/excelize/security/advisories/GHSA-h69g-9hx6-f3v4) |
| 22 | +* Предотвращение управляемых злоумышленником выделений памяти путём проверки максимального ограничения переполнения номера строки листа (CWE-400 и CWE-770), связанные предупреждения безопасности [#GHSA-q5j5-6p94-4gwc](https://github.com/xuri/excelize/security/advisories/GHSA-q5j5-6p94-4gwc) |
| 23 | +* Предотвращение паники при получении значения ячейки с недопустимым индексом таблицы общих строк (CWE-248 и CWE-755), связанные предупреждения безопасности [#GHSA-fx5j-qcqg-grpf](https://github.com/xuri/excelize/security/advisories/GHSA-fx5j-qcqg-grpf) |
| 24 | + |
| 25 | +### Примечательные особенности |
| 26 | + |
| 27 | +* Добавлен новый тип данных `ChartTitle` |
| 28 | +* Добавлен новый тип данных `PivotTableShowValuesAs` |
| 29 | +* Добавлено новое перечисление `PivotTableShowValuesAsType` |
| 30 | +* Добавлены 3 новые экспортируемые переменные ошибок: `ErrPivotTableShowValuesAsBaseField`, `ErrPivotTableShowValuesAsBaseItem` и `ErrUnsupportedPivotTableShowValuesAsType` |
| 31 | +* Добавлено новое поле `ShowValuesAs` в тип данных `PivotTableField` |
| 32 | +* Добавлено новое поле `SelectedItems` в типы данных `PivotTableOptions` и `SlicerOptions` |
| 33 | +* Добавлена новая функция `AutoFitColWidth` для поддержки автоматической подгонки ширины столбцов, связанная проблема [#92](https://github.com/xuri/excelize/issues/92) |
| 34 | +* Функция `SetSheetName` позволяет переименовывать листы, если в исходных файлах содержатся недопустимые имена, связанная проблема [#548](https://github.com/xuri/excelize/issues/548) |
| 35 | +* Функция `CalcCellValue` поддерживает критерии с символом подстановки тильда |
| 36 | +* Функция `CalcCellValue` поддерживает неявное пересечение и исправляет привязку критериев регулярных выражений |
| 37 | +* Функция `CalcCellValue` поддерживает трёхмерные ссылки на диапазоны между листами, связанная проблема [#2303](https://github.com/xuri/excelize/issues/2303) |
| 38 | +* Функция `CalcCellValue` поддерживает возврат результата вычисления формулы вместе с исходным значением ячейки, связанная проблема [#2316](https://github.com/xuri/excelize/issues/2316) |
| 39 | +* Функция `AddPivotTable` поддерживает проверку наличия одинаковых полей данных в столбцах, строках и полях фильтрации сводной таблицы для предотвращения создания повреждённой книги |
| 40 | +* Функции `AddPivotTable` и `GetPivotTables` поддерживают установку и получение способа отображения значений полей данных сводной таблицы, связанная проблема [#2340](https://github.com/xuri/excelize/issues/2340) |
| 41 | +* Функции `AddPivotTable`, `AddSlicer`, `GetPivotTables` и `GetSlicers` поддерживают установку и получение выбранных элементов для сводных таблиц и срезов сводных таблиц, связанная проблема [#2154](https://github.com/xuri/excelize/issues/2154) |
| 42 | +* Функции `AddChart` и `AddChartSheet` поддерживают задание заголовка диаграммы с помощью формулы |
| 43 | +* Функции `AddChart` и `AddChartSheet` поддерживают настройку макета заголовка диаграммы и заголовка оси диаграммы |
| 44 | +* Функции `AddChart` и `AddChartSheet` поддерживают настройку формата линии для заголовка диаграммы и заголовка оси диаграммы |
| 45 | +* Функция `AddShape` поддерживает настройку формата линии фигур |
| 46 | +* Функция `NewStyle` поддерживает автоматический цвет переднего плана и фона при создании стиля сплошной заливки, если пользовательский цвет не задан |
| 47 | + |
| 48 | +### Улучшение совместимости |
| 49 | + |
| 50 | +* Исправлено отсутствие отображения диаграмм на листах диаграмм в Excel Online и KingSoft WPS™ Office, связанная проблема [#2273](https://github.com/xuri/excelize/issues/2273) |
| 51 | + |
| 52 | +### Исправление ошибок |
| 53 | + |
| 54 | +* Исправлена регрессия v2.8.1 [#1383](https://github.com/xuri/excelize/issues/1383) |
| 55 | +* Исправлена паника функции `AddChart` при добавлении диаграммы без серий с заливкой |
| 56 | +* Исправлена паника функции `CalcCellValue` при недопустимой ссылке на строку в некоторых случаях, решено в [#2266](https://github.com/xuri/excelize/issues/2266) |
| 57 | +* Исправлено несоответствие точного текста подстрокам при использовании функции `CalcCellValue` |
| 58 | +* Исправлена точность вычислений функции `CalcCellValue` для функций формул BINOM.INV, CHIINV, CHISQ.DIST, IMSECH, IMSQRT и NEGBINOM.DIST |
| 59 | +* Исправлен некорректный результат вычисления функции FREQUENCY в функции `CalcCellValue` в некоторых случаях |
| 60 | +* Исправлен некорректный результат вычислений функции `CalcCellValue` при наличии значений ошибок внутри скобок или операторов, решено в [#2344](https://github.com/xuri/excelize/issues/2344) |
| 61 | +* Исправлено присвоение функцией `AddComment` неверного идентификатора автора всем комментариям, когда автор уже присутствует в списке авторов, решено в [#2289](https://github.com/xuri/excelize/issues/2289) |
| 62 | +* Исправлена потенциальная взаимоблокировка, связанная с тем, что разблокировщик файла не вызывался перед возвратом ошибки |
| 63 | +* Исправлено некорректное применение пользовательского числового формата с масштабированием по запятой, решено в [#2297](https://github.com/xuri/excelize/issues/2297) |
| 64 | +* Исправлена паника при чтении повреждённой книги с недопустимым XML листа через итератор столбцов, решено в [#2299](https://github.com/xuri/excelize/issues/2299) |
| 65 | +* Исправлено отсутствие одинарной кавычки при корректировке формул с внешними ссылками |
| 66 | +* Исправлена ошибка расшифровки книг, защищённых гибким шифрованием ECMA-376 с алгоритмом хэширования SHA512 в некоторых случаях, решено в [#2328](https://github.com/xuri/excelize/issues/2328) |
| 67 | +* Исправлена ошибка функции `SetCellFormula`, при которой метаданные общей формулы не очищались при перезаписи обычной формулой, решено в [#2337](https://github.com/xuri/excelize/issues/2337) |
| 68 | + |
| 69 | +### Оптимизация производительности |
| 70 | + |
| 71 | +* Снижено потребление памяти при чтении незашифрованных книг, потребление памяти итератором строк сокращено до 85% |
| 72 | +* Оптимизировано преобразование координат и производительность некоторых внутренних функций |
| 73 | + * Выделение памяти функцией `ColumnNumberToName` сокращено примерно на 90% |
| 74 | + * Выделение памяти функцией `CoordinatesToCellName` сокращено примерно на 13% |
| 75 | + * Выделение памяти внутренней функцией `isNumeric` сокращено примерно на 68% |
| 76 | + |
| 77 | +### Другие |
| 78 | + |
| 79 | +* Обновлен модуль зависимостей |
| 80 | +* Унитарные тесты и godoc обновлены |
| 81 | +* [Сайт документации](https://xuri.me/excelize) с многоязычностью: арабский, немецкий, английский, испанский, французский, итальянском, японский, корейский, португальский, русский, китайский упрощенный и китайский традиционный, который был обновлен. |
| 82 | +* [excelize-wasm](https://github.com/xuri/excelize-wasm) Обновление выпуска пакета NPM для поддержки WebAssembly / JavaScript |
| 83 | +* [excelize](https://github.com/xuri/excelize-py) Обновление выпуска пакета PyPI для Python |
| 84 | +* [ExcelizeCs](https://github.com/xuri/excelize-cs) Обновление выпуска пакета NuGet .Net для C# |
| 85 | + |
| 86 | +### Спасибо |
| 87 | + |
| 88 | +Спасибо всем участникам Excelize. Ниже приведен список участников, внесших свой код в эту версию: |
| 89 | + |
| 90 | +* @Rynzie02 (Rynzie) |
| 91 | +* @jpoz (James Pozdena) |
| 92 | +* @tvso (Tammy) |
| 93 | +* @yyt030 (yyt) |
| 94 | +* @hwo411 (Igor Khodyrev) |
| 95 | +* @JimLee0921 (TuoLee) |
| 96 | +* @zhuyanhuazhuyanhua (zhuhua) |
| 97 | +* @kenny-not-dead (Roman Sergeev) |
| 98 | +* @debugdoctor (Debug Doctor) |
| 99 | +* @Journeyman150 (Vladislav Anisimov) |
| 100 | +* @ivolkoff (Ivan Volkov) |
| 101 | +* @plandem (Andrey G.) |
| 102 | +* @martskins |
| 103 | +* @shcabin |
| 104 | +* @narasaka (Nathanael Tehilla Gunawan) |
| 105 | +* @lawrence3699 (chaoliang yan) |
| 106 | +* @SAY-5 (Sai Asish Y) |
| 107 | +* @noahchiu22 (Noah) |
| 108 | +* @rootsec1 (Abhishek Murthy) |
| 109 | +* @guangxuewu |
| 110 | +* @AdamDrewsTR (Adam Drews) |
| 111 | +* @grmblfrz (Swen Thümmler) |
| 112 | +* @WaterRRabbit |
| 113 | +* @krystophny (Christopher Albert) |
| 114 | +* @Aprax14 (Damiano Scarpellini) |
| 115 | +* @artur-chopikian (Artur Chopikian) |
0 commit comments