Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions .changeset/brave-buses-thank.md

This file was deleted.

56 changes: 0 additions & 56 deletions .changeset/busy-cloths-search.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/dark-islands-clean.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/five-mangos-give.md

This file was deleted.

20 changes: 0 additions & 20 deletions .changeset/light-walls-vanish.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/smooth-hairs-hide.md

This file was deleted.

17 changes: 0 additions & 17 deletions .changeset/violet-waves-happen.md

This file was deleted.

55 changes: 0 additions & 55 deletions .changeset/warm-melons-argue.md

This file was deleted.

19 changes: 19 additions & 0 deletions deployment/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
# hive

## 8.14.1

### Patch Changes

- [#7477](https://github.com/graphql-hive/console/pull/7477)
[`b90f215`](https://github.com/graphql-hive/console/commit/b90f215213996ac755caca853a91816350936303)
Thanks [@n1ru4l](https://github.com/n1ru4l)! - Show correct error message for insufficient GitHub
App installation permissions when attempting to create a check run as part of a schema check.

- [#7459](https://github.com/graphql-hive/console/pull/7459)
[`0ce9c82`](https://github.com/graphql-hive/console/commit/0ce9c82b810fef311f3856bb90b2e2a1823a7101)
Thanks [@jdolle](https://github.com/jdolle)! - Set usageEstimation year validation range at
runtime to avoid issues during the new year. This fixes an issue where the organization settings
usage data was not loading for January until the service was deployed again.

- [#7451](https://github.com/graphql-hive/console/pull/7451)
[`bd4e36d`](https://github.com/graphql-hive/console/commit/bd4e36d4860c2ae0c2671fa713d0f445b47447d4)
Thanks [@jdolle](https://github.com/jdolle)! - Show diff on proposals editor

## 8.14.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion deployment/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "hive",
"version": "8.14.0",
"version": "8.14.1",
"private": true,
"scripts": {
"generate": "tsx generate.ts",
Expand Down
65 changes: 65 additions & 0 deletions packages/libraries/apollo/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,70 @@
# @graphql-hive/apollo

## 0.47.0

### Minor Changes

- [#7462](https://github.com/graphql-hive/console/pull/7462)
[`60133a4`](https://github.com/graphql-hive/console/commit/60133a41a684a0c1b1a45d47cf3cd30cc804c19d)
Thanks [@adambenhassen](https://github.com/adambenhassen)! - Add Layer 2 (L2) cache support for
persisted documents.

This feature adds a second layer of caching between the in-memory cache (L1) and the CDN for
persisted documents. This is particularly useful for:

- **Serverless environments**: Where in-memory cache is lost between invocations
- **Multi-instance deployments**: To share cached documents across server instances
- **Reducing CDN calls**: By caching documents in Redis or similar external caches

The lookup flow is: L1 (memory) -> L2 (Redis/external) -> CDN

**Example with GraphQL Yoga:**

```typescript
import { createYoga } from 'graphql-yoga'
import { createClient } from 'redis'
import { useHive } from '@graphql-hive/yoga'

const redis = createClient({ url: 'redis://localhost:6379' })
await redis.connect()

const yoga = createYoga({
plugins: [
useHive({
experimental__persistedDocuments: {
cdn: {
endpoint: 'https://cdn.graphql-hive.com/artifacts/v1/<target_id>',
accessToken: '<cdn_access_token>'
},
layer2Cache: {
cache: {
get: key => redis.get(`hive:pd:${key}`),
set: (key, value, opts) =>
redis.set(`hive:pd:${key}`, value, opts?.ttl ? { EX: opts.ttl } : {})
},
ttlSeconds: 3600, // 1 hour for found documents
notFoundTtlSeconds: 60 // 1 minute for not-found (negative caching)
}
}
})
]
})
```
Comment on lines +21 to +52
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The example provided is for GraphQL Yoga, but this is the changelog for @graphql-hive/apollo. This can be confusing for users. It would be more helpful to provide an example that is specific to Apollo Server, especially since one of the features is "Apollo Server integration auto-uses context cache if available".

  **Example with Apollo Server:**

  ```typescript
  import { ApolloServer } from '@apollo/server';
  import { startStandaloneServer } from '@apollo/server/standalone';
  import { createClient } from 'redis';
  import { RedisCache } from '@apollo/server-redis-cache';
  import { useHive } from '@graphql-hive/apollo';

  // Some type definitions
  const typeDefs = `#graphql
    type Query {
      hello: String
    }
  `;

  // Some resolvers
  const resolvers = {
    Query: {
      hello: () => 'world',
    },
  };

  const redis = createClient({ url: 'redis://localhost:6379' });
  await redis.connect();

  const server = new ApolloServer({
    typeDefs,
    resolvers,
    cache: new RedisCache({
      client: redis,
    }),
    plugins: [
      useHive({
        experimental__persistedDocuments: {
          cdn: {
            endpoint: 'https://cdn.graphql-hive.com/artifacts/v1/<target_id>',
            accessToken: '<cdn_access_token>'
          },
          // L2 cache is automatically picked up from Apollo Server's context cache.
          // You can still configure TTLs if needed.
          layer2Cache: {
            ttlSeconds: 3600, // 1 hour for found documents
            notFoundTtlSeconds: 60 // 1 minute for not-found (negative caching)
          }
        }
      })
    ]
  });

  const { url } = await startStandaloneServer(server);
  console.log(`🚀 Server ready at ${url}`);


**Features:**

- Configurable TTL for found documents (`ttlSeconds`)
- Configurable TTL for negative caching (`notFoundTtlSeconds`)
- Graceful fallback to CDN if L2 cache fails
- Support for `waitUntil` in serverless environments
- Apollo Server integration auto-uses context cache if available

### Patch Changes

- Updated dependencies
[[`60133a4`](https://github.com/graphql-hive/console/commit/60133a41a684a0c1b1a45d47cf3cd30cc804c19d)]:
- @graphql-hive/core@0.20.0

## 0.46.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/libraries/apollo/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@graphql-hive/apollo",
"version": "0.46.0",
"version": "0.47.0",
"type": "module",
"description": "GraphQL Hive + Apollo Server",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/libraries/apollo/src/version.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export const version = '0.46.0';
export const version = '0.47.0';
8 changes: 8 additions & 0 deletions packages/libraries/cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @graphql-hive/cli

## 0.57.1

### Patch Changes

- Updated dependencies
[[`60133a4`](https://github.com/graphql-hive/console/commit/60133a41a684a0c1b1a45d47cf3cd30cc804c19d)]:
- @graphql-hive/[email protected]

## 0.57.0

### Minor Changes
Expand Down
Loading
Loading