Skip to content

Changelog

Complete version history of the Pika Framework.


  • Opensearch Type Issue - Fixed minor opensearch type issue
    • Fixed issue where metrics were not corectly being transformed on way in/out of opensearch
  • Cost Distribution Charts - Added cost distribution charts to session analytics
    • Added cost distribution charts to session analytics
  • Auto Insights Runaway Issue - Fixed auto insights runaway issue
    • Fixed data corruption issue allowing auto insights to run indefinitely (made self healing)
  • Analtyics Backfill Tool - Fixed analtyics tool flushing issuenot flushing messages to OpenSearch
    • Fixed issue where analytics tool was
  • Backfill Tool - Minor fix for robustness and performance of backfill tool
    • Fixed error handling and logging in backfill tool
  • Message Analytics & Search - Enhanced session analytics with message-level insights and full-text message search
    • Requires running update-session-mapping-for-messages.ts tool BEFORE deployment
    • Adds messages_summary and messages_analysis fields to session index
    • If not run before deployment, OpenSearch will auto-index fields incorrectly
    • See Migration Guide
  • Enhanced Session Analytics - Dramatically improved user message analytics
    • Message-level metrics: total user messages, total assistant messages, average messages per session
    • Per-response cost and token metrics: average cost per response, tokens per response, execution duration
    • Timing analytics: response time, user think time, session duration, long gap detection
    • New time series chart showing user vs assistant message counts over time
    • Pre-computed statistics for 10-100x faster analytics queries
  • Message Content Search - Session Insights search now includes message content
    • Search across message text, extracted LLM instructions, and model names
    • Returns sessions containing messages with matching terms
    • Seamless integration with existing session field search
  • Message Index - New dedicated OpenSearch index for message documents
    • Full-text search on message content and LLM instructions
    • Searchable model field for filtering by AI model
    • Automatic replication from DynamoDB via Lambda stream handler
  • Migration Tools
    • update-session-mapping-for-messages.ts - Update session index mapping (run BEFORE deployment)
    • backfill-message-metadata/ - Backfill invocationMode and userType fields to existing messages
    • backfill-messages-to-opensearch/ - Populate message index and session analytics fields

Find All Type Changes for This Release:

Search the repository for @since 0.15.0 to find all type definitions that were added, updated, or removed in this release.

  • Admin Site Session Insights - Improved admin site session insights feature
  • Bedrock Inference Profile Stack Tags - Fixed stack tags to ensure they are converted to required string type before being applied to Bedrock inference profiles
  • Component Tags for Granular Cost Tracking - Enhanced stack tagging system with component-level identification
    • New componentTagNames array in stackTags configuration enables tagging each infrastructure resource with its specific component name
    • Component tags applied to all AWS resources: Lambda functions, DynamoDB tables, S3 buckets, ECS clusters, Fargate services, KMS keys, OpenSearch domains, and Bedrock inference profiles
    • Enables granular cost analysis in AWS Cost Explorer - see costs for specific Lambda functions, DynamoDB tables, or inference profiles within each service
    • Example: Filter by AWS Lambda service, then group by component tag to see costs for ConverseLambda, ChatbotApiLambda, KeyRotationLambda separately
    • Particularly valuable for Bedrock costs - track which AI models (Claude 4 Sonnet, Claude 4.5 Haiku, etc.) consume the most
    • Helper method applyComponentTags() in custom-stack-defs.ts for easy tagging of custom infrastructure
    • Tag environment variable support for CloudFormation custom resources enables tagging of custom-created resources
    • New TypeScript property: PikaConfig.stackTags.componentTagNames with @since 0.14.0 annotation
    • New documentation: Component Tags for Cost Tracking section in AWS CDK deployment guide
    • 500-byte limit enforced on combined tags overall size when CDK synth (docs include more details)

Find All Type Changes for This Release:

Search the repository for @since 0.14.0 to find all type definitions that were added, updated, or removed in this release.

  • Inference Profile Tag Deduplication - Fixed duplicate component tags causing Bedrock profile creation failures

    • Custom resource Lambda now properly deduplicates tags before creating inference profiles
    • Properties tags take precedence over environment variable tags when key conflicts occur
    • Prevents Bedrock API rejections due to duplicate tag keys
  • Custom Resource Re-invocation - Fixed custom resources not updating on subsequent deployments

    • Added timestamp property to custom resources to force CloudFormation re-invocation on each deployment
    • Ensures tag updates and other changes are applied even when resource properties haven't changed
  • Inference Profile Cost Tracking - Automatic creation of named inference profiles for granular AI model cost analysis

    • Pika now automatically creates named inference profiles by copying AWS Bedrock's built-in profiles
    • Enables tracking costs for specific models (Claude 4 Sonnet, Claude 4.5 Haiku, Claude 4.5 Sonnet) in AWS Cost Explorer
    • Inference profiles follow naming pattern: {stackName}-{profileName} (e.g., pika-test-claude-sonnet-4-5)
    • All inference profiles are tagged with your configured stackTags for flexible cost allocation
    • Automatic component tagging for each profile (e.g., component: Claude4_5SonnetInferenceProfile)
    • Created during backend stack deployment with no additional configuration required
    • New documentation: Track AI Model Costs guide and Inference Profile Names reference
  • AWS Resource Tagging System - Comprehensive tagging support for cost tracking, organization, and compliance

    • New stackTags configuration in pika-config.ts with three tag categories: common, pikaServiceTags, pikaChatTags
    • Dynamic placeholder support for tag values (e.g., {stage}, {timestamp}, {accountId}, {region}, {pika.projNameKebabCase})
    • Tags applied to all AWS resources in CDK stacks including Lambda, DynamoDB, S3, CloudFront, and inference profiles
    • Automatic filtering of AWS system tags (aws:*, cloudformation:*) for inference profiles
    • Tag merging rules: stack-specific tags overwrite common tags on key conflicts
    • New TypeScript interface: PikaConfig.stackTags with @since 0.13.0 annotation
    • New documentation: Configure AWS Resource Tags guide and Stack Tags Configuration reference
  • Markdown Renderer Factory - Centralized markdown-to-HTML conversion with caching

    • New factory function for creating and caching markdown-it renderer instances
    • Configurable options: HTML support, linkify, typographer, line breaks, syntax highlighting
    • Cache key support for different highlight function configurations
    • Available in web components via appState.convertMarkdownToHtml(markdown, config?)
    • New TypeScript interfaces: MarkdownRendererConfig and IAppState.convertMarkdownToHtml() with @since 0.13.0 annotations
    • New documentation: Markdown Conversion API reference

Find All Type Changes for This Release:

Search the repository for @since 0.13.0 to find all type definitions that were added, updated, or removed in this release.

  • Custom Resource Lambda Functions - Refactored to use shared utilities

    • Agent custom resource now uses lambda-custom-resource-util helpers
    • Chat app custom resource now uses lambda-custom-resource-util helpers
    • Memory custom resource now uses lambda-custom-resource-util helpers
    • Semantic directive custom resource now uses lambda-custom-resource-util helpers
    • Tag definition custom resource now uses lambda-custom-resource-util helpers
    • Improved error handling and logging consistency across all custom resources
  • AWS CDK Deployment Documentation - Updated with tagging information

    • Added references to new inference profile cost tracking feature
    • Included information about automatic resource tagging
  • Domain index Lambda now properly handles case sensitivity in domain comparisons

  • Entity List Value Retrieval - New required method for entity implementations in custom-data.ts
    • Added getValuesForEntityList() method to fetch entity display names by ID
    • Complements existing getValuesForEntityAutoComplete() for complete entity data flow
    • Required for displaying entity names in session analytics and admin UI
    • Returns SimpleOption[] with value/label pairs for entity display
    • New TypeScript interfaces: GetValuesForEntityListRequest and GetValuesForEntityListResponse with @since 0.12.0 annotations
    • Important: When syncing from previous versions, this method must be manually added to apps/pika-chat/src/routes/(auth)/api/site-admin/custom-data.ts
    • Can return empty array or undefined if entity feature is not being used

Find All Type Changes for This Release:

Search the repository for @since 0.12.0 to find all type definitions that were added, updated, or removed in this release.

  • Session Analytics UI Improvements - Enhanced admin site analytics interface
    • Improved visual design and layout of session analytics dashboard
    • Better organization of filters and controls
    • Enhanced date range selection with popup calendar
    • Improved chart rendering and data visualization
    • More intuitive entity filtering interface
    • Refined toggle groups for invocation mode and user type filters
  • Session analytics entity display now properly shows entity names instead of IDs

  • pika-cli Sync Command - Improved temp file handling and visual diff functionality
    • Changed temp directory location from project directory to OS temp directory
    • Added automatic cleanup of old pika-sync-* temp directories
    • Fixed --visualdiff mode to keep temp files available for editor review
    • Fixed visual diff command execution using spawn instead of exec for better argument handling
    • Added informative logging about temp file location when using --visualdiff
  • Site Admin General Settings - Fixed page header right snippet not being assigned
  • OpenSearch Error Logging - Improved error message logging for source filtering failures

  • CI/CD Pipeline - Fixed pnpm lockfile synchronization issue
    • Resolved ERR_PNPM_OUTDATED_LOCKFILE error in GitHub Actions workflows
    • Regenerated lockfile to sync dependency ordering with package.json files
    • Ensures successful frozen-lockfile installation in CI environments

  • Site Admin Type Safety - Improved TypeScript type handling in site admin pages
    • Removed unnecessary as any type casts for page header snippets
    • Fixed type safety in chat apps, general settings, instruction augmentation, memory, session analytics, and session insights pages
    • Cleaned up TODO comments about type fixes

  • OpenSearch Keyword Field Migration Required - Session analytics now uses dedicated keyword fields for aggregations

    • Requires running update-session-mapping.ts to add new fields to OpenSearch index
    • Requires running copy-to-keyword-fields.ts to populate keyword fields for existing sessions
    • New fields: invocation_mode_keyword, user_type_keyword, source_keyword
    • Original text fields remain unchanged (additive-only migration)
    • See Migration Guide
  • User Type Migration Required - Chat sessions now include user type classification

    • Requires running backfill-session-metadata/ tool to add user_type field to existing sessions
    • Enables filtering sessions by internal vs external users in analytics
    • See Migration Guide
  • WidgetAction Callback Signature Changed - Widget action callbacks now receive context object

    • Old: callback: () => void | Promise<void>
    • New: callback: (context: WidgetCallbackContext) => void | Promise<void>
    • Provides access to widget element, instanceId, and full PikaWCContext
    • Update all custom widget action callbacks to accept the context parameter
    • See WidgetCallbackContext documentation
  • Enhanced Session Analytics Dashboard - Comprehensive analytics with advanced filtering and aggregations

    • Filter sessions by invocation mode (agent, tool, autonomous, component)
    • Filter sessions by user type (internal-user, external-user)
    • Filter sessions by source (user, component-as-user, component)
    • Cost aggregations by invocation mode with visual charts
    • Session count trends and distribution visualizations
    • Export session data with all filters applied
  • Widget Metadata System - Dynamic UI chrome for widgets across all rendering contexts

    • Set title, icon, loading status, and custom actions for widgets
    • Metadata can be set initially via renderTag() or dynamically via getWidgetMetadataAPI()
    • Support for spotlight, canvas, and dialog widgets
    • Actions can be primary buttons or overflow menu items
    • Widget actions receive full context including element reference
    • SpotlightWidgetDefinition now includes optional metadata field
  • Dynamic Widget Registration for Canvas/Dialog - No tag definitions required

    • Canvas and dialog rendering contexts now auto-generate tag definitions when needed
    • Eliminates need for manual tag definition creation during development
    • Auto-enables requested rendering context if tag exists but context is disabled
    • Seamlessly integrates with manually registered spotlight widgets
  • Widget Context API - New method for accessing widget context

    • getWidgetContext(instanceId) returns full PikaWCContext for any widget instance
    • Enables widgets to access context from action callbacks
    • Provides element reference, instance ID, app state, and data
  • Type Organization Improvements - Better TypeScript type definitions

    • Moved WidgetAction, WidgetMetadata, WidgetMetadataState, and SpotlightWidgetDefinition to webcomp-types.ts
    • Added @since 0.11.0 annotations for all new and updated types
    • Improved JSDoc documentation for widget-related interfaces
  • Automatic User Profile Sync - Framework automatically syncs updated user information from auth provider

    • Detects when auth provider returns updated firstName or lastName for existing users
    • Automatically updates chat-user table when profile information changes
    • No manual sync required - happens seamlessly during authentication
    • Ensures user display names stay current across the platform
  • Migration Tooling - Scripts for data migration

    • update-session-mapping.ts - Add keyword fields to OpenSearch session index
    • copy-to-keyword-fields.ts - Copy data to keyword fields for existing sessions
    • backfill-session-metadata/ - Add user type to existing chat sessions

Find All Type Changes for This Release:

Search the repository for @since 0.11.0 to find all type definitions that were added, updated, or removed in this release.

  • Widget Metadata Flow - Unified metadata management

    • Metadata from renderTag() is now copied to centralized widgetMetadata map after injection
    • widgetMetadata.get(instanceId) is now the single source of truth after initialization
    • Dynamic metadata updates via getWidgetMetadataAPI() immediately reflect in UI
    • Applies consistently across spotlight, canvas, and dialog contexts
  • Session Analytics Backend - OpenSearch query improvements

    • All analytics queries now use keyword fields for aggregations
    • Added _source filtering to exclude keyword fields from results
    • Improved query performance with proper field type usage
  • Canvas and dialog widgets now properly respect initial metadata provided to renderTag()
  • Widget action button callbacks now receive proper context with element and instance references
  • Metadata updates via getWidgetMetadataAPI() now immediately reflect in canvas and dialog renderers
  • Dynamic Spotlight Widget Registration - Web components can programmatically register themselves in spotlight at runtime

    • New manuallyRegisterSpotlightWidget() method for runtime widget registration
    • No database tag definitions required - perfect for development, testing, and dynamic scenarios
    • Configure via SpotlightWidgetDefinition interface: tag, scope, title, element name, and sizing
    • Control behavior with autoCreateInstance, singleton, showInUnpinnedMenu, and displayOrder options
    • Use cases: third-party integrations, conditional widgets, Virtual Tags Pattern
    • Integrates seamlessly with database-sourced tags and respects user preferences
  • Context-Aware Widgets - Widgets can provide dynamic context to AI conversations

    • Implement getContextForLlm() method to declare available context sources
    • Intelligent LLM-based filtering automatically includes only relevant context
    • Smart deduplication via content hashing - unchanged context isn't resent
    • Time-based staleness detection with maxAgeMs for real-time data
    • User transparency with context chips showing active contexts in chat input
    • Users can manually add/remove contexts via "Add Context" menu
    • Call chatAppState.updateWidgetContext(instanceId) when context changes
    • Complete TypeScript interfaces: ContextSourceDef, LLMContextItem, SentContextRecord
  • Context Documentation - Comprehensive guides for context-aware widgets

  • Widget Metadata in renderTag() - Pass metadata directly when rendering

    • Optional metadata parameter sets title, icon, actions, and loading status at render time
    • Alternative to calling setOrUpdateWidgetMetadata() separately
    • Example: renderTag('acme.widget', 'spotlight', data, { title: 'My Widget', lucideIconName: 'settings' })
  • Auto-Enabled Canvas and Dialog Contexts - Flexible rendering without explicit configuration

    • Canvas and dialog contexts auto-enable when requested via renderTag()
    • No longer requires explicit renderingContexts in tag definitions
    • Particularly useful for manually registered spotlight widgets
  • Enhanced Multi-Instance Widget Documentation - Clearer guidance on singleton: false

    • Virtual Tags Pattern for saved configurations
    • Multiple monitors, comparison views, and workspace customization examples

  • Complete Documentation Site Overhaul - Brand new documentation experience built with Astro
    • Comprehensive documentation following Diátaxis framework (Tutorials, How-To Guides, Explanations, Reference)
    • New documentation structure:
      • Why Pika - Understanding the framework's approach and benefits
      • Getting Started - Installation, quickstart, hello world, and sample walkthrough
      • Concepts - Core philosophy, architecture, and how Pika works internally
      • Capabilities - Feature documentation organized by category (Core, Intelligence, Integration, Customization, Data & Memory, Enterprise)
      • Guides - Step-by-step how-to guides for agent development, authentication, customization, deployment, data management, admin tools, and intelligence features
      • Reference - API documentation, configuration reference, CLI commands, TypeScript types, and UI components
      • Platform - Community, contributing, releases, changelog, migration guides, and troubleshooting
    • Enhanced content with diagrams, code examples, and detailed explanations
    • Improved navigation with sidebar organization and search functionality
    • Custom Markdoc components for enhanced documentation presentation
    • Documentation generation prompt template for AI-assisted docs creation
  • Release Tooling Improvements - Enhanced release management capabilities
    • Updated release prompt with comprehensive finalization workflow
    • Improved release.ts tooling for version management

  • Widget Instance Registry - Comprehensive tracking system for all rendered web components
    • Centralized registry accessible via chatAppState.widgetInstances Map keyed by instanceId
    • Tracks all widget types: spotlight, canvas, dialog, inline, and static rendering contexts
    • Each WidgetInstance includes: DOM element reference, instanceId, tagId, customElementName, renderingContext, tagDefinition, and creation timestamp
    • New public API methods on ChatAppState:
      • widgetInstances getter - Access the complete Map of all tracked instances
      • registerWidgetInstance(instance) - Register new widget (called automatically by renderers)
      • unregisterWidgetInstance(instanceId) - Unregister widget (called automatically on cleanup)
      • getWidgetInstance(instanceId) - Get specific instance by ID
    • Automatic lifecycle tracking with proper cleanup when widgets are removed from DOM
    • Canvas and dialog widgets unregistered on closeCanvas() / closeDialog()
    • Spotlight widgets unregistered when unpinned from spotlight list
    • Static widgets unregistered after shutDownAfterMs timeout expires
    • Inline widgets unregistered via Svelte onDestroy when message component unmounts
    • Enhanced injectChatAppWebComponent() function returns { instanceId, element } instead of just instanceId
    • Enables cross-widget communication via custom events, direct DOM manipulation, and programmatic widget discovery
    • Perfect for debugging widget state, testing, and advanced widget coordination
    • Memory leak prevention with comprehensive automatic cleanup across all rendering contexts
    • Comprehensive documentation with examples in Building Web Components guide

  • Web Component Initialization Enhancement - Direct property and attribute setting when rendering components
    • New DataForWidget interface with three reserved fields for component initialization
    • attributes - Set as HTML attributes (stringified via setAttributeNS()). If a corresponding property exists on the element, it's also set with the original (non-stringified) value
    • properties - Set as JavaScript properties only (not as HTML attributes). Only properties that exist on the element will be set. Perfect for complex objects, arrays, functions, etc.
    • onReady - Callback invoked when the web component is created and ready. Called after element creation, property/attribute setting, and context setup, but before the element is added to the DOM
    • Provides element reference, instance ID, and full Pika context in the onReady callback
    • All other fields in dataForWidget remain available through context.dataForWidget but are not automatically set on the element
    • Enables passing configuration, initial data, or complex objects to web components programmatically
    • Comprehensive documentation with detailed examples in Building Web Components guide

  • Chat Input Height - Textarea now properly resets to original size after submitting questions
    • Fixed height reset behavior in chat input component
    • Ensures consistent UI appearance after message submission
    • Improves user experience with predictable input field sizing

  • S3 File Content Route - Improved reliability and safety for S3 text file retrieval
    • Added 50MB file size limit to prevent memory exhaustion
    • Fixed route path structure for proper parameter handling in SvelteKit
    • Implemented streaming with size checks for safer file loading
    • Better error handling for oversized files (returns 413 status)

  • S3 File Access for Web Components - Secure file retrieval capability for web components
    • New getS3TextFileContent() method on IChatAppState interface
    • Retrieves text content from files stored in the Pika S3 bucket
    • No AWS credential management required in component code
    • Server-side authentication and bucket access controls enforced
    • Supports JSON, CSV, TXT, XML, Markdown, and other text-based file formats
    • Ideal for loading configuration files, data files, or dynamic content
    • Comprehensive documentation in Building Web Components guide

  • Instruction augmentation prompt now correctly reads "return an empty array" instead of "return and empty array"
    • Fixes grammar in LLM prompt that determines which additional instructions to apply
    • Improves prompt clarity for better instruction matching
  • Added logging to instruction augmentation for improved debugging
    • Helps troubleshoot instruction selection issues

  • Interim chat sessions now properly include source field for consistent session tracking and filtering
    • Ensures all sessions created during chat app initialization have correct source attribution
    • Fixes filtering behavior when querying sessions by source type

  • Tag System Refactor - Moved from chatAppId to usageMode model
    • DynamoDB schema changes required
    • GSI replacement: chatappid-status-indexscope-status-index
    • Chat app configuration updates needed
    • See Migration Guide
  • Chat Session GSI Update - Fixed chronological sorting and added source filtering
    • Updated user-chat-app-index GSI with composite sort key
    • Sort key changed from chat_app_id to chat_app_sk
    • New format: chatAppId#source#lastUpdate (source is 'user' or 'component')
    • Enables correct chronological ordering and filtering by session source
    • Added source field to sessions to distinguish user vs component-initiated sessions
    • See Migration Guide
  • Site Tag Configuration - tagsProhibited renamed to tagsDisabled
    • Update site configuration to use new field name
    • Semantic change: disables global tags rather than prohibiting all tags
  • Tag Search API - TagDefinitionSearchRequest interface updated
    • Removed chatAppId parameter (no longer used with new tag system)
    • Added includeGlobal boolean to optionally include global tags alongside specific tags
  • Custom Title Bar Actions - Web components can register custom buttons and menus in chat app title bar
    • New setOrUpdateCustomTitleBarAction() and removeCustomTitleBarAction() methods
    • Enables widgets to add persistent global actions visible across sessions
    • Supports both single actions and dropdown menus
    • Support for action groups with titles to organize related actions in menus
  • Static Widget Context - New rendering context for widgets that execute initialization code
    • Runs once when chat app loads, no visual UI rendered
    • Optional shutDownAfterMs to auto-remove container after initialization
    • Perfect for registering title bar actions, setting up event listeners, or other setup tasks
    • Example: Register a title bar button without needing a visible widget
  • Release System Infrastructure - Automated version tracking and breaking change detection
    • releases.json metadata file tracks version history and breaking changes
    • pika sync displays relevant changelog entries between versions
    • Automatic breaking change warnings with migration guide links
    • --acknowledge-breaking-changes flag for explicit upgrade consent
  • Agent Tool Management Enhancement - Flexible tool definition patterns
    • Made agent.toolIds optional - no longer required when defining new tools
    • Mixed pattern: provide both tools (new definitions) and agent.toolIds (references) simultaneously
    • Create new tools while referencing existing ones in a single operation
    • Three supported patterns: tools only, toolIds only, or mixed approach
    • Clearer documentation of three supported patterns with examples
  • Widget Sizing Configuration - Comprehensive sizing system for web components
    • Dialog preset sizes: 'fullscreen' (95vw x 90vh), 'large' (85vw x 80vh), 'medium' (70vw x 70vh), 'small' (50vw x 50vh)
    • Custom dialog dimensions with viewport-relative units or percentages
    • Inline auto-height support with sizing.inline.height: "auto" for content-driven sizing
    • Configurable fixed heights for inline widgets (defaults to 400px)
  • Global Tag System - Tags automatically available to all chat apps
  • Chat-App Tags - Explicit enablement for app-specific tags
  • Tag Configuration - tagsEnabled and tagsDisabled in chat app config
  • Component Session Source - source field on InvokeAgentAsComponentOptions to control session visibility
  • Tag availability now controlled by usageMode ('global' or 'chat-app')
  • Built-in tags (chart, image, prompt) are now global by default
  • README includes release and update documentation
  • Web component inline rendering supports configurable height (defaults to 400px)
  • Feature documentation enhanced with detailed examples and usage patterns for:
    • Agent tool definition patterns (3 approaches: new tools, existing references, or mixed)
    • Tag visibility model (global vs chat-app tags)
    • Widget contexts and sizing options
    • Instruction assistance placeholder system
  • Instruction Assistance Tag Filtering - Properly handles global vs chat-app tag distinctions
    • Global tags now correctly included by default unless explicitly disabled
    • Chat-app tags only included when explicitly enabled
    • Fixes issue where global tags weren't appearing in agent instructions
  • Web component renderer respects custom inline height configuration
  • Mock tag development artifacts (moved to graveyard)
  • Debug logging from instruction assistance utilities

Initial tracked release establishing baseline for version management.

  • Multi-agent collaboration
  • User memory system
  • Session management
  • Tag-based UI components
  • Site admin interface
  • Entity-based access control
  • Instruction assistance and augmentation
  • AWS deployment infrastructure
  • pika-cli for project scaffolding
  • pika sync for framework updates
  • Protected areas system
  • Custom component support

While in 0.x (pre-1.0):

  • 0.x.0 → Breaking changes or major features
  • 0.x.y → Bug fixes and improvements

After 1.0:

  • x.0.0 → Breaking changes
  • x.y.0 → New features (backward compatible)
  • x.y.z → Bug fixes

When running pika sync, the CLI compares your .pika-sync.json version with the latest release and shows relevant changes.

Terminal window
cat .pika-sync.json | grep pikaVersion
Terminal window
# Preview changes without applying
pika sync --dry-run
# See detailed diffs
pika sync --diff

The sync tool will:

  • Detect breaking changes between versions
  • Display migration requirements
  • Link to step-by-step guides
  • Require explicit acknowledgment

  • 🔴 Breaking - Requires manual migration
  • 🟢 Added - New features
  • 🟡 Changed - Modified behavior
  • 🔵 Fixed - Bug fixes
  • Deprecated - Will be removed soon
  • 🟣 Security - Security improvements

Terminal window
# Regular updates
pika sync
# Check for breaking changes first
pika sync --dry-run

For migration guides, see Migration Guides.