Stay up to date with the latest Pika Framework releases, new features, and important changes.
Current Version
Section titled “Current Version”What's New in 0.27.0
Section titled “What's New in 0.27.0”- BREAKING — legacy-chats hooks redesigned as generic session-source seams in
apps/pika-chat/src/lib/custom/. The five ai-bot-named hooks shipped in v0.26.0 (loadLegacyChatsIfNeeded,getLegacyChatsSectionHeader,getLegacyChatsSectionTrigger,isCurrentSessionReadOnly,validateLegacyUserIdIfNeeded) are replaced by three generic seams:getAdditionalSessionSources(user, chatAppId) → SessionSource[],isSessionReadOnly(session, user), andresolveRequestUserId(requestedUserId, sessionUserId, ctx).LEGACY_ACTION_USER_ID_COOKIEis removed. Client-side hook signatures now useChatUser<U>(notAuthenticatedUser<T, U>) to keep server-only fields off the public hook surface. Sources load viaPromise.allSettledso one failing source never breaks siblings — see the Extension Points guide and the v0.26.0 → v0.27.0 migration guide. pika migrate v0.26.0-v0.27.0CLI subcommand — removes the four orphan hook files from a consumer tree. Flags:--dry-run(preview),--force(skip both consumer-tree detection and dirty-tree git check),--force-content-mismatch(override the per-file SHA-256 safety check that skips customized files). Symlinks always refused. Idempotent.pika syncdoes not propagate deletes of protected files, so consumers must run this command after upgrading.- Svelte 5 component test infrastructure — Vitest +
@testing-library/svelte+ jsdom added toapps/pika-chatalongside the existing Jest setup. Newpnpm test:componentsscript. Initial coverage: 7 tests forchat-nav.svelteacross every session-source render state.
Why now: no merged consumer is on v0.26.0 yet (ai-bot consumption was paused after the design smell was identified). This is the only window to redesign these seams without breaking a real consumer.
Latest Stable: 0.27.0 (May 27, 2026)
What's New in 0.26.0
Section titled “What's New in 0.26.0”- CM-491 framework seams — 11 AzureAD-friendly extension-point hooks in
apps/pika-chat/src/lib/custom/. Admin gating (isUserAllowedAdminAccess), legacy session loading (loadLegacyChatsIfNeeded, header/trigger slots), session permissions (isCurrentSessionReadOnly), legacy-user-id validation, entity extraction, session account-context transformation, ChatUser role-merge bypass (shouldBypassChatUserRoleMerge), and auth-provider hooks (onAuthProviderCallback,onBeforeAuth). All hooks default to no-op — see the Extension Points guide. - Demo-mode framework seams — 7 hooks + public CSS contract. New hooks: banner slot, menu-item slot (wired into 4 dropdowns), polling-interval, effective-user predicate, home-page-user resolver, Logout visibility, detailed-trace gate. CSS contract via
--demo-banner-hreserves viewport space when a banner is mounted. Defaults preserve current behavior — see the Demo-Mode Hooks guide. - Strands-native long-term user memory in the Python
converseStrandsLambda. Agent-driven retrieval (agent_core_memory.retrieve) and save (record) replace the legacy TS Lambda's per-turnCreateEventCommandwrites. Two-layer design (system-prompt addition + first-turn nudge) preserves Bedrock prompt cache. Opt in viaagent_def.memory_feature.enabled = truewith amemory_id— see the Strands Long-Term User Memory guide. - Services library account-context utilities —
batchGetUserCustomDataByUserIds(), configurable account-ID resolution via newPikaConfig.accountIdFieldNames/PIKA_ACCOUNT_ID_FIELD_NAMESenv var,mergeSessionAttributes()helper, andCHAT_DEBUG_LOGSenv gate for noisy chat-API debug logs. Defaults preserve current behavior. - Sync
protectedAreasexpanded to v1.0.6 — 9 new default-protected paths cover account/entity integration extension points, CDK stack-def files, and shared tooling. Runpika syncafter upgrading to pick up the new list automatically. - Docker build-cache optimization in
pika-chat-construct.ts—cacheFrom: [{ type: 'gha' }]is conditionally passed toDockerImageAssetwhenDOCKER_CACHE_FROM_GHA=true, enabling near-instant CDK asset publishing on GHA cache hit. Local builds unaffected. - 5 generic robustness improvements ported from ai-bot CM-491 — cookie error/version-mismatch split (preserves non-auth cookies on corruption), SSM
ParameterNotFoundgraceful return,chatAppStatenull guards on route transitions, file-upload hardening (MIME allowlist + filename sanitization + S3 key validation), andisUserAllowedToUseSessionInsightsmade async. - Fixed gzip+base64 encoding in Strands
debug_trace.py— encoded payloads now round-trip through the JS client decoder; the LLM Instruction accordion in the trace UI decodes correctly. - Security upgrades — Alpine base image → 3.22.3, weather-direct sample pins
@aws-sdk/client-lambda3.974.0 and@aws-sdk/credential-provider-node3.972.1 (patchedfast-xml-parserfor Snyk CVEs).
What's New in 0.25.2
Section titled “What's New in 0.25.2”- Strands converse Lambda
max_tokensraised to 64000 - Both the main agent and collaboratorBedrockModelconfigs now use Claude 4.5 Sonnet's actual max output (64K), up from a hardcoded 4096 leftover from older Claude defaults. Long-form responses (detailed explanations, code generation, multi-step plans) that previously truncated at ~3KB now stream through cleanly. - Graceful
MaxTokensReachedExceptionhandling - When the model hits its max output limit, users now see "your request required more processing than I can handle in a single response. Try breaking it into smaller steps or simplifying your request." instead of a generic error message.
What's New in 0.25.1
Section titled “What's New in 0.25.1”useStrandsConverseprop on PikaChatConstruct - New optional boolean drives the converse Lambda SSM key (converse_urlvsconverse_strands_url). Referencebin/pika-chat.tswires it frompikaConfig.siteFeatures?.strandsConverse?.enabled, so a single flag drives both the optionalConverseStrandsConstructand the chat app's URL lookup. Closes a gap from 0.25.0 where the SSM key was hardcoded toconverse_url, contradicting the conditional construct.SessionInsightsScheduleis now flag-gated, with a finer-grainedscheduleEnabledknob - The per-minute EventBridge rule that fires the insights runner Lambda is created only whensessionInsightsFeature.enabledis true ANDsessionInsightsFeature.scheduleEnabledis notfalse. SetscheduleEnabled: falseto deploy the runner Lambda and OpenSearch domain but skip the per-minute schedule (cost-control mode — keeps the infrastructure available for manual/backfill runs without idle Bedrock charges). Previously the rule fired every minute regardless of any flag.userTypeandrolespropagated to DDB on login -apps/pika-chat/src/hooks.server.tsnow writesuserTypeandrolesfrom the auth provider through toChatUserin DynamoDB, alongsidefirstName/lastName. The DDB write capability was added in 0.24.0; the call site was overlooked. Auth-provider changes to userType/roles now actually persist.- Default
pnpm testno longer hits AWS -apps/pika-chat/jest.config.jsexcludestest/integration/;services/pika/jest.config.cjsexcludeschat-admin.test.tsandchat-session-os.test.ts. Newtest:integrationscript inapps/pika-chat/package.jsonfor opt-in runs.
What's New in 0.25.0
Section titled “What's New in 0.25.0”- Optional Python (Strands) converse Lambda - New
ConverseStrandsConstructopt-in alternative to the TypeScript converse Lambda- Built on the Strands Agents SDK with full feature parity (auth, agent loading, collaborators via Strands Swarm, KB, inline tools, MCP, user memory, streaming, title, verification, pricing)
- Strands Skills replace the Nova Lite LLM call for directive selection on the preferred path — one fewer model invocation per request (Nova Lite remains as a fallback)
- Deployed on Python 3.14 / Graviton (arm64) with Lambda Web Adapter for response streaming
- Enable via
pikaConfig.siteFeatures.strandsConverse.enabled = trueand swapconverse_url→converse_strands_urlin the chat app SSM lookup — see the Strands Converse guide
- New Claude default models -
DEFAULT_ANTHROPIC_MODELbumped to Claude 4.5 Sonnet;DEFAULT_VERIFICATION_MODELto Claude 4.5 Haiku. Added Claude 4.5 Opus / 4.6 Sonnet / 4.6 Opus to the registry with pricing. Removed decommissioned Claude 3.x models. - Streaming stability - Lambda emits
<heartbeat/>every 15s during idle periods; ALB idle timeout raised to 300s; client-side stall indicator with rotating status messages - Collaborator response rendering - Post-processor rewrite handles both Converse envelope formats and unwraps
AgentCommunication__sendMessage; JSON sanitization workaround for Bedrock's unescaped control-char streaming - Session title hardening - Title generation runs in a try/catch on Haiku; failures never block message persistence
- Verification model ID fix - Adds
us.inference-profile prefix to preventValidationException→ "Oops! Something glitched" - Inference profile custom resource - No longer churns on every deployment (removed redundant
timestampproperty) - CDK bump -
aws-cdk-lib→^2.249.0,aws-cdk→^2.1118.0(required forRuntime.PYTHON_3_14) - Headless CI deploys -
cdk:deploynow includes--require-approval neverso IAM changes don't block on TTY prompts
What's New in 0.24.0
Section titled “What's New in 0.24.0”- Semantic directive injection for collaborator agents - Collaborators now receive their own runtime-resolved directives, not just the top-level agent
- Directives resolved in parallel using
Promise.allSettled— one failure doesn't block others - Injected into collaborator instruction via
<additional-instructions>XML block with 20K-char size budget - Relevance-ranked truncation drops least-important directives first when budget is exceeded
- Per-collaborator directive traces emitted for admin debugging
- Directives resolved in parallel using
- Server hook hardening - Timer leak fix, dead guard removal, and
??nullish coalescing fortransformCustomUserData - userType and roles persistence -
updateUser()now writesuserTypeandrolesto DynamoDB, fixing silent data loss on login
What's New in 0.23.2
Section titled “What's New in 0.23.2”- Multi-agent raw response fix - Chat output no longer displays raw Bedrock Converse API response JSON in multi-agent collaboration scenarios
- Detects raw response envelopes from
AgentCommunication__sendMessageand extracts clean text content - Falls back to original chunk if parsing fails — defensive against future Bedrock API changes
- Detects raw response envelopes from
What's New in 0.23.1
Section titled “What's New in 0.23.1”- Agent model ID resolution -
resolveModelId()automatically maps bare model IDs to inference profile IDs before Bedrock invocation- Fixes
ValidationExceptionwhen agent definitions use bare model IDs (e.g.anthropic.claude-…) instead of inference profiles (us.anthropic.claude-…) - Also resolves to env-overridden inference profile ARNs when configured
- Applied at all three invocation points: main agent, collaborators, and verification model
- Fixes
What's New in 0.23.0
Section titled “What's New in 0.23.0”- Server Hooks Extension Point - New
transformCustomUserDatahook for server-side data transformation- Configure in
$lib/custom/server-hooks.ts— sync-protected, so customizations survive pika updates - Enrich, validate, or resolve missing user attributes before they reach the converse Lambda
- Built-in safety: 5-second timeout, undefined guard, and graceful error fallback
- See Server Hooks guide for examples and best practices
- Configure in
What's New in 0.22.1
Section titled “What's New in 0.22.1”- External user chat app visibility fix - Fixed a bug where external users could not see any chat apps on the home page
- The
ChatAppLitemapping used the wrong property name (userTypesAllowedinstead ofuserTypes) - The client-side filter defaulted all users to
['internal-user'], hiding chat apps from external users - Internal users were unaffected
- The
What's New in 0.22.0
Section titled “What's New in 0.22.0”- CLI: Non-interactive sync mode - New
--yesflag forpika syncauto-confirms all prompts- Enables
pika syncin CI/CD pipelines and automated agent workflows without interactive input - When
--yesis passed, breaking changes are also auto-acknowledged (no separate flag needed) - Existing interactive behavior is unchanged without the flag
- Enables
What's New in 0.21.0
Section titled “What's New in 0.21.0”- Non-interactive release mode - Release tooling supports
--non-interactivefor CI/CD and AI agent workflows- Unified
pnpm release --non-interactiveauto-detects version bump from branch prefix - Gathers git context and outputs a self-contained prompt to stdout
- Enables fully automated release documentation workflows
- Unified
- AGENTS.md for AI agent context - Structured context file for AI agents working in the codebase
- CLI: AGENTS.md protected area - Downstream projects can customize their AGENTS.md without sync overwriting it
What's New in 0.20.2
Section titled “What's New in 0.20.2”- Model ID validation fix -
MODEL_ID_TO_MODELnow accepts base model IDs (e.g.anthropic.claude-sonnet-4-5-20250929-v1:0) in addition to cross-region prefixed IDs (us.anthropic.claude-…)- Fixes 400 error when updating foundation model on agents via chat-admin API with non-prefixed model IDs
What's New in 0.20.1
Section titled “What's New in 0.20.1”- Session ID visible to all users - The Session ID in the chat titlebar info panel is now available to all users, not just internal users
- External users can copy the session ID for support and troubleshooting purposes
What's New in 0.20.0
Section titled “What's New in 0.20.0”- Custom field for agent definitions - Store arbitrary key/value data on agents via the new
customproperty- Pika stores and passes through data without interpretation — attach configuration, metadata, or feature flags
- Max 100KB serialized (DynamoDB 400KB item limit is shared across all agent attributes)
- Foundation model selection -
foundationModelandverificationFoundationModelare now updateable via the chat-admin API- Change an agent's Bedrock model without a full replace
- Model IDs validated against the known Bedrock model registry at creation and update time
- Updateable agent fields -
foundationModel,verificationFoundationModel, andcustomadded to the update allowlist - Documentation - Agent Definition reference and Agent Tool type reference updated with custom field docs and model validation rules
What's New in 0.19.5
Section titled “What's New in 0.19.5”- Session context for collaborators - Supervisor agents can pass session context to collaborators via
collaboratorContextFields- Set an array of keys (e.g.
userId,currentDate,timezone,firstName,lastName,accountId,accountType) on the supervisor's agent definition - Those keys are injected into each collaborator's instruction as a
<session-context>XML block so collaborators can use user and session data - See Multi-Agent Collaboration — "Passing session context to collaborators"
- Set an array of keys (e.g.
- Updateable agent fields -
collaboratorContextFieldsandcollaboratorscan now be updated via the chat-admin API on existing agents - Documentation - Multi-Agent Collaboration guide includes "Passing session context to collaborators"; Agent Definition reference updated for the new and updatable fields
What's New in 0.19.4
Section titled “What's New in 0.19.4”- Admin Settings Button Fix - Settings button now accessible on all admin pages, not just General Settings
- New dropdown menu with chatbot settings, user info (with copy-to-clipboard), and logout
- Previously, the settings gear icon was only visible on the General Settings page
What's New in 0.19.3
Section titled “What's New in 0.19.3”- Collaborator action groups fix -
requireConfirmationon collaborator action group functions is now normalized to'DISABLED'when it would otherwise be null, preventing AWS Bedrock invocation failures
What's New in 0.19.2
Section titled “What's New in 0.19.2”- Chat Titlebar Fix - Settings and navigation buttons in the chat titlebar were inaccessible due to content overlapping
- Added proper z-index stacking so the titlebar stays above scrolling content
- Fixed main layout container sizing to prevent content overflow
What's New in 0.19.1
Section titled “What's New in 0.19.1”- CLI Sync Fix - Framework-internal files (
.github/,RELEASING.md) no longer leak into user projects via sync - CLI Create-App Fix - New projects no longer include
RELEASING.mdandRELEASE-SYSTEM-SUMMARY.md - CLI 1.4.1 Published - Run
npm install -g pika-app@latestto update
What's New in 0.19.0
Section titled “What's New in 0.19.0”- Custom Logout Dialog - Replace the default logout dialog with a custom Svelte component
- Registry pattern via
$lib/custom/logout-dialog.ts- export your component ornull - Full control over dialog appearance, button actions, and pre-logout operations
- Access
AppStatefor user data, custom data, and feature configuration - See Custom Logout Dialog guide
- Registry pattern via
- Client Lifecycle Hooks - Run custom code during page initialization and periodic polling
onInitruns once on page load,onPollruns on each polling interval- Fetch external data and store it in
user.customDatafor use across extension points - Configure in
$lib/custom/client-lifecycle.ts- export functions ornullto disable - See Client Lifecycle Hooks guide
- Logout Redirect Parameter -
/logout-now?redirect_to=/controls post-logout navigation- Security validation prevents open redirect attacks
- CLI Sync Improvement - Protected area files now delivered on first sync when missing locally
- Ensures new extension points reach existing projects automatically
- CLI 1.4.0 Published - Run
npm install -g pika-app@latestto update
What's New in 0.18.5
Section titled “What's New in 0.18.5”- Stage Placeholder in URLs - Use
{{stage}}placeholder in web component URLs for stage-specific deployments - Tag Definition Custom Resource API - Updated to use
StageandTagDefDataproperties
What's New in 0.18.4
Section titled “What's New in 0.18.4”- Various widget system fixes
What's New in 0.18.3
Section titled “What's New in 0.18.3”- Hero Restoration Fix - Hero now properly restores when closing canvas in companion mode
- Handles widgets that call
hideHero()before opening companion mode canvas - Hero automatically shows again when companion mode exits
- Handles widgets that call
What's New in 0.18.2
Section titled “What's New in 0.18.2”- Hero Widget Persistence - Hero widgets now persist in DOM when hidden
- Use
heroDidShowevent to refresh data when hero becomes visible again - Preserves widget state across visibility changes
- Use
- Widget Stability Fixes - Fixed multiple widget lifecycle issues
- Hero no longer destroyed when hidden
- Static widgets no longer re-injected on companion mode toggle
- Race conditions in widget injection prevented
- Companion Mode Improvements - Cleaner UI when canvas is open
- Sidebar toggle and new chat icons hidden in companion mode
What's New in 0.18.1
Section titled “What's New in 0.18.1”- Hero Minimized Position - Collapsed hero now moves to top-left position alongside spotlight
What's New in 0.18.0
Section titled “What's New in 0.18.0”- Intent Router - Fast LLM-based command classification for instant responses (~200-400ms)
- Intercepts user messages before Bedrock agent for known intents
- Two modes:
direct(execute immediately) anddispatch(send to orchestrator) - Commands defined via
intentRouterCommandson tag definitions - Admin UI at
/admin/tag-definitionsfor command management
- Collapsible Hero Widget - Hero can collapse to a compact header bar
collapseHero(),expandHero(),toggleHeroCollapsed()API methods
- Hero Sizing Configuration - Control hero dimensions via tag definition
minWidth,maxWidth,minHeight,maxHeightconstraints
- Suggest Question API - Pre-fill chat input for AI helper buttons
suggestQuestion(text)expands chat pane and highlights input
- Widget Ready Event -
signalWidgetReady()andwidgetReadyevent - Hero/Spotlight Events - Detailed lifecycle events for state coordination
- Widget Tag ID -
ctx.tagIdautomatically provided to widgets
What's New in 0.17.0
Section titled “What's New in 0.17.0”- Hero Rendering Context - New singleton widget area for dominant display elements
- API-controlled visibility via
showHero(),hideHero(),closeHero() - Configurable sizing with
minHeight,maxHeight,preferredHeight
- API-controlled visibility via
- Companion Mode - Application-first UX where canvas widgets become primary
- Enable via
companionMode: truein canvas widget options - Chat pane becomes compact, spotlight and hero hidden
- Enable via
- Chat Pane Minimize - Minimize chat to a compact strip
setChatPaneMinimized(boolean)API for programmatic control
- Event System - Subscribe to framework state changes
- Widget lifecycle, canvas, companion mode, chat pane, and hero events
- Automatic cleanup when
instanceIdpassed toaddEventListener()
- Full Control Canvas Widgets - Widgets render their own chrome
- Enable via
fullControl: true, userequestCanvasClose()to close
- Enable via
- Close Configuration - Configure canvas close behavior with confirmation dialogs
What's New in 0.16.8
Section titled “What's New in 0.16.8”- CLI Package Published - Published pika-app CLI version 1.3.1 to npm with sync fixes
- Run
npm install -g pika-app@latestto get the updated CLI - Includes fixes from 0.16.6 (glob pattern protection) and 0.16.7 (
__dirnameerror fix)
- Run
What's New in 0.16.7
Section titled “What's New in 0.16.7”- Sync Protected Areas Config Loading Fix - Fixed
__dirnameerror preventing protected areas config from loading- The CLI uses ES modules where
__dirnameis not available - Added ES module compatible
__dirnameusingfileURLToPath(import.meta.url) - Ensures custom directories are always protected even if config file cannot be loaded
- The CLI uses ES modules where
What's New in 0.16.6
Section titled “What's New in 0.16.6”- Sync Protected Areas Bug Fix - Fixed glob patterns not protecting parent directories
- Pattern
path/to/custom/**now correctly protects thecustomdirectory itself - Previously, directories matching the parent of a
/**glob would be deleted during sync
- Pattern
What's New in 0.16.5
Section titled “What's New in 0.16.5”destructive-bgTheme Variable - Added missing semantic background color for destructive/error states- Completes the pattern:
success-bg,warning-bg,info-bg,ai-bg,destructive-bg - Use for error alerts, validation messages, and destructive action backgrounds
- Completes the pattern:
What's New in 0.16.4
Section titled “What's New in 0.16.4”- Home Page Redesign - Complete redesign of the AI Assistants landing page
- Modern card-based layout with hover effects and "Launch Assistant" CTA
- Customizable logo with light/dark mode support
- Search bar that auto-appears at 6+ assistants
- Configurable title, subtitle, and navigation button text
- Custom Assistant Icons - Per-assistant icon customization on home page cards
- Set
iconon individual assistants ordefaultAssistantIconfor global default - Configurable icon size with
assistantIconSize
- Set
- Custom Header Icon - Replace the AI sparkle icon in chat app headers
chatAppHeaderIconin theme config supports single or light/dark URLs- CSS variables for icon color, height, and gap
- Protected Assets Directory -
apps/pika-chat/static/custom/assets/protected from sync - Terminology Update - "Chat Apps" renamed to "AI Assistants" throughout
Find All Type Changes for This Release:
Search the repository for @since 0.16.4 to find all type definitions that were added, updated, or removed in this release.
What's New in 0.16.3
Section titled “What's New in 0.16.3”- Theme File Organization - Simplified theme file structure for clearer workflow
- Renamed
theme-config.tstosample-purple-theme.tsto clarify it's a sample to copy - Removed redundant
examples/folder (sample theme serves as the example)
- Renamed
- Theme Vite Plugin Fix - Fixed config loading to use proper TypeScript module resolution
- Now uses jiti to load configs instead of regex parsing
- Properly reads
themeConfigPathfrom pika-config.ts dynamically
- Theme CLI Fixes - Fixed hardcoded theme path references in CLI commands
- Release Tool Fix - Now reads from
origin/mainfor accurate version detection
What's New in 0.16.2
Section titled “What's New in 0.16.2”- Release Tooling - Improved release prompt templates to ensure complete documentation updates
- Release prompts now require updating
index.mdocfor ALL releases (not just breaking changes) - Added missing 0.16.0 and 0.16.1 content to releases overview page
- Release prompts now require updating
What's New in 0.16.1
Section titled “What's New in 0.16.1”- Documentation Build Fix - Fixed theming guide causing Astro build failures
- Corrected markdoc syntax from
{% tab %}to{% tabitem %}in theming documentation - Added UI Theming guide to sidebar navigation under Guides → Customization
- Corrected markdoc syntax from
What's New in 0.16.0
Section titled “What's New in 0.16.0”- UI Theming System - Complete theming system for customizing colors, typography, and visual styling
- New
customThemeconfiguration insiteFeatures.uiCustomizationto enable custom themes - Sample theme at
apps/pika-chat/src/lib/custom/sample-purple-theme.ts- copy and customize for your brand - Semantic CSS variables for brand colors, surfaces, borders, status colors, sidebar, and charts
- OKLCH color format for perceptually uniform, accessible color palettes
- Full dark mode support with separate light/dark variable definitions
- Hot Module Replacement (HMR) - theme changes take effect immediately without restart
- New
- Theme CLI Commands - New
pika themecommand for theme managementpika theme check- Verify theme schema version and see available updatespika theme update- Add new theme variables when framework updates introduce thempika theme list- Display all available CSS variables with descriptions and defaultspika theme docs- Quick reference for theming system and OKLCH color format
- Web Component Theme Access - Programmatic access to theme values for custom components
getThemeVariable(name)- Read individual CSS variable valuesgetPikaThemeTokens()- Get all semantic theme tokens as an object
Find All Type Changes for This Release:
Search the repository for @since 0.16.0 to find all type definitions that were added, updated, or removed in this release.
What's New in 0.15.5
Section titled “What's New in 0.15.5”- Chat session issue - Fixed needing to refresh chat app state to see new messages
- No longer need to refresh chat app state to see new messages
What's New in 0.15.4
Section titled “What's New in 0.15.4”- Opensearch Type Issue - Fixed minor opensearch type issue
- Fixed issue where metrics were not corectly being transformed on way in/out of opensearch
What's New in 0.15.3
Section titled “What's New in 0.15.3”- 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)
What's New in 0.15.2
Section titled “What's New in 0.15.2”- Analtyics Backfill Tool - Fixed analtyics tool flushing issuenot flushing messages to OpenSearch
- Fixed issue where analytics tool was not flushing messages to OpenSearch
Check your project version:
cat .pika-sync.json | grep pikaVersionWhat's New in 0.15.0
Section titled “What's New in 0.15.0”- Message-Level Analytics - Enhanced session analytics with comprehensive message insights
- Message counts: user messages, assistant responses, averages per session
- Per-response metrics: cost, tokens, execution duration
- Timing analytics: response time, user think time, session duration, long gap detection
- New time series chart showing user vs assistant message counts
- Pre-computed statistics for 10-100x faster queries
- Message Content Search - Session Insights search now includes full-text message search
- Search across message text, extracted LLM instructions, and model names
- 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
- Automatic replication from DynamoDB via Lambda stream handler
- Migration Tools - Three migration scripts for safe deployment
update-session-mapping-for-messages.ts- Update session index (run BEFORE deployment)backfill-invocation-mode-to-messages/- Backfill message metadatabackfill-messages-to-opensearch/- Populate message index and analytics
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.
What's New in 0.14.2
Section titled “What's New in 0.14.2”- Admin Site Session Insights - Improved admin site session insights feature
- Enhanced client-side filtering with hybrid search capabilities
- Added batch user lookup API for displaying user names
- Improved entity column handling with automatic name enrichment
- Better UX with hover-to-copy functionality and reactive updates
What's New in 0.14.1
Section titled “What's New in 0.14.1”- Bug Fix - Fixed stack tags to ensure they are converted to required string type before being applied to Bedrock inference profiles
What's New in 0.14.0
Section titled “What's New in 0.14.0”- Component Tags for Granular Cost Tracking - Enhanced stack tagging with component-level identification
- New
componentTagNamesarray instackTagsconfiguration tags each infrastructure resource with its component name - Component tags applied to all AWS resources: Lambda, DynamoDB, S3, ECS, Fargate, KMS, OpenSearch, Bedrock inference profiles
- Enables granular cost analysis in AWS Cost Explorer - see costs for specific Lambda functions, DynamoDB tables, or AI models
- Example: Filter by AWS Lambda, then group by
componenttag to see costs for each function separately - Particularly valuable for Bedrock costs - track which AI models consume the most
- Helper method
applyComponentTags()incustom-stack-defs.tsfor easy tagging of custom infrastructure - See AWS CDK deployment guide Component Tags section
- New
- Tag Environment Variable Support - CloudFormation custom resources can now access and apply tags
- Tags passed to custom resource Lambdas via
STACK_TAGSandCOMPONENT_TAG_NAMESenvironment variables - New utility functions:
getStackTagsFromEnv(),getComponentTagNamesFromEnv(),createComponentTags(), etc. - Bedrock inference profiles and KMS keys now properly tagged with component identifiers
- Tags passed to custom resource Lambdas via
- Tag Size Validation - Prevents deployment failures due to AWS Lambda limits
- 500-byte limit enforced on combined tag environment variables
- CDK synthesis fails early with clear error if limit exceeded
- Bug Fixes - Fixed inference profile tag deduplication and custom resource re-invocation
- Type Additions - New property with
@since 0.14.0annotation:PikaConfig.stackTags.componentTagNames- Component tag names array
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.
What's New in 0.13.0
Section titled “What's New in 0.13.0”- Inference Profile Cost Tracking - Automatic creation of named inference profiles for granular AI model cost analysis
- Pika automatically creates named inference profiles for Claude 4 Sonnet, Claude 4.5 Haiku, and Claude 4.5 Sonnet
- Enables per-model cost tracking in AWS Cost Explorer
- Inference profiles follow naming pattern:
{stackName}-{profileName}(e.g.,pika-test-claude-sonnet-4-5) - All profiles tagged with your configured
stackTagsfor flexible cost allocation - See Track AI Model Costs guide
- AWS Resource Tagging System - Comprehensive tagging for cost tracking, organization, and compliance
- New
stackTagsconfiguration inpika-config.tswithcommon,pikaServiceTags, andpikaChatTagscategories - Dynamic placeholder support:
{stage},{timestamp},{accountId},{region},{pika.projNameKebabCase}, etc. - Tags applied to all AWS resources including Lambda, DynamoDB, S3, CloudFront, and inference profiles
- See Configure AWS Resource Tags guide
- New
- Type Additions - New interfaces with
@since 0.13.0annotations:PikaConfig.stackTags- AWS resource tagging configurationMarkdownRendererConfig- Markdown renderer optionsIAppState.convertMarkdownToHtml()- Markdown conversion method
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.
What's New in 0.12.0
Section titled “What's New in 0.12.0”- Entity List Value Retrieval - New required method for entity implementations
- Added
getValuesForEntityList()method to fetch entity display names by ID - Required for displaying entity names in session analytics and admin UI
- Important: When syncing, this method must be manually added to
custom-data.ts - Can return empty array if entity feature is not being used
- Added
- Session Analytics UI Improvements - Enhanced admin site analytics interface
- Improved visual design and layout of session analytics dashboard
- Better organization of filters and controls with refined toggle groups
- Enhanced date range selection with popup calendar
- More intuitive entity filtering interface
- Type Additions - New
GetValuesForEntityListRequestandGetValuesForEntityListResponseinterfaces with@since 0.12.0annotations
What's New in 0.11.3
Section titled “What's New in 0.11.3”- pika-cli Sync Command Improvements - Better temp file handling and visual diff functionality
- Changed temp directory location from project directory to OS temp directory for cleaner workspace
- Added automatic cleanup of old
pika-sync-*temp directories - Fixed
--visualdiffmode to keep temp files available for editor review - Fixed visual diff command execution for better cross-platform compatibility
- Added informative logging about temp file location when using
--visualdiff
- Site Admin General Settings Fix - Fixed page header right snippet not being assigned
- OpenSearch Error Logging - Improved error message logging for source filtering failures
What's New in 0.11.2
Section titled “What's New in 0.11.2”- CI/CD Pipeline Fix - 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
What's New in 0.11.1
Section titled “What's New in 0.11.1”- Site Admin Type Safety Improvements - Fixed TypeScript type handling in site admin pages
- Removed unnecessary
as anytype casts for page header snippets - Improved type safety in 6 site admin components: chat apps, general settings, instruction augmentation, memory, session analytics, and session insights
- Removed unnecessary
What's New in 0.11.0
Section titled “What's New in 0.11.0”- Enhanced Session Analytics Dashboard - Comprehensive analytics with advanced filtering and aggregations
- Filter sessions by invocation mode, user type, and source
- Cost aggregations by invocation mode with visual charts
- Session count trends and distribution visualizations
- 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 or dynamically updated
- Support for spotlight, canvas, and dialog widgets
- Dynamic Widget Registration for Canvas/Dialog - No tag definitions required
- Auto-generation of tag definitions when needed
- Auto-enables requested rendering context
- Widget Context API - Access full context from widget action callbacks
- New
getWidgetContext(instanceId)method - Widget actions receive element reference and full context
- New
- Automatic User Profile Sync - Framework syncs firstName/lastName from auth provider
- Type Organization Improvements - Better organized TypeScript types with
@sinceannotations
Breaking Changes:
- OpenSearch keyword field migration required for session analytics aggregations
- User type migration required for chat sessions
- WidgetAction callback signature changed to receive context object
See the Migration Guide for complete upgrade instructions.
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.
What's New in 0.9.0
Section titled “What's New in 0.9.0”- Complete Documentation Site Overhaul - Brand new Astro-based documentation experience
- Comprehensive documentation following Diátaxis framework (Tutorials, How-To Guides, Explanations, Reference)
- Reorganized content structure: Why Pika, Getting Started, Concepts, Capabilities, Guides, Reference, Platform
- Enhanced content with detailed diagrams, code examples, and step-by-step instructions
- Improved navigation, search functionality, and custom Markdoc components
- Documentation generation prompt template for AI-assisted content creation
- Updated release tooling for better version management
What's New in 0.8.0
Section titled “What's New in 0.8.0”- Widget Instance Registry - Comprehensive tracking system for all rendered web components
- Centralized registry accessible via
chatAppState.widgetInstanceswith DOM element references - Automatic lifecycle tracking across all rendering contexts (spotlight, canvas, dialog, inline, static)
- Cross-widget communication, debugging, and programmatic manipulation capabilities
- Memory leak prevention with automatic cleanup when widgets are removed
- Enhanced API returning both instanceId and element reference
What's New in 0.7.0
Section titled “What's New in 0.7.0”- Web Component Initialization Enhancement - Direct property and attribute setting when rendering components
- New
DataForWidgetinterface withattributes,properties, andonReadycallback - Pass complex objects, arrays, or functions directly to web component properties
- Get notified when component is ready with lifecycle callback
- Comprehensive documentation with detailed examples
What's New in 0.6.2
Section titled “What's New in 0.6.2”- Chat Input Height Fix - Textarea now properly resets to original size after submitting questions
- Improved user experience with predictable input field sizing
- Fixed height reset behavior in chat input component
What's New in 0.6.1
Section titled “What's New in 0.6.1”- S3 File Content Route Fix - Improved reliability and safety for S3 text file retrieval
- Added 50MB file size limit to prevent memory issues
- Fixed route path structure for proper parameter handling
- Better error handling for oversized files
What's New in 0.6.0
Section titled “What's New in 0.6.0”- S3 File Access for Web Components - New
getS3TextFileContent()method enables secure retrieval of text files from the Pika S3 bucket - No AWS credential management required for web components
- Perfect for loading configuration files, data files, or dynamic content
- Comprehensive documentation with examples
How Releases Work
Section titled “How Releases Work”Version Numbering (0.x.x)
Section titled “Version Numbering (0.x.x)”While Pika is pre-1.0, we use:
- 0.x.0 - Breaking changes or significant new features
- 0.x.y - Bug fixes and minor improvements
Once we reach 1.0, we'll follow strict semantic versioning.
Release Frequency
Section titled “Release Frequency”- Breaking changes: Released promptly with migration guides
- New features: Batched when ready (typically every 2-4 weeks)
- Bug fixes: Released as needed
What You Get
Section titled “What You Get”Each release includes:
- Changelog - Detailed list of changes
- Migration guides - Step-by-step instructions for breaking changes
- Version metadata - Tracked in your
.pika-sync.json - Automatic sync support -
pika synchandles updates intelligently
Sync Your Project
Section titled “Sync Your Project”Update to the latest version:
# See what will changepika sync --dry-run
# View detailed diffspika sync --diff
# Apply updatespika syncThe sync command will:
- Check your current version
- Download the latest framework
- Show you what's changed
- Warn about breaking changes
- Preserve your customizations
- Apply updates safely
Breaking Changes
Section titled “Breaking Changes”When breaking changes are introduced:
- Automatic detection -
pika syncwill detect breaking changes - Block sync - Won't proceed without acknowledgment
- Clear guidance - Links to migration guides
- Manual steps - Detailed instructions for required changes
Version History
Section titled “Version History”| Version | Date | Type | Summary |
|---|---|---|---|
| 0.26.0 | May 26 2026 | Feature | CM-491 framework seams (11 AzureAD-friendly hooks), demo-mode seams (7 hooks + CSS contract), Strands long-term user memory, services library account-context utilities, sync protectedAreas v1.0.6 |
| 0.25.2 | May 4 2026 | Patch | Strands converse Lambda: raise max_tokens to model capacity (64K), add explicit MaxTokensReachedException handler |
| 0.25.1 | May 4 2026 | Patch | Back-port gaps from 0.25.0: hooks userType/roles propagation, jest integration-test isolation, flag-gated insights schedule, flag-conditional Strands SSM lookup |
| 0.25.0 | Apr 23 2026 | Feature | Optional Python (Strands) converse Lambda, Claude 4.5/4.6 default models, streaming heartbeats, post-processor rewrite |
| 0.24.0 | Mar 30 2026 | Feature | Collaborator directive injection, server hook hardening, userType/roles persistence |
| 0.23.2 | Mar 12 2026 | Patch | Fix raw Bedrock API response JSON in multi-agent chat output |
| 0.23.1 | Mar 12 2026 | Patch | Resolve agent model IDs through inference profile mapping |
| 0.23.0 | Mar 12 2026 | Feature | Server hooks extension point for customUserData transformation |
| 0.22.1 | Mar 10 2026 | Patch | Fix external users unable to see chat apps on home page |
| 0.22.0 | Mar 9 2026 | Feature | Non-interactive sync mode with --yes flag |
| 0.21.0 | Mar 4 2026 | Feature | Non-interactive release mode, AGENTS.md context file |
| 0.20.2 | Mar 3 2026 | Patch | Model ID validation accepts base model IDs |
| 0.20.1 | Mar 3 2026 | Patch | Session ID visible to all users in chat titlebar |
| 0.20.0 | Feb 26 2026 | Feature | Custom agent field, updatable foundation models, model validation |
| 0.19.5 | Feb 23 2026 | Feature | Session context for collaborators via collaboratorContextFields |
| 0.19.4 | Feb 17 2026 | Patch | Admin settings button accessible on all admin pages |
| 0.19.3 | Feb 13 2026 | Patch | Collaborator requireConfirmation normalized to prevent Bedrock invocation failures |
| 0.19.2 | Feb 9 2026 | Patch | Fixed chat titlebar blocked by content overlap |
| 0.19.1 | Feb 5 2026 | Patch | CLI fix: framework-internal files no longer sync to user projects |
| 0.19.0 | Feb 5 2026 | Feature | Custom logout dialog, client lifecycle hooks |
| 0.18.5 | Jan 26 2026 | Feature | Stage placeholder in web component URLs |
| 0.18.4 | Jan 26 2026 | Patch | Various widget system fixes |
| 0.18.3 | Jan 25 2026 | Patch | Hero restoration on companion mode exit |
| 0.18.2 | Jan 25 2026 | Patch | Hero persistence, widget stability fixes |
| 0.18.1 | Jan 25 2026 | Patch | Hero minimized position fix |
| 0.18.0 | Jan 24 2026 | Feature | Intent Router, collapsible hero, suggestQuestion API |
| 0.17.0 | Jan 21 2026 | Feature | Hero context, companion mode, event system |
| 0.16.8 | Jan 20 2026 | Patch | Published CLI 1.3.1 with sync fixes |
| 0.16.7 | Jan 20 2026 | Patch | Fixed sync config loading __dirname error |
| 0.16.6 | Jan 19 2026 | Patch | Fixed sync protected areas glob bug |
| 0.16.5 | Jan 19 2026 | Patch | Added destructive-bg theme variable |
| 0.16.4 | Jan 19 2026 | Feature | Home page redesign with customizable branding |
| 0.16.3 | Jan 19 2026 | Patch | Theme file organization and CLI fixes |
| 0.16.2 | Jan 19 2026 | Patch | Release tooling improvements |
| 0.16.1 | Jan 19 2026 | Patch | Documentation build fix for theming guide |
| 0.16.0 | Jan 19 2026 | Feature | UI Theming System with CLI commands |
| 0.15.5 | Nov 12 2025 | Patch | Chat session issue fix |
| 0.15.4 | Nov 4 2025 | Patch | Opensearch type issue fix |
| 0.15.3 | Nov 4 2025 | Patch | Cost distribution charts and auto insights fix |
| 0.15.2 | Nov 3 2025 | Patch | Analytics tool flushing issue fix |
| 0.15.1 | Nov 3 2025 | Patch | Backfill tool robustness and performance fixes |
| 0.15.0 | Nov 3 2025 | Breaking | Message-level analytics and content search |
| 0.14.2 | Nov 2 2025 | Patch | Admin site session insights improvements |
| 0.14.1 | Nov 1 2025 | Patch | Bedrock inference profile stack tag type fix |
| 0.14.0 | Nov 1 2025 | Feature | Component-level tagging for granular cost tracking |
| 0.13.0 | Oct 31 2025 | Feature | Inference profile cost tracking and AWS resource tagging |
| 0.12.0 | Oct 31 2025 | Feature | Entity method addition and analytics UI improvements |
| 0.11.3 | Oct 30 2025 | Patch | pika-cli sync improvements and minor fixes |
| 0.11.2 | Oct 30 2025 | Patch | CI/CD pipeline lockfile sync fix |
| 0.11.1 | Oct 30 2025 | Patch | Type safety improvements in site admin pages |
| 0.11.0 | Oct 30 2025 | Breaking | Session analytics and widget metadata system |
| 0.10.0 | Oct 28 2025 | Feature | Context-aware widgets and dynamic spotlight |
| 0.9.0 | Oct 27 2025 | Feature | Complete documentation site overhaul |
| 0.8.0 | Oct 24 2025 | Feature | Widget instance registry with DOM tracking |
| 0.7.0 | Oct 24 2025 | Feature | Web component initialization enhancement |
| 0.6.2 | Oct 22 2025 | Patch | Chat input height fix |
| 0.6.1 | Oct 21 2025 | Patch | S3 file content route fixes |
| 0.6.0 | Oct 21 2025 | Feature | S3 file access for web components |
| 0.5.2 | Oct 21 2025 | Patch | Instruction augmentation fixes |
| 0.5.1 | Oct 21 2025 | Patch | Session source field fix |
| 0.5.0 | Oct 21 2025 | Breaking | Tag system refactor + Chat session GSI update |
| 0.4.0 | Oct 20 2025 | Stable | Initial tracked release |
Learn More
Section titled “Learn More”- Full Changelog - Complete version history
- Migration Guides - Step-by-step upgrade instructions
- Sync System - How syncing works
Stay Informed
Section titled “Stay Informed”Keep your project updated:
# Check for updates regularlypika sync --dry-runQuestions?
Section titled “Questions?”- Not sure if you should upgrade? Check the changelog for your version
- Breaking change coming? Migration guides provide complete instructions
- Sync issues? See Troubleshooting