Skip to main content
Migrating between versions of the Asgard SDK and platform

Migration guide

This page records the breaking changes between versions of the Asgard SDK and what to do about them.

SDK versions​

0.1.x → 0.2.x​

SDK 0.2.x brought several significant improvements.

Breaking changes​

What changed0.1.x0.2.xHow to migrate
Package name@asgard-js/core@asgard-js/core (unchanged)Upgrade the version
SSE event formatThe basic eventsAdds asgard.process.start/complete and asgard.tool_call.start/completeAdd handlers for the new events
React integrationBasic configurationMore configuration optionsCheck the config on <Chatbot>

Upgrading​

  1. Update the packages:
npm install @asgard-js/core@latest @asgard-js/react@latest
  1. Look at the new SSE event types and add handling for them (not required, but worth doing)

  2. If you use the React SDK, check whether the config on <Chatbot> needs updating

What is new​

  • Automation Tool support: the asgard.tool_call.start and asgard.tool_call.complete events
  • Process tracking: the asgard.process.start and asgard.process.complete events
  • Knowledge Base 2.0: an improved RAG response format
  • Data Insight integration: responses that carry charts and data visualisations

Platform releases​

For the full record of platform updates, see the release notes.

Milestones​

DateVersionWhat it brought
2024-071.0The Asgard LLM Application SaaS Platform goes live
2024-111.1Automation Tools, and a lift in efficiency
2025-011.2RAG Enhancement and a stronger knowledge base
2025-052.0Knowledge Base 2.0 and new segment settings
2025-072.1The Billing Portal (Fehu)
2025-092.2Data Insight (Mimir)
2025-112.3The Integration Tool

API compatibility​

The Asgard API follows these compatibility principles:

  • SSE events: a new event type is backward compatible, and an older client can ignore an event it does not know
  • Request format: the core fields customChannelId, text and action stay stable
  • Response format: a new field inside the fact object is backward compatible
tip

Add a default case to your SSE event handling and ignore event types you do not recognise. That is what keeps it backward compatible:

switch (event.eventType) {
case 'asgard.message.delta':
// handle the streamed text
break;
case 'asgard.message.complete':
// handle the completed message
break;
// ... the other events you know about
default:
// ignore an unknown event type, which keeps this backward compatible
break;
}

Getting help​

If you run into trouble while migrating: