A partir da versão 2.6.x do Vue, o uso de slots foi modificado/unificado.
Para saber todos os detalhes recomendo ler o post do Evan You no Medium.
Anteriormente tínhamos os atributos "slot" e "slot-scope", agora temos somente uma nova diretiva: "v-slot".
Veja alguns exemplos de como era antes, e como ficou agora para melhor entendimento:
IMPORTANTE: no component que define os slots, nada muda
Post.vue
<template>
<div class="post">
<header>
<slot name="cabecalho"></slot>
</header>
<section>
<slot></slot> <!-- slot default -->
</section>
<footer>
<slot name="rodape"></slot>
</footer>
</div>
</template>App.vue
<!-- antes --> <Post> <h2 slot="cabecalho">Components no Vue</h2> <p>Components são uma das peças mais fundamentais no Vue</p> <span>...</span> <small slot="rodape">por Plínio Naves</small> </Post> <!-- depois --> <Post> <h2 v-slot:cabecalho>Components no Vue</h2> <p>Components são uma das peças mais fundamentais no Vue</p> <span>...</span> <small v-slot:rodape>por Plínio Naves</small> </Post>
Scoped Slots agora são somente Slots, veja como ficou:
PostsLista.vue
<template>
<div>
<h2>Lista de posts</h2>
<PostsListaIten
v-for="post in posts"
:key="post.id"
:post="post">
<slot :meuPost="post"></slot> <!-- passagem da prop para o slot -->
</PostsListaIten>
</div>
</template>App.vue
<!-- antes -->
<PostsLista :posts="posts">
<template slot-scope="{ meuPost }">
<h2>{{ meuPost.titulo }}</h2>
<p>{{ meuPost.conteudo }}</p>
<small>{{ meuPost.autor }}</small>
</template>
</PostsLista>
<!-- depois -->
<PostsLista :posts="posts" v-slot="{ meuPost }">
<h2>{{ meuPost.titulo }}</h2>
<p>{{ meuPost.conteudo }}</p>
<small>{{ meuPost.autor }}</small>
</PostsLista>Para mais detalhes de uso, dê uma olhada neste RFC.
Grande abraço,
Plínio Naves