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

OSCHINA-MIRROR/huoxd-vue-next

Клонировать/Скачать
CHANGELOG.md 150 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 05.06.2025 00:16 471a836

3.0.0-rc.5 (2020-07-28)### Исправленные ошибки

  • build: исправление разрешения компонента при отключении API опций (a75b8a2), закрывает #1688
  • compiler-core: всегда компилировать Teleport и Suspense как блоки (fbf865d)
  • compiler-core: предотвращение генерации недействительного кода для v-bind с пустым выражением (#1720) (d452723)
  • compiler-core/v-on: кэшировать пустой обработчик только при использовании опции (5fbd1f4), закрывает #1716
  • compiler-sfc: путь зависимостей для less и stylus является абсолютным (#1685) (578f25c)
  • compiler-sfc: исправление перезаписи именованного экспорта по умолчанию (#1675) (452edb7)
  • hmr: обновление el для узла с флагами HYDRATE_EVENTS (#1707) (de62cc0)
  • reactivity: избегание отслеживания внутренних символов в has trap (7edfdf7), закрывает #1683
  • reactivity: исправление значений событий отладчика для мутаций ref (b7ef38b)* runtime-core: разрешение корневого узла в режиме разработки должно различать комментарии пользователя от комментариев v-if (355c052), закрывает #1704
  • runtime-core: исправление dedupe планировщика при отсутствии очистки (4ef5c8d)
  • runtime-core: уважение функции рендера из миксинов (354d79c), закрывает #1630
  • runtime-core: планировщик должен позволять намеренное самовозбуждение эффектов (c27dfe1), закрывает #1727
  • runtime-core: использовать правильный контейнер для перемещения содержимого Teleport (#1703) (04a4eba)
  • style-vars: исправить CSS переменные в компоненте с suspense в качестве корневого элемента (#1718) (07ece2e)
  • v-model: включить обнаружение типа для v-model на пользовательских элементах (0b3b1cf)
  • метка компиляции должна применяться в экспонированной функции компиляции (b3b65b4)
  • transition: должен вызывать переходные хуки внутри уже разрешенного suspense (#1698) (2a633c8)com/vuejs/vue-next/commit/2a633c84ff0e522a7562d3194a8f4e4012eb8281)), закрывает #1689
  • v-model: разрешить использование v-model на объявленных пользовательских элементах (71c3c6e), закрывает #1699

Функции* реактивность: метод proxyRefs и тип ShallowUnwrapRefs (#1682) (aa06b10)

  • сfc: поддержка разрешения компонентов шаблонов из экспорта <script setup> (6f5d840)
  • поддержка опции разделителей для компиляции в режиме выполнения (ba17c87), закрывает #1679

КРИТИЧЕСКИЕ ИЗМЕНЕНИЯ

  • реактивность: автоматическое развертывание шаблонов теперь применяется только на уровне корня, то есть только на самом верхнем уровне. Подробнее см. https://github.com/vuejs/vue-next/pull/1682

3.0.0-rc.4 (2020-07-21)

Исправления ошибок

  • зависимости: перемещение @babel/types обратно в зависимости (11c2ad4)

3.0.0-rc.3 (2020-07-21)### Исправления ошибок

  • build: сделать переход дерева tree-shakeable снова (ad199e1)
  • compiler-sfc: префиксирование <style vars scoped> должно применяться только к исходному коду до трансформации (4951d43), закрывает #1623
  • compiler-sfc: использовать правильный импортер с useCssVars (#1658) (6f148d0)
  • runtime-core: не использовать bail patchFlag для клонированных vnodes (6390ddf), закрывает #1665
  • runtime-core: исправить fallthrough атрибутов для скомпилированного фрагмента с одним статическим элементом и комментариями (1af3531)
  • v-model: слушатели v-model не должны fallthrough к обычному элементу корня (c852bf1), закрывает #1643
  • watch: исправить отслеживание реактивного массива (#1656) (288b4ea), закрывает #1655

Функции* compiler-core/internal: добавить опцию onContextCreated к generate (#1672) (615dccd)

  • runtime-core: учитывать имя функции при использовании сокращенной записи функции defineComponent (#1661) (304830a)
  • предоставить возможность перезаписи флагов функциональности в сборках esm-bundler (54727f9)
  • computed: добавить флаг readonly, если нет setter (#1654) (dabdc5e)

3.0.0-rc.2 (2020-07-19)

Исправления ошибок* compiler-core: исправить v-if + v-for на <template> (af7e100), закрывает #1637

  • compiler-core/v-on: исправить кодген для обработчика событий с переносами строк (#1640) (f9826fa)
  • compiler-sfc: использовать filename из опций при компиляции препроцессора styl (#1635) (0526e5d)
  • keep-alive: обрабатывать "0" как ключ кэширования (#1622) (2deb0c7), закрывает #1621
  • runtime-core/hmr: использовать оптимизацию cloneNode только в продакшне (4655d69), закрывает #1626
  • watch: callback не вызывается при использовании flush:sync (#1633) (8facaef)

3.0.0-rc.1 (2020-07-17)### Баги

  • watch: по завершении отслеживания не запускать события, если компонент был отмонтирован (341b30c), закрывает #1603
  • compiler-sfc: исправить доступ к имени файла препроцессора (9cb29ee)

Новые возможности

  • types: по умолчанию запрещать неизвестные атрибуты на компоненте (#1614) (5d8a64d), закрывает #1519
  • types: вывести тип DeepReadonly (#1606) (527c2c8)
  • Начальная поддержка devtools (#1125) (568b6db)

3.0.0-beta.24 (2020-07-16)

Баги

  • compiler-sfc: исправить доступ к имени файла препроцессора (9cb29ee)

3.0.0-beta.23 (2020-07-16)

Баги

  • compiler-sfc: исправить кодоген для useCssVars (9b5ff2b)

  • compiler-sfc: запретить использование src для <script setup> + не использовать (af4b0c2)

  • runtime-dom: не использовать useCssVars при установке (44e6da1)

  • slots: правильно заставить обновиться пересылаемые слоты (aab99ab), закрывает #1594### Новые возможности

  • compiler-sfc: экспортировать зависимости для CSS и препроцессоров CSS (#1278) (e41d831)### Улучшения производительности

  • runtime-core: избегать повторного вызова postFlushCb (165068d), закрывает #1595

3.0.0-beta.22 (2020-07-15)

Исправления ошибок

  • compiler-core: генерировать инкрементные ключи для цепочек v-if/else-if/else (#1589) (64c7b2f), закрывает #1587
  • compiler-sfc: предупреждение для <script setup> (9146cc4)
  • hmr: исправление обновлений HMR для переиспользуемых подвешенных деревьев (5f61aa0)
  • runtime-core: не вызывать вспомогательные функции ввода при монтировании в режиме подвешивания (#1588) (246ec5c), закрывает #1583
  • v-model: обрабатывать больше краевых случаев в looseEqual() (#379) (fe1b27b)

Новые возможности* types/reactivity: использовать тип DeepReadonly для возвращаемого типа readonly (#1462) (b772bba), закрывает #1452# 3.0.0-beta.21 (2020-07-14)

Исправления ошибок

  • compiler-dom: исправление обработки модификаторов .left и .right в v-on (6b63ba2)
  • runtime-core: избегание использования scopeId как атрибута для узлов слота с тем же scopeId (#1561) (583a1c7), закрывает vitejs/vite#536
  • runtime-core/emits: объединение опций emits из миксинов/extends (ba3b3cd), закрывает #1562
  • runtime-dom: удаление атрибутов с nullish значениями (cb6a091), закрывает #1576
  • runtime-dom/v-on: блокировка обработчиков событий только на основе отметки времени прикрепления (8b320cc), закрывает #1565
  • slots: различение динамических и статических скомпилированных слотов (65beba9), закрывает #1557
  • v-on: приведение динамических имен событий к верхнему регистру (9152a89)
  • v-on: переработка обработки модификаторов опций события DOM (380c679), закрывает #1567

Функции* поддержка SSR для <style vars> (b9595e6)

  • compiler-sfc: поддержка <script setup> (экспериментальная) (4c43d4e)
  • compiler-sfc: вставка CSS переменных <style vars> (bd5c3b9)
  • compiler-sfc: разрешение использования :deep, :global & :slotted в <style scoped> (f3cc41f)
  • runtime-dom: useCssVars (9f706a9)

3.0.0-beta.20 (2020-07-08)

Исправления ошибок

  • compiler-core/v-on: отказ от кэширования обработчиков с использованием выражений членов в компонентах (87c2a1e), закрывает #1541
  • compiler-dom: игнорирование и предупреждение о тегах с побочными эффектами, таких как script и style (5e52f4e)
  • runtime-core: разрешение использования слушателей v-model, но игнорирование для предупреждения (903e8f6), закрывает #1543

Функции

  • types: экспонирование WritableComputedRef (#1500) (220db9b)

3.0.0-beta.19 (2020-07-07)### Исправления ошибок

  • compiler-core: добавлены \r в допустимые символы после имени закрывающего тега (#1515) (64e2f46), закрывает #1476
  • keep-alive: исправлено поведение keep-alive с атрибутами scopeId/fallthrough (d86b01b), закрывает #1511
  • runtime-core/template-ref: использование template ref в одном шаблоне должно вызывать обновление (36b6b4f), закрывает #1505
  • runtime-dom: должен устанавливать <input list="..."> как атрибут (441c236), закрывает #1526
  • runtime-dom/style: исправлено поведение patchStyle при ложном следующем значении (#1504) (77538ec), закрывает #1506
  • ssr: поддержка динамических компонентов, которые разрешаются в элемент или vnode (41db49d), закрывает #1508
  • types/tsx: добавлено определение JSX.IntrinsicAttributes (#1517) (a5b4332), закрывает #1516
  • v-model: согласованное обработание nullish значений с версией 2.x (#1530)com/vuejs/vue-next/issues/1530)) (425335c), закрывает #1528
  • v-model: должен игнорировать скомпилированные слушатели v-model в атрибутах fallthrough (6dd59ee), закрывает #1510
  • watch: остановка instance-bound watchers в очереди после рендера (58b0706), закрывает #1525

3.0.0-beta.18 (2020-07-02)### Баги

  • runtime-core: предотвратить случайный доступ к свойствам Object.prototype (f3e9c1b)
  • обеспечить последовательное вызывание vnode-хуков, независимо от наличия keep-alive (4e8e689)
  • runtime-core: передать unmount в параметр патча для первоначального монтирования (2bdb5c1)
  • runtime-dom: разрешить принудительное обновление привязок значений для управляемых полей ввода (b3536d8), закрывает #1471
  • slots: сделать метку скомпилированного слота не перечисляемым (062835d), закрывает #1470

Новые возможности

  • runtime-core: поддержка создания vnode из существующего vnode (c9629f2)

3.0.0-beta.17 (2020-06-30)

Баги

  • runtime-dom: разрешить принудительное обновление привязок значений для управляемых полей ввода (b3536d8), закрывает #1471
  • slots: сделать метку скомпилированного слота не перечисляемым (062835d), закрывает #1470# 3.0.0-beta.16 (2020-06-29)### Баги
  • BaseTransition: собирает правильных потомков с передачей слота в Transition (#1456) (d4cd128), закрывает #1455
  • BaseTransition: исправляет задержку отключения BaseTransition с режимом in-out (#1404) (2ff8dca), закрывает #1400
  • compiler-core: игнорирует узлы комментариев в потомках перехода (e52b7cd), закрывает #1352
  • compiler-core: не должен префиксировать метод объекта (#1375) (35dbef2)
  • compiler-core: пропускает пустые выражения при проверке выражений в режиме браузера (afb231e)
  • compiler-core/v-on: передает неинициализированные аргументы в кэшированных обработчиках событий (#1265) (7e28173)
  • compiler-sfc: transformAssetUrl должен игнорировать встроенные данные URL (#1431) (90c285c)
  • runtime-core: всегда проверяет наличие пропсов в публичном прокси-экземпляре (e0d19a6), закрывает #1236* runtime-core: cloneVNode должен сохранять правильный экземпляр ctx при нормализации ref (be69bee), закрывает #1311
  • runtime-core: корневой компонент должен наследовать scopeId от VNode (f3f94e4), закрывает #1399
  • runtime-core: исправляет вывод имени компонента в предупреждениях (e765d81)
  • runtime-core: исправление обновления родительского элемента при вложенных HOC самовызовах (#1360) (6c8bfa1), закрывает #1357
  • runtime-core: исправление наследования scopeId для компонентов внутри слотов (978d952)
  • runtime-core: обработка флагов патча de-op из клонированного vnode (0dd5cde), закрывает #1426
  • runtime-core: правильное преобразование ключей объекта v-on в заглавные буквы (#1358) (250eb4a)
  • runtime-core: удаление больше не используемых camelCase свойств (#1413) (1c4e1b6), закрывает #1412
  • slots: фильтрация метки компилятора из разрешенных слотов (70ea76a)com/vuejs/vue-next/commit/70ea76ae0c16a55154e785f8ca42ed13e0d15170)), закрывает #1451
  • ssr: исправление ssr scopeId на корневом компоненте (afe13e0)
  • ssr: обработка падающих атрибутов в выходных данных компиляции ssr (d5dbd27)
  • transition: согласованность времени выполнения hook enter/leave с v2 (bf84ac8), закрывает #1145
  • transition: исправление обработки hook appear (7ae70ea)
  • transition: исправление css:false с hook без явного обратного вызова done (9edbc27), закрывает #1149
  • transition: исправление отмены хуков перехода DOM, которые не вызывались (acd3156)
  • transition-group: совместимость с Vue 2 для управления transition-group с несколькими детьми v-for (86d3972), закрывает #1126
  • types: обеспечение правильного интерфейса публичных свойств для типа экземпляра defineComponent (2961e14), закрывает #1385
  • types: экспорт ComponentOptionsMixin (#1361) (68e2d6c)
  • types: должен развернуть массив -> объект -> ref (82b28a5)com/vuejs/vue-next/commit/82b28a5ecb95be1565e50427bfd5eefe4b2d408c))
  • v-show: исправление отключения v-show с ложным значением (#1403) (d7beea0), закрывает #1401

Функции* runtime-core: вывод версии на экземпляре приложения (056cac9), закрывает #1449

Улучшения производительности

  • compiler-core: v-for с постоянным выражением как стабильный фрагмент (#1394) (8a2cf21)
  • реактивность: не следует отслеживать __v_isRef (#1392) (c43a6e6)
  • ssr: избегать ненужного ожидания тиков при разворачивании синхронных буферов (30584bc)

3.0.0-beta.15 (2020-06-12)### Исправления ошибок

  • build: сохранить побочный эффект основного пакета Vue для регистрации компилятора (dc986ad), закрывает #1263
  • compiler-core: разрешить многострочные выражения для v-model и v-on (#1234) (958b6c8)
  • compiler-core: прекратить статическую сериализацию, даже если порог достигнут (#1298) (64ec8bf), закрывает #1128
  • compiler-core: исправить парсинг для директив с динамическим аргументом, содержащим точки (0d26413)
  • compiler-core: поддержка статических имен слотов, содержащих точки для совместимости с 2.x (825ec15), закрывает #1241
  • hmr: принудительно выполнить полное обновление для вложенных дочерних компонентов (#1312) (8f2a748)
  • reactivity: исправить toRaw для объектов прототипа, наследующих реактивность (10bb34b), закрывает #1246
  • runtime-core: передать экземпляр в patchProp при монтировании для обработки ошибок событий (#1337) (aac9b03)com/vuejs/vue-next/commit/aac9b03c11c9be0c67b924004364a42d04d78195)), закрывает #1336
  • runtime-core: отслеживать доступ к $attrs (6abac87), закрывает #1346
  • всегда рассматривать spellcheck и draggable как атрибуты (4492b88), закрывает #1350
  • compiler-core: исправить удаление пробелов/комментариев в режиме производства (f3623e4)
  • compiler-dom: добавлены элементы tfoot, caption, col при строковом представлении в случае ошибки (#1333) (fbaf52a)
  • compiler-dom: строковое представление в случае ошибки для элементов таблицы (a938b61), закрывает #1230 #1268
  • compiler-sfc: трансформация URL активов должна игнорировать прямые хэш-URL (5ddd9d2)
  • compiler-ssr: экранирование символов интерполяции шаблонной строки в сгенерированном коде (5f15d9a)
  • hmr: принудительное полное обновление дочернего компонента при обновлении слота (2408a65)
  • реактивность: заменённый ref в реактивном объекте должен быть отслеживаемым (#1058) (80e1693)com/vuejs/vue-next/commit/80e1693e1f525a6c5811689fbeaccdccae1e2c23))
  • реактивность: коллекция shallowReactive не должна быть только для чтения (#1212) (c97d1ba)
  • runtime-core: значение по умолчанию для свойства типа функция (#1349) (d437a01), закрывает #1348
  • runtime-core: монтирование дочерних компонентов перед установкой свойств элемента (8084156), закрывает #1318 #1320
  • runtime-core: уважение свойств из миксинов и расширений (2417a0c), закрывает #1236 #1250
  • runtime-core: использование разбора массивов вместо объектов для совместимости с краями (#1302) (4a5021e), закрывает #1294
  • runtime-dom: совместимость для случаев, когда event.timeStamp равен 0 (#1328) (90c3532), закрывает #1325
  • ssr: исправление непреднамеренной ошибки при несоответствии гидратации Teleport (#1271) (c463a71), закрывает #1235* types: добавление RawSlots в сигнатуру h (#1293) (cab769f)
  • отказ от строкового представления для слотов (9b5d13e), закрывает #1281 #1286
  • ssr: установка ref при гидратации (0a7932c)
  • запуск CI (6b889e7)

Функциональные возможности* компилятор: улучшенное предупреждение о недопустимых выражениях в режиме функции/браузера (e29f0b3), закрывает #1266

  • runtime-core: добавлен параметр inheritRef + <transition> и <keep-alive> наследуют ref (38f2d23)
  • types: корректировка экспорта типов для ручного рендера и инструментов (e4dc03a), закрывает #1329
  • types: поддержка миксинов/наследования в TypeScript (#626) (d3c436a)
  • types: поддержка типизации значения директивы через обобщенный аргумент (#1007) (419b86d), закрывает #998
  • types: обновление до TypeScript 3.9 (#1106) (97dedeb)

Улучшения производительности

  • обновление строки стиля только при изменении значения (#1310) (d4e9b19), закрывает #1309
  • оптимизация доступа LRU в keep-alive (#1316) (1f2926a)# 3.0.0-beta.14 (2020-05-18)

Исправления ошибок

  • compiler-dom: должен прекратить строковую сериализацию на этапе выполнения для констант независимо от их положения (dd2bfb5), закрывает vuejs/vite#157
  • reactivity: shallowReactive для коллекций (#1204) (488e2bc), закрывает #1202
  • runtime-dom: обработчики событий с модификаторами должны получать все аргументы события (#1193) (ab86b19)
  • Transition: исправление проверки продолжительности (#1188) (d73a508)
  • v-model: не должен вызывать обновления во время ввода составных данных (#1183) (83b7158)

Функции

  • watch: поддержка прямого отслеживания реактивного объекта в нескольких источниках с глубоким значением по умолчанию (#1201) (ba62ccd)

3.0.0-beta.13 (2020-05-17)

Функции

  • улучшение статической сериализации строк (d965bb6)---

3.0.0-beta.12 (2020-05-11)

Исправления ошибок

  • hmr: статическое перебирание дочерних элементов должно влиять только на элементы (2bc6a8c)

3.0.0-beta.11 (2020-05-11)

Исправления ошибок

  • hmr: всегда заставлять обновлять все свойства дочерних компонентов в режиме HMR (1b946c8)
  • hmr: убедиться, что статические узлы наследуют элемент DOM в режиме HMR (66c5a55), закрывает #1156
  • runtime-core: не следует использовать быстрый путь для отключения дочерних элементов для фрагментов v-for (5b8883a), закрывает #1153
  • transition: следует сбрасывать класс enter после appear (#1152) (697de07)

Функции

  • runtime-core: экспонировать isVNode (a165d82)

3.0.0-beta.10 (2020-05-07)### Исправления ошибок

  • компилятор: предупреждение о v-bind с пустым значением атрибута (675330b), закрывает github.com/vuejs/vue-next/issues/1128#issuecomment-624647434
  • compiler-dom: прекращение статической строковой сериализации для неатрибутных привязок (304ab8c), закрывает #1128
  • compiler-sfc: внешний URL активов не должен преобразовываться (d662118)
  • compiler-sfc: шаблон с альтернативным языком должен парситься как сырой текст (d10835a), закрывает #1120
  • реактивность: исправление доступа к __proto__ на объектах-прокси (#1133) (037fa07)
  • реактивность: использование правильного thisArg для коллбэков методов коллекции (#1132) (e08f6f0)
  • runtime-dom/style: нормализация строки при объединении стилей (#1127) (2d9f136)

Оптимизация кода* compiler/types: преобразование документации опций компилятора в jsdoc (e58beec)

Новые возможности

  • compiler-sfc: улучшение генерации карты исходного кода SFC (698c8d3)
  • types: перезапуск экспозиции transformVNodeArgs (40166a8)

Улучшения производительности

  • compiler-sfc: улучшение эффективности преобразования ссылок на активы (c5dcfe1)
  • compiler-sfc: добавление карты символов только если это не пробел (2f69167)

ВАЖНЫЕ ИЗМЕНЕНИЯ

  • compiler/types: сигнатура опции компилятора getTextMode изменилась с

    (tag: string, ns: string, parent: ElementNode | undefined) => TextModes

    на

    (node: ElementNode, parent: ElementNode | undefined) => TextModes

3.0.0-beta.9 (2020-05-04)

Исправление ошибок

  • compiler: прекращение строкового представления для выражений константного времени выполнения (f9a3766)
  • transitionGroup: исправление условия разрешения дочерних элементов (f05aeea)

Новые возможности

  • compiler-sfc: поддержка преобразования абсолютных ссылок на активы (6a0be88)### ВАЖНЫЕ ИЗМЕНЕНИЯ

  • compiler-sfc: опция transformAssetUrlsBase опции @vue/compiler-sfc была удалена. Она была объединена в transformAssetUrls, которая теперь также принимает формат

    {
      base?: string
      includeAbsolute?: string
      tags?: { [name: string]: string[] }
    }

3.0.0-beta.8 (2020-05-04)

Исправление ошибок

  • hmr: обрабатывать случаи, когда экземпляры с одинаковым id имеют разные определения (01b7e90)
  • реактивность: избегать загрязнения прототипа Object (f40f3a0)
  • реактивность: проверять собственное свойство для существующего прокси целевого объекта (6be2b73), закрывает #1107
  • transitionGroup: внутренние дочерние элементы должны пропускать узел комментария (#1105) (26a50ce)
  • types/reactivity: исправить вывод типа ref для вложенных реактивных свойств с .value (bc1f097), закрывает #1111

Функции* shared: поддержка Map и Set в toDisplayString (3c60d40), закрывает #1067 #1100

  • types: перезапуск экспонирования разрешающих утилит и registerRuntimeCompiler в определениях типов (64ef7c7), закрывает #1109
  • watch: поддержка прямого наблюдения за реактивным объектом с глубоким значением по умолчанию (6b33cc4), закрывает #1110# 3.0.0-beta.7 (2020-05-02)

Исправления ошибок

  • warn: преобразование символов в строки (#1103) (71a942b)

Новые функции

  • compiler-sfc: добавление опции transformAssetUrlsBase (36972c2)
  • types: перезапуск экспонирования withDirectives как публичного типа (583ba0c)

3.0.0-beta.6 (2020-05-01)### Исправления ошибок

  • compiler-core: выделение чистых аннотаций должно применяться ко всем вложенным вызовам (c5e7d8b)
  • compiler-core: выделенные vnode-вызовы и вызовы с областью видимости id должны быть отмечены как чистые (cad25d9)
  • compiler-ssr: обработка кодогенерации комментариев + переработка трансформации кодогенерации SSR (6c60ce1)
  • runtime-core: избегание бесконечного цикла предупреждений для проверки isRef на публичном прокси компонента (6233608), закрывает #1091
  • runtime-core: клонированные vnode с дополнительными свойствами должны быть деоптимизированы (08bf7e3)
  • runtime-core: исправление проверки отключения фрагмента слота (ac6a6f1)
  • runtime-core: должен вызывать хук отключения fallback Suspense (#1061) (8b85aae), закрывает #1059
  • runtime-core: должен перехватывать ошибки типа при установке свойств DOM (98bee59), закрывает #1051
  • runtime-dom: не должен преобразовывать nullish значения в пустые строки для нестроковых свойств DOM (20bc7ba)com/vuejs/vue-next/commit/20bc7ba1c55b43143a4cef98cadaad8d693f9275)), закрывает #1049 #1092 #1093 #1094
  • ssr: исправление экранирования и обработки для сырого текста, комментария и статического vnode (5b09e74)
  • teleport: teleport всегда должен отслеживаться как динамический дочерний элемент для отключения (7f23555), закрывает #1088
  • types: добавлены augment ref unwrap bail types в соответствующие пакеты (b40fcbc)### Улучшение кода* types: помечаем внутренние экспорт API и исключаем из d.ts (c9bf7de)

Новые возможности

  • runtime-core: предупреждение о свойствах пользователей с зарезервированными префиксами (1bddeea)

Улучшения производительности

  • публичный прокси экземпляра никогда не должен быть отслеживаемым (11f38d8)

ПРЕРЫВАЮЩИЕ ИЗМЕНЕНИЯ

  • types: внутренние API теперь исключены из объявлений типов.

3.0.0-beta.5 (2020-04-30)

Исправление ошибок

  • compiler-ssr: избегаем ненужного импорта withCtx (08b4e88)

  • hmr: поддержка hmr для статических узлов (386b093)

  • hydration: исправление предупреждения о несоответствии текста (e087b4e)

  • keep-alive: не вызывать onVnodeBeforeUnmount, если это компонент KeepAlive (#1079) (239270c)

  • transition-group: должно собирать сырые дочерние элементы с Fragment (#1046) (8ed3455), закрывает #1045

  • предупреждение: всегда проверять наличие экземпляра компонента при форматировании трасс (a0e2c12)### Новые возможности

  • runtime-core: экспорт queuePostFlushCb (#1078) (ba240eb)

types

  • использование более последовательного названия для экспорта типа apiWatch (892fb6d)

ПРЕРЫВАЮЩИЕ ИЗМЕНЕНИЯ

  • Некоторые типы API часов переименованы.

    • BaseWatchOptions -> WatchOptionsBase
    • StopHandle -> WatchStopHandle

3.0.0-beta.4 (2020-04-24)

Исправления ошибок* compiler-core: динамический компонент всегда должен быть блоком (7d0ab33), закрывает #1018

  • runtime-core: динамический компонент должен поддерживать ложные значения без предупреждений (ded92f9)
  • runtime-core: исправление отслеживания динамических узлов в динамическом компоненте, который разрешается к простым элементам (dcf2458), закрывает #1039
  • runtime-core: исправление разрешения ключа/река для cloneVNode (d7379c7), закрывает #1041
  • runtime-core: опции миксинов, которые зависят от контекста this, должны быть отложены (ff4d1fc), закрывает #1016 #1029
  • runtime-core: следует выводить имя компонента только для объектных компонентов (e422b8b), закрывает #1023
  • slots: скомпилированный падающий обратный вызов слота должен быть функцией (#1030) (2b19965), закрывает #1021
  • types: исправление типа ref(false) на Ref<boolean> (#1028) (0bdd889)com/vuejs/vue-next/commit/0bdd8891569eb15e492007b3eb0f45d598e85b3f))
  • types: сделать тип возврата defineComponent присваиваемым типу Component (#1032) (f3a9b51), закрывает #993

Функции* compiler-sfc: добавлена опция preprocessCustomRequire (20d425f)

  • compiler-sfc: встроенная поддержка CSS модулей (fa216a0)
  • reactivity: добавлена API-функция triggerRef (2acf3e8)
  • types: экспонирован тип ToRefs (#1037) (28b4c31)

Улучшения производительности

  • reactivity: ref не должен вызывать триггер, если значение не изменилось (b0d4df9), закрывает #1012

3.0.0-beta.3 (2020-04-20)

Исправления ошибок

  • runtime-core: не следует преобразовывать значение свойства, если свойство не изменилось (171cfa4), закрывает #999
  • warn: исправлена инференция имени компонента в трассировке предупреждения (0278992)* build: предоставление более конкретных предупреждений для компиляции в runtime (e954ba2), закрывает #1004
  • runtime-core: улучшение предупреждения для лишних слушателей событий (#1005) (cebad64), закрывает #1001
  • runtime-core: более конкретное предупреждение для неудачного падения v-on (ab844fd), закрывает #1001
  • warn: инференция анонимного имени компонента на основе имени разрешения (dece610)

Улучшения производительности* core: использование startsWith вместо indexOf (#989) (054ccec)

3.0.0-beta.2 (2020-04-17)

Исправления ошибок

  • runtime-core: исправление пользовательских свойств, прикрепленных к публичному экземпляру, которые начинаются с "$" (d7ca1c5)
  • watch: исправление глубоких воркеров на refs, содержащих примитивы (#984) (99fd158)

Новые возможности

  • types: экспонирование ComponentCustomOptions для объявления пользовательских опций (c0adb67)
  • types: экспонирование ExtractPropTypes (#983) (4cf5e07)
  • types: добавление интерфейса ComponentCustomProperties (#982) (be21cfb)

3.0.0-beta.1 (2020-04-16)

Исправления ошибок

  • reactivity: удаление Symbol.observable (#968) (4d014dc)

Переработка кода

  • reactivity: переработка API (09b4202)

Новые возможности

  • runtime-core: пропуск предупреждения emit, если есть эквивалентный onXXX prop (0709380)### Улучшения производительности

  • runtime-core: использование сырого контекста при инициализации опций компонента (bfd6744)

ПРЕРЫВАЮЩИЕ ИЗМЕНЕНИЯ

  • реактивность: переработка API реактивности:
  • readonly теперь не отслеживает изменения, если вызван на простых объектах. lock и unlock были удалены. Прокси readonly больше не может быть напрямую изменен. Однако, он все еще может обернуть уже реактивный объект и отслеживать изменения в исходном реактивном объекте.

  • isReactive теперь возвращает true только для прокси, созданных с помощью reactive, или для прокси readonly, обёртывающего прокси reactive.

  • Введена новая утилита isProxy, которая возвращает true для обоих реактивных и readonly прокси.

  • markNonReactive переименован в markRaw.

3.0.0-alpha.13 (2020-04-15)

Исправления ошибок* compiler-core: не следует генерировать флаги патча CLASS/STYLE для компонентов (a6e2b10), закрывает #677

  • runtime-core: исправление обновления props в kebab-case (7cbf684), закрывает #955
  • runtime-core: следует разрешать значение вместо удаления для динамических props с опциями (c80b857)
  • runtime-dom: исправление патча для атрибутов, начинающихся с on (6eb3399), закрывает #949
  • runtime-dom: следует патчить svg innerHtml (#956) (27b5c71)
  • runtime-dom/v-on: поддержка event.stopImmediatePropagation для нескольких слушателей (d45e475), закрывает #916
  • scheduler: сортировка задач перед их выполнением (78977c3), закрывает #910 /github.com/vuejs/vue-next/issues/910#issuecomment-613097539
  • types: UnwrapRef должен прекращать выполнение для типов элементов DOM (#952) (33ccfc0), закрывает #951

Оптимизация кода* реактивность: удаление устаревшего API markReadonly (e8a866e)

  • ядро-рантайм: удаление возвращаемого значения из emit (55566e8)

Новые возможности

  • реактивность: добавление поддержки API customRef (b83c580)
  • реактивность: добавление поддержки API toRef (486dc18)
  • ядро-рантайм: обнаружение и предупреждение о реактивных компонентах (2e06f5b), закрывает #962
  • ядро-рантайм: предупреждение о асинхронных данных data() (3e7bb7d)

Откаты

  • Откат "новая функциональность (реактивность): добавление эффекта в публичный API (#909)" (#961) (9e9d264), закрывает #909 #961

ПРЕРЫВАЮЩИЕ ИЗМЕНЕНИЯ* реактивность: API markReadonly удален.

  • ядро-рантайм: только свойства, начинающиеся с on и за которым следует заглавная буква или неалфавитный символ, считаются слушателями событий.
  • ядро-рантайм: this.$emit() и setupContext.emit() больше не возвращают значения. Для логики, которая зависит от возвращаемого значения слушателей, слушатель должен быть объявлен как свойство onXXX и вызван напрямую. Это все еще позволяет родительскому компоненту передать обработчик с помощью v-on, поскольку v-on:foo внутренне компилируется в onFoo. ссылка: https://github.com/vuejs/rfcs/pull/16

3.0.0-альфа.12 (2020-04-08)### Исправление ошибок

  • compiler: не должен сжимать &nbsp; (8c17535), закрывает #945
  • compiler: должен удалять только начальные символы новой строки напрямую в теге <pre> (be666eb)
  • compiler: поддержка полного диапазона декодирования сущностей в сборках для браузера (1f6e72b)
  • compiler-core: элементы с динамическими ключами должны быть вынуждены в блоки (d531686), закрывает #916
  • reactivity: отслеживание реактивных ключей в исходных коллекционных типах (5dcc645), закрывает #919
  • runtime-core: исправление globalProperties в проверке на прокси рендеринга экземпляра (c28a919)
  • runtime-core: установка дочерних элементов корневого фрагмента также должна обновлять dynamicChildren (#944) (a27e9ee), закрывает #943
  • runtime-dom: исправление порядка getModelAssigner в vModelCheckbox (#926) (da1fb7a)
  • runtime-dom: поддержка встроенных обработчиков событий onxxx (2302dea)com/vuejs/vue-next/commit/2302dea1624d4b964fed71e30089426212091c11)), закрывает #927
  • slots: должен обновлять скомпилированные динамические слоты (8444078)
  • transition: исправление обновления динамического перехода в вложенных HOC (b8da8b2)
  • transition: должен включать объявления props в продакшн (4227831)
  • types: принимает обобщенный тип Component в h() (c1d5928), закрывает #922
  • v-model: обрабатывает динамические присваивания и массивные присваивания (f42d11e), закрывает #923

Функции* asyncComponent: добавлена опция onError для defineAsyncComponent (e804463)

  • runtime-core: улучшена проверка публичного экземпляра компонента (899287a)

Критические изменения

  • compiler: опции компилятора были скорректированы.
    • добавлена новая опция decodeEntities.
    • опция namedCharacterReferences удалена.
    • опция maxCRNameLength удалена.
  • asyncComponent: опции retryWhen и maxRetries для defineAsyncComponent были заменены более гибкой опцией onError, согласно https://github.com/vuejs/rfcs/pull/148

3.0.0-alpha.11 (2020-04-04)### Исправленные ошибки

  • compiler: исправление обработки пробелов в тегах pre (7f30cb5), закрывает #908
  • compiler-core/slots: поддержка именованных слотов на уровне компонента (a022b63)
  • compiler-sfc: всегда использовать смещение для карт источников блока шаблона (#911) (db50009)
  • inject: разрешение значения по умолчанию быть undefined (#894) (94562da), закрывает #892
  • portal: портал всегда должен удалять своих детей при размонтировании (16cd8ee)
  • reactivity: запланированный эффект не должен выполняться, если он был остановлен (0764c33), закрывает #910
  • runtime-core: поддержка слияния атрибутов на дочернем уровне с комментариями корневого уровня (e42cb54), закрывает #904
  • runtime-dom: v-cloak должен удаляться после компиляции на корневом элементе (#893) (0ed147d), закрывает #890* runtime-dom: правильная поддержка создания пользовательских встроенных элементов (b1d0b04)
  • transition: предупреждение только при наличии более одного отображаемого дочернего элемента (#903) (37b1dc8)
  • types: разрешение использования PropType с функцией (#915) (026eb72), закрывает #748
  • types: экспорт пропущенных типов из runtime-core (#889) (412ec86)
  • types/reactivity: добавление ограничения generics для markNonReactive (f3b6559), закрывает #917

Оптимизация кода* runtime-core: корректировка поведения перехвата атрибутов (21bcdec)

  • переименование <portal> в <teleport> (eee5095)
  • runtime-core: переименование createAsyncComponent в defineAsyncComponent (#888) (ebc5873)### Новые возможности
  • asyncComponent: поддержка повторной попытки (c01930e)
  • compiler-core: экспорт transformElement из compiler-core (#907) (20f4965)
  • compiler-core: поддержка v-is (b8ffbff)
  • portal: поддержка гибридизации для режима отключения портала (b74bab2)
  • portal: поддержка SSR для нескольких портальных целей (e866434)
  • portal: поддержка SSR для свойства отключения портала (9ed9bf3)
  • portal: поддержка свойства отключения (8ce3da0)
  • portal: поддержка нескольких портальных элементов, добавляемых к одной и той же цели (aafb880)
  • reactivity: добавление эффекта в публичный API (#909) (6fba241)
  • runtime-core: поддержка конфигурации трассировки производительности (e93e426)
  • runtime-core: валидация и предупреждения для emits (c7c3a6a)
  • runtime-core: неудачное разрешение компонента должно перейти к нативному элементу (cb31eb4)* runtime-core: поддержка глобальных свойств конфигурации приложения (27873db)
  • runtime-core: поддержка падающего через типа и атрибута для опции emits (bf473a6)
  • templateRef: должен работать с прямым реактивным свойством (449ab03), закрывает #901
  • templateRef: поддержка ссылки на шаблон для всех типов vnode (55b364d)

Причины переработки* runtime-core: поведение атрибута fallthrough было скорректировано

в соответствии с https://github.com/vuejs/rfcs/pull/154

  • <portal> был переименован в <teleport>.

    Атрибут target также был переименован в to, поэтому новый способ использования будет следующим:

    <Teleport to="#modal-layer" :disabled="isMobile">
      <div class="modal">
        привет
      </div>
    </Teleport>

    Основная причина переименования — избежать потенциального конфликта названий с нативными порталами.

  • asyncComponent: опции error и loading асинхронного компонента были переименованы в errorComponent и loadingComponent соответственно.

  • runtime-core: createAsyncComponent был переименован в defineAsyncComponent для согласованности с defineComponent.

3.0.0-alpha.10 (2020-03-24)### Исправления ошибок

  • Исправление проверки наличия глобальных миксинов при слиянии опций (10ad965)
  • compiler-core: назначение patchFlag для фрагмента шаблона v-if (a1da9c2), закрывает #850
  • compiler-core: поддержка интерполяции в режиме RCDATA (например, textarea) (0831b98)
  • keep-alive: обновление переактивированного компонента последними props (1237387)
  • reactivity: не следует наблюдать за замороженными объектами (1b2149d), закрывает #867
  • reactivity: не следует запускать итерацию ключей карты, если ключи не изменились (45ba06a), закрывает #877
  • runtime-core: исправление проверки наличия булевых props (3b282e7)
  • runtime-dom: неверный тег svg lineGradient (#863) (d425818), закрывает #862
  • TransitionGroup: игнорирование узла комментария при предупреждении (исправление #869) (#875) (0dba5d4)* Не удалять поведение SFC runtime в глобальных сборках (4c1a193), закрывает #873
  • Динамический компонент падает на native элемент (f529dbd), закрывает #870
  • runtime-core: исправление проверки наличия прокси props компонента (b3890a9), закрывает #864
  • suspense: устранение влияния на разрешение ожидания (ebc1ca8)
  • transition: исправление валидации свойства duration (0dc2478), закрывает #868

Функции* asyncComponent: поддержка SSR/hydration для асинхронного компонента (cba2f1a)

  • runtime-core: поддержка асинхронных компонентов (c3bb316)
  • runtime-core: поддержка config.optionMergeStrategies (528621b)
  • добавлен хук для трансформации аргументов h (#851) (b7d1e0f)

Улучшения производительности

  • transform-vif: не требуется создание блока для компонента (#853) (a3601e9)

3.0.0-alpha.9 (2020-03-16)### Исправления ошибок

  • build: удаление флага RUNTIME_COMPILE (206640a), закрывает #817
  • compiler-core: исправление обнаружения сокращенного свойства (586e5bb), закрывает #845
  • compiler-ssr: исправление кодогенерации для input с v-bind="obj" (3b40fc5)
  • compiler-ssr: передача необходимых имен тегов для динамического v-bind (a46f3b3)
  • runtime-core: всегда устанавливать недействительный тип vnode (#820) (28a9bee)
  • runtime-core: пустые булевы свойства (#844) (c7ae269), закрывает #843
  • runtime-core: передача прокси-экземпляра в качестве аргумента data() (#828) (d9dd1d8)
  • runtime-dom: патч атрибута xlink (#842) (d318576)
  • упрощение и использование правильного ctx в withCtx (4dc8ffc)
  • runtime-core: передача предыдущего значения в hostPatchProp (#809) (cd34603), закрывает #808* runtime-core: разрешение пустой строки и 0 как действительного ключа vnode (#807) (54a0e93)
  • types: app.component должен принимать тип возвращаемого значения defineComponent (#822) (1e9d131), закрывает #730

Оптимизация кода* runtime-core: изменение порядка аргументов для patchProp (ca5f39e)

Новые возможности* compiler-core: обертывание функций слотов контекстом рендера (ecd7ce6)

  • compiler-sfc: добавление опции ssr (3b2d236)

  • runtime-core: добавление специального свойства для получения опций компонента класса (#821) (dd17fa1)

  • runtime-core: реализация RFC-0020 (bb7fa3d)

  • runtime-core: установка контекста для вручную созданных функций слотов (8a58dce)

  • server-renderer: рендеринг suspense в режиме vnode (#727) (589aeb4)

  • ssr: поддержка компилятором Suspense (80c625d)

  • ssr: скрытие анкоров комментариев во время гибридизации в режиме разработки (cad5bcc)

  • ssr: улучшение обработки несоответствий фрагментов (60ed4e7)

  • ssr: поддержка getSSRProps для директив vnode (c450ede)

  • ssr/suspense: гибридизация suspense (a3cc970)

  • types: экспорт ErrorTypes (#840) (760c3e0)### Возвраты

  • Возврат "refactor(directives): удаление binding.instance" (2370166)### КРИТИЧЕСКИЕ ИЗМЕНЕНИЯ

  • runtime-core: данные больше не поддерживают объектный формат (в соответствии с RFC-0020)

  • runtime-core: порядок аргументов RendererOptions.patchProp изменился

    Позиции prevValue и nextValue были обменены для обеспечения согласованности с другими функциями в реализации рендера. Это затрагивает только пользовательские рендера, использующие API createRenderer.

3.0.0-alpha.8 (2020-03-06)

Исправления ошибок* directives: игнорировать недействительные вставки директив (7971b04), закрывает #795

  • portal: исправление текста запасного варианта портала (4397528)

  • реактивность: разрешить запуск эффекта внутри контекстов выполнения без отслеживания (274f81c), закрывает #804

  • реактивность: методы идентификации Map/Set должны работать даже если исходное значение содержит реактивные элементы (cc69fd7), закрывает #799

  • реактивность: не должно запускать зависимость длины при удалении элемента из массива (a306658), закрывает #774

  • runtime-core: обеспечить обновление наследуемых атрибутов на оптимизированном дочернем корне (6810d14), закрывает #677 #784

  • slots: исправление условного слота (3357ff4), закрывает #787

  • ssr: исправление компиляции ssr на лету + вставка вспомогательной функции для ветки запасного варианта слота (3be3785)### Переработка кода

  • runtime-core: корректировка поведения fallthrough для атрибутов (e1660f4), закрывает #749

  • runtime-core: откат изменений реактивности для результата setup() (e67f655)

Функции

  • compiler-core: переключение на @babel/parser для парсинга выражений (8449a97)
  • compiler-ssr: компиляция портала (#775) (d8ed0e7)
  • ssr: обработка несоответствий гибридизации (91269da)

Критические изменения

  • runtime-core: корректировка поведения падающих атрибутов

    Обновлено согласно предстоящему RFC https://github.com/vuejs/rfcs/pull/137

    • Неявное падение теперь по умолчанию применяется только для списка разрешенных атрибутов (class, style, обработчики событий, атрибуты доступности и атрибуты данных).

    • Падение теперь применяется независимо от того, имеет ли компонент разрешенные атрибуты.

  • runtime-core: откат изменений реактивности результата setup()

    Откат изменений 6b10f0c & a840e7d. Мотивацией первоначального изменения было избегание необязательных глубоких преобразований, но это можно достичь явным образом, помечая значения как нереактивные с помощью markNonReactive. Удаление поведения реактивного преобразования приводит к проблеме удобства использования, так как простые объекты, содержащие refs (что обычно возвращают функции составления), когда выставляются как вложенные свойства из setup(), не развертываются в refs в шаблонах. Это противоречит интуиции "нет .value в шаблоне" и единственным обходным путём является явное повторное обертывание с reactive().

    Поэтому в этом коммите мы возвращаемся к предыдущему поведению, где объекты, возвращаемые из setup(), неявно обертываются с reactive() для глубокого развертывания refs.

3.0.0-альфа.7 (2020-02-26)### Исправление ошибок

  • renderSlot: устанавливает слот рендера как STABLE_FRAGMENT (#776) (8cb0b83), закрывает #766
  • runtime-core: исправляет падающий слот fallback + типизация слотов (4a5b91b), закрывает #773
  • runtime-core: заставляет watchEffect игнорировать глубину опции (#765) (19a799c)
  • runtime-core: устанавливает appContext.provides как Object.create(null) (#781) (04f83fa)
  • template-explorer: переименовывает watch -> watchEffect (#780) (59393dd)
  • template-ref: исправляет строковые шаблоны ref внутри слотов (3eab143)
  • types: unwrapping типа значения ref должно происходить при создании (d4c6957)
  • types: shallowRef не должен unwrapping типа значения (3206e5d)### Оптимизация кода* directives: удаление binding.instance (52cc7e8)

ПРЕРЫВАЮЩИЕ ИЗМЕНЕНИЯ

  • directives: пользовательские директивы больше не предоставляют доступ к экземпляру

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

3.0.0-alpha.6 (2020-02-22)

Исправление ошибок* compiler-core: alias name должен быть алиасирован в helperString (#743) (7b987d9), закрывает #740

  • compiler-dom: правильная сериализация классовых/стилевых привязок при выгрузке статических строк (1b9b235)

  • reactivity: все эффекты должны быть запущены при изменении длины массива (#754) (5fac655)

  • sfc: наследование родительского scopeId на дочернем корневом элементе (#756) (9547c2b)

  • types: улучшение типизации ref, закрывает #759 (627b9df)

  • types: обновление типизации unwrap для setup binding для 6b10f0c (a840e7d), закрывает #738### Оптимизация кода

  • сохранение refs в реактивных массивах (775a7c2), закрывает #737

Новые возможности

  • реактивность: экспонирование unref и shallowRef (e9024bf)
  • runtime-core: добавление API watchEffect (99a2e18)

Улучшения производительности

  • эффект: оптимизация триггера эффекта для мутации длины массива (#761) (76c7f54)
  • реактивность: триггер всех эффектов только при мутации длины массива, если новая длина меньше старой (33622d6)

КРИТИЧЕСКИЕ ИЗМЕНЕНИЯ

  • runtime-core: замена watch(fn, options?) на watchEffect

    Сигнатура watch(fn, options?) была заменена новой API watchEffect, которая имеет ту же форму использования и поведение. Теперь watch поддерживает только сигнатуру watch(source, cb, options?).

  • реактивность: реактивные массивы больше не разворачивают вложенные refs

    Когда реактивные массивы содержат refs, особенно смесь refs и простых значений, методы прототипа массива могут работать некорректно — например, методы sort() или reverse() могут перезаписывать значение ref вместо перемещения его (см. #737). Обеспечение правильного поведения для всех возможных методов массива, сохраняя поведение разворачивания ref, является чрезвычайно сложной задачей. Даже если Vue обрабатывает встроенные методы внутренне, это всё равно будет работать некорректно, когда пользователь пытается использовать утилиту третьей стороны (например, lodash) на реактивном массиве, содержащем refs. После этих коммитов, аналогично другим типам коллекций, таким как Map и Set, массивы больше не будут автоматически разворачивать вложенные refs.

    Использование смешанных refs и простых значений в массивах должно быть редким в практике. В случаях, когда это необходимо, пользователь может создать вычисляемое свойство, которое выполнит разворачивание.

3.0.0-alpha.5 (2020-02-18)### Исправление ошибок

  • compiler: исправление аргумента openBlock для фрагмента v-for (12fcf9a)
  • compiler-core: исправление keep-alive при использовании в шаблонах (ade07c6), закрывает #715
  • compiler-core: проверка is только для <component> (78c4f32)
  • compiler-core: смягчение ошибки для неизвестных сущностей (730d329), закрывает #663
  • compiler-core: применение текстовых трансформаций к веткам if (e0f3c6b), закрывает #725
  • compiler-core: отсутствие выгрузки элемента с кэшированными и объединенными обработчиками событий (5455e8e)
  • compiler-dom: исправление дублированных трансформаций (9e51297)
  • compiler-sfc: обработка пустых узлов с атрибутом src (#695) (2d56dfd)
  • compiler-ssr: импорт помощников из правильных пакетов (8f6b669)
  • computed: поддержка использования стрелочных функций для опции computed (2fb7a63), закрывает #733* reactivity: предотвращение утечек зависимостей между компонентами в setup() (d9d63f2)
  • reactivity: обработка самовзаимозависимых изменений в effect (e8e6772)
  • reactivity: итерация эффекта при изменении Map.set (e1c9153), закрывает #709
  • runtime-core: гарантия существования renderCache (8383e54)
  • runtime-core: исправление keep-alive tree-shaking (5b43764)
  • runtime-core: исправление ShapeFlags tree-shaking (0f67aa7)
  • runtime-core: обработка обновлений компонентов с использованием только связей класса/стилей (35d91f4)
  • runtime-core: контекст установки не должен развертывать реактивные значения (27fbfbd)
  • runtime-core: переработка обработки хуков vnode (cfadb98), закрывает #684
  • runtime-core: не следует возвращаться слишком рано при обновлении patchFlag текста (778f3a5)
  • runtime-core/scheduler: избегание повторных обновлений дочерних компонентов (8a87074)
  • runtime-core/scheduler: недействительность задачи (#717)com/vuejs/vue-next/issues/717)) (fe9da2d)
  • runtime-core/watch: запуск наблюдателя с неопределенным начальным значением (#687) (5742a0b), закрывает #683
  • runtime-dom/ssr: правильная обработка xlink и булевых атрибутов (e6e2c58)
  • ssr: избегание жестко закодированных проверок ssr в сборках cjs (bc07e95)
  • ssr: исправление отображения классов/стилей + имя экспорта ssrRenderComponent (688ad92)
  • ssr: отображение компонентов, возвращающих функцию отображения из setup (#720) (4669215)
  • transition-group: обработка нескольких классов перемещения (#679) (5495c70), закрывает #678
  • types: компонент приложения должен принимать тип возвращаемого значения defineComponent (57ee5df), закрывает #730
  • types: гарантирует правильное определение типа oldValue на основе опции lazy (c6a9787), закрывает #719
  • v-on: преобразует модификаторы click.right и click.middle (028f748), закрывает #735
  • убран effect из публичного API (4bc4cb9), закрывает #712
  • v-model: должен использовать динамическое указание на ввод с динамическим v-bind (1f2de9e)

Оптимизация кода* watch: корректировка поведения API watch (9571ede)

Новые возможности* compiler: пометка вынесенных деревьев с patchFlag (175f8aa)

  • compiler: предупреждение об недопустимых дочерних элементах для перехода и keep-alive (4cc39e1)

  • compiler-core: поддержка режима: cjs в кодогенерации (04da2a8)

  • compiler-core/v-on: поддержка @vnode-xxx для vnode-хуков (571ed42)

  • compiler-dom: обработка постоянных выражений при сериализации статического контента (8b7c162)

  • compiler-dom/runtime-dom: сериализация подходящих статических деревьев (27913e6)

  • reactivity: добавление функции shallowReactive (#689) (7f38c1e)

  • runtime-core/reactivity: экспонирование shallowReactive (#711) (21944c4)

  • server-renderer: поддержка компиляции шаблонов на лету (#707) (6d10a6c)

  • ssr: рендеринг порталов (#714) (e495fa4)

  • ssr: поддержка гидратации порталов (70dc3e3)

  • ssr: использование useSSRContext (fd03149)### Улучшения производительности* предотвратить встраивание горячих функций рендерера минификаторами (629ee75)

  • реактивность: улучшенный отслеживаемый вычисляемый (#710) (8874b21)### КРИТИЧЕСКИЕ ИЗМЕНЕНИЯ

  • watch: поведение watch было скорректировано.

    • При использовании сигнатуры watch(source, callback, options?) вызов обратного вызова теперь по умолчанию выполняется лениво (соответствует поведению версии 2.x).

      Обратите внимание, что сигнатура watch(effect, options?) по-прежнему выполняется сразу, так как она должна немедленно вызвать effect, чтобы собрать зависимости.

    • Опция lazy была заменена противоположной опцией immediate, которая по умолчанию имеет значение false. (Она игнорируется при использовании сигнатуры эффекта)

    • Из-за вышеуказанных изменений опция watch в Options API теперь ведет себя точно так же, как в версии 2.x.

    • При использовании сигнатуры эффекта или { immediate: true } начальное выполнение теперь выполняется синхронно, а не откладывается до монтирования компонента. Это необходимо для некоторых случаев использования, чтобы они работали правильно с async setup() и Suspense. В результате немедленный вызов наблюдателя больше не имеет доступа к монтированному DOM. Однако наблюдатель может быть инициирован внутри onMounted, чтобы сохранить предыдущее поведение.# 3.0.0-alpha.4 (2020-01-27)

Исправление ошибок

  • реактивность: Методы массива, зависящие от идентичности, должны работать с исходными значениями (aefb7d2)
  • runtime-core: экземпляр не должен открывать необъявленные свойства (2884831)
  • runtime-dom: не должен обращаться к документу в окружении, не являющемся браузером (48152bc), закрывает #657
  • v-model/emit: обновление: события с camelCase должны запускать эквивалент с kebab-case (2837ce8), закрывает #656

Переработка кода

  • корректировка сигнатур API, связанных с createApp (c07751f)
  • удаление неявного вызова reactive() для renderContext (6b10f0c)

Улучшения производительности

  • ssr: избежать ненужного асинхронного переноса (297282a)

ВАЖНЫЕ ИЗМЕНЕНИЯ

  • объект, возвращаемый из setup(), больше не передается неявно в reactive().RenderContext — это объект, возвращаемый функцией setup() (или новый объект, если функция setup() отсутствует). До этого изменения он передавался неявно в reactive() для разворачивания ref. Однако это приводило к побочному эффекту — ненужной глубокой реактивной конвертации свойств, которые не должны были стать реактивными (например, возвращаемые значения вычислений и внедренные нереактивные объекты), что может привести к проблемам с производительностью. Это изменение убирает вызов reactive() и вместо этого выполняет поверхностное разворачивание ref на уровне render proxy. Критическое изменение заключается в том, что если пользователь возвращает объект с простым свойством из setup(), например return { count: 0 }, это свойство больше не будет обновляться при изменении через обработчик событий в шаблоне. Вместо этого требуются явные ref.

    Это также означает, что любые объекты, которые явно не были сделаны реактивными в setup(), останутся нереактивными. Это может быть желательным при экспонировании тяжелых внешних состоятельных объектов на this.

  • API createApp был скорректирован.

    • createApp() теперь принимает корневой компонент и, по желанию, объект параметров для передачи корневому компоненту.
    • app.mount() теперь принимает один аргумент (корневой контейнер).
    • app.unmount() больше не требует аргументов.

    Новое поведение выглядит следующим образом:

    const app = createApp(RootComponent)
    app.mount('#app')
    app.unmount()

3.0.0-alpha.3 (2020-01-22)### Исправление ошибок

  • В поддержку динамических дочерних элементов должна быть добавлена подвеска (#653) (ec63623), закрывает #649
  • compiler-core: избегать перезаписи ключей пользователя при включении ключа ветки (#630) (aca2c2a)
  • compiler-core: принудительно включать <svg> в блоки для правильной работы runtime isSVG (f2ac28b)
  • compiler-sfc: преобразовывать только относительные URL-адреса активов (#628) (c71ca35)
  • dom: исправить монтирование и обновление <svg> и <foreignObject> (4f06eeb)
  • runtime-core: условие для проверки родительского узла должно быть любым другим узлом (c35fea3), закрывает #622
  • runtime-core: проверка isSVG должна также применяться для ветки патча (035b656), закрывает #639
  • runtime-core: не предупреждать о неиспользованных атрибутах, когда они доступны через контекст setup (751d838), закрывает #625* transition: обрабатывать несколько классов транзitions (#638) (#645) (98d50d8)### Функции* runtime-core: emit теперь возвращает массив значений возврата из всех запущенных обработчиков (e81c8a3), закрывает #635
  • runtime-core: поддержка app.unmount(container) (#601) (04ac6c4), закрывает #593

3.0.0-альфа.2 (2020-01-13)### Исправление ошибок

  • compiler/v-on: обрабатывать несколько выражений в обработчике v-on (закрыть #572) (137893a)
  • compiler/v-slot: обрабатывать неявный дефолтный слот, смешанный с именованными слотами (2ac4b72)
  • reactivity: должен удалять отслеживаемое значение (#598) (63a6563), закрывает #597
  • runtime-core: разрешить передачу классов в качестве плагинов (#588) (8f616a8)
  • runtime-core: должен сохранять регистр props, когда компонент не имеет объявленных props (bb6a346), закрывает #583
  • runtime-core/renderer: исправить переключение v-if внутри блоков (2e9726e), закрывает #604 #607
  • runtime-core/vnode: не должен рендерить булевы значения в дочерних элементах vnode (закрыть #574) (84dc5a6)
  • types: опции компонентов должны принимать компоненты, определенные с помощью defineComponent (#602) (74baea1)* watch: удалять зафиксированный эффект при ручном останове (#590) (453e688)

3.0.0-alpha.1 (2020-01-02)### Баги

  • runtime-core: передача опций плагинам (#561) (4d20981)
  • sfc: обработка содержимого пользовательских блоков как сырого текста (d6275a3)
  • монтирование новых дочерних элементов (7d436ab)
  • core: клонирование монтированных поднятых vnodes при патче (47a6a84)
  • fragment: прямое удаление при удалении фрагментов (2fdb499)

Новые возможности

  • hmr: перезагрузка корневого экземпляра (eda495e)

Улучшения производительности

  • compiler-core: упрощение advancePositionWithMutation (#564) (ad2a0bd)

3.0.0-alpha.0 (2019-12-20)

Для изменений между 2.x и 3.0 до этого выпуска, обратитесь к объединённым RFC здесь.

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

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

1
https://api.gitlife.ru/oschina-mirror/huoxd-vue-next.git
git@api.gitlife.ru:oschina-mirror/huoxd-vue-next.git
oschina-mirror
huoxd-vue-next
huoxd-vue-next
master