vue 3.2.28 → 3.2.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -866,7 +866,7 @@ const shallowSet = /*#__PURE__*/ createSetter(true);
866
866
  function createSetter(shallow = false) {
867
867
  return function set(target, key, value, receiver) {
868
868
  let oldValue = target[key];
869
- if (isReadonly(oldValue) && isRef(oldValue)) {
869
+ if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {
870
870
  return false;
871
871
  }
872
872
  if (!shallow && !isReadonly(value)) {
@@ -9110,7 +9110,7 @@ function isMemoSame(cached, memo) {
9110
9110
  }
9111
9111
 
9112
9112
  // Core API ------------------------------------------------------------------
9113
- const version = "3.2.28";
9113
+ const version = "3.2.29";
9114
9114
  /**
9115
9115
  * SSR utils for \@vue/server-renderer. Only exposed in cjs builds.
9116
9116
  * @internal
@@ -9184,7 +9184,10 @@ const nodeOps = {
9184
9184
  insertStaticContent(content, parent, anchor, isSVG, start, end) {
9185
9185
  // <parent> before | first ... last | anchor </parent>
9186
9186
  const before = anchor ? anchor.previousSibling : parent.lastChild;
9187
- if (start && end) {
9187
+ // #5308 can only take cached path if:
9188
+ // - has a single root node
9189
+ // - nextSibling info is still available
9190
+ if (start && (start === end || start.nextSibling)) {
9188
9191
  // cached
9189
9192
  while (true) {
9190
9193
  parent.insertBefore(start.cloneNode(true), anchor);