Skip to content

Considering specifying a more recent version of federation and their default directives #3837

@mlcooper

Description

@mlcooper

Is there an existing issue that is already proposing this?

  • I have searched the existing issues

Is your feature request related to a problem? Please describe it

I am curious why in the latest version of @nestjs/graphql, the default decorator list is still pulling in directives from v2.3 of federation instead of upgrading this block to pull in a more recent version.

I am asking because we are starting to use @policy more frequently as well as @cacheTag as these are powerful features.

Thanks!

Describe the solution you'd like

By default specify v2.12 with the appropriate defaults.

Teachability, documentation, adoption, migration strategy

  Version: v1.0                                                      
  Date: -                                                            
  New Directives: @key, @external, @requires, @provides, @extends    
  ────────────────────────────────────────                           
  Version: v1.1                                                      
  Date: -
  New Directives: @tag
  ────────────────────────────────────────
  Version: v2.0
  Date: Apr 2022
  New Directives: @link, @shareable, @inaccessible, @override
  ────────────────────────────────────────
  Version: v2.1
  Date: Aug 2022
  New Directives: @composeDirective
  ────────────────────────────────────────
  Version: v2.3
  Date: Feb 2023
  New Directives: @interfaceObject
  ────────────────────────────────────────
  Version: v2.5
  Date: Jul 2023
  New Directives: @authenticated, @requiresScopes
  ────────────────────────────────────────
  Version: v2.6
  Date: Nov 2023
  New Directives: @policy
  ────────────────────────────────────────
  Version: v2.7
  Date: Feb 2024
  New Directives: Progressive @override (label param)
  ────────────────────────────────────────
  Version: v2.8
  Date: May 2024
  New Directives: @context, @fromContext
  ────────────────────────────────────────
  Version: v2.9
  Date: Aug 2024
  New Directives: @cost, @listSize
  ────────────────────────────────────────
  Version: v2.10
  Date: Feb 2025
  New Directives: @connect, @source (Connectors)
  ────────────────────────────────────────
  Version: v2.12
  Date: Nov 2025
  New Directives: @cacheTag

What is the motivation / use case for changing the behavior?

Starting to use more directives from v2.6 and later.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions