Complete version history of the Pika Framework.
[0.15.4] - 2025-11-04
Section titled “[0.15.4] - 2025-11-04”- Opensearch Type Issue - Fixed minor opensearch type issue
- Fixed issue where metrics were not corectly being transformed on way in/out of opensearch
[0.15.3] - 2025-11-04
Section titled “[0.15.3] - 2025-11-04”- 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)
[0.15.2] - 2025-11-03
Section titled “[0.15.2] - 2025-11-03”- Analtyics Backfill Tool - Fixed analtyics tool flushing issuenot flushing messages to OpenSearch
- Fixed issue where analytics tool was
[0.15.1] - 2025-11-03
Section titled “[0.15.1] - 2025-11-03”- Backfill Tool - Minor fix for robustness and performance of backfill tool
- Fixed error handling and logging in backfill tool
[0.15.0] - 2025-11-03
Section titled “[0.15.0] - 2025-11-03”Breaking Changes
Section titled “Breaking Changes”- Message Analytics & Search - Enhanced session analytics with message-level insights and full-text message search
- Requires running
update-session-mapping-for-messages.tstool BEFORE deployment - Adds
messages_summaryandmessages_analysisfields to session index - If not run before deployment, OpenSearch will auto-index fields incorrectly
- See Migration Guide
- Requires running
- 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 messagesbackfill-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.
[0.14.2] - 2025-11-02
Section titled “[0.14.2] - 2025-11-02”Improved
Section titled “Improved”- Admin Site Session Insights - Improved admin site session insights feature
[0.14.1] - 2025-11-01
Section titled “[0.14.1] - 2025-11-01”- Bedrock Inference Profile Stack Tags - Fixed stack tags to ensure they are converted to required string type before being applied to Bedrock inference profiles
[0.14.0] - 2025-11-01
Section titled “[0.14.0] - 2025-11-01”- Component Tags for Granular Cost Tracking - Enhanced stack tagging system with component-level identification
- New
componentTagNamesarray instackTagsconfiguration 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
componenttag to see costs forConverseLambda,ChatbotApiLambda,KeyRotationLambdaseparately - 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.componentTagNameswith@since 0.14.0annotation - 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)
- New
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
[0.13.0] - 2025-10-31
Section titled “[0.13.0] - 2025-10-31”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
stackTagsfor 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
stackTagsconfiguration inpika-config.tswith 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.stackTagswith@since 0.13.0annotation - New documentation: Configure AWS Resource Tags guide and Stack Tags Configuration reference
- New
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:
MarkdownRendererConfigandIAppState.convertMarkdownToHtml()with@since 0.13.0annotations - 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.
Changed
Section titled “Changed”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
[0.12.0] - 2025-10-31
Section titled “[0.12.0] - 2025-10-31”- 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:
GetValuesForEntityListRequestandGetValuesForEntityListResponsewith@since 0.12.0annotations - 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
- Added
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.
Changed
Section titled “Changed”- 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
[0.11.3] - 2025-10-30
Section titled “[0.11.3] - 2025-10-30”- 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
--visualdiffmode 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
[0.11.2] - 2025-10-30
Section titled “[0.11.2] - 2025-10-30”- CI/CD Pipeline - Fixed pnpm lockfile synchronization issue
- Resolved
ERR_PNPM_OUTDATED_LOCKFILEerror in GitHub Actions workflows - Regenerated lockfile to sync dependency ordering with package.json files
- Ensures successful frozen-lockfile installation in CI environments
- Resolved
[0.11.1] - 2025-10-30
Section titled “[0.11.1] - 2025-10-30”- Site Admin Type Safety - Improved TypeScript type handling in site admin pages
- Removed unnecessary
as anytype 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
- Removed unnecessary
[0.11.0] - 2025-10-30
Section titled “[0.11.0] - 2025-10-30”Breaking Changes
Section titled “Breaking Changes”OpenSearch Keyword Field Migration Required - Session analytics now uses dedicated keyword fields for aggregations
- Requires running
update-session-mapping.tsto add new fields to OpenSearch index - Requires running
copy-to-keyword-fields.tsto 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
- Requires running
User Type Migration Required - Chat sessions now include user type classification
- Requires running
backfill-session-metadata/tool to adduser_typefield to existing sessions - Enables filtering sessions by internal vs external users in analytics
- See Migration Guide
- Requires running
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
WidgetCallbackContextdocumentation
- Old:
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 viagetWidgetMetadataAPI() - Support for spotlight, canvas, and dialog widgets
- Actions can be primary buttons or overflow menu items
- Widget actions receive full context including element reference
SpotlightWidgetDefinitionnow includes optionalmetadatafield
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 fullPikaWCContextfor 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, andSpotlightWidgetDefinitiontowebcomp-types.ts - Added
@since 0.11.0annotations for all new and updated types - Improved JSDoc documentation for widget-related interfaces
- Moved
Automatic User Profile Sync - Framework automatically syncs updated user information from auth provider
- Detects when auth provider returns updated
firstNameorlastNamefor existing users - Automatically updates
chat-usertable when profile information changes - No manual sync required - happens seamlessly during authentication
- Ensures user display names stay current across the platform
- Detects when auth provider returns updated
Migration Tooling - Scripts for data migration
update-session-mapping.ts- Add keyword fields to OpenSearch session indexcopy-to-keyword-fields.ts- Copy data to keyword fields for existing sessionsbackfill-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.
Changed
Section titled “Changed”Widget Metadata Flow - Unified metadata management
- Metadata from
renderTag()is now copied to centralizedwidgetMetadatamap 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
- Metadata from
Session Analytics Backend - OpenSearch query improvements
- All analytics queries now use keyword fields for aggregations
- Added
_sourcefiltering 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
[0.10.0] - 2025-10-28
Section titled “[0.10.0] - 2025-10-28”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
SpotlightWidgetDefinitioninterface: tag, scope, title, element name, and sizing - Control behavior with
autoCreateInstance,singleton,showInUnpinnedMenu, anddisplayOrderoptions - Use cases: third-party integrations, conditional widgets, Virtual Tags Pattern
- Integrates seamlessly with database-sourced tags and respects user preferences
- New
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
maxAgeMsfor 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
- Implement
Context Documentation - Comprehensive guides for context-aware widgets
- Context-Aware Widgets Capability - Overview and benefits
- Provide Context from Widgets Guide - Implementation guide
- Widget Context API Reference - API documentation
- AI-Driven UI Architecture - Architectural philosophy
Widget Metadata in renderTag() - Pass metadata directly when rendering
- Optional
metadataparameter 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' })
- Optional
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
renderingContextsin tag definitions - Particularly useful for manually registered spotlight widgets
- Canvas and dialog contexts auto-enable when requested via
Enhanced Multi-Instance Widget Documentation - Clearer guidance on
singleton: false- Virtual Tags Pattern for saved configurations
- Multiple monitors, comparison views, and workspace customization examples
[0.9.0] - 2025-10-27
Section titled “[0.9.0] - 2025-10-27”- 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
[0.8.0] - 2025-10-24
Section titled “[0.8.0] - 2025-10-24”- Widget Instance Registry - Comprehensive tracking system for all rendered web components
- Centralized registry accessible via
chatAppState.widgetInstancesMap keyed by instanceId - Tracks all widget types: spotlight, canvas, dialog, inline, and static rendering contexts
- Each
WidgetInstanceincludes: DOM element reference, instanceId, tagId, customElementName, renderingContext, tagDefinition, and creation timestamp - New public API methods on
ChatAppState:widgetInstancesgetter - Access the complete Map of all tracked instancesregisterWidgetInstance(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
shutDownAfterMstimeout expires - Inline widgets unregistered via Svelte
onDestroywhen 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
- Centralized registry accessible via
[0.7.0] - 2025-10-24
Section titled “[0.7.0] - 2025-10-24”- Web Component Initialization Enhancement - Direct property and attribute setting when rendering components
- New
DataForWidgetinterface with three reserved fields for component initialization attributes- Set as HTML attributes (stringified viasetAttributeNS()). If a corresponding property exists on the element, it's also set with the original (non-stringified) valueproperties- 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
onReadycallback - All other fields in
dataForWidgetremain available throughcontext.dataForWidgetbut 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
- New
[0.6.2] - 2025-10-22
Section titled “[0.6.2] - 2025-10-22”- 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
[0.6.1] - 2025-10-21
Section titled “[0.6.1] - 2025-10-21”- 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)
[0.6.0] - 2025-10-21
Section titled “[0.6.0] - 2025-10-21”- S3 File Access for Web Components - Secure file retrieval capability for web components
- New
getS3TextFileContent()method onIChatAppStateinterface - 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
- New
[0.5.2] - 2025-10-21
Section titled “[0.5.2] - 2025-10-21”- 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
[0.5.1] - 2025-10-21
Section titled “[0.5.1] - 2025-10-21”- Interim chat sessions now properly include
sourcefield 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
[0.5.0] - 2025-10-21
Section titled “[0.5.0] - 2025-10-21”Breaking Changes
Section titled “Breaking Changes”- Tag System Refactor - Moved from
chatAppIdtousageModemodel- DynamoDB schema changes required
- GSI replacement:
chatappid-status-index→scope-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-indexGSI with composite sort key - Sort key changed from
chat_app_idtochat_app_sk - New format:
chatAppId#source#lastUpdate(source is 'user' or 'component') - Enables correct chronological ordering and filtering by session source
- Added
sourcefield to sessions to distinguish user vs component-initiated sessions - See Migration Guide
- Updated
- Site Tag Configuration -
tagsProhibitedrenamed totagsDisabled- Update site configuration to use new field name
- Semantic change: disables global tags rather than prohibiting all tags
- Tag Search API -
TagDefinitionSearchRequestinterface updated- Removed
chatAppIdparameter (no longer used with new tag system) - Added
includeGlobalboolean to optionally include global tags alongside specific tags
- Removed
- Custom Title Bar Actions - Web components can register custom buttons and menus in chat app title bar
- New
setOrUpdateCustomTitleBarAction()andremoveCustomTitleBarAction()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
- New
- Static Widget Context - New rendering context for widgets that execute initialization code
- Runs once when chat app loads, no visual UI rendered
- Optional
shutDownAfterMsto 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.jsonmetadata file tracks version history and breaking changespika syncdisplays relevant changelog entries between versions- Automatic breaking change warnings with migration guide links
--acknowledge-breaking-changesflag for explicit upgrade consent
- Agent Tool Management Enhancement - Flexible tool definition patterns
- Made
agent.toolIdsoptional - no longer required when defining new tools - Mixed pattern: provide both
tools(new definitions) andagent.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
- Made
- 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)
- Dialog preset sizes:
- Global Tag System - Tags automatically available to all chat apps
- Chat-App Tags - Explicit enablement for app-specific tags
- Tag Configuration -
tagsEnabledandtagsDisabledin chat app config - Component Session Source -
sourcefield onInvokeAgentAsComponentOptionsto control session visibility
Changed
Section titled “Changed”- 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
Removed
Section titled “Removed”- Mock tag development artifacts (moved to graveyard)
- Debug logging from instruction assistance utilities
[0.4.0] - 2025-10-20
Section titled “[0.4.0] - 2025-10-20”Initial tracked release establishing baseline for version management.
Framework Features
Section titled “Framework Features”- 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
Developer Tools
Section titled “Developer Tools”pika-clifor project scaffoldingpika syncfor framework updates- Protected areas system
- Custom component support
Version Schema
Section titled “Version Schema”While in 0.x (pre-1.0):
0.x.0→ Breaking changes or major features0.x.y→ Bug fixes and improvements
After 1.0:
x.0.0→ Breaking changesx.y.0→ New features (backward compatible)x.y.z→ Bug fixes
How to Use This Changelog
Section titled “How to Use This Changelog”When running pika sync, the CLI compares your .pika-sync.json version with the latest release and shows relevant changes.
Check Your Version
Section titled “Check Your Version”cat .pika-sync.json | grep pikaVersionSee What's New
Section titled “See What's New”# Preview changes without applyingpika sync --dry-run
# See detailed diffspika sync --diffBreaking Change Warnings
Section titled “Breaking Change Warnings”The sync tool will:
- Detect breaking changes between versions
- Display migration requirements
- Link to step-by-step guides
- Require explicit acknowledgment
Legend
Section titled “Legend”- 🔴 Breaking - Requires manual migration
- 🟢 Added - New features
- 🟡 Changed - Modified behavior
- 🔵 Fixed - Bug fixes
- ⚪ Deprecated - Will be removed soon
- 🟣 Security - Security improvements
Stay Updated
Section titled “Stay Updated”# Regular updatespika sync
# Check for breaking changes firstpika sync --dry-runFor migration guides, see Migration Guides.