1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-dash

Клонировать/Скачать
CHANGELOG.md 210 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 06.06.2025 19:09 7fbb8c4

Журнал изменений для Dash

Все значимые изменения в dash будут документироваться в этом файле. Этот проект следует Семантическому Версионированию.

[НЕОПУБЛИКОВАННОЕ]

Исправлено

  • #3279 Исправлена проблема, при которой сохраненные значения неправильно удалялись при обновлении через callback. Теперь значения, возвращаемые callback, правильно сохраняются в хранилище персистентности. Исправление #2678
  • #3298 Исправлена фильтрация ресурсов dev_only.
  • #3315 Исправлена проверка модуля pages на наличие пакета.

Добавлено

  • #3294 Добавлена возможность передачи allow_optional в Input и State для возможности работы callback даже если эти компоненты не включены в структуру dash.

[3.0.4] - 2025-04-24### Исправлено

  • #3278 Исправлена проблема с загрузкой селектора с детьми, начинающимися с одной и той же цифры. Исправление #3276
  • #3280 Удалён импорт типа flask, недоступного в более ранних версиях.
  • #3284 Исправлена проблема с компонентами как props, имеющими одинаковый ключ при использовании в одном контейнере.
  • #3287 Исправлена генерация типов компонентов и явное указание аргументов.
  • #3282 Исправлена неправильная отмена длинных callback, сопоставленных с шаблоном.
  • #3289 Исправлена проблема с debugTitle, где статус не существует и allow_duplicates игнорирует хэш для загрузки prop в цели.
  • #3281 Использование routes_pathname_prefix для внутреннего URL Alive в приложении Dash. Исправление #3270## [3.0.3] - 2025-04-14

Исправлено

  • #3264 Исправлена проблема, при которой перемещение компонентов внутри дочерних элементов не обновляло путь setProps, что приводило к некорректным хэшам
  • #3265 Исправлена проблема, при которой изменение размера графиков отменяло другие изменения
  • #3273 Исправлено вхождение точки входа для хуков, переименовано с недопустимого дефиса dash-hooks на подчеркивание dash_hooks. Исправлено #3272
  • #3271 Исправлена проблема с стилизацией подсказок. Исправлено #3269

Добавлено

  • #3268 Добавлена возможность для разработчиков компонентов подписаться на обновления потомков, установив dashChildrenUpdate = true на компоненте, например: Tabs.dashChildrenUpdate = true

[3.0.2] - 2025-04-01## Изменено

  • #3113 Адаптированы фоновые запросы на получение данных, что позволяет контексту передаваться нормально. Это решение проблемы #3111
  • #3248 Изменения в логике рендеринга:
    • если это первый рендеринг, рендеринг происходит из свойств родителя
    • слушает только обновления для данного компонента, дети не слушают родителей
    • если родитель изменяет свойство с компонентами в качестве свойств, рендерится только изменённое свойство, затем это обновление навязывается всем детям, независимо от того, изменились ли их свойства## Исправлено
  • #3251. Предотвращено перекрытие стандартных стилей свойств className_* в компоненте dcc.Upload.

Добавлено

  • #3248 добавлен новый dashRenderType для определения причины изменения макета компонента (internal, callback, parent, clientsideApi):
    • это можно использовать для предотвращения рендеринга компонентов, если компонент имеет определённый dashRenderType в качестве свойства, и dashRenderType = true установлен на компоненте, например (Div.dashRenderType = true)
  • #3241 Добавлены кнопки для сворачивания/разворачивания Dash Dev Tools.

[3.0.1] - 2025-03-24

Исправлено

  • #3239 Удалена зависимость stringcase, исправлено #3238
  • #3232 Добавлена обработка ошибок при отключённом localStorage

[3.0.0] - 2025-03-17## Добавлено

  • #2276 Добавлен статический тип данных для свойств компонентов на Python.
    • #3152 Пользовательский тип данных для свойств компонентов библиотеки.
      • Добавлен аргумент -t, --custom-typing-module в CLI dash-generate-components, по умолчанию dash_prop_typing и может содержать определения в переменных:
        • custom_imports: dict[ComponentName, list[str]] - инструкции импорта для копирования в начало определения класса компонента.
        • custom_props: dict[ComponentName, dict[PropName, function]] - для пользовательских свойств. Подпись функции: def generate_type(type_info, component_name, prop_name) -> str
    • #3035 Генерация PropType для компонентов на Typescript, позволяющая проверку свойств в режиме отладки.
    • #3121 Переработка и добавление проверки версии в инструменты разработчика.
    • #3029 Добавление хуков на основе pip install для функциональности Dash.
      • Пакеты могут добавить entry_points с ключом dash-hooks в их setup.py для запуска модуля при запуске Dash-приложения.
      • Добавлены методы dash.hooks для подключения к Dash-приложениям.
        • hooks.layout принимает аргументом макет и должен возвращать макет, может использоваться для обертывания или добавления к макету Dash-приложений.
        • hooks.callback определяет обратный вызов для добавления в Dash-приложения.
        • hooks.clientside_callback определяет клиентский обратный вызов для добавления в Dash-приложения.```markdown
  • Используйте setup перед запуском Dash-приложения для получения экземпляра приложения в качестве первого аргумента.
  • Используйте hooks.error для получения всех ошибок обратных вызовов.
  • Используйте hooks.index для изменения Dash.index_string.
  • Используйте hooks.route для добавления маршрута Flask к Dash-приложению.
  • Используйте hooks.custom_data для добавления пользовательских данных, вызываемых из маршрута обратного вызова, к пользовательскому обратному вызову. #3175
  • Используйте window.dash_component_api для разработчиков компонентов как альтернатива удалённым _dashprivate свойствам. #3066
  • Используйте dash_component_api.useDashContext, dash_component_api.DashContext для доступа к хранилищу Redux и механизмам загрузки.
    • DashContext.componentPath содержит путь к текущему компоненту.
    • DashContext.useLoading(options?) селектор для получения булева значения, указывающего на загрузку компонента.
  • Используйте isLoading в случае необходимости использования вне функционального компонента.
  • Используйте DashContext.useSelector для создания пользовательских селекторов для подключенного redux-магазина.
  • Используйте DashContext.useStore для получения redux-магазина приложения Dash.
  • Используйте DashContext.useDispatch для отправки новых действий в redux-магазин Dash.
  • Используйте dash_component_api.getLayout(path) для замены _dashprivate_layout.
  • Expose stringifyId in window.dash_component_api. #3175
  • Используйте window.dash_component_api. ExternalWrapper` для рендеринга компонентов Dash, которые не являются частью дерева компонентов. [#3170](https://github.com/plotly/dash/pull/3170) [#3183](https://github.com/plotly/dash/pull/3183) ## Удалено```- #3066 loading_state удалено из props компонентов.
  • #3078 Удаление устаревших элементов
    • Удалено dash.development.component_loader, теперь компонентные библиотеки требуются для генерации компонентов с помощью dash-generate-components.
    • Dash.run_server удален в пользу Dash.run.
    • Удален компонент dcc.LogoutButton.
    • Все ссылки на long переименованы в background.
    • Удалены stub-пакеты dash_core_components, dash_html_components и dash_table из требований установки dash.

Изменено

  • #3093 Изменено значение по умолчанию для версии React на 18.3.1
    • defaultProps для функциональных компонентов теперь выдает предупреждение об устаревании.
    • Предупреждение об устаревании для строковых ссылок.

Добавлено

  • #3068 Добавлены заголовки к меткам в компонентах Checklist и RadioItems

Исправлено- #3080 Исправлено генерирование строк документации для компонентов, использующих односимвольные или нестандартно отступленные комментарии

  • #3103 Исправлено зависание компонента Graph при передаче недействительной фигуры
  • #3190 Исправлено проблему с генерацией ключа кэша, добавлена опция для включения вызвавших событий. Исправляет #3189
  • #3130 Исправлено значение переменной HOST при использовании conda
  • #3066 Улучшено производительность перерисовки контекстных компонентов
  • #3171 JupyterDash Исправление - Проверка работоспособности
  • #3168 Исправлено совпадение клиентской стороны с точкой в id## [3.0.0-rc4] - 2025-03-04

Исправлено

  • #3197 Исправлено, что начальные props не обновляются в setProps, что не позволяет снова установить начальное значение props.
  • #3183 Исправлено, что внешний обёртыватель требует id.
  • #3184 Исправлено проблему с цветом кнопки темного режима в devtools и другие исправления UI для проверки версий.
  • #3197 Улучшение сериализации путей в строку для layout path sum.

[3.0.0-rc3] - 2025-02-21

Добавлено

  • #3121 Переработка и добавление проверки версии в инструменты разработчика.
  • #3175 Добавление хука custom_data.
  • #3175 Улучшение ошибки для удаленного атрибута Dash app, run_server и long_callback.
  • #3175 Expose stringifyId в window.dash_component_api.

Исправлено

  • #3175 Исправление рендеринга ExternalWrapper дочерних элементов и поддержка pattern matching ids.

[3.0.0-rc2] - 2025-02-18

Добавлено- #3152 Пользовательские типы props Python для библиотеки компонентов.

  • Добавлен аргумент -t, --custom-typing-module к CLI dash-generate-components, по умолчанию dash_prop_typing и может содержать определения в переменных:

    • custom_imports: dict[ComponentName, list[str]] инструкции импорта для копирования в начало определения класса компонента.
    • custom_props: dict[ComponentName, dict[PropName, function]] для пользовательских props. Подпись функции: def generate_type(type_info, component_name, prop_name) -> str
  • #3170 Добавление window.dash_component_api.ExternalWrapper для рендера компонентов Dash, которые не являются частью дерева layout.## Исправлено

  • #3142 Исправление генерации типов для props id и dates.

  • #3164 Исправление типов для прогресса и отмены фоновых callback.

  • #3157 Исправление приоритета хуков.

[3.0.0-rc1] - 2025-01-28## Добавлено

  • #2276 Генерация определений типов Python для методов __init__ компонентов.
  • #3035 Генерация PropType для компонентов Typescript, что позволяет выполнять проверку свойств в режиме отладки.
  • #3066 Добавление window.dash_component_api для разработчиков компонентов как альтернативы удалённым _dashprivate свойствам.
    • Добавление dash_component_api.useDashContext, dash_component_api.DashContext для доступа к хранилищу Redux и механизмам загрузки.
      • DashContext.componentPath содержит путь к текущему компоненту.
      • DashContext.useLoading(options?) селектор для получения логического значения, указывающего на загрузку компонента.
      • DashContext.isLoading в случае необходимости использования вне функционального компонента.
      • DashContext.useSelector для создания пользовательских селекторов для подключённого хранилища Redux.
      • DashContext.useStore для получения хранилища Redux приложения Dash.
      • DashContext.useDispatch для отправки новых действий в хранилище Redux приложения Dash.
    • Добавление dash_component_api.getLayout(path) для замены _dashprivate_layout.
  • #3029 Добавление хуков на основе pip install для функциональностей Dash.
    • Пакеты могут добавить entry_points с ключом dash-hooks в их setup.py для запуска модуля при запуске приложения Dash.
    • Добавление методов dash.hooks для подключения к приложениям Dash.
      • hooks.layout принимает layout в качестве аргумента и должен возвращать layout, может использоваться для обёртки или добавления к layout приложений Dash.
      • hooks.callback определяет обратный вызов для добавления в приложения Dash.
      • hooks.clientside_callback определяет клиентский обратный вызов для добавления в приложения Dash.
      • hooks.setup вызывается перед запуском приложения Dash для получения экземпляра приложения как первого аргумента.
      • hooks.error для получения всех ошибок обратных вызовов.
      • hooks.index для изменения Dash.index_string.
      • hooks.route для добавления маршрута Flask к приложению Dash. ## Удалено- #3066 loading_state удалено из props компонентов.
  • #3078 Удаление устаревших элементов
    • Удалено dash.development.component_loader, теперь библиотеки компонентов требуются для генерации компонентов с помощью dash-generate-components.
    • Dash.run_server удален в пользу Dash.run.
    • Удален компонент dcc.LogoutButton.
    • Все ссылки на long переименованы в background.

Изменено

  • #3093 Изменено значение по умолчанию для версии React на 18.3.1
    • defaultProps для функциональных компонентов теперь выдает предупреждение об устаревании.
    • Предупреждение об устаревании для строковых ссылок.

Исправлено

  • #3080 Исправлено генерирование строк документации для компонентов, использующих односимвольные или нестандартно отступленные комментарии.
  • #3103 Исправлено, если в компонент Graph передается недопустимая фигура, он становится недоступным.
  • #3190 Исправлено проблему с генерацией ключа кэша, добавлена опция для включения вызвавших событий входных данных. Исправляет #3189.
  • #3130 Исправлено значение переменной HOST при использовании conda.
  • #3066 Улучшено производительность перерисовки контекстных компонентов.## [2.18.2] - 2024-11-04

Исправлено

  • #2939 Исправляет ошибку с пробелами в DataTable при merge_duplicate_header=True. Исправляет #2870.
  • #2994 Сохраняет порядок сгенерированных doc-string для свойств типа shape или exact. Исправляет #2990.
  • #3011 Исправляет исключение, возникающее при присвоении None свойствам типа массив с элементами типа exact или shape. Исправляет #3010.
  • #2991 Добавляет поддержку URL-декодирования параметра поиска для страниц.
  • #3025 Исправляет отсутствие вывода callback при настройке обработчика ошибок, который устанавливает ответ в NoUpdate и вызывает ошибку.
  • #3034 Удаляет пробелы из файлов metadata.json для уменьшения размера пакета.
  • #3009 Улучшение производительности для паттерн-матчинг callback.
  • #3028 Исправляет поддержку jupyterlab v4.
  • #2926 Исправляет defaultProps компонентов для react 18.3.1.
  • #3051 Добавляет недостающие данные запроса в контекст callback. Исправляет #2235.

[2.18.1] - 2024-09-12

Устранено- #2987 Исправлено требование одинакового количества no_update для multioutput. Исправляет #2986

  • #2988 Исправлено обработчик ошибок и группированные выходы. Исправляет #2983

  • #2841 Исправлено определение типов при инициализации Dash.

  • #1548 Включено изменение URL Selenium, исправляет поддержку Selenium Grid.## Устаревшие

  • #2985 Устаревшее использование динамического загрузчика компонентов.

  • #2985 Устаревшее использование run_server, используйте run вместо него.

  • #2899 Устаревшее использование dcc.LogoutButton, можно заменить на html.Button или html.A. Например: html.A(href=os.getenv('DASH_LOGOUT_URL')) на экземпляре Dash Enterprise.

  • #2995 Устарели ключевые слова Dash.__init__:

    • Устаревшее ключевое слово plugins будет удалено.
    • Старое ключевое слово long_callback_manager будет удалено, можно использовать background_callback_manager вместо него.

[2.18.0] - 2024-09-04

Добавлено- #2881 Добавлен outputs_list в window.dash_clientside.callback_context. Исправляет #2877.

  • #2903 Добавлен обработчик ошибок on_error, как глобально при инициализации Dash, так и на основе каждого отдельного вызова. Получает исключение в качестве первого аргумента, может вернуть выходные данные или None для no_update. Доступ к исходному контексту вызова сохраняется и set_props работает внутри обработчика ошибок.
  • #2936 Добавлена поддержка TypeScript 5.5+.
  • #2789 Добавлена возможность загрузки библиотек в _allow_dynamic_callbacks.
  • #2898 Исправлено исключение, выбрасываемое при использовании несуществующих компонентов в вызове функции callback. Исправляет #2897.
  • #2892 Исправлено, чтобы опция maxHeight для меню dcc.Dropdown работала с Datatable. Исправляет #2529 #2225.
  • #2896 Параметр tabIndex компонента Div может принимать числовое или строковое значение. Исправляет #2891.
  • #2900 Разрешены строки в списке layout. Исправляет #2890.
  • #2908 Исправлено игнорирование переменных окружения функцией Dash.run() во время выполнения. Исправляет #2902.
  • #2888com/plotly/dash/pull/2888) Добавлен идентификатор к DOM-элементу dcc.Loading. Исправляет #2878
  • #2922 Исправлено поведение хэш-функции фонового callback при отсутствии источника. Исправляет #1885
  • #2915 Исправлено исключение AttributeError, возникающее при использовании функции layout, которая возвращает список компонентов. Исправляет #2905
  • #2956 Добавлен недостающий параметр useEffect-зависимости к компоненту dcc.Loading.
  • #2909 Перезагруженный компонент dcc.Markdown при обновлении. Исправляет #2895

[2. 17. 1] - 2024-06-12## Исправлено

  • #2860 Исправлено поведение dcc.Loading, чтобы overlay_style применялся только к дочерним элементам, а не к спиннеру. Исправляет #2858.
  • #2854 Исправлено поведение dcc.Dropdown, чтобы пустые значения не сбрасывались в null и не вызывали обратные вызовы. Исправляет #2850.
  • #2859 Исправлены базовые операторы патча. Исправляет #2855.
  • #2856 Исправлено поведение множественных последовательных вызовов с одинаковым id для set_props, чтобы оставался только последний набор свойств. Исправляет #2852.
  • #2867 Исправлено поведение клиентских обратных вызовов без выходных данных. Исправляет #2866.
  • #2876 Исправлено поведение соответствия шаблонов в аргументах обратных вызовов. Исправляет #2863.

[2.17.0] - 2024-05-03

Добавлено- #2832 Добавлен маршрут запуска приложения при инициализации Dash.

  • #2819 Добавлены дополнительные параметры, передаваемые родительским компонентом, для подкомпонентов Dash. Исправляет #2814.

  • #2826 При использовании страниц, теперь можно использовать app.title и (новое) app.description как значения по умолчанию для заголовка и описания страницы. Исправляет #2811.

  • #2795 Добавлена возможность передачи списка компонентов в качестве layout.

  • #2760 Новые добавления к dcc.Loading, решающие несколько проблем:

    • delay_show и delay_hide свойства для предотвращения мигания при кратковременных периодах загрузки (похоже на Dash Bootstrap Components dbc.Spinner)
    • overlay_style для стилизации перекрывающегося слоя загрузки, например, для установки видимости и прозрачности для дочерних элементов
    • target_components для указания компонентов/свойств, которые вызывают спиннер загрузки
    • custom_spinner для использования пользовательского компонента вместо встроенных спиннеров
    • display для перекрытия статуса загрузки с опциями "show", "hide" или "auto"
  • #2822 Добавление глобальной set_props. Исправляет #2803## Исправлено

  • #2362 Глобальное пространство имен больше не загрязняется при загрузке callback-ов на стороне клиента.

  • #2833 Разрешение использования data URL в свойствах ссылки. Исправляет #2764

  • #2822 Исправление dict IDs для обновления по бокам (запуск/прогресс/отмена). Исправляет #2111

  • #2817 Изменение алгоритма хеширования с md5 на sha256. Исправляет #2697

  • #2816 Исправление обновления значения dcc.Dropdown при удалении опции. Исправляет #2733

  • #2823 Исправление ошибки None в методах "wait", что приводило к неправильному прохождению тестов. Исправляет #2818

[2.16.1] - 2024-03-06

Исправлено

  • #2783 Удаление динамической загрузки.

[2.16.0] - 2024-03-01

Исправлено

  • #2756 Предотвращение ложного предупреждения о потенциально опасной ссылке. Исправляет #2743
  • #2752 Исправление проблемы с сборкой на Windows, для первой сборки на Windows разработчик должен использовать npm run first-build

Изменено- #2734 Настройка CI для Python 3.10 #1863

  • #2735 Настройка CI для Python 3.8 и 3.12, прекращение поддержки Python 3.6 и Python 3.7 #2736

Добавлено

  • #2762 Добавлена динамическая загрузка библиотек компонентов.
    • Добавьте dynamic_loading=True в инициализацию dash.
    • Добавьте preloaded_libraries=[] в инициализацию dash, имена включенных библиотек будут загружены на индекс, как и раньше.
  • #2758
    • Exposing setProps to dash_clientside.clientSide_setProps to allow for JS code to interact directly with the dash ecosystem
  • #2730 Загрузка файлов скриптов с расширением .mjs как модулей JS
  • #2770 Добавлена возможность запуска регулярных обратных вызовов.

[2.15.0] - 2024-01-31## Добавлено

  • #2695 Добавляет triggered_id к dash_clientside.callback_context. Исправляет #2692
  • #2723 Улучшает подсказки для dcc Slider/RangeSlider. Исправляет #1846
    • Добавляет tooltip.template строку для шаблона формата, {value} будет отформатировано с фактическим значением.
    • Добавляет tooltip.style объект стиля для передачи диву подсказки.
    • Добавляет tooltip.transform ссылку на функцию в пространстве имен window.dccFunctions.
  • #2732 Добавляет специальное ключевое слово _dash_error к setProps, позволяющее разработчикам компонентов отправлять ошибки без выбрасывания исключений в рендере. Использование props.setProps({_dash_error: new Error("custom error")})

Исправлено

  • #2732 Очищает HTML-свойства, уязвимые для атак XSS, если в них вставляются данные пользователя. Исправляет проверку URL для предотвращения атак XSS #2729

Изменено

  • #2652 dcc.Clipboard поддерживает html_content и запускает копирование в буфер обмена при изменении n_clicks
  • #2721 Удаляет ansi2html, исправляет #2613

[2.14.2] - 2023-11-27

Исправлено

  • #2700 Исправляет _allow_dynamic_callbacks для новых компонентов.

[2.14.1] - 2023-10-26

Исправлено- #2672 Исправляет get_caller_name в случае, если источник недоступен.

Изменено

  • #2674 Увеличивает ограничения flask & werkzeug до <3.1

[2.14.0] - 2023-10-11

Исправлено

  • #2634 Исправляет предупреждение о deprication на pkg_resources, исправляет #2631

Изменено

  • #2635 Получает правильное имя модуля приложения, убирает необходимость передачи __name__ конструктору Dash.
  • #2647 routing_callback_inputs позволяет передавать больше аргументов Input и/или State в callback маршрутизации страниц.
  • #2649 Добавление _allow_dynamic_callbacks, регистрация новых callback внутри других callback. ВНИМАНИЕ: создание динамических callback может быть опасным, используйте на свой страх и риск. Это не предназначено для использования в приложении на production, многопользовательском или многопоточном режиме, так как это работает только для одного пользователя.

[2.13.0] - 2023-08-28

Изменено

  • #2610 Загрузка пакета plotly.js из plotly.py

Добавлено

  • #2630 Новые хуки разметки в рендерере

[2.12.1] - 2023-08-16

Исправлено

  • #2625 Исправление фоновых callback-ов без аргументов отмены, исправление #2624## [2.12.0] - 2023-08-14

Исправлено

  • #2619 Исправление для dash-table column IDs, содержащих специальные символы
  • #2616 Добавление отображения опции компилятора tsconfig moduleResolution, исправление #2618
  • #2596 Исправление react-dom, выбрасывающего ошибку уникального ключа для таблицы markdown, исправление #1433
  • #2589 CSS для элементов ввода не ограничивается приложением Dash
  • #2599 Исправление фоновых callback-ов с отменой, используемой в нескольких callback-ах и смешанных отменах между страницами

Изменено

  • #2593 dcc.Input принимает число для аргумента debounce

Обновлено

  • #2621 Обновление plotly.js до версии 2.25.2 с 2.24.2
    • Версионное обновление 2.25.0, добавление проекта "Equal Earth", опции для включения легенд для фигур, Plotly.deleteActivateShape.
    • Патчное обновление 2.24.3 Исправление двойных щелчков и групп легенд.
    • Патчное обновление 2.25.1 Исправление очистки легенды с помощью react.
    • Патчное обновление 2.25.2 Исправление потенциального загрязнения прототипа в вызовах API plot.## [2.11.1] - 2023-06-29

Исправлено

  • #2573 Отключение Jupyter Dash в Databricks, так как реализация здесь не работает в ноутбуке Databricks. Пользователи Dash Enterprise могут использовать отдельный пакет databricks-dash для этой цели.

Изменено

  • #2573 Используйте команду julia --project внутри JuliaRunner.
  • #2579 Добавьте предупреждение при использовании JupyterDash.

[2.11.0] - 2023-06-23

Добавлено

  • #2530 Объедините репозиторий JupyterDash с Dash.
    • Добавьте аргумент jupyter_mode к app.run, по умолчанию inline и настраиваемый через jupyter_dash.default_mode.
    • Добавьте префиксированные аргументы из JupyterDash к app.run: jupyter_width, jupyter_height, jupyter_server_url.

Исправлено

  • #2555 Исправьте работу кнопки "Назад" браузера при удалении одного из нескольких компонентов location из layout, исправьте #1312.
  • #2565 Исправьте сортировку для более чем 10 страниц, исправьте #2564.

Обновлено

  • #2474 Обновите plotly js до 2.24.2 с 2.23.2.
    • Функциональное обновление 2.24.0 добавляет шаблон к pie, funnelarea, sunburst, icicle и treemap трэйсам.
    • Патчное обновление 2.24.1 и 2.24.2.## [2.10.2] - 2023-05-31

Изменено

  • Установите верхний предел версий Flask и Werkzeug на <2.3.

[2.10.1] - 2023-05-30

Исправлено

  • #2545 Исправьте генерацию TypeScript objectOf.
  • #2548 Исправьте вызовы обратных вызовов компонента как props, которые не являются ответом, исправьте #2487.

[2.10.0] - 2023-05-25

Изменено

  • #2538 Добавьте верхний предел версий Flask и Werkzeug на <2.2.3, так как ожидается, что экосистема Dash будет несовместима с следующим минорным выпуском Flask (исключая текущий последний выпуск Flask 2.3.x). Мы повысим верхний предел до <2.4 после устранения несовместимостей в других частях экосистемы Dash.

Добавлено

  • #2540 Добавьте include_pages_meta=True к конструктору Dash, и исправьте проблему безопасности в метках meta страниц #2536.

Исправлено

  • #2508 Исправлено сообщение об ошибке, когда длина вывода callback отличается от указанной в спецификации.

  • #2207 Исправлена поддержка объектов компонентов.

  • #2500 Передача customdata по клику для scattermapbox, исправлено #2493.

  • #2513 Вызывается ошибка при итерации по объектам patch, исправлено #2512.## Обновлено

  • #2533 и #2538 Обновлен Plotly.js до версии v2.23.2 с v2.20.0.

    • Функциональное обновление 2.23.0 добавляет xref/yref для легенды/палитры цветов.
    • Функциональное обновление 2.22.0 добавляет ссылки на legend для трейсов.
    • Функциональное обновление 2.21.0 добавляет label.texttemplate для параметрических фигур.
    • Патч-обновления 2.23.1 и 2.23.2 исправляют рендеринг тепловых карт на iOS и Safari, когда zsmooth установлено в false, а также текст фигур при создании новой фигуры.
  • #2538 Обновлены JS-зависимости в dcc, html, dash-table, dash-renderer и dash.

[2.9.3] - 2023-04-13

Исправлено- #2489 Исправлено обработку события изменения местоположения, когда объекты Location удаляются из макета. Обработчики событий не удалялись, что приводило к изменению свойств случайного элемента DOM, исправлено #1346.

  • #2498 Исправлено возникновение ошибки при кэшировании callback, которые возвращают объекты Patch, сделав объекты Patch сериализуемыми.
  • #2491 Исправлено отсутствие имени встроенной функции clientside, исправлено #2488.
  • #2479 Исправлено исключение KeyError "Callback function not found for output [...], perhaps you forgot to prepend the '@'?" при использовании дублирующих callback-ов, указывающих на один и тот же вывод. Эта проблема возникала при перезапуске приложения или при запуске с несколькими gunicorn worker-ами.
  • #2471 Исправлено поведение allow_duplicate для вывода с клиентскими callback-ами, исправлено #2467.
  • #2473 Исправлены фоновые callback-и с разными выводами, но одинаковой функцией, исправлено #2221.

[2.9.1] - 2023-03-17## Исправлено

  • #2461 Исправлен плагин pytest для создания отчета при тестировании незагруженного, исправляет #2420

Нарушено

  • #2450 Установлен стиль метки display: block, если inline равен false в компонентах RadioItems и Checklist. Чтобы сохранить предыдущее поведение, установите inline=True. Это уже так описано и работает в нашей документации и других местах с CSS-stylesheet, которые задают по умолчанию ориентацию опций RadioItems и Checklist вертикально (включая Dash Design Kit), но для неотформатированных страниц это является нарушением.## Добавлено- #2392 Улучшена функциональность страниц:
    • Принимает абсолютный путь или объект pathlib.Path для pages_folder, чтобы соответствовать assets_folder
    • Исправлено определение use_pages=True, когда вы предоставляете кастомный pages_folder
    • Исправлены проблемы с pages_folder, содержащим специальные символы
    • Введено новое тестовое окружение clear_pages_state
    • Улучшена работа импортированных страниц, чтобы они больше походили на обычные модули Python
  • #2068 Добавлен параметр refresh="callback-nav" в dcc.Location. Это позволяет осуществлять навигацию без перезагрузки страницы при обновлении URL в callback.
  • [#2417](https Yöntem: https://github.com/plotly/dash/pull/2417) Добавлен параметр wait_timeout для настройки поведения по умолчанию для wait_for_page, исправлено #1595
  • #2417 Добавлен текст элемента-цели для сообщения об ошибке wait_for_text*, исправлено #945
  • #2425 Добавлен параметр add_log_handler=True в инициализацию Dash, если вы не хотите использовать обработчик потока логов.
  • #2260 Экспериментальная поддержка React 18. По умолчанию используется React v16.14.0, но для использования React 18 можно установить переменную окружения REACT_VERSION=18.2.0 перед запуском приложения или вызвать dash._dash_renderer._set_react_version("18.2.0") внутри приложения. ЭТОТ ФИНАЛ ЭКСПЕРИМЕНТАЛЬ.Он не был протестирован с компонентными наборами, кроме ядра Dash, и мы можем добавлять или удалять доступные версии React в будущих релизах.
  • #2414 Добавлен класс dash.Patch для частичного обновления свойств Output без передачи предыдущего значения в State.
  • #2414 Добавлен параметр allow_duplicate для аргументов Output, позволяющий дублировать callback для одного и того же свойства.
  • #2349 Добавлен новый компонент dcc.Geolocation## Исправлено- #2429 Исправлен побочный эффект при обновлении возможных дочерних элементов массива, вызывающий обратные вызовы, исправлено #2411.
  • #2417 Отключение плагина pytest, если dash[testing] не установлен, исправлено #946.
  • #2417 Не заглушать исходную ошибку при получении webdriver, что облегчает понимание проблемы после обновления браузера, но не драйвера.
  • #2425 Исправлено добавление нескольких обработчиков журнала безусловно к логгеру, что приводило к дублированию сообщений журнала.
  • #2415 Исправлено удаление прогресса фоновых обратных вызовов после получения данных.
  • #2426 Установлено значение по умолчанию интервала в 1 секунду для app.long_callback, восстановлено поведение, которое было до версии v2.6.0 при введении background=True обратных вызовов.

Изменено

  • #2425 Перемещено пространство имен логгера в dash.dash, как для библиотечного логгера, оно должно находиться в этом пространстве имен, а не в приложении пользователя.

Обновлено- #2241 Обновлен Plotly.js до версии v2.20.0 с версии v2.18.0.

  • Функциональное обновление 2.20.0 добавляет automargin к основному заголовку графика.
  • Функциональное обновление 2.19.0 добавляет текстовые метки к layout.shapes, и добавляет свойство labelalias для замены конкретных меток шкал осей.
  • Патчные обновления 2.18.1, 2.18.2, 2.19.1 исправляют различные ошибки.## [2.8.1] - 2023-01-30

Исправлено

  • #2400 Добавлено disable_n_clicks=True к компонентам html.Div в page_container.

[2.8.0] - 2023-01-24

Добавлено

  • #2389 Добавлено свойство disable_n_clicks ко всем HTML компонентам для возможности удаления обработчиков событий onclick.

Исправлено

  • #2388 Исправлено #2368 порядок Pattern Matching ALL после обновления поддерева.
  • #2367 Обновлено изображение по умолчанию favicon.ico на текущий логотип Plotly.
  • #2394 Обновлен Plotly.js до версии v2.18.0 с версии v2.16.4.
    • Версионное обновление 2.18.0 добавляет режим sync для меток, так что несколько осей могут использовать общие метки и сетки.
    • Версионное обновление 2.17.0 добавляет автоматическое отступление для нескольких осей Y, групповой режим для следов scatter и закругленные углы для следов treemap.
    • Патчные обновления 2.17.1 и 2.16.5 исправляют различные ошибки.

[2.7.1] - 2022-12-12

Исправлено- #2344 Исправлено #1519, случай, когда зависимые обратные вызовы могут быть вызваны слишком часто и с несогласованными входными данными.

  • #2332 Добавлен ключ к обернутым свойствам дочерних элементов в списке.

  • #2336 Исправлены вставленные динамические идентификаторы в компоненте как свойства.### Обновлено

  • #2361 Обновлены зависимости.

    • Обновлен Plotly.js до версии v2.16.4 (с версии v2.16.1): исправлены несколько ошибок, особенно связанные с обновлением графиков mapbox.
      • Патчное обновление 2.16.4
      • Патчное обновление 2.16.3
      • Патчное обновление 2.16.2
  • #2363 Обновлены атрибуты html для ol

[2.7.0] - 2022-11-03

Удалено

  • #2282 Поддержка Internet Explorer отменена. Процесс сборки теперь нацелен на браузеры, поддерживаемые производителями, выпущенные в последние 7 лет. В настоящее время это означает ES2015, но со временем это будет естественно развиваться, поскольку более старые версии браузеров пройдут 7-летний порог.

Добавлено

  • #2261 Добавлено новое свойство placeholder_text для filterOptions для DataTable, которое позволяет переопределить стандартное поле фильтра.

Обновлено- #2282 Широкий спектр обновлений зависимостей

  • Обновление Plotly.js до версии v2.16.1 (из версии v2.13.3)

    • Функциональное обновление 2.14.0 добавляет стрелки к sankey связям и опцию editSelection в конфигурации.
    • Функциональное обновление 2.15.0 добавляет направленные стрелки и маркеры к scatter и похожим трэйсам, а также увеличенный контроль над автоматическими отступами и размерами легенды.
    • Функциональное обновление 2.16.0 добавляет кластеризацию к scattermapbox трэйсам и ограниченные границы к mapbox графикам.
    • Патчные обновления 2.15.1 и 2.16.1 исправляют несколько ошибок.### Исправлено
  • #2292 Страницы: находит страницу 404 даже если pages_folder вложен, или страница 404 вложена внутри pages_folder.

  • #2265 Удалено устаревшее before_first_request, как отмечено в #2177.

  • #2257 Исправлены типы кортежей в генераторе TypeScript компонентов.

  • #2293 Исправлено использование useMemo для Dropdown, которое не обнаруживает равные объекты.

  • #2277 Использование стилей Dropdown из node_modules, вместо использования сохраненного CSS файла.

  • #2105 Исправлен порядок импорта библиотек компонентов Dash.

Изменено

  • #2291 Перемещение зависимости flask-compress в новые опции extras dash[compress]

[2.6.2] - 2022-09-23### Исправлено

  • #2237 Убедиться, что вызовы plotly.js из dcc.Graph правильно последовательны, даже если React инициирует несколько циклов рендеринга в короткий промежуток времени.
  • #2218 Исправление ошибки #1348 валидации свойства children (необходимо или нет).
  • #2223 Исключение скрытых папок при сборке dash.page_registry.
  • #2182 Исправление #2172 убедиться, что при использовании страниц, если suppress_callback_exceptions=True, validation_layout не устанавливается.
  • #2152 Исправление ошибки #2128 предотвращающей рендеринг нескольких компонентов внутри словаря.
  • #2187 Исправление запутанного сообщения об ошибке при попытке использовать фикстуры pytest, но dash[testing] не установлен.
  • #2202 Исправление ошибки #2185 при копировании текста с несколькими кавычками в таблицу.
  • #2226 Исправление #2219 регистрации страниц и фоновых вызовов.

[2.6.1] - 2022-08-01### Исправлено

  • #2175 Исправлено #2173 вывод callback ndarray и проверка no_update.
  • #2146 Удалено оставшееся отладочное утверждение console.log.
  • #2168 Откат изменений #2126 (поддержка переадресации с корня при использовании страниц) до тех пор, пока не будут исправлены новые ошибки, введенные этим запросом.

Обновлено

  • #2167 Обновлен Plotly.js до версии v2.13.3 (из v2.13.1), включая патч-выпуск v2.13.2 и патч-выпуск v2.13.3.
    • Выпуск события plotly_selected при вызовах API и редактировании GUI.
    • Исправление ошибки выбора sankey (регрессия, введенная в 2.13.0).
    • Обработка отсутствующего слоя drag для невидимых sankey трейсов для исправления ошибки выбора.
    • Выпуск события выбора в режимах редактирования dragmode, когда существующий выбор изменяется.

[2.6.0] - 2022-07-14### Добавлено

  • #2109 Добавлен параметр maxHeight для меню опций Dropdown.
  • #2039 Изменения в callback-ах:
    • Добавлен параметр background=False к dash.callback для использования вместо app.long_callback.
    • Добавлены предыдущие аргументы app.long_callback к dash.callback (interval, running, cancel, progress, progress_default, cache_args_to_ignore, manager).
  • #2110 Добавлен параметр search для dcc.Dropdown опций, позволяющий искать опции Dropdown с помощью чего-то другого, кроме метки или значения.

Исправлено

  • #2126 Исправлен баг, при котором было невозможно перенаправление с корневого уровня при использовании страниц.
  • #2114 Исправлен баг #1978 при котором текст не мог быть скопирован из ячеек таблиц с cell_selectable=False.
  • #2102 Исправлен баг, отчет о котором был сделан в dash-labs #113 при котором файлы, начинающиеся с ., не исключались при сборке dash.page_registry.
  • #2100 Исправлен баг при котором имя модуля для пользовательской страницы not_found_404 было некорректным в dash.page_registry при отсутствии использования папки pages.
  • #2098 Принимаются HTTP коды 400 и 401 для истечения срока действия JWT.
  • #2097 Исправлен баг #2095 с TypeScript компилятором и ошибкой React.FCпустогоvalueDeclaration и поддержка пустых компонентов с props.
  • #2104 Исправлен баг #2099 с Dropdown, при котором очистка значения поиска происходит при выборе значения.
  • #2039 Исправлены баги в длинных callback-ах:
    • Исправлены #1769 и #1852 короткие интервалы, которые заставляют задачу работать в бесконечном цикле.
    • Исправлены #1974 возврат no_update или возбуждение PreventUpdate не поддерживаются с celery.
    • Исправлено использование контекста callback в длинных callback-ах celery.
    • Исправлена поддержка паттерн-матчинга для длинных callback-ах.
  • #2110 Исправлен поиск в dcc.Dropdown с компонентом как prop для метки опции.
  • #2131 Добавлено кодирование в вызовах открытия файла. Исправлен баг #2127.

Изменено- #2116 Переименование длинных callback'ов в фоновые callback'ы

  • Устарел dash.long_callback.managers.CeleryLongCallbackManager, используйте dash.CeleryManager вместо.
  • Устарел dash.long_callback.managers.DiskcacheLongCallbackManager, используйте dash.DiskcacheManager вместо.
  • Устарел аргумент конструктора dash long_callback_manager в пользу background_callback_manager.

Обновлено

  • #2134 Обновление Plotly.js до версии v2.13.1 (с v2.12.1) включая релиз функций 2.13.0 и патч-релиз 2.13.1
    • Добавлены устойчивые выборы через атрибуты layout selections, newselection, и activeselection, а также обновленный интерфейс, позволяющий изменять созданный выбор.
    • Добавлены стили линий для неактивированных parcoords трейсов.
    • Добавлены дополнительные алгоритмы квартилей для violin трейсов.
    • Более гибкое поведение automargin осей.
    • И несколько других улучшений и исправлений ошибок.

[2.5.1] - 2022-06-13

Исправлено- #2087 Исправлен баг #2086, при котором использование id как ключа внутри id компонента ломает функцию args_grouping контекста новых callback'ов.

  • #2084 В версии dash 2.5.0 добавлен мета-тег viewport по умолчанию, рекомендованный для мобильных оптимизированных сайтов mdn. Эту функцию можно отключить, предоставив пустой мета-тег viewport. Например, app = Dash(meta_tags=[{"name": "viewport"}]).

  • #2090, #2092. Исправлен баг, при котором путь к папке pages_folder был некорректен на Windows.### Удалено

  • #2087 Удалено неотражённое свойство контекста callback args_grouping_values, которое было несовместимо с паттерн-матчинг callback'ами.

[2.5.0] - 2022-06-07

Добавлено

  • #1947 Добавлено pages — лучший способ построения многопрограммных приложений. Для получения дополнительной информации см. тематическую запись на форуме.
  • #1965 Добавлен компонент как свойство.
  • #2049 Добавлены методы wait_for_class_to_equal и wait_for_contains_class к dash.testing.

Изменено

  • #2050 Изменено find_element и find_elements, чтобы они принимали аргумент attribute, соответствующий классу By из Selenium, что позволяет искать элементы по другим атрибутам. Значение по умолчанию — CSS_SELECTOR, чтобы поддерживать обратную совместимость с предыдущими версиями find_elements.

Исправлено- #2043 Исправлен баг

#2003, при котором dangerously_allow_html=True + mathjax=True работают в некоторых случаях, а в других — нет.

  • #2065 Исправлен баг #2064, связанный с отображением dcc.Dropdown с заданным значением, но без опций.
  • #2047 Исправлен баг #1979, при котором переменная окружения DASH_DEBUG игнорируется.
  • #2070 Исправлен баг #2066, связанный с вложенными типами, которые вызывают ошибку максимального размера стека вызовов при построении компонентов TypeScript.## [2.4.1] - 2022-05-11

Исправлено

  • Исправлено #2045 — ошибка импорта при использовании pytest, если dash[testing] не установлен.

[2.4.0] - 2022-05-11

Добавлено

  • #1952 Улучшено callback_context

    • Закрыто #1818 Закрыто #1054
    • добавлен dash.ctx, более краткое имя для dash.callback_context
    • добавлен ctx.triggered_prop_ids, словарь идентификаторов компонентов и их свойств, которые вызвали callback.
    • добавлен ctx.triggered_id, идентификатор компонента, вызвавшего callback.
    • добавлен ctx.args_grouping, словарь входных данных, используемых с гибкими сигнатурами callback.
  • #2009 Добавлена поддержка обещаний (Promises) внутри клиентских callback, как запрошено в #1364.

  • #1956 Добавлена генерация компонентов на TypeScript.

  • #2034 Добавлен атрибут link_target для компонента dcc.Markdown. Закрыто #1827.

  • #2035 Добавлены аннотации типов для тестовых фикстур.

Исправлено- #2029 Ограничено количество пропсов, явно перечисленных в конструкторах сгенерированных компонентов — по умолчанию это 250. Это предотвращает превышение лимита Python 3.6 в 255 аргументов. Упущенные пропсы всё ещё присутствуют в документации и могут быть предоставлены так же, как и раньше, они просто не будут отображаться в сигнатуре, поэтому автодополнение может быть затронуто.- #1968 Исправлена ошибка #1877, код, использующий merge_duplicate_headers и style_header_conditional для выделения колонок, некорректно выделяет ячейки заголовков.

  • #2015 Исправлена ошибка #1854, в которой комбинация row_selectable="single or multi" и filter_action="native" вызывала ошибку JavaScript.

  • #1976 Исправлена ошибка #1962, в которой DatePickerSingle и DatePickerRange работали очень медленно при предоставлении длинного списка недоступных дней.

  • #2035 Исправлена ошибка #2033, в которой отчет об ошибках в приложении не отображал HTML.

  • #1970 dcc.Dropdown Переработка исправлений:

    • Исправлена ошибка #1868, значение не обновляется, когда выбранный вариант удаляется из вариантов.
    • Исправлена ошибка #1908, выбранные варианты не отображаются, когда значение содержит запятую.

Изменено

  • #1751 Переименовано app.run_server в app.run, сохраняя app.run_server для обратной совместимости.- #1839 Декоратор callback возвращает исходную функцию, а не обёрнутую, чтобы вы могли всё ещё вызывать эти функции напрямую, например, в тестах. Обратите внимание, что в этом случае контекст вызова не будет установлен, поэтому не все вызовы могут быть протестированы таким образом.- #2016 Удалён параметр ширины 375px из стандартных вызовов percy_snapshot, оставлен только 1280px
  • #2027 Улучшение сообщения об ошибке, когда пользователь не обернул дочерние элементы в список

Обновлено

  • #2016, #2032, и #2042 Широкий обновленный список зависимостей
    • Обновление Plotly.js до версии v2.12.1 (из v2.11.0).
      • Функциональное обновление 2.12.0 добавляет мелкие деления и сетку, а также пунктирную сетку.
      • Патчное обновление 2.11.1 исправляет проблемы с трассами на основе regl в режиме строгого CSP, однако вам необходимо вручательно переключиться на строгую сборку для использования этого.
      • Патчное обновление 2.12.1 исправляет несколько ошибок.
    • Обновление black до версии v22.3.0 для Python 3.7+ - если вы используете dash[ci] и вызываете black, это может слегка изменить форматирование вашего кода, включая более последовательное отключение совместимости с Python 2.
    • Множество других главным образом JS обновлений зависимостей к внутренним компонентам Dash рендерера и компонентов. Эти обновления могут исправлять ошибки или улучшать производительность.## [2.3.1] - 2022-03-29

Исправлено

  • #1963 Исправление #1780 предупреждения о deprication flask shutdown при выполнении тестов dashduo в многопоточном режиме.
  • #1995 Исправление #1992 ошибки ImportError: не удается импортировать имя 'get_current_traceback' из 'werkzeug.debug.tbtools'.## [2. 3. 0] - 2022-03-13

Добавлено

  • #1949 Добавлена встроенная поддержка MathJax для обоих компонентов dcc.Markdown и dcc.Graph. Был добавлен новый булев параметр mathjax для этих двух компонентов, по умолчанию установленный в False. Установите mathjax=True, чтобы включить отображение математических выражений. Эта работа использует MathJax v3, хотя dcc.Graph и Plotly.js также могут использовать MathJax v2.
    • В dcc.Markdown это имеет два вида: встроенные математические выражения — это любой контент между одинарными долларовыми знаками, например "$E=mc^2$", и "отображаемые" математические выражения (на отдельной строке, потенциально многострочные) разделены двойными долларовыми знаками.
    • В dcc.Graph большинство текстовых полей (названия графиков и осей, названия трасс, текст областей рассеяния и столбцов) могут использовать математические выражения, и они включаются с помощью одинарных долларов. Ограничение здесь заключается в том, что в данный момент каждое текстовое поле может быть либо одно, либо другое: если математическое выражение найдено, все, что находится вне разделителей, игнорируется. Подробнее см. https://plotly.com/python/LaTeX/.
    • Для введения в математические выражения LaTeX см. https://en.wikibooks.org/wiki/LaTeX/Mathematics.
    • Благодарим Equinor за спонсирование этого развития, включая связанную работу в Plotly.js!

Обновлено

  • #1949 Обновление Plotly.js до версии v2. 11. 0 (с v2. 9. 0)

    • Релиз 2. 10. 0:
      • Поддержка MathJax v3
      • fillpattern для трасс scatter с заполненной областью
    • Релиз 2. 11. 0:
      • Теперь каждый тип трасс может быть отображен в строгой среде CSP, в частности, избегая unsafe-eval. Обратите внимание: трассы на основе regl (scattergl, scatterpolargl, parcoords, и splom) строго выполняются только в пакете strict, который НЕ предоставляется по умолчанию в Dash. Чтобы использовать этот пакет с Dash, вам нужно либо скачать его и поместить в папку assets/, либо включить его как external_script из CDN: https://cdn.plot.ly/plotly-strict-2.11.0.min.js. Все остальные типы трасс строго выполняются в обычном пакете.
    • Патч-релиз 2. 10. 1 с исправлением ошибки для трасс mesh3d.### Исправлено
  • #1915 Исправление ошибки #1474, когда оба dcc.Graph и go.Figure имеют анимацию, и при выполнении второй анимации в Figure, Frames из первой анимации воспроизводятся вместо второй.

  • #1953 Исправление ошибки #1783, когда неудачный горячий перезагрузчик блокирует интерфейс предупреждениями.

  • #1942 Исправление ошибки #1663, препятствующее отправке customdata с clickData и другими событиями для трасс pie.

[2.2.0] - 2022-02-18

Добавлено

  • #1923:
    • dash.get_relative_path
    • dash.strip_relative_path
    • dash.get_asset_url Это похоже на dash.callback, где не требуется объект app. Это позволяет использовать эти функции в папке pages многостраничного приложения без столкновения с проблемой циклических импортов app.

Обновлено

  • #1911 Обновление Plotly.js до версии v2.9.0 (с версии v2.8.3).
    • Добавляет параметр ticklabelstep для осей для уменьшения меток делений, при этом все деления остаются видимыми.
    • Отображает версию plotly.js при наведении курсора на панель режимов. Это помогает отладке ситуаций, когда могут быть несколько источников plotly.js, например /assets против версий, встроенных в dcc или ddk.
  • #1930 Обновление JavaScript зависимостей по всему рендереру и всем компонентам.### Исправлено
  • #1932 Исправление нескольких ошибок:
    • Восстановление совместимости с IE11 #1925
    • Восстановление выравнивания текста style_header в таблице Dash #1914
    • Удаление необязательного требования webdriver-manager из dash[testing] #1919

[2.1.0] - 2022-01-22### Изменено

  • #1876 Отложено окончательное определение атрибутов Dash.config, которые не используются в конструкторе, до вызова init_app().

  • #1869, #1873 Обновление Plotly.js до версии v2.8.3. Это включает:

    • Релиз функций 2.5.0:
      • 3D трейсы теперь совместимы с правилами CSP no-unsafe-eval.
    • Релиз функций 2.6.0:
      • Добавление подграфиков smith и трейсов scattersmith для построения графиков Смита.
    • Релиз функций 2.7.0:
      • Добавление текстовых данных для трейсов histogram.
      • Исправление взаимодействия между uirevision и autorange, которое возникает в некоторых случаях при генерации фигур с клиентской и серверной сторон.
    • Релиз функций 2.8.0:
      • Добавление горизонтальных панелей цветов.
      • Добавление текстовых данных для трейсов heatmap и связанных типов трейсов.
      • Управление шрифтами заголовков групп легенд.
    • Патч-релизы 2.5.1, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.8.1, 2.8.2, и 2.8.3 с исправлениями ошибок. - Этот pull request также обновляет различные другие зависимости рендерера dash и наборы компонентов. - #1745: Улучшены опции extras_require: теперь их пять, каждая с определённой ролью:
      • dash[dev]: для разработки и сборки компонентов Dash.

      • dash[testing]: для использования плагинов pytest в модуле dash.testing.

      • dash[diskcache]: требуется, если используется DiskcacheLongCallbackManager.

      • dash[celery]: требуется, если используется CeleryLongCallbackManager.

      • dash[ci]:主要用于内部使用,这些是Dash CI测试的附加需求,供其他组件库使用匹配配置。

      • dash[ci]:主要用于内部使用,这些是Dash CI测试的附加需求,供其他组件库使用匹配配置。 → dash[ci]:主要用于 внутреннего использования, это дополнительные требования для тестирования CI Dash, для использования соответствующими библиотеками компонентов.### Добавлено

  • #1883 в DataTable добавлен page_current к persisted_props по запросу в #1860

  • #1763:

    Dash и Dash Renderer

    • Input, State и Output теперь принимают компоненты вместо строк ID и Dash callback автоматически генерирует ID компонента под капотом, если ID не указан. Это позволяет использовать конструкции вида:
    my_input = dcc.Input()
    my_output = html.Div()
    app.layout = html.Div([my_input, my_output])
    
    @dash.callback(Output(my_output, 'children'), Input(my_input, 'value'))
    def update(value):
        return f'Вы ввели {value}'

    Или, если используется Python >=3.8, можно использовать оператор :=:

    app.layout = html.Div([
        my_input := dcc.Input(),
        my_output := html.Div()
    ])
    
    @dash.callback(Output(my_output, 'children'), Input(my_input, 'value'))
    def update(value):
        return f'Вы ввели {value}'

    #1894 ограничил эту функцию так, чтобы автоматически сгенерированные ID не были разрешены, если приложение использует dash_snapshots (пакет Dash Enterprise) или если компонент использует persistence, так как это может создать запутанные ошибки. Определения callback-функций всё ещё могут ссылаться на компоненты в этих случаях, но эти компоненты должны иметь явные ID. ## Dash Core Components

    Перестановка ключевых аргументов и гибкие типы

    Dropdown, RadioItem, и Checklist

    • Перестановка ключевых аргументов - options и value теперь первые два ключевых аргумента, что означает, что они могут быть предоставлены как позиционные аргументы без ключевых слов. Предоставление ключевых слов (options= и value=) по-прежнему поддерживается.
    • Гибкие типы - options могут быть предоставлены в двух новых формах:
      1. Массив из string|number|bool, где label и value равны элементам в списке.
      2. Словарь, где ключи и значения заданы как value и label соответственно.
        До: ```python dcc.Dropdown( options=[ {'label': 'New York', 'value': 'New York'}, {'label': 'Montreal', 'value': 'Montreal'}, ], value='New York' )
    
    или
    
    ```python
    dcc.Dropdown(
        options=[
            {'label': 'New York', 'value': 'NYC'},
            {'label': 'Montreal', 'value': 'MTL'},
        ],
        value='New York'
    )

    После:

    dcc.Dropdown(['New York', 'Montreal'], 'New York')

    Или

    dcc.Dropdown({'NYC': 'New York', 'MTL': 'Montreal'}, 'New York')

    RangeSlider & Slider

    • Перестроены ключевые аргументы - min, max и step теперь первые три ключевых аргумента, что позволяет использовать их как позиционные аргументы без ключевых слов.
    • Гибкие типы
      • step будет вычисляться неявно, если не указан.
    • marks будут автоматически сгенерированы, если не указаны. Они будут использовать min и max и учитывать step, если он указан. Автоматически сгенерированные метки имеют форматированные единицы СИ. Создается около 5 человекочитаемых меток. - Чтобы удалить метки с Slider, установите marks=None.

    До:

    dcc.Slider(marks={1: '1', 2: '2', 3: '3'})

    После:

    dcc.Slider(min=1, max=3, step=1)

    Или эквивалентно:

    dcc.Slider(1, 3, 1)

    step также может быть опущен, и Slider попытается создать приятный, человекочитаемый шаг с единицами СИ и около 5 метками:

    dcc.Slider(0, 100)

    Поддерживаемые единицы СИ и диапазоны в marks:

    • µ - микро, 10⁻⁶
    • m - милли, 10⁻³
    • (нет) - 10⁰
    • k - кило, 10³
    • M - мега, 10⁶
    • G - гига, 10⁹
    • T - тера, 10¹²
    • P - пета, 10¹⁵
    • E - экса, 10¹⁸ Диапазоны ниже 10µ не поддерживаются Slider. Это ошибка: https://github.com/plotly/dash/issues/1766

    DataTable

    • Перестроены ключевые аргументы - data и columns теперь первые два ключевых аргумента, что позволяет использовать их как позиционные аргументы без ключевых слов.
    • Выведенные свойства - Если columns не указаны, они извлекаются из первой строки data.

    До:

    dash_table.DataTable(data=df.to_dict('records'), columns=[{'name': i, 'id': i} for i in df.columns])

    После:

    dash_table.DataTable(data=df.to_dict('records'))

    Новые свойства компонентов

    Checklist & RadioItems

    • Новое свойство inline добавляет display: inline-block к labelStyle.
    dcc.Checklist(inline=True)

Исправлено

  • #1879 Удалены избыточности в реализации паттерн-матчинга callback, особенно когда используются дикторы ALL и MATCH вместе. Этот патч был подан анонимным клиентом Dash Enterprise. Большое спасибо!

  • #1858 Поддержка плагина Webpack mini-css-extract-plugin с помощью пакета @plotly/webpack-dash-dynamic-import node. Используется компонентами для поддержки асинхронных блоков Dash. Обновлены зависимости других пакетов @plotly node.

  • #1836 Исправлено __all__ в dcc и table для дополнительных компонентов: dcc download helpers и table format helpers. Это также восстанавливает эту функциональность для устаревших верхнеуровневых пакетов dash_core_components и dash_table.- #1822 Удалён Radium из зависимостей рендерера, как часть исследования поддержки React 17.

  • #1779:

    • Улучшена обработка проблем сериализации, включая исправление orjson для Python 3.6
    • Добавлена возможность для методов percy_snapshot в dash.testing выбирать ширины для генерации.
  • #1778 DataTable: Исправлены предупреждения React, указывающие, что каждому дочернему элементу в списке следует присваивать уникальное свойство "key".

  • #1895 Поддержка debug=True, если присутствуют native namespace-packages

[2.0.0] - 3 августа 2021

Dash и Dash Renderer### Добавлено

  • #1702 Добавлен новый декоратор @app.long_callback для поддержки callback-функций, которые требуют длительного времени для выполнения. См. PR и документацию для получения дополнительной информации.
  • #1514 Выполнение кодирования JSON с использованием активного plotly JSON движка. Это по умолчанию использует более быстрый orjson encoder, если пакет orjson установлен.
  • #1736 Добавлена поддержка request_refresh_jwt hook и повторных запросов, использующих устаревшие JWT токены.

Изменено

  • #1679 Перерасположение dash, dash-core-components, dash-html-components и dash-table в единую монорепозиторию и перемещение компонентных пакетов в dash. Это изменение делает модули компонентов доступными для импорта в пространстве имен dash, и упрощает шаблон импорта для приложения Dash. С точки зрения разработки, все будущие изменения в модулях компонентов будут выполняться в директории components, и соответствующие пакеты будут обновлены с помощью команды CLI dash-update-components.
  • #1707 Изменение значения по умолчанию аргумента compress конструктора dash.Dash на False. Это изменение снижает использование ЦП, и было сделано в признание того факта, что многие платформы развертывания (например, Dash Enterprise) уже применяют собственное сжатие.Если развертывание выполняется в среде, которая не предоставляет сжатие, значение поведения Dash 1 может быть восстановлено добавлением compress=True к конструктору dash.Dash.
  • #1734 Добавлен скрипт npm run build для упрощения процесса сборки, включающего dash-renderer и подкомпонентные библиотеки в dash.### Исправлено
  • #1857 Исправлен регрессионный сбой с dcc.Slider и dcc.RangeSlider, где шаги не устанавливались на маркеры, если аргумент prop передавался как None. Добавлено проверочное условие для установки минимального и максимального значений на основе диапазона маркеров, если они не определены явно (для дополнительной информации см. #1843 и #1851).

Основные компоненты Dash

Добавлено- #1729 Включение F#, C# и MATLAB в подсветку кода в markdown для предстоящих версий .NET и MATLAB Dash.

  • #1735 Обновление Plotly.js до версии v2.4.2. Это включает:
    • Релиз функций 2.3.0:
      • Больше опций форматирования чисел благодаря обновлению d3-format.
      • Много новых проекций geo.
      • Улучшенное отображение и производительность трасс scattergl, splom и parcoords.
    • Релиз функций 2.4.0:
      • legend.groupclick
      • bbox элементов подсказок в данных событий, чтобы поддержать пользовательские эффекты подсказок, управляемые Dash
    • Патч-релизы 2.3.1, 2.4.1 и 2.4.2, содержащие различные исправления ошибок.
  • #1735 Новый компонент dcc.Tooltip. Это особенно полезно для обогащения информации при наведении курсора на графики dcc.Graph, используя информацию о bbox, включённую в данных события в plotly.js v2.4.0## Таблица Dash

Добавлено

  • #1729 Добавлено подсвечивание кода на F#, C# и MATLAB в markdown, для предстоящих версий Dash для .NET и MATLAB.

Компоненты Dash HTML

Удалено

  • #1734 Удалены следующие устаревшие элементы html - <command>, <element>, <isindex>, <listing>, <multicol>, <nextid>. Эти элементы устарели и были ранее удалены из таблицы справки.

[1.21.0] - 2021-07-09

Dash и Dash Renderer

Добавлено

  • #1675 Добавлен новый аргумент конструктора Dash extra_hot_reload_paths. Это позволяет перезапускать Python-код приложения при изменении не-Python файлов, если известно, что эти файлы влияют на приложение.
  • #1611 и #1685 Интегрированы артефакты и зависимости dash-renderer с Dash, и ресурсы рендера извлекаются изнутри Dash.

Изменено

  • #1675 Удалено ограничение, что requests_pathname_prefix должно заканчиваться на routes_pathname_prefix. Когда вы размещаете приложение за прокси-сервером, который перезаписывает URL, это ограничение должно быть нарушено.
  • #1567 Генератор компонентов Julia помещает компоненты в src/jl - исправляет проблему на нечувствительных к регистру файловых системах, когда имя компонента и имя модуля совпадают (с учётом регистра) и префикс не используется. Также уменьшает мусор в JS/Julia в перегруженной директории src.### Исправлено
  • #1664 Исправлено #1649, что делает инструменты разработчика читаемыми в темной теме.
  • #1640 Исправлено #1475, отсутствие timing_information после некоторых изменений в поведении Flask.

Компоненты Dash Core

Исправлено- #963 Исправлено #885. Это применяет исправление из #878 к RangeSlider. Исправление не только устраняет ошибку, при которой подсказки были видны, когда ползунок был невидим, но также уменьшает задержку в подсказках при перемещении ползунков.

Обновлено

  • #939 Обновление Plotly.js до версии v2.2.1. Обратите внимание, что это обновление до значительной версии Plotly.js, однако мы не рассматриваем это как разрушающее изменение для DCC, так как большинство разрушающих изменений в Plotly.js не влияют на API Dash. Единственное исключение заключается в том, что несколько типов трейсов, которые давно были отключены, полностью удалены.
    • Основное обновление 2.0.0:
      • Остановка экспорта d3 как Plotly.d3 и удаление многих других глубоких частей публичного API. Это не влияет на компонент dcc.Graph, но если вы используете Plotly из глобальной области в каком-то другом месте, вы можете быть затронуты.
      • Удаление устаревших типов трейсов contourgl и area, а также устаревших атрибутов scatterpolar bar.r, bar.t, scatter.r, scatter.t, layout.radialaxis, layout.angularaxis. Используйте scatterpolar, barpolar и подграфики polar вместо них.
      • Типы трейсов heatmapgl и pointcloud и атрибут transform устарели и будут удалены в будущем обновлении. - Увеличение безопасности CSP за счет удаления конструкторов функций. 3D графики все еще используют конструкторы функций, но если вы размещаете один из пакетов (включая новый strict пакет) в вашей папке assets, у вас не будет конструкторов функций.
      • Удаление текста "Aa" в легендах.
      • Установка по умолчанию hovermode на "closest".
      • Установка по умолчанию textposition на "auto" в трейсах bar. Если вы ранее использовали атрибут bar.text только для подсказок, вам потребуется явно установить textposition="none".
      • Добавление bar.marker.pattern, image.zsmooth и различных других функций и исправлений ошибок.
    • Функциональное обновление 2. 1. 0:
      • Новый тип трейса icicle.
      • Новый атрибут трейса legendrank.
      • Несколько других добавлений и исправлений ошибок.
    • Функциональное обновление Yöntem 2. 2. 0:
      • Заголовки групп легенд.
      • Направление полугода (%h) для форматирования дат.
      • Несколько других исправлений ошибок и улучшений производительности.
    • Патчное обновление 2. 2. 1 с исправлением безопасности. ### Добавлено
  • #932 Добавлен новый компонент для копирования в буфер обмена.
  • #948 Добавлен параметр disabled_days для компонентов DatePickerRange и DatePickerSingle.С помощью этого параметра можно указать дни, которые должны быть недоступны для выбора в календаре, помимо тех, которые выходят за пределы диапазона, заданного параметрами min_date_allowed и max_date_allowed.### Изменено
  • #972 Обновлены руководства по использованию R-пакетов и файл dash-info.yaml для перегенерации примеров без подключения теперь устаревших основных компонентных пакетов (dashHtmlComponents, dashCoreComponents, или dashTable).

Dash HTML Components

Изменено

  • #194 Обновлены зависимости и процесс сборки
  • #190 Обновлены руководства по использованию R-пакетов и файл dash-info.yaml для перегенерации примеров без подключения теперь устаревших основных компонентных пакетов (dashHtmlComponents, dashCoreComponents, или dashTable).

Dash Table

Исправлено

  • #907
    • Исправлен баг, при котором пагинация не работала или была невидима. #834
    • Исправлен баг, при котором, если вы находитесь на странице, которая больше не существует после обновления данных, данные не отображаются. #892

Добавлено

  • #916
    • Добавлен параметр html в markdown_options. Это позволяет использовать теги HTML в тексте на языке Markdown.- #545
      • Независимая от регистра фильтрация
      • Новые параметры: filter_options — для управления регистром всех фильтров, columns.filter_options — для управления регистром фильтров для каждого столбца
      • Новые операторы: i=, ieq, i>=, ige, i>, igt, i<=, ile, i<, ilt, i!=, ine, icontains — для независимой от регистра фильтрации, s=, seq, s>=, sge, s>, sgt, s<=, sle, s<, slt, s!=, sne, scontains — для принудительной регистрозависимой фильтрации на независимых от регистра столбцах

Изменено

  • #918 Обновлены все зависимости. В частности, обновление highlight.js изменило выделение кода в markdown: мы долгое время использовали их "github" стиль, который теперь более точно соответствует текущим стилям github.
  • #901 Обновлен R-пакет dash-info.yaml для перегенерации примера без подключения теперь устаревших основных компонентных пакетов (dashHtmlComponents, dashCoreComponents, или dashTable).## [1.20.0] - 2021-04-08## Dash и Dash Renderer

Изменено

  • #1531 Обновлен формат строк документации, чтобы сделать их более удобными для чтения на страницах справки Dash Docs и в консоли. Это также решает проблему #1205.
  • #1553 Увеличено значение z-index меню ошибок Dash с 1001 до 1100, чтобы убедиться, что оно появляется выше компонентов Bootstrap.

Исправлено

  • #1546 Валидация запроса обратного вызова outputs по сравнению с output, чтобы избежать предполагаемой проблемы безопасности.

Dash Core Components

Добавлено

  • #863 Добавлен новый компонент Download. Вместе с этим добавлены несколько утилит для помощи в создании соответствующего формата данных:
    • dcc.send_file - отправка файла с диска.
    • dcc.send_data_frame - отправка DataFrame, используя один из методов записи.
    • dcc.send_bytes - отправка строки байтов или результата метода записи строки байтов.
    • dcc.send_string - отправка строки или результата метода записи строки.

Изменено

  • #923 Установка autoComplete в значение off для dcc.Dropdown. Это исправляет проблему #808.### Исправлено
  • #930 Исправлена ошибка #867 с компонентом DatePickerRange, которая иногда сдвигала разрешенные даты на один день.
  • #934 Исправлена ошибка в компоненте EnhancedTab, которая игнорировала свойство disabled_className## Dash HTML Components

Исправлено

  • #179 - Исправлено #77 Добавлены свойства allow и referrerPolicy к html.Iframe

  • #178 - Исправлено #161 свойство data компонента <object>, и исправлено #129 устаревшие, устаревшие и не рекомендуемые элементы. Нет удаленных элементов, но добавлены комментарии в документацию о этих элементах, подробно описывая их ограничения.

Dash Table

Изменено

  • #862 - обновлены строки документации по ссылке https://github.com/plotly/dash/issues/1205
  • #878 - обновлен процесс сборки для использования Webpack 5 и других последних зависимостей

[1.19.0] - 2021-01-19

Dash и Dash Renderer

Добавлено

  • #1508 Исправление #1403: добавлено кнопку закрытия для уведомлений об ошибках.
  • #1525 Добавлена поддержка обратных вызовов, имеющих перекрывающиеся входные и выходные данные. В сочетании с dash.callback_context это решает многие случаи использования, требующие циклических вызовов.

Изменено

  • #1503 Исправление #1466: ослаблены зависимости dash[testing] для упрощения интеграции в внешние проекты. В этом запросе также обновлены многие зависимости dash[dev].### Исправлено
  • #1530 Удалены лишние отступы из сообщений об ошибках.
  • #1527 🐛 get_asset_url теперь извлекает данные из внешнего источника, если установлен assets_external_path.
    • обновлен _add_assets_resource для создания URL-адресов активов таким же образом, как get_asset_url.
    • обновлено описание аргумента assets_external_path в Dash для большей ясности, что он всегда будет объединен с аргументом assets_url_path при определении URL-адреса внешнего актива.
  • #1493 Исправление #1143, ошибки, возникающей при наличии файла с одним из нескольких общих имен (test.py, code.py, org.py и т.д.), который импортирует пакет компонентов Dash, что приводит к ошибке импорта import dash с загадочным сообщением об ошибке.## Основные компоненты Dash

Исправлено

  • #905 Убедитесь, что свойство figure компонента dcc.Graph обновляется в ответ на пользовательские взаимодействия в графике, используя тот же объект layout, предоставленный в свойстве, а не его копию. Исправляет #879.
  • #903 Часть исправления ошибки импорта Dash https://github.com/plotly/dash/issues/1143

Обновлено

  • #911, #906
    • Обновлен Plotly.js до 1.58.4
      • Патч-выпуск 1.58.4
      • Патч-выпуск 1.58.3### Добавлено
  • #888 Добавлено свойство drag_value к dcc.Slider для возможности вызова обратных вызовов при перетаскивании и отпускании ползунка.

Dash HTML Components

Исправлено

Dash Table

Исправлено

[1.18.1] - 2020-12-09

[1.18.0] - 2020-12-07

[1.17.0] - 2020-10-29

Изменено

  • #1442 Обновлено от React 16.13.0 до 16.14.0

Исправлено

  • #1434 Исправлено #1432 для Julia для импорта пакетов, не являющихся основными компонентами, без возможных ошибок.

Изменено

  • #1448 Добавлено подсказание в ошибке обратного вызова, когда пользователь забыл сделать app.callback(...) декоратором.

[1.16.3] - 2020-10-07

Исправлено

  • #1426 Исправлено регрессия, вызванную flask-compress==1.6.0, которая приводила к ухудшению производительности на запросах сервера## [1.16.2] - 2020-09-25

Исправлено

  • #1415 Исправлена регрессия с некоторыми обратными вызовами макетов, включающими dcc.Tabs, не загруженный dash_table.DataTable и dcc.Graph, которые не вызывались
  • #1416 Улучшена устойчивость графа обратных вызовов для сложных приложений и некоторых конкретных свойств (width в частности), которые ранее вызывали ошибки

[1.16.1] - 2020-09-16

Изменено

  • #1376 Расширена логика getTransform в рендерере для обработки persistenceTransforms как для вложенных, так и для не вложенных сохраненных свойств. Это использовалось для исправления dcc#700 в сочетании с dcc#854 путем использования persistenceTransforms для удаления части времени из даты и времени, чтобы датапикеры могли сохраняться, когда они определены в callback

Исправлено

  • #1408 Исправлен баг, при котором вызов callback приводил к сбросу графического интерфейса callback, уничтожая изменения пользовательского интерфейса (#1402) или создавая новый силовой лайаут (#1401)## [1.16.0] - 2020-09-03

Добавлено

  • #1371 Теперь можно получить CSP script-src хэши всех добавленных встроенных скриптов, вызывая app.csp_hashes() (как для встроенных скриптов Dash, так и для тех, которые добавлены с помощью app.clientside_callback).

Изменено

  • #1385 Закрыто #1350 и исправлено поведение ранее неопределенного callback, когда несколько элементов стекаются друг на друга и их n_clicks используются как входные данные одного callback. Теперь callback будет вызван один раз с изменениями всех активированных n_clicks свойств.
  • #1179 Новый и улучшенный callback граф в меню отладки. Теперь основан на Cytoscape для большей интерактивности, включая профилирование callback, включая количество вызовов, детализированную информацию о времени, байты отправленные и полученные, и многое другое. Вы можете добавить пользовательскую информацию о времени на сервер с помощью callback_context.record_timing(name, seconds)

Исправлено

  • #1384 Исправлен баг, введенный #1180, который нарушал использование prevent_initial_call как позиционного аргумента в определении callback## [1. 15. 0] - 2020-08-25

Добавлено

  • #1355 Удалены избыточные сообщения журнала и объединено инициализирование логгера. Теперь можно контролировать уровень журнала — например, подавить информационные сообщения от Dash с помощью app.logger.setLevel(logging.WARNING).
  • #1253, #1377 Добавлен экспериментальный параметр --jl-prefix к dash-generate-components, который опционально генерирует версию на языке Julia компонентов и соответствующий пакет на языке Julia.

Изменено

  • #1180 и #1375 Input, Output и State в определениях обратных вызовов больше не требуются в виде списков. Всё ещё необходимо предоставлять элементы Output первыми, затем элементы Input, а затем State, и форма списка всё ещё поддерживается. В частности, если вы хотите вернуть одиночный элемент вывода, обёрнутый в список длиной 1, вы всё ещё должны обёрнуть Output в список. Это может быть полезно для процедурно-созданных обратных вызовов.
  • #1368 Обновлен pytest до версии 6.0.1. Чтобы избежать предупреждений о предстоящем удалении, также обновлен pytest-sugar до 0.9.4 и pytest-mock до 3.2.0. Обновление pytest-mock влияет только на python >= 3.0. Pytest-mock остаётся закреплённым на версии 2.0.0 для python == 2.7.

[1. 14. 0] - 2020-07-27

Добавлено

  • #1343 Добавлен параметр title для установки заголовка документа.Это рекомендуемый альтернативный способ установки заголовка приложения app.title или переопределения HTML индексной страницы.
  • #1315 Добавлен параметр update_title для установки или отключения заголовка "Обновление..." документа во время обновлений. Закрывает #856 и #732.## [1.13.4] - 2020-06-25

Исправлено

  • #1310 Исправлен регресс, возникший с версии 1.13.0, который препятствовал отображению более одного состояния загрузки одновременно.

[1.13.3] - 2020-06-19

[1.13.2] - 2020-06-18

Исправлено

  • #1305
    • Исправлен регресс, вызывающий аварийное завершение приложения при изменении переменной окружения FLASK_ENV во время выполнения приложения
    • Исправлен регресс, вызывающий ошибку тестирования при использовании _wait_for_callbacks

[1.13.1] - 2020-06-17

[1.13.0] - 2020-06-17

Добавлено

  • #1289 Поддерживает переменную окружения DASH_PROXY для указания app.run_server на отображение правильного URL для просмотра приложения, когда оно проксируется. Вызывает ошибку, если прокси несовместим с хостом и портом, указанными для сервера.
  • #1240 Добавлен объект callback_context для клиентских вызовов обратного вызова (например, dash_clientside.callback_context.triggered). Поддерживает triggered, inputs, inputs_list, states, и states_list, все из которых похожи на их серверные аналоги.### Изменено
  • #1237 Закрывает #920: Преобразует неудачные запросы на перезагрузку сервера в индикатор статуса сервера, показывающий, был ли последний запрос успешным или неудачным. Неудачные запросы обратных вызовов все еще отображаются как ошибки, но с более ясным сообщением.
  • #1254 Модифицирует реализацию цепочки обратных вызовов и улучшает производительность для приложений с большим количеством компонентов.

Исправлено

  • #1255 Жесткий перезапуск цели только текущего окна, а не верхнего — поэтому, если ваше приложение находится в iframe, будет перезагружено только приложение.
  • #1249 Исправляет #919, чтобы dash.testing был совместим с большим количеством плагинов pytest, особенно pytest-flake8 и pytest-black.
  • #1248 Исправляет #1245, чтобы можно было использовать устойчивость свойств с компонентами, имеющими словарные идентификаторы, то есть для соответствия шаблонам обратных вызовов.
  • #1185 Сортирует директории с активами, так же, как мы сортируем файлы внутри этих директорий. Таким образом, если вам нужно, чтобы ваши активы загружались в определенном порядке, вы можете добавлять префиксы к именам поддиректорий и обеспечивать этот порядок.- #1288 Закрывает #1285: Debug=True должен работать в модуле main. ## [1. 12. 0] - 2020-05-05

Добавлено

  • #1228 Добавляет контроль над вызовом callback-ов при загрузке страницы (или фрагмента макета). Индивидуальные callback-ы могут отключить свои начальные вызовы в определении @app.callback(..., prevent_initial_call=True) и аналогично для app.clientside_callback. По умолчанию для всего приложения можно изменить это поведение с помощью app=Dash(prevent_initial_callbacks=True), после чего отдельные callback-ы могут отключить это поведение.
  • #1201 Новый атрибут app.validation_layout позволяет создавать многопримечательное приложение без использования suppress_callback_exceptions=True или хитростей с макетом. Установите это на компонентный макет, содержащий супермножество всех ID на всех страницах вашего приложения.
  • #1078 Разрешает использование произвольных расширений файлов для активов внутри библиотек компонентов### Исправлено
  • #1224 Исправляет #1223, очень конкретную ситуацию, в которой начальные callback-ы не будут вызваны.
  • #1220 Исправляет #1216, набор связанных проблем о callback-ах с паттерном соответствиями, использующих ALL дикторы в их Output, которые будут неудачными, если нет компонентов, соответствующих паттерну.
  • #1212 Исправляет #1200 - до Dash 1.11, если ни один из входов callback-а не был на странице, это не было ошибкой. Это было, и снова является, рассматриваемым как ошибка PreventUpdate. Единственное исключение к этому - с callback-ами с паттерном соответствиями, когда каждый Input использует многозначный диктор (ALL или ALLSMALLER), и каждый Output находится на странице. В этом случае callback-ы вызываются как обычно.
  • #1201 Исправляет #1193 - до Dash 1.11, вы могли использовать flask.has_request_context() == False внутри функции app.layout для предоставления специального макета, содержащего все ID для целей валидации в многопримечательном приложении. Dash 1.11 сломал это, когда мы переместили большую часть этой валидации в рендерер. Это изменение делает его снова рабочим.

[1.11.0] - 2020-04-10

Добавлено

  • #1103 Поддержка шаблонного соответствия ID и коллбэков.ID компонентов могут быть словарями, а коллбэки могут ссылаться на шаблоны компонентов, используя три различных диквика: ALL, MATCH и ALLSMALLER, доступные из dash.dependencies. Это позволяет создавать компоненты по требованию и иметь коллбэки, отвечающие на любые и все из них. Для помощи с этим, dash.callback_context получает три новых элемента: outputs_list, inputs_list и states_list, которые содержат все ID, свойства и, кроме выходных данных, значения свойств всех соответствующих компонентов.
  • #1103 Опция --pause в dash.testing: после открытия приложения Dash для тестирования, будет запущен pdb для живого отладки как Javascript, так и Python. Используйте с одним тестовым случаем, например pytest -k cbwc001 --pause.### Изменено
  • #1103 Множество изменений в конвейере коллбэков:
    • dash.callback_context.triggered теперь НЕ отражает какие-либо начальные значения, и ОТРАЖАЕТ ВСЕ значения, которые были изменены либо активностью в приложении, либо как результат предыдущего коллбэка. Это означает, что первое вызов коллбэка без предварительных коллбэков не будет ничего указывать как триггер. Для обратной совместимости, мы продолжаем предоставлять список длиной 1 для triggered, но его id и property являются пустыми строками, и bool(triggered) является False.
    • Пользовательское взаимодействие, которое возвращает ту же самую значение свойства, которое было ранее присутствующим, не будет триггерить компонент для перерendering, ни триггерить коллбэки, использующие это свойство как вход.
    • Валидация коллбэков теперь в основном выполняется в браузере, а не в Python. Несколько вещей — в основном проверка типа, как убедиться, что ID являются строками или словарями и свойства являются строками — все еще выполняются в Python, но большинство других, как убедиться, что выходные данные уникальны, входные и выходные данные не пересекаются, и (если требуется) что ID присутствуют в макете, выполняются в браузере.Это означает, что вы можете определять коллбэки ДО макета и все равно валидировать ID к макету; и во время разработки приложения, большинство ошибок в определении коллбэков не будут останавливать приложение. ### Исправлено
  • #1103 Исправлены несколько ошибок с цепочками вызовов обратных функций, которые либо не срабатывали, либо срабатывали неоднозначно, либо срабатывали несколько раз. Это включает: #635, #832, #1053, #1071, и #1084. Также исправлено #1105: асинхронные компоненты, которые не отображаются на странице (например, в фоновом Tab), блокировали выполнение обратных функций приложением. ## [1. 10. 0] - 2020-04-01

Добавлено

  • #1134 Разрешить установку параметров host и port для dash.run_server() с помощью переменных окружения HOST и PORT соответственно### Изменено
  • #1145 Обновлено с React 16.8.6 до 16.13.0

Исправлено

  • #1142 Persistence: Также сохранять 0, пустую строку и т.д.

[1.9.1] - 2020-02-27

Добавлено

  • #1133 Разрешить установку переменной конфигурации compress с помощью переменной окружения DASH_COMPRESS=FALSE## [1. 9. 0] - 2020-02-04

Исправлено

  • #1080 Обработка случая, когда Dash не может загрузиться, если используется внутри iframe с атрибутом sandbox, который разрешает только allow-scripts.

[1. 8. 0] - 2020-01-14

Добавлено

  • #1073 Две новые функции для упрощения работы с URL и pathname: app.get_relative_path & app.trim_relative_path. Эти функции особенно полезны для приложений, развернутых на Dash Enterprise, где приложения обслуживаются под URL-префиксом (имя приложения), что отличается от приложений, обслуживающихся на localhost:8050.
    • app.get_relative_path возвращает путь с префиксом настроек requests_pathname_prefix. Используйте app.get_relative_path там, где вы предоставляете относительный путь, например dcc.Link(href=app.get_relative_path('/page-2')) или даже как альтернативу app.get_asset_url с помощью, например, html.Img(src=app.get_relative_path('/assets/logo.png')).
    • app.trim_relative_path удаляет путь с requests_pathname_prefix и ведущими и завершающими слешами. Используйте эту функцию в callback, которые работают с dcc.Location pathname маршрутизацией. Пример использования:
    app.layout = html.Div([
        dcc.Location(id='url'),
        html.Div(id='content')
    ])
    @app.callback(Output('content', 'children'), [Input('url', 'pathname')])
    def display_content(path):
        page_name = app.strip_relative_path(path)
        if not page_name:  # None or ''
            return html.Div([
                html.Img(src=app.get_relative_path('/assets/logo.png')),
                dcc.Link(href=app.get_relative_path('/page-1')),
                dcc.Link(href=app.get_relative_path('/page-2')),
            ])
        elif page_name == 'page-1':
            return chapters.page_1
        if page_name == "page-2":
    ```            return chapters. page_2
     ```### Изменено
  • #1035 Упрощение нашего процесса сборки.
  • #1074 Улучшение сообщений об ошибках при предоставлении неверного свойства компоненту: теперь они указывают тип компонента, библиотеку, версию и ID (если доступно).```### Исправлено
  • #1037 Исправление теста no_update для разрешения копий, таких как те, которые хранятся и извлекаются из кэша.

[1.7.0] - 2019-11-27

Добавлено

  • #967 Добавление поддержки определения клиентских JavaScript-обратных вызовов через строковые литералы.
  • #1020 Разрешение использования API visit_and_snapshot в dash.testing.browser для оставления на странице, чтобы можно было выполнять другие проверки.

Изменено

  • #1026 Лучшее сообщение об ошибке, когда вы забываете обернуть несколько children в массив, и они передаются в другие свойства.

Исправлено

  • #1018 Исправление API stop в dash.testing с процессом запуска приложения в Python2. Использование kill() вместо communicate() для предотвращения зависаний.
  • #1027 Исправление ошибки с блокировкой обратного вызова рендерера, которая никогда не разрешается с асинхронным компонентом, использующим декоратор asyncDecorator.## [1.6.1] - 2019-11-14

Исправлено

  • #1006 Исправление совместимости и проблем с валидацией для IE11 / ES5
  • #1006 Исправление ошибки с компонентом-обёрткой рендерера TreeContainer для предотвращения бесполезных перерисовок
  • #1001
    • Исправление и улучшение API clear_input() в dash.testing, чтобы он был более надежным при работе с React input.
    • Улучшение надежности API percy_snapshot(), и таймаут wait_for_callbacks (если установлен в True) не будет приводить к ошибке выполнения снимка, но будет записан как потенциальная ошибка.## [1.6.0] - 2019-11-04

Исправлено

  • #999 Исправление отпечатка для компонентных наборов с metadata в версии.
  • #983 Исправление проблем с загрузкой активов при запуске dashR приложения с обработкой приложения, определенного строковым фрагментом.

[1.5.1] - 2019-10-29

Исправлено

  • #987 Исправлено обработку строк кэша для компонентных наборов с вложенными папками в их пакетах.
  • #986 Исправлено ошибку при оценке _force_eager_loading при загрузке приложения с помощью gunicorn.

[1.5.0] - 2019-10-29

Добавлено

  • #964 Добавлена поддержка предотвращения обновлений в функциях клиента.
    • Отклонить все обновления с помощью throw window.dash_clientside.PreventUpdate;
    • Отклонить одно конкретное выходное значение, вернув window.dash_clientside.no_update
  • #899 Добавлена поддержка асинхронных зависимостей и компонентов.
  • #973 Добавлена поддержка кэширования ресурсов и добавлен механизм кэширования в качестве резервного варианта через etag.

Исправлено

  • #974 Исправлено и улучшено поведение проблемы снимка Percy, обнаруженное в тестировании dash-docs. Это добавляет флаг wait_for_callbacks, чтобы гарантировать, что действие снимка Percy произойдет только после того, как все обратные вызовы будут выполнены.## [1.4.1] - 2019-10-17

Исправлено

  • #969 Исправлены предупреждения, выдаваемые react devtools, исходящие из наших собственных компонентов devtools.

[1.4.0] - 2019-10-08

Добавлено

  • #948 Добавлена поддержка установки рабочей директории для приложений на R, запускаемых с помощью фикстуры dashr, особенно полезно для тестов с активами. Метод dashr.start_server поддерживает аргумент cwd для установки явной рабочей директории, и имеет более умные значения по умолчанию, когда этот аргумент опущен: если app — это путь к скрипту R, используется директория этого пути; если app — это строка, используется директория самого тестового файла.
  • #944
    • Отныне соответствующие методы dash.testing могут быть вызваны как с элементом, так и с CSS-селектором: select_dcc_dropdown, multiple_click, clear_input, zoom_in_graph_by_ratio, click_at_coord_fractions.
    • Три новых метода dash.testing: clear_local_storage, clear_session_storage и clear_storage (для очистки обоих одновременно).
  • #937 dash.testing добавляет два API zoom_in_graph_by_ratio и click_at_coord_fractions о продвинутых взаимодействиях с помощью мыши ActionChain.
  • #938 Добавлены отладочные трассировки в backend dash о подаче компонентных наборов, чтобы проверить установленные пакеты, когда есть сомнения.### Исправлено
  • #944 Исправлена ошибка с переключением на/от выключенного состояния существующего компонента.## [1.3.1] - 2019-09-19

Изменено

  • Обновление версии dash-core-components с 1.2.0 до 1.2.1## [1.3.0] - 2019-09-17

Добавлено

  • #923 Добавлен конфигурационный параметр --percy-assets в pytest для указания дополнительного пути к файлам приложения, если это необходимо.

  • #918 Добавлены API wait_for_element_by_id и visit_and_snapshot в браузере, добавлен параметр raw_command (с более высоким приоритетом по сравнению с дефолтным waitress) и необязательный аргумент start_timeout для обработки больших приложений внутри процесса запуска.

  • #903 Добавлена возможность сохранения изменений пользователем в свойствах компонента при пересоздании компонента или перезагрузке страницы. Компоненты должны определить три новых свойства: persistence, persisted_props, и persistence_type, как описано в комментарии к src/persistence.js. Разработчики приложений могут включить это поведение, установив persistence: true на компоненте. Первый пример использования — таблица, см. dash-table#566

Изменено

  • Обновление версии dash-table с 4.2.0 до 4.3.0
  • Обновление версии dash-core-components с 1.1.2 до 1.2.0
  • Обновление версии dash-renderer с 1.0.1 до 1.1.0### Исправлено
  • #915 Исправление dash-generate-components на Windows.
  • #829 Исправление аргумента --remote в pytest, который не работал в коде. Добавлен новый аргумент --remote-url для поддержки использования selenium grid в облаке.
  • #910 Уменьшение размера пакетов dash-renderer на PyPI на 55% путем удаления карт отображения исходного кода. Для продвинутой отладки карты отображения исходного кода необходимо сгенерировать из исходного кода с помощью npm run build:local и установить pip в режиме редактирования, то есть pip install -e .

[1.2.0] - 2019-08-27

Добавлено

  • #860 Добавлен новый аргумент dev_tools_prune_errors к app.run_server и app.enable_dev_tools. По умолчанию True, отладочные трассировки включают только пользовательский код и ниже. Установите его False для предыдущего поведения, показывающего все части Dash и Flask стека.

Изменено

  • Обновление версии dash-table с 4.1.0 до 4.2.0
  • Обновление версии dash-core-components с 1.1.1 до 1.1.2
  • Обновление версии dash-html-components с 1.0.0 до 1.0.1
  • Обновление версии dash-renderer с 1.0.0 до 1.0.1### Исправлено
  • #874 Очистка всех двоичных активов в dash-renderer, добавление инструмента для сборки всех необходимых пакетов из свежего исходного кода для избежания путаницы с активами и улучшения процесса выпуска. Исправляет #868 и #734

[1.1.1] - 2019-08-06

Изменено

  • Обновление версии dash-core-components с 1.1.0 до 1.1.1

[1.1.0] - 2019-08-05

Добавлено

  • #827 Добавление поддержки для тестирования dashR в pytest-фреймворке dash.testing.

Изменено

  • Обновление версии dash-table с 4.0.2 до 4.1.0
  • Обновление версии dash-core-components с 1.0.0 до 1.1.0

[1.0.2] - 2019-07-15

Изменено

  • Обновление версии dash-table с 4.0.1 до 4.0.2

Исправлено

  • #821 Исправление ошибки отчета о callback, #791.

[1.0.1] - 2019-07-09

Изменено

  • 💥 #808 Удаление сильных зависимостей dash.testing по отзывам сообщества. Пользователи тестирования должны выполнить pip install dash[testing] после этого.
  • #805 Добавление безголового режима для dash.testing, добавление pytest_setup_options хука для полной настройки WebDriver Options.
  • Увеличение версии dash-table с 4.0.0 до 4.0.1## [1.0.0] - 2019-06-20

Изменено

  • 💥 #761 Несколько разрушительных изменений в API dash.Dash:

    • Удалены два устаревших параметра конструктора: static_folder и components_cache_max_age
    • Удалена опечатка в параметре suppress_callback_exceptions
    • Удалено неиспользуемое resources.config.infer_from_layout
    • Переработано app.config: все параметры конструктора теперь хранятся в config, с тремя исключениями: server, index_string и plugins. Ничего из этого больше не хранится в других атрибутах экземпляра.
    • Изменено hot_reload_interval с миллисекунд на секунды для согласованности с hot_reload_watch_interval
    • При вызове из enable_dev_tools значение debug=True по умолчанию. По умолчанию оно всё ещё False из run_server.
  • #744 Введение тестирования Dash (dash.testing) - полная инструкция доступна по адресу https://dash.plotly.com/testing.

  • #753 Component больше не наследует MutableMapping, поэтому методы values, keys и другие больше недоступны. Исправлено проблему, описанную в dcc#440, где компоненты с определёнными именами свойств, но без предоставленных значений, не могли быть отрендерены. Теперь при генерации компонентов запрещены все свойства с начальными подчеркиваниями или совпадающие с несколькими оставшимися зарезервированными словами: UNDEFINED, REQUIRED, to_plotly_json, available_properties и available_wildcard_properties.- #739 Разрешено передачу Flask-приложения в Dash после инициализации объекта. Это позволяет пользователям определять макеты Dash и другие элементы при использовании шаблона фабрики приложений или любого другого шаблона, который ограничивает доступ к объекту приложения. Это в целом соответствует API расширений Flask, позволяя рассматривать Dash как расширение Flask, где это необходимо.

  • #774 Разрешено Flask-приложению устанавливать имя Dash-приложения, если имя не было предоставлено пользователем.

  • #722 Активные ресурсы по умолчанию подгружаются локально. Это касается как JS-скриптов, так и CSS-файлов. Это улучшает надёжность и гибкость в различных ситуациях, но в некоторых случаях может замедлить инициальную загрузку. Чтобы восстановить предыдущее подключение к CDN, установите app.scripts.config.serve_locally = False (и аналогично для app.css, но это обычно менее важно).

  • #724, renderer#175 Панель отмены/повтора действий по умолчанию убрана, её можно включить с помощью app=Dash(show_undo_redo=True). CSS-хак ._dash-undo-redo:{display:none;} больше не требуется.

  • 💥 #709 Объединение проекта dash-renderer в основной репозиторий Dash для упрощения рабочего процесса разработки функций. Мы сохраним устаревшую версию для архивных целей.## [0.43.0] - 2019-05-15

Изменено

  • Обновление версии dash-core-components с 0.47.0 до 0.48.0
  • Обновление версии dash-renderer с 0.23.0 до 0.24.0
  • Обновление версии dash-table с 3.6.0 до 3.7.0

Исправлено

  • renderer#170 Исправление регрессии при обработке PreventUpdate (204 NO CONTENT)

[0.42.0] - 2019-04-25

Добавлено

  • #687, renderer#100 Поддержка Dev Tools - новый интерфейс в приложении, автоматически отображающий сообщения об ошибках на JavaScript и Python, проверяющий свойства компонентов и отображающий граф зависимости callback. Включен только в режиме отладки. Включение и отключение этого интерфейса можно настроить с помощью двух новых флагов конфигурации в app.run_server:
    • dev_tools_props_check - включение/отключение проверки свойств.
    • dev_tools_ui - включение/отключение интерфейса.

Исправлено

  • renderer#148 Исправление регрессии для случая children=0.## [0.41.0] - 2019-04-10

Добавлено

  • #672, renderer#143 Поддержка клиентских callback-ов — выход из ситуации для выполнения callback на JavaScript вместо Python
  • #676 Добавление флага конфигурации dev_tools_ui в app.run_server (сериализован в <script id="_dash-config" type="application/json">) для отображения или скрытия предстоящего интерфейса Dev Tools в front-end Dash (dash-renderer).
  • #680 Частичные обновления: оставление некоторых многовыходных обновлений без изменений, в то время как другие обновляются.

Удалено

  • renderer#145 Удалена поддержка dash_renderer._set_react_version для версий 15.4.2 и 16.2.0### Изменено
  • Обновлено версия dash-core-components с 0.45.0 до 0.46.0
  • renderer#145 Обновлено от React 15.4.2 до React 16.8.6

[0.40.0] - 2019-03-25

Изменено

  • Обновлено версия dash-core-components с 0.44.0 до 0.45.0
  • Обновлено версия dash-html-components с 0.14.0 до 0.15.0
  • renderer#140, renderer#126 Оптимизировано отрисовывание, и всегда присваивается setProps компонентам, даже если нет обратных вызовов для использования.

[0.39.0] - 2019-03-04

Добавлено

  • #436 Разрешено несколько выходов из одного обратного вызова.
  • #367 Поддержка пользовательских JavaScript-хуков для модификации пакетов обратных вызовов и ответов.
  • #623 Модификация ответа Flask с пользовательскими cookies или заголовками, используя dash.callback_context.response.
  • renderer#93 API состояния загрузки

Изменено

  • Обновлено версия dash-core-components с 0.43.1 до 0.44.0
  • Обновлено версия dash-html-components с 0.13.5 до 0.14.0
  • Обновлено версия dash-table с 3.5.0 до 3.6.0## [0.38.0] - 2019-02-25

Добавлено

  • #603 Добавлены библиотеки компонентов js/css для горячей перезагрузки.
  • #608, renderer#124 Контекст обратного вызова:
    • Узнать, какие входы вызвали обратный вызов: dash.callback_context.triggered
    • Значения входов/состояний по имени: dash.callback_context.states.get('btn.n_clicks')

Изменено

  • Обновление версии dash-table с 3.4.0 до 3.5.0
  • Обновление версии dash-renderer с 0.18.0 до 0.19.0

Исправлено

  • Исправление отсутствующей отступации для сгенерированного metadata.json #600
  • Исправление ошибки документации компонента #598
  • #492 Перемещение __repr__ в базовый компонент вместо генерации.
  • #605 Вызов исключения при использовании одного и того же входного и выходного параметра в коллбэке

[0.37.0] - 2019-02-11

Удалено

  • renderer#118 Удаление redux logger для разработки.### Изменено
  • #565 Добавление основных библиотек как зависимостей с фиксированной версией
  • Обновление версии dash-table с 3.3.0 до 3.4.0
  • Обновление версии dash-renderer с 0.17.0 до 0.18.0
  • Обновление версии dash-core-components с 0.43.0 до 0.43.1### Исправлено
  • #563 Исправление предупреждения о предстоящем удалении collections.abc для Python 3.8

[0.36.0] - 2019-01-25

Удалено

  • #550, renderer#114 Удаление поддержки системы Event. Используйте свойства событий вместо них, например, свойство n_clicks вместо события click, см. #531. dash_renderer ДОЛЖЕН быть обновлен до >=0.17.0 вместе с этим, и рекомендуется обновить dash_core_components до >=0.43.0 и dash_html_components до >=0.14.0.

[0.35.3] - 2019-01-23

Изменено

  • #547
    • Аргумент assets_folder теперь по умолчанию равен 'assets'
    • Папка с активами теперь всегда относительна к указанному пути name аргумента, по умолчанию __main__ будет использовать cwd.
    • Больше не преобразуем аргумент name из сервера, если предоставлен аргумент server.

Исправлено

  • #547
    • Шаблон активов теперь включает префикс маршрутов в статический путь.
    • Путь URL активов больше не удаляет маршруты из запросов.
  • #548 Удалено отображение сообщения print из обработчика ошибки PreventUpdate.
  • #524 Удалено кэширование ComponentRegistry.## [0.35.2] - 2019-01-11

Исправлено

  • #522 Исправлены опечатки в некоторых именах исключений
  • renderer#110
    • Сохранено состояние конфигурации при мягком перезагрузке.
    • AppProvider возвращает Загрузка... если конфигурации отсутствуют, как и раньше renderer#108.## 0.35.1 - 2018-12-27

Исправлено

  • #518 Всегда пропускаются динамические ресурсы из коллекции ресурсов индекса.

0.35.0 - 2018-12-18

Добавлено

  • #483 Экспериментальный параметр --r-prefix для dash-generate-components, опционально генерирует версию на языке R компонентов и соответствующий пакет R.

0.34.0 - 2018-12-17

Добавлено

  • #490 Добавлен параметр --ignore для dash-generate-components, по умолчанию равен ^_.

Удалено

  • renderer#108 Неиспользуемый API входа и компонент аутентификации

Исправлено

  • Добавлен ключ key к отрендеренным компонентам, исправлено renderer#379

0.33.0 - 2018-12-10

Добавлено

  • #487 Добавлены конкретные типы исключений Dash для замены общих исключений (InvalidIndexException, DependencyException, ResourceException)

0.32.2 - 2018-12-09

Исправлено

  • #485 Исправлено опечатание в сообщении об ошибке отсутствующих событий/входов

0.32.1 - 2018-12-07

Изменено

  • #484 Отключено отображение предупреждений extract-meta для отсутствующих строк документации свойств Dash## 0.32.0 - 2018-12-07

Добавлено

0.31.1 - 2018-11-29

Исправлено

  • #473 Исправлена отступация генерации в _imports_.py.## 0.31.0 - 2018-11-29

Добавлено

  • #451 Объединение extract-meta и генерации файлов компонентов Python в CLI.

Исправлено

  • Исправлена ошибка renderer#66 в обратном вызове on_prop_change, где история не была правильно установлена при действии на более чем одном компоненте. В частности, кнопка "отмена" теперь должна работать так, как ожидалось.

0.30.0 - 2018-11-14

Добавлено

  • #362, renderer#73 Горячая перезагрузка из браузера.
  • Тихое логирование маршрутов с помощью dev_tools_silence_routes_logging.

0.29.0 - 2018-11-06

Добавлено

  • #444 Добавлен реестр пространств имен компонентов, сбор необходимых ресурсов для библиотеки компонентов при их импорте вместо перебора layout.

0.28.7 - 2018-11-05

Исправлено

  • #450 Использование одного и того же списка запрещённых имён свойств для генерации компонентов во всех поддерживаемых версиях Python. Закрывает #361.

0.28.6 - 2018-11-05

Исправлено

  • #443 Dash.registered_paths изменён на collections.defaultdict(set), был добавлен тот же пакетный путь на каждый индекс.

0.28.5 - 2018-10-18

Исправлено

  • #431 Замена окончания строки Windows при генерации docstrings классов компонентов.## 0.28.4 - 2018-10-18

Исправлено

  • #430 Исправление Component.traverse() и Component.traverse_with_paths() для компонентов с children типа tuple, а не только list.## 0.28.3 - 2018-10-17

Исправлено

  • #418 Исправление опечатки в http-equiv
  • Включение недостающих полифиллов для восстановления поддержки Internet Explorer, восстановление whatwg-fetch renderer#87

0.28.2 - 2018-10-05

Изменено

  • #377 Перемещение определения функции add_url из Dash.__init__

0.28.1 - 2018-09-26

Исправлено

  • #407 Отсутствующий пакетный файл favicon из setup.py
  • #403 Удаление первой и последней пустых строк из строки HTML индекса.

0.28.0 - 2018-09-26

Добавлено

  • #406 Заданный по умолчанию favicon для приложений Dash.
  • Обновление кэша favicon активов.

Исправлено

  • #403 Удаление первой и последней пустых строк из строки HTML индекса.

0.27.0 - 2018-09-20

Добавлено

  • #369, renderer#77 Возможность подачи dev-пакетов из набора компонентов, включение с помощью app.run_server(dev_tools_serve_dev_bundles=True)

Исправлено

  • #350 Использование синтаксиса HTML5 для мета-тега

0.26.6 - 2018-09-19

Исправлено

  • #387 Добавление заголовков Cache-Control для файлов, подаваемых Dash.serve_component_suites, и времени модификации строки запроса для собранных компонентов.
  • #394 Добавление ошибки InvalidResourceError и обработчика ошибок Flask, чтобы не зарегистрированные пути в serve_component_suites возвращали 404 вместо 500.## 0.26.5 - 2018-09-10

Исправлено

  • #374 Исправление get_asset_url с другим assets_url_path.

0.26.4 - 2018-08-28

Исправлено

  • Установка url_base_pathname на None в Dash.__init__. Исправление #364

0.26.3 - 2018-08-27

Добавлено

  • Dash.get_asset_url будет давать префиксированный URL для файла активов.

Исправлено

  • #351 Префиксирование файлов активов с requests_pathname_prefix.

0.26.2 - 2018-08-26

Исправлено

  • #343 Создание blueprint активов только один раз для приложений, которые предоставляют тот же экземпляр Flask для нескольких экземпляров Dash.

0.26.1 - 2018-08-26

Исправлено

  • #336 Исправление ошибки в _validate_layout, которая не позволяла пользователю установить app.layout как функцию, возвращающую макет (исправление #334).

0.26.0 - 2018-08-20

Добавлено

  • #318 Добавление ключевого слова инициализации assets_ignore, регулярного фильтра для файлов активов.

0.25.0 - 2018-08-14

Добавлено

  • #322 Использование значений конфигурации из инициализации или переменных окружения (префикс DASH_).### Исправлено
  • Использование конфигурации requests_pathname_prefix при создании тегов скриптов.
  • requests/routes_pathname_prefix должны начинаться и заканчиваться символом /.
  • requests_pathname_prefix должен заканчиваться на routes_pathname_prefix. Если вы указывали оба requests и routes pathname до этого обновления, убедитесь, что requests_pathname_prefix заканчивается на том же значении, что и routes_pathname_prefix.
  • url_base_pathname устанавливает оба requests/routes pathname, не может быть указано ни одно из них.## 0.24.2 - 2018-08-13

Исправлено

  • #320 Запрет на дублирование идентификаторов компонентов в начальном макете.

0.24.1 - 2018-08-10

Исправлено

  • Исправление ошибки #321, при котором импорт компонентов Dash без свойств приводил к ошибке.
  • Исправление ошибки в версии 0.23.1, при котором импорт компонентов с аргументами, являющимися ключевыми словами Python, мог приводить к ошибке. В частности, это исправляет dash-html-components с Python 3.7.

0.24.0 - 2018-08-10

Добавлено

  • #319 Добавление строки запроса времени модификации для активов, включённых в индекс, чтобы сбивать кэш.

0.23.1 - 2018-08-02

Добавлено

  • #316 Добавление мета-тега ie-compat в индекс по умолчанию.
  • #305 Добавление ключевых слов external_script и external_css в __init__ Dash.
  • Компоненты Dash теперь создаются на этапе сборки и затем импортируются, а не создаются при импорте модуля. Это должно уменьшить время импорта библиотек компонентов Dash и сделать Dash совместимым с IDE.

0.22.1 - 2018-08-01

Исправлено

  • #273 Поднятие более информативной ошибки, если возврат из обратного вызова содержит значение, не сериализуемое в JSON.## 0.22.0 - 2018-07-25

Добавлено

  • #286 Пользовательская настройка файлов активов и индекса.
  • #294 Поднятие ошибки, если макет отсутствует при запуске сервера.
  • renderer#55 Добавление класса _dash-error к сообщениям "Ошибка загрузки макета" и "Ошибка загрузки зависимостей".

Исправлено

  • Попытка отрисовки значения типа Boolean больше не приводит к аварийному завершению приложения.
  • renderer#57 Если вызов обратного вызова ссылается на id, который не существует в дереве DOM в момент выполнения, теперь выбрасывается более информативное исключение на фронтенде.
  • renderer#54 Ранее, если компонент вызывал updateProps с несколькими свойствами, Dash вызывал обратный вызов несколько раз (один раз для каждого свойства). Теперь обратный вызов вызывается только один раз.## 0.21.1 - 2018-04-10

Добавлено

  • #237 Поддержка атрибутов aria-* и data-* во всех компонентах dash html. Эти новые ключевые слова могут быть добавлены с помощью расширения словаря, например html.Div(id="my-div", **{"data-toggle": "toggled", "aria-toggled": "true"}).
  • renderer#45 Возможность выбора между версиями React '15.4.2' и '16.2.0':
import dash_renderer

# Установите версию React перед настройкой приложения Dash
dash_renderer._set_react_version('16.2.0')

app = dash.Dash(...)

Исправлено

  • renderer#50 Обновление MANIFEST.in для включения пакетов react и react-dom для режима разработки.## 0. 21. 0 - 2018-02-21

Добавлено

  • #207 Поддержка компонентов React с использованием Flow типов. component_loader теперь имеет следующее поведение для создания строк документации, как определено в обсуждении в #187:
    1. Если компонент Dash имеет типы, сгенерированные с помощью PropTypes, строка документации использует PropTypes, независимо от того, имеет ли компонент также типы Flow (текущее поведение).
    2. В противном случае, если компонент Dash имеет типы Flow, но не имеет PropTypes, строка документации теперь использует объекты, сгенерированные react-docgen из типов Flow.

Исправлено

  • renderer#42 Исправлено renderer#41 и renderer#44.
    • В некоторых случаях при инициализации колбэки могут быть вызваны несколько раз вместо одного. Это происходит только в определенных сценариях, где выходы имеют перекрывающиеся входы, и эти входы являются листьями (они не имеют входов собственного).
    • Если компонент выхода возвращается из колбэка, а его входы не были возвращены из того же входа (то есть они уже были видимыми), то колбэк для обновления выхода не будет вызван. Это было исправлено.Обычный сценарий, где существует такая структура приложения, это внутри приложения с вкладками, где есть глобальные контролы, которые обновляют содержимое каждой вкладки, а колбэк вкладки просто отображает новые контейнеры выхода. ## 0. 20. 0 - 2018-01-19

Добавлено

  • #190 exceptions.PreventUpdate может быть вызван внутри обратного вызова для предотвращения обновления приложения обратным вызовом. См. https://community.plotly.com/t/improving-handling-of-aborted-callbacks/7536/2.### Удалено
  • Удалено логирование из middleware Redux на основе значения process.env.NODE_ENV в производственной сборке.### Изменено
  • Множество исправлений стиля pylint: #163, #164, #165, #166, #167, #168, #169, #172, #173, #181, #185, #186, #193
  • #184 Новый фреймворк интеграционных тестов.
  • #174 Подмодули теперь импортируются в пространство имен dash для улучшенного завершения строк в IDE.

0.19.0 - 2017-10-16

Изменено

  • 🔒 Удалены меры защиты от CSRF-атак. Такие атаки не актуальны для приложений на Dash, так как API Dash использует запросы POST с типом содержимого application/json, которые не подвержены нежелательным запросам с сайтов третьих сторон. См. #141.

  • 🔒 Переменная app.server.secret_key больше не требуется, так как меры защиты от CSRF-атак были удалены. Установка app.server.secret_key было сложно документировать и часто вызывало путаницу, поэтому хорошо, что пользователи больше не столкнутся с этой проблемой :tada:

  • 🐞 renderer#22, renderer#28 Ранее, старые запросы могли перезаписывать новые запросы, если их ответ был длиннее нового.Это вызывало незначительные ошибки при развертывании приложений на нескольких процессах или потоках с компонентами, которые обновляются с разной скоростью, например, URL. Оригинально отмечено в #133. Это исправление также должно улучшить производительность при множественных обновлениях, так как устаревшие запросы будут отбрасываться вместо обновления интерфейса. Проблема с производительностью с первого запроса отмечена в renderer#27 и исправлена во втором запросе.

  • renderer#21 Исправлена проблема, при которой вызовы обратного вызова выполнялись слишком часто. Ранее, обратный вызов выполнялся столько раз, сколько у него было входных данных. Теперь он выполняется реже.

0.18.3 - 2017-09-08

Добавлено

  • app.config теперь является dict вместо класса. Вы можете установить переменные конфигурации с помощью app.config['suppress_callback_exceptions'] = True. Предыдущий синтаксис на основе класса (например, app.config.suppress_callback_exceptions) сохранен для обратной совместимости.
  • 🐌 Экспериментальное поведение для настраиваемого состояния "загрузки". Когда callback находится в работе, Dash теперь добавляет <div class="_dash-loading-callback"/> в DOM. Пользователи могут стилизовать этот элемент с помощью пользовательского CSS для отображения перекрывающих экранов загрузки.Эта функция находится в альфа-версии, и мы можем удалить её в любое время.### Исправлено
  • Исправлена ошибка из версии 0.18.2, которая убирала возможность запуска приложения по любому маршруту, кроме /.
  • Исправлена ошибка из версии 0.18.0 с новыми переменными конфигурации, которые использовались в многоприложечном режиме, что приводило к общей конфигурации для всех приложений. Оригинально отмечено в https://community.plotly.com/t/flask-endpoint-error/5691/7
  • Переименовано настройки конфигурации supress_callback_exceptions в suppress_callback_exceptions. Оригинальное написание сохранено для обратной совместимости.
  • 🐞 (рендерер) Исправлена ошибка, когда Dash отправлял обновления для каждого родительского узла, который имел общего предка с дочерним узлом. Оригинально отмечено в https://community.plotly.com/t/specifying-dependency-tree-traversal/5080/5
  • 🐞 (рендерер) Исправлена ошибка, когда заголовок документа, который отображает "Обновление...", не изменялся, если callback вызывал исключение. Теперь он будет удаляться при любом ответе, даже при неудаче.

0.18.2 - 2017-09-07

Добавлено

  • #70 🔧 Добавлен endpoint для каждого из URL, чтобы позволить использование нескольких маршрутов.## 0.18.1 - 2017-09-07

Исправлено

  • #128 🐛 Если app.layout является функцией, то она раньше вызывалась слишком часто. Теперь она вызывается только один раз при запуске и один раз при загрузке страницы.

0.18.0 - 2017-09-07

Изменено

  • 🔒 Удалён каталог /static/ и соответствующий конечный пункт, который неявно инициализируется Flask. Это слишком неявно для меня: я беспокоюсь, что пользователи не будут осведомлены о том, что их файлы в каталоге static доступны.
  • ⚡️ Удалены все вызовы API к Plotly API (https://api.plotly.com/), конечные точки аутентификации и декораторы, а также связанные аргументы filename, sharing и app_url. Это никогда не документировалось и не поддерживалось официально. Аутентификация была перемещена в пакет dash-auth.
  • #107 ✏️ Сортировка имен свойств в сообщениях об исключениях.

Добавлено

  • 🔧 Добавлены две новые переменные конфигурации: routes_pathname_prefix и requests_pathname_prefix для предоставления большей гибкости при маршрутизации API при запуске Dash-приложений за прокси-серверами. routes_pathname_prefix — это префикс, применяемый к маршрутизации на сервере, а requests_pathname_prefix — префикс, применяемый к запросам, отправляемым фронтендом Dash. dash-renderer==0.8.0rc3 использует эти конечные точки.
  • #112 🔧 Добавлено поле id к исключениям KeyError в компонентах.### Исправлено
  • ✏️ Исправлена ошибка в исключении.
  • 🔧 Заменены все недопустимые символы в переменных окружения.

🔧 Поддержка

  • 📝 Обновлено README.md
  • ✅ Исправлены тесты CircleCI. Обратите внимание, что большая часть интеграционных тестов находится в репозитории dash-renderer.
  • 💄 Исправления Flake8 и тесты (фиксирует #99)
  • ✨ Добавлен CHANGELOG.md.

0.17.3 - 2017-06-22

✨ Это первое открытое релиз Dash.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/mirrors-dash.git
git@api.gitlife.ru:oschina-mirror/mirrors-dash.git
oschina-mirror
mirrors-dash
mirrors-dash
dev