返回 Skill 列表
extension
分类: 开发与工程无需 API Key

posthog-upgrade-migration

分析、规划并执行PostHog SDK升级,包括破坏性变更检测。在升级PostHog SDK版本、检测已弃用功能或迁移到新API版本时使用。可以通过诸如“upgrade posthog”、“posthog migration”、“posthog breaking changes”、“update posthog SDK”、“analyze posthog version”等短语触发。

person作者: jakexiaohubgithub

PostHog Upgrade & Migration

Overview

Guide for upgrading PostHog SDK versions and handling breaking changes.

Prerequisites

  • Current PostHog SDK installed
  • Git for version control
  • Test suite available
  • Staging environment

Instructions

Step 1: Check Current Version

npm list @posthog/sdk
npm view @posthog/sdk version

Step 2: Review Changelog

open https://github.com/posthog/sdk/releases

Step 3: Create Upgrade Branch

git checkout -b upgrade/posthog-sdk-vX.Y.Z
npm install @posthog/sdk@latest
npm test

Step 4: Handle Breaking Changes

Update import statements, configuration, and method signatures as needed.

Output

  • Updated SDK version
  • Fixed breaking changes
  • Passing test suite
  • Documented rollback procedure

Error Handling

| SDK Version | API Version | Node.js | Breaking Changes | |-------------|-------------|---------|------------------| | 3.x | 2024-01 | 18+ | Major refactor | | 2.x | 2023-06 | 16+ | Auth changes | | 1.x | 2022-01 | 14+ | Initial release |

Examples

Import Changes

// Before (v1.x)
import { Client } from '@posthog/sdk';

// After (v2.x)
import { PostHogClient } from '@posthog/sdk';

Configuration Changes

// Before (v1.x)
const client = new Client({ key: 'xxx' });

// After (v2.x)
const client = new PostHogClient({
  apiKey: 'xxx',
});

Rollback Procedure

npm install @posthog/sdk@1.x.x --save-exact

Deprecation Handling

// Monitor for deprecation warnings in development
if (process.env.NODE_ENV === 'development') {
  process.on('warning', (warning) => {
    if (warning.name === 'DeprecationWarning') {
      console.warn('[PostHog]', warning.message);
      // Log to tracking system for proactive updates
    }
  });
}

// Common deprecation patterns to watch for:
// - Renamed methods: client.oldMethod() -> client.newMethod()
// - Changed parameters: { key: 'x' } -> { apiKey: 'x' }
// - Removed features: Check release notes before upgrading

Resources

Next Steps

For CI integration during upgrades, see posthog-ci-integration.