Alpha versions may contain breaking changes between releases. We recommend staying on the latest version for the best experience and bug fixes.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"StudyFetch","colors":{"primary":"#4F46E5","light":"#818CF8","dark":"#3730A3"},"logo":{"light":"https://mintcdn.com/studyfetch/CQRvQEWVGA3CHAKn/logo/light.svg?fit=max\u0026auto=format\u0026n=CQRvQEWVGA3CHAKn\u0026q=85\u0026s=c79964d0b112ad9c8b58569c43aa3a4f","dark":"https://mintcdn.com/studyfetch/CQRvQEWVGA3CHAKn/logo/dark.svg?fit=max\u0026auto=format\u0026n=CQRvQEWVGA3CHAKn\u0026q=85\u0026s=5fee1a6f977862d86933fc5eec24df60"},"favicon":"https://mintcdn.com/studyfetch/jOnyPtbzZQFAjP93/favicon-32x32.png?fit=max\u0026auto=format\u0026n=jOnyPtbzZQFAjP93\u0026q=85\u0026s=7b1cac27c13466a6c7bc7f4f80fb6fd1","api":{"playground":{"display":"interactive"},"examples":{"languages":["javascript","curl","python"]}},"navbar":{"primary":{"type":"button","label":"Try StudyFetch","href":"https://studyfetch.com/platform"}},"footer":{"socials":{"twitter":"https://twitter.com/studyfetch","instagram":"https://instagram.com/studyfetch","linkedin":"https://linkedin.com/company/studyfetch"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","grok","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"StudyFetch Website","icon":"book-open-cover","href":"https://studyfetch.com"},{"anchor":"Use Platform","icon":"rocket","href":"https://studyfetch.com/platform"},{"anchor":"Blog","icon":"newspaper","href":"https://studyfetch.com/blog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"studyfetch","hasAudioNarration":false,"actualSubdomain":"studyfetch","customDomains":["www.studyfetch.com","imagineexplainers.com"],"gitSource":{"type":"github","owner":"gostudyfetchgo","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a3c3c437b6d498d08ec381f","collectionId":"88c0fd49-342e-4dc9-a6c1-42bf0cee6fdb","schemaVersion":"v2"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae925a41df85160c46142cd:success","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"StudyFetch API","count":77},{"language":"default","tag":"REST API","count":54},{"language":"default","tag":"Materials","count":25},{"language":"default","tag":"Component API","count":23},{"language":"default","tag":"Tutorials","count":17},{"language":"default","tag":"All Tutorials","count":16},{"language":"default","tag":"Support","count":11},{"language":"default","tag":"All Support","count":11},{"language":"default","tag":"Org Analytics API","count":10},{"language":"default","tag":"Platform Usage API","count":10}]},"assistantConfig":{"enableStarterQuestions":false,"deflection":{"enabled":true,"email":"support@studyfetch.com","showHelpButton":true}},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"changelog","slug":"/changelog","pageMetadata":{"title":"Changelog","description":"Track updates and changes across StudyFetch SDKs","href":"/changelog"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Track updates and changes across StudyFetch SDKs\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,hr:`hr`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note,Tab,Table,Tabs}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`latest-updates`,children:`Latest Updates`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`JavaScript`,id:`javascript`,\"data-child-heading-ids\":`[\"v1-44-1\",\"features\",\"v1-44-0\",\"features-2\",\"v1-43-0\",\"features-3\",\"v1-42-0\",\"features-4\",\"v1-41-0\",\"new-features\",\"v1-40-0\",\"features-5\",\"bug-fixes\",\"v1-38-0\",\"bug-fixes-2\",\"v1-37-0\",\"documentation-fixes\",\"v1-36-0\",\"new-features-2\",\"breaking-changes\",\"documentation\",\"v1-35-0\",\"improvements\",\"v1-34-0\",\"breaking-changes-2\",\"documentation-2\",\"v1-33-0\",\"new-features-3\",\"improvements-2\",\"documentation-3\",\"v1-27-0\",\"new-features-4\",\"improvements-3\",\"bug-fixes-3\",\"v1-26-0\",\"new-features-5\",\"bug-fixes-4\",\"documentation-4\",\"v1-25-0\",\"features-6\"]`,children:[_jsx(Heading,{level:`2`,id:`v1-44-1`,children:`v1.44.1`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: October 21, 2025`})}),_jsx(Heading,{level:`3`,id:`features`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Feedback Context API`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`client.v1.chat.retrieveFeedbackContext()`}),` method to retrieve specific message and full conversation for a feedback item`]}),`\n`,_jsx(_components.li,{children:`Retrieves complete conversation context for analyzing user feedback`}),`\n`,_jsxs(_components.li,{children:[`Accepts `,_jsx(_components.code,{children:`feedbackId`}),` parameter to identify the specific feedback item`]}),`\n`,_jsxs(_components.li,{children:[`See `,_jsx(_components.a,{href:`/api-docs/components/chat#retrieving-feedback-context`,children:`documentation`})]}),`\n`,_jsxs(_components.li,{children:[`Related: `,_jsx(_components.a,{href:`#v1440`,children:`v1.44.0`}),` includes Chat Feedback Analytics and Embed Context features`]}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v1-44-0`,children:`v1.44.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: October 21, 2025`})}),_jsx(Heading,{level:`3`,id:`features-2`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Embed Context Management`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added context API for pushing dynamic context to embedded chat components`}),`\n`,_jsxs(_components.li,{children:[`New `,_jsx(_components.code,{children:`client.v1.embed.context.push()`}),` method to add context strings to specific embed instances`]}),`\n`,_jsxs(_components.li,{children:[`New `,_jsx(_components.code,{children:`client.v1.embed.context.retrieve()`}),` method to get current context for an embed`]}),`\n`,_jsxs(_components.li,{children:[`New `,_jsx(_components.code,{children:`client.v1.embed.context.clear()`}),` method to clear context from an embed`]}),`\n`,_jsx(_components.li,{children:`Enables dynamic content updates (e.g., question changes in practice tests) without losing chat history`}),`\n`,_jsxs(_components.li,{children:[`See `,_jsx(_components.a,{href:`/api-docs/components/chat#managing-chat-embed-context`,children:`documentation`})]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Feedback Analytics`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`client.v1.chat.retrieveFeedback()`}),` method to retrieve user feedback data`]}),`\n`,_jsx(_components.li,{children:`Support for filtering feedback by component ID, user ID, date range, and feedback type`}),`\n`,_jsxs(_components.li,{children:[`Feedback type options: `,_jsx(_components.code,{children:`thumbsUp`}),` and `,_jsx(_components.code,{children:`thumbsDown`})]}),`\n`,_jsxs(_components.li,{children:[`See `,_jsx(_components.a,{href:`/api-docs/components/chat#retrieving-chat-feedback`,children:`documentation`})]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Component Configuration`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`enableFeedback`}),` option (default: true) to enable/disable thumbs up/down feedback with reason`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`API Updates`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Enhanced embed service with context management capabilities`}),`\n`,_jsx(_components.li,{children:`Updated type definitions and method signatures`}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v1-43-0`,children:`v1.43.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: October 8, 2025`})}),_jsx(Heading,{level:`3`,id:`features-3`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`API Updates`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added PDF Generator service for creating presentations`}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`studentName`}),` parameter to component embedding`]}),`\n`,_jsx(_components.li,{children:`Updated API contracts and type definitions`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Component Enhancements`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`hideTitle`}),` configuration option to hide chat component headings (icon and title)`]}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`hideEmptyState`}),` option to hide default empty state UI`]}),`\n`,_jsxs(_components.li,{children:[`Added support for custom HTML to replace the default icon and message when chat is empty via `,_jsx(_components.code,{children:`emptyStateHTML`})]}),`\n`,_jsx(_components.li,{children:`Removed user avatar from chat interface for cleaner UI`}),`\n`,_jsx(_components.li,{children:`Removed Spark.E references from prompt guidance system`}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v1-42-0`,children:`v1.42.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: September 24, 2025`})}),_jsx(Heading,{level:`3`,id:`features-4`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`API Updates`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Updated endpoint definitions and API contracts`}),`\n`,_jsx(_components.li,{children:`Improved request/response handling`}),`\n`,_jsx(_components.li,{children:`Enhanced type definitions and method signatures`}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v1-41-0`,children:`v1.41.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: September 23, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`References Support`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`References`}),` property to material creation and response objects`]}),`\n`,_jsx(_components.li,{children:`Support for adding source citations with title and URL`}),`\n`,_jsx(_components.li,{children:`Enhanced material metadata with reference tracking`}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v1-40-0`,children:`v1.40.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: September 23, 2025`})}),_jsx(Heading,{level:`3`,id:`features-5`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`enableReferenceMode`}),` option for chat components and embedding`]}),`\n`,_jsx(_components.li,{children:`Added message grading analytics (prompting and responsibility scores)`}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`update`}),` method for materials to update reference information (title and URL)`]}),`\n`,_jsx(_components.li,{children:`API updates with latest endpoint definitions`}),`\n`]}),_jsx(Heading,{level:`3`,id:`bug-fixes`,children:`Bug Fixes`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Coerce nullable values to undefined for better TypeScript compatibility`}),`\n`,_jsx(_components.li,{children:`Updated singularization rules`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v1-38-0`,children:`v1.38.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 21, 2025`})}),_jsx(Heading,{level:`3`,id:`bug-fixes-2`,children:`Bug Fixes`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Fixed response structure inconsistencies in API methods`}),`\n`,_jsx(_components.li,{children:`Corrected property naming conventions across response objects`}),`\n`,_jsx(_components.li,{children:`Updated method signatures to match actual implementation`}),`\n`,_jsx(_components.li,{children:`Improved response type definitions for better type safety`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v1-37-0`,children:`v1.37.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 21, 2025`})}),_jsx(Heading,{level:`3`,id:`documentation-fixes`,children:`Documentation Fixes`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Fixed JavaScript code examples across all documentation`}),`\n`,_jsxs(_components.li,{children:[`Updated `,_jsx(_components.code,{children:`parentFolderId`}),` handling in folder operations (use `,_jsx(_components.code,{children:`undefined`}),` instead of `,_jsx(_components.code,{children:`null`}),`)`]}),`\n`,_jsx(_components.li,{children:`Added proper null checks for optional fields before accessing properties`}),`\n`,_jsxs(_components.li,{children:[`Fixed pagination checks to handle potentially undefined `,_jsx(_components.code,{children:`totalPages`})]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v1-36-0`,children:`v1.36.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 19, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-2`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Pagination Support`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added pagination parameters (`,_jsx(_components.code,{children:`limit`}),` and `,_jsx(_components.code,{children:`page`}),`) to `,_jsx(_components.code,{children:`materials.list()`})]}),`\n`,_jsxs(_components.li,{children:[`Added pagination parameters to `,_jsx(_components.code,{children:`folders.listMaterials()`})]}),`\n`,_jsxs(_components.li,{children:[`Materials list response now returns paginated object with `,_jsx(_components.code,{children:`data`}),`, `,_jsx(_components.code,{children:`limit`}),`, `,_jsx(_components.code,{children:`page`}),`, `,_jsx(_components.code,{children:`total`}),`, and `,_jsx(_components.code,{children:`totalPages`})]}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`breaking-changes`,children:`Breaking Changes`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Materials List Response`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Changed from array to paginated object structure`}),`\n`,_jsxs(_components.li,{children:[`Access materials via `,_jsx(_components.code,{children:`response.data`}),` instead of direct array`]}),`\n`,_jsxs(_components.li,{children:[`Added pagination metadata: `,_jsx(_components.code,{children:`total`}),`, `,_jsx(_components.code,{children:`totalPages`}),`, `,_jsx(_components.code,{children:`page`}),`, `,_jsx(_components.code,{children:`limit`})]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Folder Retrieve Response`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Removed `,_jsx(_components.code,{children:`materials`}),` field from folder retrieve response`]}),`\n`,_jsxs(_components.li,{children:[`Removed `,_jsx(_components.code,{children:`totalSize`}),` field from folder retrieve response`]}),`\n`,_jsxs(_components.li,{children:[`Use `,_jsx(_components.code,{children:`folders.listMaterials()`}),` or `,_jsx(_components.code,{children:`materials.list()`}),` with `,_jsx(_components.code,{children:`folderId`}),` to get folder contents`]}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`documentation`,children:`Documentation`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Updated all code examples to use new paginated response structure`}),`\n`,_jsx(_components.li,{children:`Added examples for iterating through multiple pages`}),`\n`,_jsxs(_components.li,{children:[`Added documentation for new `,_jsx(_components.code,{children:`folders.listMaterials()`}),` method`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v1-35-0`,children:`v1.35.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 18, 2025`})}),_jsx(Heading,{level:`3`,id:`improvements`,children:`Improvements`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Refactored folders API`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v1-34-0`,children:`v1.34.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 7, 2025`})}),_jsx(Heading,{level:`3`,id:`breaking-changes-2`,children:`Breaking Changes`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Assignment Grader API`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Changed `,_jsx(_components.code,{children:`rubricTemplates()`}),` to be a property instead of callable`]}),`\n`,_jsxs(_components.li,{children:[`Now use `,_jsx(_components.code,{children:`rubricTemplates.create()`}),`, `,_jsx(_components.code,{children:`rubricTemplates.list()`}),`, etc.`]}),`\n`,_jsx(_components.li,{children:`Affects all rubric template operations`}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`documentation-2`,children:`Documentation`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Updated all code examples to use new rubricTemplates property syntax`}),`\n`,_jsx(_components.li,{children:`Added migration guide for rubric template changes`}),`\n`,_jsx(_components.li,{children:`Improved TypeScript type definitions for template operations`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v1-33-0`,children:`v1.33.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: July 26, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-3`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`AI-Powered Material Generation`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`generate()`}),` method to create study materials from topics`]}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`generateAndProcess()`}),` method for synchronous generation`]}),`\n`,_jsx(_components.li,{children:`Support for multiple material types: outlines, overviews, notes, summaries`}),`\n`,_jsx(_components.li,{children:`Customizable length, education level, and target folder`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Streaming API`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Support for both AI SDK format (messages array) and custom format`}),`\n`,_jsx(_components.li,{children:`Image attachment support in chat messages`}),`\n`,_jsx(_components.li,{children:`Stream processing with proper error handling`}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`improvements-2`,children:`Improvements`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Enhanced material management with generation capabilities`}),`\n`,_jsx(_components.li,{children:`Better TypeScript type definitions for generated materials`}),`\n`,_jsx(_components.li,{children:`Improved streaming performance with chunked responses`}),`\n`]}),_jsx(Heading,{level:`3`,id:`documentation-3`,children:`Documentation`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added comprehensive material generation guide`}),`\n`,_jsx(_components.li,{children:`New streaming chat implementation examples`}),`\n`,_jsx(_components.li,{children:`Updated API reference with all generation parameters`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v1-27-0`,children:`v1.27.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: July 24, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-4`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Guardrails for Chat Component`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`enableGuardrails`}),` and `,_jsx(_components.code,{children:`guardrailRules`}),` configuration options`]}),`\n`,_jsx(_components.li,{children:`Support for BLOCK, WARN, and MODIFY actions on AI responses`}),`\n`,_jsx(_components.li,{children:`Server-side content policy enforcement for safety and compliance`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Enhanced Chat Component`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added thinking/reasoning capabilities to chat responses`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Keyboard Navigation for Flashcards`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Arrow keys for card navigation`}),`\n`,_jsx(_components.li,{children:`Enhanced accessibility support`}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`improvements-3`,children:`Improvements`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Component Embed Generation Flexibility`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Both `,_jsx(_components.code,{children:`componentId`}),` and `,_jsx(_components.code,{children:`_id`}),` are now accepted in generateEmbed methods`]}),`\n`,_jsx(_components.li,{children:`Better backwards compatibility with existing integrations`}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`bug-fixes-3`,children:`Bug Fixes`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Fixed citation placement in chat responses to correctly scope content within provided materials`}),`\n`,_jsx(_components.li,{children:`Fixed minor bugs in flashcard component animations and state management`}),`\n`,_jsx(_components.li,{children:`Fixed test component scoring edge cases`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v1-26-0`,children:`v1.26.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: July 22, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-5`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`createAndProcess`}),` method for materials API`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Automatically waits for material processing to complete`}),`\n`,_jsx(_components.li,{children:`Returns fully processed material ready for immediate use`}),`\n`,_jsx(_components.li,{children:`Eliminates need for manual polling of processing status`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Added Data Analyst component API`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`New component type for data analysis and visualization`}),`\n`,_jsx(_components.li,{children:`Supports streaming analysis, sessions, and image uploads`}),`\n`,_jsx(_components.li,{children:`Includes methods for statistical analysis and chart generation`}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`bug-fixes-4`,children:`Bug Fixes`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Fixed assignment grader response format`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Removed inaccessible `,_jsx(_components.code,{children:`rubric`}),` field from response examples`]}),`\n`,_jsx(_components.li,{children:`Updated documentation to reflect actual API response structure`}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`documentation-4`,children:`Documentation`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added comprehensive rubric creation examples`}),`\n`,_jsx(_components.li,{children:`Improved material processing documentation`}),`\n`,_jsx(_components.li,{children:`Added best practices for assignment grading`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v1-25-0`,children:`v1.25.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: July 20, 2025`})}),_jsx(Heading,{level:`3`,id:`features-6`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Initial assignment grader API implementation`}),`\n`,_jsx(_components.li,{children:`Support for custom rubrics with multiple criteria`}),`\n`,_jsx(_components.li,{children:`Material-based grading support`}),`\n`]})]}),_jsxs(Tab,{title:`Python`,id:`python`,\"data-child-heading-ids\":`[\"v0-1-0-alpha-33\",\"features-7\",\"v0-1-0-alpha-32\",\"features-8\",\"v0-1-0-alpha-31\",\"features-9\",\"v0-1-0-alpha-30\",\"features-10\",\"v0-1-0-alpha-29\",\"new-features-6\",\"v0-1-0-alpha-28\",\"new-features-7\",\"v0-1-0-alpha-26\",\"bug-fixes-5\",\"v0-1-0-alpha-24\",\"new-features-8\",\"breaking-changes-3\",\"documentation-5\",\"v0-1-0-alpha-23\",\"improvements-4\",\"v0-1-0-alpha-22\",\"new-features-9\",\"documentation-6\",\"v0-1-0-alpha-21\",\"new-features-10\",\"improvements-5\",\"documentation-7\",\"v0-1-0-alpha-20\",\"new-features-11\",\"improvements-6\",\"bug-fixes-6\",\"v0-1-0-alpha-19\",\"new-features-12\",\"bug-fixes-7\",\"documentation-8\",\"v0-1-0-alpha-18\",\"features-11\"]`,children:[_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-33`,children:`v0.1.0-alpha.33`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: October 21, 2025`})}),_jsx(Heading,{level:`3`,id:`features-7`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Feedback Context API`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`client.v1.chat.retrieve_feedback_context()`}),` method to retrieve specific message and full conversation for a feedback item`]}),`\n`,_jsx(_components.li,{children:`Retrieves complete conversation context for analyzing user feedback`}),`\n`,_jsxs(_components.li,{children:[`Accepts `,_jsx(_components.code,{children:`feedback_id`}),` parameter to identify the specific feedback item`]}),`\n`,_jsxs(_components.li,{children:[`See `,_jsx(_components.a,{href:`/api-docs/components/chat#retrieving-feedback-context`,children:`documentation`})]}),`\n`,_jsxs(_components.li,{children:[`Related: `,_jsx(_components.a,{href:`#v010-alpha32`,children:`v0.1.0-alpha.32`}),` includes Chat Feedback Analytics and Embed Context features`]}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-32`,children:`v0.1.0-alpha.32`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: October 21, 2025`})}),_jsx(Heading,{level:`3`,id:`features-8`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Embed Context Management`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added context API for pushing dynamic context to embedded chat components`}),`\n`,_jsxs(_components.li,{children:[`New `,_jsx(_components.code,{children:`client.v1.embed.context.push()`}),` method to add context strings to specific embed instances`]}),`\n`,_jsxs(_components.li,{children:[`New `,_jsx(_components.code,{children:`client.v1.embed.context.retrieve()`}),` method to get current context for an embed`]}),`\n`,_jsxs(_components.li,{children:[`New `,_jsx(_components.code,{children:`client.v1.embed.context.clear()`}),` method to clear context from an embed`]}),`\n`,_jsx(_components.li,{children:`Enables dynamic content updates (e.g., question changes in practice tests) without losing chat history`}),`\n`,_jsxs(_components.li,{children:[`See `,_jsx(_components.a,{href:`/api-docs/components/chat#managing-chat-embed-context`,children:`documentation`})]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Feedback Analytics`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`client.v1.chat.retrieve_feedback()`}),` method to retrieve user feedback data`]}),`\n`,_jsx(_components.li,{children:`Support for filtering feedback by component ID, user ID, date range, and feedback type`}),`\n`,_jsxs(_components.li,{children:[`Feedback type options: `,_jsx(_components.code,{children:`\"thumbsUp\"`}),` and `,_jsx(_components.code,{children:`\"thumbsDown\"`})]}),`\n`,_jsxs(_components.li,{children:[`See `,_jsx(_components.a,{href:`/api-docs/components/chat#retrieving-chat-feedback`,children:`documentation`})]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Component Configuration`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`enable_feedback`}),` option (default: true) to enable/disable thumbs up/down feedback with reason`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`API Updates`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Enhanced embed service with context management capabilities`}),`\n`,_jsx(_components.li,{children:`Updated type definitions and method signatures`}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-31`,children:`v0.1.0-alpha.31`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: October 8, 2025`})}),_jsx(Heading,{level:`3`,id:`features-9`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`API Updates`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added PDF Generator service for creating presentations`}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`student_name`}),` parameter to component embedding`]}),`\n`,_jsx(_components.li,{children:`Updated API contracts and type definitions`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Component Enhancements`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`hide_title`}),` configuration option to hide chat component headings (icon and title)`]}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`hide_empty_state`}),` option to hide default empty state UI`]}),`\n`,_jsxs(_components.li,{children:[`Added support for custom HTML to replace the default icon and message when chat is empty via `,_jsx(_components.code,{children:`empty_state_html`})]}),`\n`,_jsx(_components.li,{children:`Removed user avatar from chat interface for cleaner UI`}),`\n`,_jsx(_components.li,{children:`Removed Spark.E references from prompt guidance system`}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-30`,children:`v0.1.0-alpha.30`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: September 24, 2025`})}),_jsx(Heading,{level:`3`,id:`features-10`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Feedback Context API`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`client.v1.chat.retrieve_feedback_context()`}),` method to retrieve specific message and full conversation for a feedback item`]}),`\n`,_jsx(_components.li,{children:`Retrieves complete conversation context for analyzing user feedback`}),`\n`,_jsxs(_components.li,{children:[`Accepts `,_jsx(_components.code,{children:`feedback_id`}),` parameter to identify the specific feedback item`]}),`\n`,_jsxs(_components.li,{children:[`See `,_jsx(_components.a,{href:`/api-docs/components/chat#retrieving-feedback-context`,children:`documentation`})]}),`\n`,_jsxs(_components.li,{children:[`Related: `,_jsx(_components.a,{href:`#v010-alpha32`,children:`v0.1.0-alpha.32`}),` includes Chat Feedback Analytics and Embed Context features`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`API Updates`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Updated endpoint definitions and API contracts`}),`\n`,_jsx(_components.li,{children:`Improved request/response handling`}),`\n`,_jsx(_components.li,{children:`Enhanced type definitions and method signatures`}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-29`,children:`v0.1.0-alpha.29`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: September 23, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-6`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`References Support`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`references`}),` parameter to material creation methods`]}),`\n`,_jsx(_components.li,{children:`Support for adding source citations with title and URL`}),`\n`,_jsx(_components.li,{children:`Enhanced material metadata with reference tracking`}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-28`,children:`v0.1.0-alpha.28`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: September 23, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-7`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`enable_reference_mode`}),` option for chat components and embedding`]}),`\n`,_jsx(_components.li,{children:`Added message grading analytics (prompting and responsibility scores)`}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`update`}),` method for materials to update reference information (title and URL)`]}),`\n`,_jsx(_components.li,{children:`API updates with latest endpoint definitions`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-26`,children:`v0.1.0-alpha.26`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 21, 2025`})}),_jsx(Heading,{level:`3`,id:`bug-fixes-5`,children:`Bug Fixes`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Fixed response structure inconsistencies in API methods`}),`\n`,_jsx(_components.li,{children:`Corrected property naming conventions across response objects`}),`\n`,_jsx(_components.li,{children:`Updated method signatures to match actual implementation`}),`\n`,_jsx(_components.li,{children:`Improved response type definitions for better type safety`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-24`,children:`v0.1.0-alpha.24`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 19, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-8`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Pagination Support`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added pagination parameters (`,_jsx(_components.code,{children:`limit`}),` and `,_jsx(_components.code,{children:`page`}),`) to `,_jsx(_components.code,{children:`materials.list()`})]}),`\n`,_jsxs(_components.li,{children:[`Added pagination parameters to `,_jsx(_components.code,{children:`folders.list_materials()`})]}),`\n`,_jsxs(_components.li,{children:[`Materials list response now returns paginated object with `,_jsx(_components.code,{children:`data`}),`, `,_jsx(_components.code,{children:`limit`}),`, `,_jsx(_components.code,{children:`page`}),`, `,_jsx(_components.code,{children:`total`}),`, and `,_jsx(_components.code,{children:`total_pages`})]}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`breaking-changes-3`,children:`Breaking Changes`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Materials List Response`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Changed from `,_jsx(_components.code,{children:`List[MaterialListResponseItem]`}),` to single `,_jsx(_components.code,{children:`MaterialListResponse`}),` object`]}),`\n`,_jsxs(_components.li,{children:[`Access materials via `,_jsx(_components.code,{children:`response.data`}),` instead of direct list`]}),`\n`,_jsxs(_components.li,{children:[`Added pagination metadata: `,_jsx(_components.code,{children:`total`}),`, `,_jsx(_components.code,{children:`total_pages`}),`, `,_jsx(_components.code,{children:`page`}),`, `,_jsx(_components.code,{children:`limit`})]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Folder Retrieve Response`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Removed `,_jsx(_components.code,{children:`materials`}),` field from folder retrieve response`]}),`\n`,_jsxs(_components.li,{children:[`Removed `,_jsx(_components.code,{children:`total_size`}),` field from folder retrieve response`]}),`\n`,_jsxs(_components.li,{children:[`Use `,_jsx(_components.code,{children:`folders.list_materials()`}),` or `,_jsx(_components.code,{children:`materials.list()`}),` with `,_jsx(_components.code,{children:`folder_id`}),` to get folder contents`]}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`documentation-5`,children:`Documentation`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Updated all code examples to use new paginated response structure`}),`\n`,_jsx(_components.li,{children:`Added examples for iterating through multiple pages`}),`\n`,_jsxs(_components.li,{children:[`Added documentation for new `,_jsx(_components.code,{children:`folders.list_materials()`}),` method`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-23`,children:`v0.1.0-alpha.23`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 18, 2025`})}),_jsx(Heading,{level:`3`,id:`improvements-4`,children:`Improvements`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Refactored folders API`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-22`,children:`v0.1.0-alpha.22`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 7, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-9`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Assignment Grader API`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added support for rubric templates`}),`\n`,_jsx(_components.li,{children:`Added assignment grouping functionality`}),`\n`,_jsx(_components.li,{children:`Improved grading response structure`}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`documentation-6`,children:`Documentation`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added comprehensive rubric template examples`}),`\n`,_jsx(_components.li,{children:`Updated assignment grader documentation`}),`\n`,_jsx(_components.li,{children:`Added new code samples for template management`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-21`,children:`v0.1.0-alpha.21`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: July 26, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-10`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`AI-Powered Material Generation`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`generate()`}),` method to create study materials from topics`]}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`generate_and_process()`}),` method for synchronous generation`]}),`\n`,_jsx(_components.li,{children:`Support for multiple material types: outlines, overviews, notes, summaries`}),`\n`,_jsx(_components.li,{children:`Customizable length, education level, and target folder`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Streaming API`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Support for both AI SDK format (messages array) and custom format`}),`\n`,_jsx(_components.li,{children:`Async streaming with proper chunk handling`}),`\n`,_jsx(_components.li,{children:`Image attachment support in chat messages`}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`improvements-5`,children:`Improvements`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Enhanced material management with generation capabilities`}),`\n`,_jsx(_components.li,{children:`Better async/await support for streaming operations`}),`\n`,_jsx(_components.li,{children:`Improved error handling for generation timeouts`}),`\n`]}),_jsx(Heading,{level:`3`,id:`documentation-7`,children:`Documentation`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added comprehensive material generation guide`}),`\n`,_jsx(_components.li,{children:`New async streaming implementation examples`}),`\n`,_jsx(_components.li,{children:`Updated API reference with all generation parameters`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-20`,children:`v0.1.0-alpha.20`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: July 24, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-11`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Guardrails for Chat Component`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`enableGuardrails`}),` and `,_jsx(_components.code,{children:`guardrailRules`}),` configuration options`]}),`\n`,_jsx(_components.li,{children:`Support for BLOCK, WARN, and MODIFY actions on AI responses`}),`\n`,_jsx(_components.li,{children:`Server-side content policy enforcement for safety and compliance`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Enhanced Chat Component`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added thinking/reasoning capabilities to chat responses`}),`\n`,_jsx(_components.li,{children:`Improved multi-step problem solving with visible thought process`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Keyboard Navigation for Flashcards`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Arrow keys for card navigation`}),`\n`,_jsx(_components.li,{children:`Spacebar to flip cards`}),`\n`,_jsx(_components.li,{children:`Enhanced accessibility support`}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`improvements-6`,children:`Improvements`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Component Embed Generation Flexibility`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Both `,_jsx(_components.code,{children:`componentId`}),` and `,_jsx(_components.code,{children:`_id`}),` are now accepted in generateEmbed methods`]}),`\n`,_jsx(_components.li,{children:`Better backwards compatibility with existing integrations`}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`bug-fixes-6`,children:`Bug Fixes`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Fixed citation placement in chat responses to correctly scope content within provided materials`}),`\n`,_jsx(_components.li,{children:`Fixed minor bugs in flashcard component animations and state management`}),`\n`,_jsx(_components.li,{children:`Fixed test component scoring edge cases`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-19`,children:`v0.1.0-alpha.19`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: July 22, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-12`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`create_and_process`}),` method for materials API`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Synchronous material creation and processing`}),`\n`,_jsx(_components.li,{children:`Ideal for immediate material usage scenarios`}),`\n`,_jsx(_components.li,{children:`Consistent with JavaScript SDK functionality`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Added Data Analyst component API`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Full support for data analysis operations`}),`\n`,_jsx(_components.li,{children:`Methods for send_message, stream, retrieve_session, get_history`}),`\n`,_jsx(_components.li,{children:`Image upload capabilities for data visualization`}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`bug-fixes-7`,children:`Bug Fixes`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Fixed assignment grader response format documentation`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Aligned response examples with actual API behavior`}),`\n`,_jsx(_components.li,{children:`Removed references to private fields`}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`documentation-8`,children:`Documentation`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Enhanced material management examples`}),`\n`,_jsx(_components.li,{children:`Added rubric definition guide`}),`\n`,_jsx(_components.li,{children:`Improved code consistency across SDKs`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-18`,children:`v0.1.0-alpha.18`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: July 20, 2025`})}),_jsx(Heading,{level:`3`,id:`features-11`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Assignment grader API support`}),`\n`,_jsx(_components.li,{children:`Material upload and processing`}),`\n`,_jsx(_components.li,{children:`Folder management capabilities`}),`\n`]})]}),_jsxs(Tab,{title:`Java`,id:`java`,\"data-child-heading-ids\":`[\"v0-1-0-alpha-33-2\",\"features-12\",\"v0-1-0-alpha-29-2\",\"features-13\",\"v0-1-0-alpha-28-2\",\"features-14\",\"v0-1-0-alpha-27\",\"features-15\",\"v0-1-0-alpha-26-2\",\"new-features-13\",\"v0-1-0-alpha-25\",\"new-features-14\",\"v0-1-0-alpha-23-2\",\"bug-fixes-8\",\"v0-1-0-alpha-22-2\",\"documentation-fixes-2\",\"v0-1-0-alpha-21-2\",\"new-features-15\",\"breaking-changes-4\",\"documentation-9\",\"v0-1-0-alpha-20-2\",\"improvements-7\",\"v0-1-0-alpha-19-2\",\"new-features-16\",\"improvements-8\",\"documentation-10\",\"v0-1-0-alpha-18-2\",\"new-features-17\",\"improvements-9\",\"documentation-11\",\"v0-1-0-alpha-17\",\"new-features-18\",\"improvements-10\",\"bug-fixes-9\",\"v0-1-0-alpha-16\",\"new-features-19\",\"bug-fixes-10\",\"breaking-changes-5\",\"documentation-12\",\"v0-1-0-alpha-15\",\"features-16\"]`,children:[_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-33-2`,children:`v0.1.0-alpha.33`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: October 21, 2025`})}),_jsx(Heading,{level:`3`,id:`features-12`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Feedback Context API`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`client.v1().chat().retrieveFeedbackContext()`}),` method to retrieve specific message and full conversation for a feedback item`]}),`\n`,_jsx(_components.li,{children:`Retrieves complete conversation context for analyzing user feedback`}),`\n`,_jsxs(_components.li,{children:[`Accepts `,_jsx(_components.code,{children:`feedbackId`}),` parameter to identify the specific feedback item`]}),`\n`,_jsxs(_components.li,{children:[`See `,_jsx(_components.a,{href:`/api-docs/components/chat#retrieving-feedback-context`,children:`documentation`})]}),`\n`,_jsxs(_components.li,{children:[`Related: `,_jsx(_components.a,{href:`#v010-alpha29`,children:`v0.1.0-alpha.29`}),` includes Chat Feedback Analytics and Embed Context features`]}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-29-2`,children:`v0.1.0-alpha.29`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: October 21, 2025`})}),_jsx(Heading,{level:`3`,id:`features-13`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Embed Context Management`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added context API for pushing dynamic context to embedded chat components`}),`\n`,_jsxs(_components.li,{children:[`New `,_jsx(_components.code,{children:`client.v1().embed().context().push()`}),` method to add context strings to specific embed instances`]}),`\n`,_jsxs(_components.li,{children:[`New `,_jsx(_components.code,{children:`client.v1().embed().context().retrieve()`}),` method to get current context for an embed`]}),`\n`,_jsxs(_components.li,{children:[`New `,_jsx(_components.code,{children:`client.v1().embed().context().clear()`}),` method to clear context from an embed`]}),`\n`,_jsx(_components.li,{children:`Enables dynamic content updates (e.g., question changes in practice tests) without losing chat history`}),`\n`,_jsxs(_components.li,{children:[`See `,_jsx(_components.a,{href:`/api-docs/components/chat#managing-chat-embed-context`,children:`documentation`})]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Feedback Analytics`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`client.v1().chat().retrieveFeedback()`}),` method to retrieve user feedback data`]}),`\n`,_jsx(_components.li,{children:`Support for filtering feedback by component ID, user ID, date range, and feedback type`}),`\n`,_jsxs(_components.li,{children:[`Feedback type enum: `,_jsx(_components.code,{children:`ChatRetrieveFeedbackParams.FeedbackType.THUMBS_UP`}),` and `,_jsx(_components.code,{children:`THUMBS_DOWN`})]}),`\n`,_jsxs(_components.li,{children:[`See `,_jsx(_components.a,{href:`/api-docs/components/chat#retrieving-chat-feedback`,children:`documentation`})]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Component Configuration`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`enableFeedback`}),` option (default: true) to enable/disable thumbs up/down feedback with reason`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`API Updates`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Enhanced embed service with context management capabilities`}),`\n`,_jsx(_components.li,{children:`Updated type definitions and method signatures`}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-28-2`,children:`v0.1.0-alpha.28`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: October 8, 2025`})}),_jsx(Heading,{level:`3`,id:`features-14`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`API Updates`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added PDF Generator service for creating presentations`}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`studentName`}),` parameter to component embedding`]}),`\n`,_jsx(_components.li,{children:`Updated API contracts and type definitions`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Component Enhancements`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`hideTitle`}),` configuration option to hide chat component headings (icon and title)`]}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`hideEmptyState`}),` option to hide default empty state UI`]}),`\n`,_jsxs(_components.li,{children:[`Added support for custom HTML to replace the default icon and message when chat is empty via `,_jsx(_components.code,{children:`emptyStateHTML`})]}),`\n`,_jsx(_components.li,{children:`Removed user avatar from chat interface for cleaner UI`}),`\n`,_jsx(_components.li,{children:`Removed Spark.E references from prompt guidance system`}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-27`,children:`v0.1.0-alpha.27`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: September 24, 2025`})}),_jsx(Heading,{level:`3`,id:`features-15`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`API Updates`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Updated endpoint definitions and API contracts`}),`\n`,_jsx(_components.li,{children:`Improved request/response handling`}),`\n`,_jsx(_components.li,{children:`Enhanced type definitions and method signatures`}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-26-2`,children:`v0.1.0-alpha.26`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: September 23, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-13`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`References Support`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`references`}),` parameter to material creation methods`]}),`\n`,_jsx(_components.li,{children:`Support for adding source citations with title and URL`}),`\n`,_jsx(_components.li,{children:`Enhanced material metadata with reference tracking`}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-25`,children:`v0.1.0-alpha.25`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: September 23, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-14`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`enableReferenceMode`}),` option for chat components and embedding`]}),`\n`,_jsx(_components.li,{children:`Added message grading analytics (prompting and responsibility scores)`}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`update`}),` method for materials to update reference information (title and URL)`]}),`\n`,_jsx(_components.li,{children:`API updates with latest endpoint definitions`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-23-2`,children:`v0.1.0-alpha.23`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 21, 2025`})}),_jsx(Heading,{level:`3`,id:`bug-fixes-8`,children:`Bug Fixes`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Fixed response structure inconsistencies in API methods`}),`\n`,_jsx(_components.li,{children:`Corrected property accessor methods across response objects`}),`\n`,_jsx(_components.li,{children:`Updated method signatures to match actual implementation`}),`\n`,_jsx(_components.li,{children:`Improved response type definitions for better type safety`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-22-2`,children:`v0.1.0-alpha.22`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 21, 2025`})}),_jsx(Heading,{level:`3`,id:`documentation-fixes-2`,children:`Documentation Fixes`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Comprehensive Documentation Update`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Fixed all Java code examples to use correct SDK patterns`}),`\n`,_jsx(_components.li,{children:`Updated all API calls to use parameter objects with builder pattern`}),`\n`,_jsxs(_components.li,{children:[`Fixed response types: `,_jsx(_components.code,{children:`MaterialResponse`}),`, `,_jsx(_components.code,{children:`ComponentResponse`}),`, `,_jsx(_components.code,{children:`FolderCreateResponse`}),`, etc.`]}),`\n`,_jsxs(_components.li,{children:[`Corrected `,_jsx(_components.code,{children:`FolderListResponse`}),` usage - it returns `,_jsx(_components.code,{children:`List\u003cFolderListResponse>`}),` not a single object`]}),`\n`,_jsxs(_components.li,{children:[`Fixed Optional field handling - omit fields instead of passing `,_jsx(_components.code,{children:`null`})]}),`\n`,_jsxs(_components.li,{children:[`Updated `,_jsx(_components.code,{children:`Content`}),` imports to use standalone class instead of inner class`]}),`\n`,_jsxs(_components.li,{children:[`Fixed enum usage for fields like `,_jsx(_components.code,{children:`difficulty`}),`, `,_jsx(_components.code,{children:`recapType`}),` in components`]}),`\n`,_jsxs(_components.li,{children:[`Corrected assignment grader to use `,_jsx(_components.code,{children:`RubricCriterion`}),` from `,_jsx(_components.code,{children:`rubrictemplates`}),` package`]}),`\n`,_jsxs(_components.li,{children:[`Fixed `,_jsx(_components.code,{children:`AssignmentGraderCreateResponse`}),` with `,_jsx(_components.code,{children:`gradedAssignment().get().grade()`}),` pattern`]}),`\n`,_jsxs(_components.li,{children:[`Updated chat analytics to use `,_jsx(_components.code,{children:`ChatAnalyticsResponse`}),` and `,_jsx(_components.code,{children:`OffsetDateTime`}),` for dates`]}),`\n`,_jsxs(_components.li,{children:[`Fixed material search to use `,_jsx(_components.code,{children:`MaterialSearchResponse`}),` and handle Optional fields`]}),`\n`,_jsxs(_components.li,{children:[`Added proper imports for all examples including `,_jsx(_components.code,{children:`List`}),`, `,_jsx(_components.code,{children:`Collections`}),`, `,_jsx(_components.code,{children:`OffsetDateTime`})]}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-21-2`,children:`v0.1.0-alpha.21`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 19, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-15`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Pagination Support`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added pagination parameters (`,_jsx(_components.code,{children:`limit`}),` and `,_jsx(_components.code,{children:`page`}),`) to `,_jsx(_components.code,{children:`materials.list()`})]}),`\n`,_jsxs(_components.li,{children:[`Added pagination parameters to `,_jsx(_components.code,{children:`folders.listMaterials()`})]}),`\n`,_jsxs(_components.li,{children:[`Materials list response now returns paginated object with `,_jsx(_components.code,{children:`data`}),`, `,_jsx(_components.code,{children:`limit`}),`, `,_jsx(_components.code,{children:`page`}),`, `,_jsx(_components.code,{children:`total`}),`, and `,_jsx(_components.code,{children:`totalPages`})]}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`breaking-changes-4`,children:`Breaking Changes`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Materials List Response`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Changed from `,_jsx(_components.code,{children:`List\u003cMaterialListResponse>`}),` to single `,_jsx(_components.code,{children:`MaterialListResponse`}),` object`]}),`\n`,_jsxs(_components.li,{children:[`Access materials via `,_jsx(_components.code,{children:`response.data()`}),` instead of direct list`]}),`\n`,_jsxs(_components.li,{children:[`Added pagination metadata: `,_jsx(_components.code,{children:`total()`}),`, `,_jsx(_components.code,{children:`totalPages()`}),`, `,_jsx(_components.code,{children:`page()`}),`, `,_jsx(_components.code,{children:`limit()`})]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Folder Retrieve Response`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Removed `,_jsx(_components.code,{children:`materials()`}),` method from folder retrieve response`]}),`\n`,_jsxs(_components.li,{children:[`Removed `,_jsx(_components.code,{children:`totalSize()`}),` method from folder retrieve response`]}),`\n`,_jsxs(_components.li,{children:[`Use `,_jsx(_components.code,{children:`folders.listMaterials()`}),` or `,_jsx(_components.code,{children:`materials.list()`}),` with `,_jsx(_components.code,{children:`folderId()`}),` to get folder contents`]}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`documentation-9`,children:`Documentation`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Updated all code examples to use new paginated response structure`}),`\n`,_jsx(_components.li,{children:`Added examples for iterating through multiple pages`}),`\n`,_jsxs(_components.li,{children:[`Added documentation for new `,_jsx(_components.code,{children:`folders.listMaterials()`}),` method`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-20-2`,children:`v0.1.0-alpha.20`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 18, 2025`})}),_jsx(Heading,{level:`3`,id:`improvements-7`,children:`Improvements`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Refactored folders API`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-19-2`,children:`v0.1.0-alpha.19`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 7, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-16`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Assignment Grader API`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added RubricTemplateService for template management`}),`\n`,_jsx(_components.li,{children:`Added support for assignment grouping via AssignmentId`}),`\n`,_jsx(_components.li,{children:`Enhanced grading response structure with proper typing`}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`improvements-8`,children:`Improvements`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Better builder patterns for template operations`}),`\n`,_jsx(_components.li,{children:`Improved type safety for assignment grouping`}),`\n`,_jsx(_components.li,{children:`Enhanced error handling for template operations`}),`\n`]}),_jsx(Heading,{level:`3`,id:`documentation-10`,children:`Documentation`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added detailed rubric template examples`}),`\n`,_jsx(_components.li,{children:`Updated assignment grader documentation`}),`\n`,_jsx(_components.li,{children:`Added missing imports for template operations`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-18-2`,children:`v0.1.0-alpha.18`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: July 26, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-17`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`AI-Powered Material Generation`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`generate()`}),` method to create study materials from topics`]}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`generateAndProcess()`}),` method for synchronous generation`]}),`\n`,_jsx(_components.li,{children:`Support for MaterialGenerateParams.Type enum: OUTLINE, OVERVIEW, NOTES, SUMMARY`}),`\n`,_jsx(_components.li,{children:`Support for MaterialGenerateParams.Level enum: HIGH_SCHOOL, COLLEGE, PROFESSIONAL`}),`\n`,_jsx(_components.li,{children:`Support for MaterialGenerateParams.Length enum: SHORT, MEDIUM, LONG`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Streaming API`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`ChatStreamParams builder with full type safety`}),`\n`,_jsx(_components.li,{children:`Support for both AI SDK format and custom message format`}),`\n`,_jsx(_components.li,{children:`Image attachment support with ChatStreamParams.Message.Image`}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`improvements-9`,children:`Improvements`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Enhanced builder patterns for all material generation operations`}),`\n`,_jsx(_components.li,{children:`Better enum support for type-safe configurations`}),`\n`,_jsx(_components.li,{children:`Improved Optional handling for nullable parameters`}),`\n`]}),_jsx(Heading,{level:`3`,id:`documentation-11`,children:`Documentation`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added comprehensive material generation guide with Java examples`}),`\n`,_jsx(_components.li,{children:`New streaming implementation patterns`}),`\n`,_jsx(_components.li,{children:`Updated API reference with proper enum usage`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-17`,children:`v0.1.0-alpha.17`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: July 24, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-18`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Guardrails for Chat Component`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`enableGuardrails`}),` and `,_jsx(_components.code,{children:`guardrailRules`}),` configuration options`]}),`\n`,_jsx(_components.li,{children:`Support for GuardrailRule.Action enum: BLOCK, WARN, and MODIFY`}),`\n`,_jsx(_components.li,{children:`Server-side content policy enforcement for safety and compliance`}),`\n`,_jsx(_components.li,{children:`Full builder pattern support for GuardrailRule configuration`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Enhanced Chat Component`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added thinking/reasoning capabilities to chat responses`}),`\n`,_jsx(_components.li,{children:`Improved multi-step problem solving with visible thought process`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Keyboard Navigation for Flashcards`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Arrow keys for card navigation`}),`\n`,_jsx(_components.li,{children:`Spacebar to flip cards`}),`\n`,_jsx(_components.li,{children:`Enhanced accessibility support`}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`improvements-10`,children:`Improvements`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Component Embed Generation Flexibility`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Both `,_jsx(_components.code,{children:`componentId`}),` and `,_jsx(_components.code,{children:`_id`}),` are now accepted in generateEmbed methods`]}),`\n`,_jsx(_components.li,{children:`Better backwards compatibility with existing integrations`}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`bug-fixes-9`,children:`Bug Fixes`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Fixed citation placement in chat responses to correctly scope content within provided materials`}),`\n`,_jsx(_components.li,{children:`Fixed minor bugs in flashcard component animations and state management`}),`\n`,_jsx(_components.li,{children:`Fixed test component scoring edge cases`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-16`,children:`v0.1.0-alpha.16`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: July 22, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-19`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`createAndProcess`}),` method for materials API`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Uses `,_jsx(_components.code,{children:`MaterialCreateAndProcessParams`}),` for configuration`]}),`\n`,_jsx(_components.li,{children:`Blocks until material processing completes`}),`\n`,_jsxs(_components.li,{children:[`Returns `,_jsx(_components.code,{children:`Material`}),` object with active status`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Added Data Analyst component API`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`New `,_jsx(_components.code,{children:`DataAnalystService`}),` with full API support`]}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`bug-fixes-10`,children:`Bug Fixes`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Fixed assignment grader response format`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Corrected Java examples to not access private `,_jsx(_components.code,{children:`rubric`}),` field`]}),`\n`,_jsx(_components.li,{children:`Updated material creation examples to use proper imports`}),`\n`,_jsxs(_components.li,{children:[`Fixed `,_jsx(_components.code,{children:`Content`}),` class references to use correct package structure`]}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`breaking-changes-5`,children:`Breaking Changes`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Material creation now uses `,_jsx(_components.code,{children:`com.studyfetch.javasdk.models.v1.materials.Content`}),` instead of nested classes`]}),`\n`,_jsxs(_components.li,{children:[`Upload functionality requires `,_jsx(_components.code,{children:`UploadUploadFileParams`}),` from the upload subpackage`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`documentation-12`,children:`Documentation`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added detailed rubric builder examples`}),`\n`,_jsx(_components.li,{children:`Improved type safety in code examples`}),`\n`,_jsx(_components.li,{children:`Added missing imports for File operations`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0-alpha-15`,children:`v0.1.0-alpha.15`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: July 20, 2025`})}),_jsx(Heading,{level:`3`,id:`features-16`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Initial Java SDK release`}),`\n`,_jsx(_components.li,{children:`Core API functionality for materials and grading`}),`\n`,_jsx(_components.li,{children:`Builder pattern implementation for all request types`}),`\n`]})]}),_jsxs(Tab,{title:`C#`,id:`c%23`,\"data-child-heading-ids\":`[\"v0-8-4\",\"features-17\",\"changes\",\"v0-8-1\",\"features-18\",\"v0-8-0\",\"features-19\",\"v0-7-0\",\"features-20\",\"v0-6-1\",\"features-21\",\"v0-6-0\",\"new-features-20\",\"v0-5-0\",\"new-features-21\",\"improvements-11\",\"bug-fixes-11\",\"v0-3-1\",\"bug-fixes-12\",\"v0-3-0\",\"documentation-fixes-3\",\"v0-2-0\",\"new-features-22\",\"breaking-changes-6\",\"documentation-13\",\"v0-1-0\",\"features-22\",\"v0-0-3\",\"improvements-12\"]`,children:[_jsx(Heading,{level:`2`,id:`v0-8-4`,children:`v0.8.4`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: March 5, 2026`})}),_jsx(Heading,{level:`3`,id:`features-17`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Assignment Grader`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added optional `,_jsx(_components.code,{children:`AssignmentContent`}),` property to `,_jsx(_components.code,{children:`AssignmentGraderCreateParams`}),` for providing reading passages or source material as grading context`]}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`AssignmentContent`}),` to `,_jsx(_components.code,{children:`Rubric`}),` nested model for rubric-level context`]}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`AssignmentContent`}),` to `,_jsx(_components.code,{children:`AssignmentGraderResponse`}),` for response data`]}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`AssignmentContent`}),` to `,_jsx(_components.code,{children:`RubricTemplateCreateParams`}),` and `,_jsx(_components.code,{children:`RubricTemplateResponse`})]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Usage Stats`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`ComponentType`}),` query parameter to `,_jsx(_components.code,{children:`UsageGetStatsParams`}),` for filtering by component type`]}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`ResourceID`}),` query parameter to `,_jsx(_components.code,{children:`UsageGetStatsParams`}),` for filtering by component ID`]}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`changes`,children:`Changes`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Components`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Disabled `,_jsx(_components.code,{children:`ScenariosConfigDto`}),` as a config variant in the `,_jsx(_components.code,{children:`Config`}),` union type`]}),`\n`,_jsxs(_components.li,{children:[`Scenario files and `,_jsx(_components.code,{children:`Type.Scenarios`}),` enum values preserved for backward compatibility`]}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-8-1`,children:`v0.8.1`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: October 21, 2025`})}),_jsx(Heading,{level:`3`,id:`features-18`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Feedback Context API`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`RetrieveFeedbackContext()`}),` method to retrieve specific message and full conversation for a feedback item`]}),`\n`,_jsx(_components.li,{children:`Retrieves complete conversation context for analyzing user feedback`}),`\n`,_jsxs(_components.li,{children:[`See `,_jsx(_components.a,{href:`/api-docs/components/chat#retrieving-feedback-context`,children:`documentation`})]}),`\n`,_jsxs(_components.li,{children:[`Related: `,_jsx(_components.a,{href:`#v080`,children:`v0.8.0`}),` includes Chat Feedback Analytics and Embed Context features`]}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-8-0`,children:`v0.8.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: October 21, 2025`})}),_jsx(Heading,{level:`3`,id:`features-19`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Embed Context Management`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added context API for pushing dynamic context to embedded chat components`}),`\n`,_jsxs(_components.li,{children:[`New `,_jsx(_components.code,{children:`Embed.Context.Push()`}),` method to add context strings to specific embed instances`]}),`\n`,_jsxs(_components.li,{children:[`New `,_jsx(_components.code,{children:`Embed.Context.Retrieve()`}),` method to get current context for an embed`]}),`\n`,_jsxs(_components.li,{children:[`New `,_jsx(_components.code,{children:`Embed.Context.Clear()`}),` method to clear context from an embed`]}),`\n`,_jsx(_components.li,{children:`Enables dynamic content updates (e.g., question changes in practice tests) without losing chat history`}),`\n`,_jsxs(_components.li,{children:[`See `,_jsx(_components.a,{href:`/api-docs/components/chat#managing-chat-embed-context`,children:`documentation`})]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Feedback Analytics`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`Chat.RetrieveFeedback()`}),` method to retrieve user feedback data`]}),`\n`,_jsx(_components.li,{children:`Support for filtering feedback by component ID, user ID, date range, and feedback type`}),`\n`,_jsxs(_components.li,{children:[`Feedback type enum with `,_jsx(_components.code,{children:`ThumbsUp`}),` and `,_jsx(_components.code,{children:`ThumbsDown`}),` values`]}),`\n`,_jsxs(_components.li,{children:[`See `,_jsx(_components.a,{href:`/api-docs/components/chat#retrieving-chat-feedback`,children:`documentation`})]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Component Configuration`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`EnableFeedback`}),` property (default: true) to enable/disable thumbs up/down feedback with reason`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`API Updates`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Enhanced embed service with context management capabilities`}),`\n`,_jsx(_components.li,{children:`Updated type definitions and method signatures`}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-7-0`,children:`v0.7.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: October 8, 2025`})}),_jsx(Heading,{level:`3`,id:`features-20`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`API Updates`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Added PDF Generator service for creating presentations`}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`StudentName`}),` parameter to component embedding`]}),`\n`,_jsx(_components.li,{children:`Refactored exception handling`}),`\n`,_jsx(_components.li,{children:`Refactored union types`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chat Component Enhancements`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`HideTitle`}),` configuration option to hide chat component headings (icon and title)`]}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`HideEmptyState`}),` option to hide default empty state UI`]}),`\n`,_jsxs(_components.li,{children:[`Added support for custom HTML to replace the default icon and message when chat is empty via `,_jsx(_components.code,{children:`EmptyStateHTML`})]}),`\n`,_jsx(_components.li,{children:`Removed user avatar from chat interface for cleaner UI`}),`\n`,_jsx(_components.li,{children:`Removed Spark.E references from prompt guidance system`}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-6-1`,children:`v0.6.1`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: September 24, 2025`})}),_jsx(Heading,{level:`3`,id:`features-21`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`API Updates`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Updated endpoint definitions and API contracts`}),`\n`,_jsx(_components.li,{children:`Improved request/response handling`}),`\n`,_jsx(_components.li,{children:`Enhanced type definitions and method signatures`}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-6-0`,children:`v0.6.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: September 23, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-20`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`References Support`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`References`}),` property to material creation and response objects`]}),`\n`,_jsx(_components.li,{children:`Support for adding source citations with title and URL`}),`\n`,_jsx(_components.li,{children:`Enhanced material metadata with reference tracking`}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-5-0`,children:`v0.5.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: September 23, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-21`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`EnableReferenceMode`}),` option for chat components and embedding`]}),`\n`,_jsx(_components.li,{children:`Added message grading analytics (prompting and responsibility scores)`}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`Update`}),` method for materials to update reference information (title and URL)`]}),`\n`,_jsx(_components.li,{children:`API updates with latest endpoint definitions`}),`\n`]}),_jsx(Heading,{level:`3`,id:`improvements-11`,children:`Improvements`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Better type naming conventions`}),`\n`,_jsx(_components.li,{children:`Improved authentication handling`}),`\n`,_jsx(_components.li,{children:`Updated singularization rules`}),`\n`]}),_jsx(Heading,{level:`3`,id:`bug-fixes-11`,children:`Bug Fixes`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Removed unused null class`}),`\n`,_jsx(_components.li,{children:`Cleaned up example project references`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-3-1`,children:`v0.3.1`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 21, 2025`})}),_jsx(Heading,{level:`3`,id:`bug-fixes-12`,children:`Bug Fixes`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Fixed response structure inconsistencies in API methods`}),`\n`,_jsx(_components.li,{children:`Corrected property naming conventions across response objects`}),`\n`,_jsx(_components.li,{children:`Updated method signatures to match actual implementation`}),`\n`,_jsx(_components.li,{children:`Improved response type definitions for better type safety`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-3-0`,children:`v0.3.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 21, 2025`})}),_jsx(Heading,{level:`3`,id:`documentation-fixes-3`,children:`Documentation Fixes`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Major Documentation Overhaul`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Fixed all C# code examples across the entire documentation`}),`\n`,_jsxs(_components.li,{children:[`Standardized client initialization patterns using `,_jsx(_components.code,{children:`var client = new StudyfetchSDKClient()`})]}),`\n`,_jsxs(_components.li,{children:[`Fixed parameter instantiation to use `,_jsx(_components.code,{children:`new()`}),` syntax consistently`]}),`\n`,_jsxs(_components.li,{children:[`Corrected response property access (e.g., `,_jsx(_components.code,{children:`Materials`}),` instead of `,_jsx(_components.code,{children:`Data`}),`, `,_jsx(_components.code,{children:`TotalCount`}),` instead of `,_jsx(_components.code,{children:`Total`}),`)`]}),`\n`,_jsxs(_components.li,{children:[`Fixed enum usage for status values using `,_jsx(_components.code,{children:`.Raw()`}),` method`]}),`\n`,_jsx(_components.li,{children:`Corrected guardrails implementation in chat components`}),`\n`,_jsxs(_components.li,{children:[`Fixed file upload examples to use `,_jsx(_components.code,{children:`File.ReadAllBytesAsync()`}),` with `,_jsx(_components.code,{children:`FileName`}),` parameter`]}),`\n`,_jsxs(_components.li,{children:[`Updated assignment grader to use `,_jsx(_components.code,{children:`RubricCriterion`}),` from correct namespace`]}),`\n`,_jsx(_components.li,{children:`Fixed direct ID passing to use parameter objects with builders`}),`\n`]}),`\n`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-2-0`,children:`v0.2.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 19, 2025`})}),_jsx(Heading,{level:`3`,id:`new-features-22`,children:`New Features`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Pagination Support`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added pagination parameters (`,_jsx(_components.code,{children:`Limit`}),` and `,_jsx(_components.code,{children:`Page`}),`) to `,_jsx(_components.code,{children:`Materials.List()`})]}),`\n`,_jsxs(_components.li,{children:[`Added pagination parameters to `,_jsx(_components.code,{children:`Folders.ListMaterials()`})]}),`\n`,_jsxs(_components.li,{children:[`Materials list response now returns paginated object with `,_jsx(_components.code,{children:`Data`}),`, `,_jsx(_components.code,{children:`Limit`}),`, `,_jsx(_components.code,{children:`Page`}),`, `,_jsx(_components.code,{children:`Total`}),`, and `,_jsx(_components.code,{children:`TotalPages`})]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Union Type Helpers`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`Switch`}),` and `,_jsx(_components.code,{children:`Match`}),` helper methods for union types`]}),`\n`,_jsxs(_components.li,{children:[`Added `,_jsx(_components.code,{children:`TryPick*`}),` methods for type-safe union handling`]}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`breaking-changes-6`,children:`Breaking Changes`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Materials List Response`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Changed from `,_jsx(_components.code,{children:`List\u003cMaterialListResponse>`}),` to single `,_jsx(_components.code,{children:`MaterialListResponse`}),` object`]}),`\n`,_jsxs(_components.li,{children:[`Access materials via `,_jsx(_components.code,{children:`response.Data`}),` instead of direct list`]}),`\n`,_jsxs(_components.li,{children:[`Added pagination metadata: `,_jsx(_components.code,{children:`Total`}),`, `,_jsx(_components.code,{children:`TotalPages`}),`, `,_jsx(_components.code,{children:`Page`}),`, `,_jsx(_components.code,{children:`Limit`})]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Folder Retrieve Response`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Removed `,_jsx(_components.code,{children:`Materials`}),` property from folder retrieve response`]}),`\n`,_jsxs(_components.li,{children:[`Removed `,_jsx(_components.code,{children:`TotalSize`}),` property from folder retrieve response`]}),`\n`,_jsxs(_components.li,{children:[`Use `,_jsx(_components.code,{children:`Folders.ListMaterials()`}),` or `,_jsx(_components.code,{children:`Materials.List()`}),` with `,_jsx(_components.code,{children:`FolderID`}),` to get folder contents`]}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`documentation-13`,children:`Documentation`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Updated all code examples to use new paginated response structure`}),`\n`,_jsx(_components.li,{children:`Added examples for iterating through multiple pages`}),`\n`,_jsxs(_components.li,{children:[`Added documentation for new `,_jsx(_components.code,{children:`Folders.ListMaterials()`}),` method`]}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-1-0`,children:`v0.1.0`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 19, 2025`})}),_jsx(Heading,{level:`3`,id:`features-22`,children:`Features`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Initial beta release of C# SDK`}),`\n`]}),_jsx(_components.hr,{}),_jsx(Heading,{level:`2`,id:`v0-0-3`,children:`v0.0.3`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`Released: August 18, 2025`})}),_jsx(Heading,{level:`3`,id:`improvements-12`,children:`Improvements`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Refactored folders API`}),`\n`]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`version-support`,children:`Version Support`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`SDK`}),_jsx(_components.th,{children:`Current Version`}),_jsx(_components.th,{children:`Minimum Supported`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`JavaScript`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`1.44.1`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`1.20.0`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Python`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`0.1.0-alpha.33`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`0.1.0-alpha.15`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Java`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`0.1.0-alpha.33`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`0.1.0-alpha.15`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`C#`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`0.8.4`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`0.0.1`})]})]})]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Alpha versions may contain breaking changes between releases. We recommend staying on the latest version for the best experience and bug fixes.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Changelog","description":"Track updates and changes across StudyFetch SDKs","href":"/changelog"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Latest Updates","slug":"latest-updates","depth":2,"children":[]},{"title":"v1.44.1","slug":"v1-44-1","depth":2,"children":[{"title":"Features","slug":"features","depth":3,"children":[],"tabId":"javascript"}],"tabId":"javascript"},{"title":"v1.44.0","slug":"v1-44-0","depth":2,"children":[{"title":"Features","slug":"features-2","depth":3,"children":[],"tabId":"javascript"}],"tabId":"javascript"},{"title":"v1.43.0","slug":"v1-43-0","depth":2,"children":[{"title":"Features","slug":"features-3","depth":3,"children":[],"tabId":"javascript"}],"tabId":"javascript"},{"title":"v1.42.0","slug":"v1-42-0","depth":2,"children":[{"title":"Features","slug":"features-4","depth":3,"children":[],"tabId":"javascript"}],"tabId":"javascript"},{"title":"v1.41.0","slug":"v1-41-0","depth":2,"children":[{"title":"New Features","slug":"new-features","depth":3,"children":[],"tabId":"javascript"}],"tabId":"javascript"},{"title":"v1.40.0","slug":"v1-40-0","depth":2,"children":[{"title":"Features","slug":"features-5","depth":3,"children":[],"tabId":"javascript"},{"title":"Bug Fixes","slug":"bug-fixes","depth":3,"children":[],"tabId":"javascript"}],"tabId":"javascript"},{"title":"v1.38.0","slug":"v1-38-0","depth":2,"children":[{"title":"Bug Fixes","slug":"bug-fixes-2","depth":3,"children":[],"tabId":"javascript"}],"tabId":"javascript"},{"title":"v1.37.0","slug":"v1-37-0","depth":2,"children":[{"title":"Documentation Fixes","slug":"documentation-fixes","depth":3,"children":[],"tabId":"javascript"}],"tabId":"javascript"},{"title":"v1.36.0","slug":"v1-36-0","depth":2,"children":[{"title":"New Features","slug":"new-features-2","depth":3,"children":[],"tabId":"javascript"},{"title":"Breaking Changes","slug":"breaking-changes","depth":3,"children":[],"tabId":"javascript"},{"title":"Documentation","slug":"documentation","depth":3,"children":[],"tabId":"javascript"}],"tabId":"javascript"},{"title":"v1.35.0","slug":"v1-35-0","depth":2,"children":[{"title":"Improvements","slug":"improvements","depth":3,"children":[],"tabId":"javascript"}],"tabId":"javascript"},{"title":"v1.34.0","slug":"v1-34-0","depth":2,"children":[{"title":"Breaking Changes","slug":"breaking-changes-2","depth":3,"children":[],"tabId":"javascript"},{"title":"Documentation","slug":"documentation-2","depth":3,"children":[],"tabId":"javascript"}],"tabId":"javascript"},{"title":"v1.33.0","slug":"v1-33-0","depth":2,"children":[{"title":"New Features","slug":"new-features-3","depth":3,"children":[],"tabId":"javascript"},{"title":"Improvements","slug":"improvements-2","depth":3,"children":[],"tabId":"javascript"},{"title":"Documentation","slug":"documentation-3","depth":3,"children":[],"tabId":"javascript"}],"tabId":"javascript"},{"title":"v1.27.0","slug":"v1-27-0","depth":2,"children":[{"title":"New Features","slug":"new-features-4","depth":3,"children":[],"tabId":"javascript"},{"title":"Improvements","slug":"improvements-3","depth":3,"children":[],"tabId":"javascript"},{"title":"Bug Fixes","slug":"bug-fixes-3","depth":3,"children":[],"tabId":"javascript"}],"tabId":"javascript"},{"title":"v1.26.0","slug":"v1-26-0","depth":2,"children":[{"title":"New Features","slug":"new-features-5","depth":3,"children":[],"tabId":"javascript"},{"title":"Bug Fixes","slug":"bug-fixes-4","depth":3,"children":[],"tabId":"javascript"},{"title":"Documentation","slug":"documentation-4","depth":3,"children":[],"tabId":"javascript"}],"tabId":"javascript"},{"title":"v1.25.0","slug":"v1-25-0","depth":2,"children":[{"title":"Features","slug":"features-6","depth":3,"children":[],"tabId":"javascript"}],"tabId":"javascript"},{"title":"v0.1.0-alpha.33","slug":"v0-1-0-alpha-33","depth":2,"children":[{"title":"Features","slug":"features-7","depth":3,"children":[],"tabId":"python"}],"tabId":"python"},{"title":"v0.1.0-alpha.32","slug":"v0-1-0-alpha-32","depth":2,"children":[{"title":"Features","slug":"features-8","depth":3,"children":[],"tabId":"python"}],"tabId":"python"},{"title":"v0.1.0-alpha.31","slug":"v0-1-0-alpha-31","depth":2,"children":[{"title":"Features","slug":"features-9","depth":3,"children":[],"tabId":"python"}],"tabId":"python"},{"title":"v0.1.0-alpha.30","slug":"v0-1-0-alpha-30","depth":2,"children":[{"title":"Features","slug":"features-10","depth":3,"children":[],"tabId":"python"}],"tabId":"python"},{"title":"v0.1.0-alpha.29","slug":"v0-1-0-alpha-29","depth":2,"children":[{"title":"New Features","slug":"new-features-6","depth":3,"children":[],"tabId":"python"}],"tabId":"python"},{"title":"v0.1.0-alpha.28","slug":"v0-1-0-alpha-28","depth":2,"children":[{"title":"New Features","slug":"new-features-7","depth":3,"children":[],"tabId":"python"}],"tabId":"python"},{"title":"v0.1.0-alpha.26","slug":"v0-1-0-alpha-26","depth":2,"children":[{"title":"Bug Fixes","slug":"bug-fixes-5","depth":3,"children":[],"tabId":"python"}],"tabId":"python"},{"title":"v0.1.0-alpha.24","slug":"v0-1-0-alpha-24","depth":2,"children":[{"title":"New Features","slug":"new-features-8","depth":3,"children":[],"tabId":"python"},{"title":"Breaking Changes","slug":"breaking-changes-3","depth":3,"children":[],"tabId":"python"},{"title":"Documentation","slug":"documentation-5","depth":3,"children":[],"tabId":"python"}],"tabId":"python"},{"title":"v0.1.0-alpha.23","slug":"v0-1-0-alpha-23","depth":2,"children":[{"title":"Improvements","slug":"improvements-4","depth":3,"children":[],"tabId":"python"}],"tabId":"python"},{"title":"v0.1.0-alpha.22","slug":"v0-1-0-alpha-22","depth":2,"children":[{"title":"New Features","slug":"new-features-9","depth":3,"children":[],"tabId":"python"},{"title":"Documentation","slug":"documentation-6","depth":3,"children":[],"tabId":"python"}],"tabId":"python"},{"title":"v0.1.0-alpha.21","slug":"v0-1-0-alpha-21","depth":2,"children":[{"title":"New Features","slug":"new-features-10","depth":3,"children":[],"tabId":"python"},{"title":"Improvements","slug":"improvements-5","depth":3,"children":[],"tabId":"python"},{"title":"Documentation","slug":"documentation-7","depth":3,"children":[],"tabId":"python"}],"tabId":"python"},{"title":"v0.1.0-alpha.20","slug":"v0-1-0-alpha-20","depth":2,"children":[{"title":"New Features","slug":"new-features-11","depth":3,"children":[],"tabId":"python"},{"title":"Improvements","slug":"improvements-6","depth":3,"children":[],"tabId":"python"},{"title":"Bug Fixes","slug":"bug-fixes-6","depth":3,"children":[],"tabId":"python"}],"tabId":"python"},{"title":"v0.1.0-alpha.19","slug":"v0-1-0-alpha-19","depth":2,"children":[{"title":"New Features","slug":"new-features-12","depth":3,"children":[],"tabId":"python"},{"title":"Bug Fixes","slug":"bug-fixes-7","depth":3,"children":[],"tabId":"python"},{"title":"Documentation","slug":"documentation-8","depth":3,"children":[],"tabId":"python"}],"tabId":"python"},{"title":"v0.1.0-alpha.18","slug":"v0-1-0-alpha-18","depth":2,"children":[{"title":"Features","slug":"features-11","depth":3,"children":[],"tabId":"python"}],"tabId":"python"},{"title":"v0.1.0-alpha.33","slug":"v0-1-0-alpha-33-2","depth":2,"children":[{"title":"Features","slug":"features-12","depth":3,"children":[],"tabId":"java"}],"tabId":"java"},{"title":"v0.1.0-alpha.29","slug":"v0-1-0-alpha-29-2","depth":2,"children":[{"title":"Features","slug":"features-13","depth":3,"children":[],"tabId":"java"}],"tabId":"java"},{"title":"v0.1.0-alpha.28","slug":"v0-1-0-alpha-28-2","depth":2,"children":[{"title":"Features","slug":"features-14","depth":3,"children":[],"tabId":"java"}],"tabId":"java"},{"title":"v0.1.0-alpha.27","slug":"v0-1-0-alpha-27","depth":2,"children":[{"title":"Features","slug":"features-15","depth":3,"children":[],"tabId":"java"}],"tabId":"java"},{"title":"v0.1.0-alpha.26","slug":"v0-1-0-alpha-26-2","depth":2,"children":[{"title":"New Features","slug":"new-features-13","depth":3,"children":[],"tabId":"java"}],"tabId":"java"},{"title":"v0.1.0-alpha.25","slug":"v0-1-0-alpha-25","depth":2,"children":[{"title":"New Features","slug":"new-features-14","depth":3,"children":[],"tabId":"java"}],"tabId":"java"},{"title":"v0.1.0-alpha.23","slug":"v0-1-0-alpha-23-2","depth":2,"children":[{"title":"Bug Fixes","slug":"bug-fixes-8","depth":3,"children":[],"tabId":"java"}],"tabId":"java"},{"title":"v0.1.0-alpha.22","slug":"v0-1-0-alpha-22-2","depth":2,"children":[{"title":"Documentation Fixes","slug":"documentation-fixes-2","depth":3,"children":[],"tabId":"java"}],"tabId":"java"},{"title":"v0.1.0-alpha.21","slug":"v0-1-0-alpha-21-2","depth":2,"children":[{"title":"New Features","slug":"new-features-15","depth":3,"children":[],"tabId":"java"},{"title":"Breaking Changes","slug":"breaking-changes-4","depth":3,"children":[],"tabId":"java"},{"title":"Documentation","slug":"documentation-9","depth":3,"children":[],"tabId":"java"}],"tabId":"java"},{"title":"v0.1.0-alpha.20","slug":"v0-1-0-alpha-20-2","depth":2,"children":[{"title":"Improvements","slug":"improvements-7","depth":3,"children":[],"tabId":"java"}],"tabId":"java"},{"title":"v0.1.0-alpha.19","slug":"v0-1-0-alpha-19-2","depth":2,"children":[{"title":"New Features","slug":"new-features-16","depth":3,"children":[],"tabId":"java"},{"title":"Improvements","slug":"improvements-8","depth":3,"children":[],"tabId":"java"},{"title":"Documentation","slug":"documentation-10","depth":3,"children":[],"tabId":"java"}],"tabId":"java"},{"title":"v0.1.0-alpha.18","slug":"v0-1-0-alpha-18-2","depth":2,"children":[{"title":"New Features","slug":"new-features-17","depth":3,"children":[],"tabId":"java"},{"title":"Improvements","slug":"improvements-9","depth":3,"children":[],"tabId":"java"},{"title":"Documentation","slug":"documentation-11","depth":3,"children":[],"tabId":"java"}],"tabId":"java"},{"title":"v0.1.0-alpha.17","slug":"v0-1-0-alpha-17","depth":2,"children":[{"title":"New Features","slug":"new-features-18","depth":3,"children":[],"tabId":"java"},{"title":"Improvements","slug":"improvements-10","depth":3,"children":[],"tabId":"java"},{"title":"Bug Fixes","slug":"bug-fixes-9","depth":3,"children":[],"tabId":"java"}],"tabId":"java"},{"title":"v0.1.0-alpha.16","slug":"v0-1-0-alpha-16","depth":2,"children":[{"title":"New Features","slug":"new-features-19","depth":3,"children":[],"tabId":"java"},{"title":"Bug Fixes","slug":"bug-fixes-10","depth":3,"children":[],"tabId":"java"},{"title":"Breaking Changes","slug":"breaking-changes-5","depth":3,"children":[],"tabId":"java"},{"title":"Documentation","slug":"documentation-12","depth":3,"children":[],"tabId":"java"}],"tabId":"java"},{"title":"v0.1.0-alpha.15","slug":"v0-1-0-alpha-15","depth":2,"children":[{"title":"Features","slug":"features-16","depth":3,"children":[],"tabId":"java"}],"tabId":"java"},{"title":"v0.8.4","slug":"v0-8-4","depth":2,"children":[{"title":"Features","slug":"features-17","depth":3,"children":[],"tabId":"c%23"},{"title":"Changes","slug":"changes","depth":3,"children":[],"tabId":"c%23"}],"tabId":"c%23"},{"title":"v0.8.1","slug":"v0-8-1","depth":2,"children":[{"title":"Features","slug":"features-18","depth":3,"children":[],"tabId":"c%23"}],"tabId":"c%23"},{"title":"v0.8.0","slug":"v0-8-0","depth":2,"children":[{"title":"Features","slug":"features-19","depth":3,"children":[],"tabId":"c%23"}],"tabId":"c%23"},{"title":"v0.7.0","slug":"v0-7-0","depth":2,"children":[{"title":"Features","slug":"features-20","depth":3,"children":[],"tabId":"c%23"}],"tabId":"c%23"},{"title":"v0.6.1","slug":"v0-6-1","depth":2,"children":[{"title":"Features","slug":"features-21","depth":3,"children":[],"tabId":"c%23"}],"tabId":"c%23"},{"title":"v0.6.0","slug":"v0-6-0","depth":2,"children":[{"title":"New Features","slug":"new-features-20","depth":3,"children":[],"tabId":"c%23"}],"tabId":"c%23"},{"title":"v0.5.0","slug":"v0-5-0","depth":2,"children":[{"title":"New Features","slug":"new-features-21","depth":3,"children":[],"tabId":"c%23"},{"title":"Improvements","slug":"improvements-11","depth":3,"children":[],"tabId":"c%23"},{"title":"Bug Fixes","slug":"bug-fixes-11","depth":3,"children":[],"tabId":"c%23"}],"tabId":"c%23"},{"title":"v0.3.1","slug":"v0-3-1","depth":2,"children":[{"title":"Bug Fixes","slug":"bug-fixes-12","depth":3,"children":[],"tabId":"c%23"}],"tabId":"c%23"},{"title":"v0.3.0","slug":"v0-3-0","depth":2,"children":[{"title":"Documentation Fixes","slug":"documentation-fixes-3","depth":3,"children":[],"tabId":"c%23"}],"tabId":"c%23"},{"title":"v0.2.0","slug":"v0-2-0","depth":2,"children":[{"title":"New Features","slug":"new-features-22","depth":3,"children":[],"tabId":"c%23"},{"title":"Breaking Changes","slug":"breaking-changes-6","depth":3,"children":[],"tabId":"c%23"},{"title":"Documentation","slug":"documentation-13","depth":3,"children":[],"tabId":"c%23"}],"tabId":"c%23"},{"title":"v0.1.0","slug":"v0-1-0","depth":2,"children":[{"title":"Features","slug":"features-22","depth":3,"children":[],"tabId":"c%23"}],"tabId":"c%23"},{"title":"v0.0.3","slug":"v0-0-3","depth":2,"children":[{"title":"Improvements","slug":"improvements-12","depth":3,"children":[],"tabId":"c%23"}],"tabId":"c%23"},{"title":"Version Support","slug":"version-support","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/studyfetch/65db80c016c8f478/download-images.js"],"subdomain":"studyfetch","siteName":"StudyFetch","title":"Changelog - StudyFetch","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-05-12T00:23:08.483Z","originalFileLocation":"changelog.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Track updates and changes across StudyFetch SDKs\">\u003cmeta data-mint-head name=\"application-name\" content=\"StudyFetch\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/studyfetch/16lQJOsSjgVNDxpq/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/studyfetch/16lQJOsSjgVNDxpq/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/studyfetch/16lQJOsSjgVNDxpq/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/studyfetch/16lQJOsSjgVNDxpq/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/studyfetch/16lQJOsSjgVNDxpq/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/studyfetch/16lQJOsSjgVNDxpq/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/studyfetch/16lQJOsSjgVNDxpq/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/studyfetch/16lQJOsSjgVNDxpq/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/studyfetch/16lQJOsSjgVNDxpq/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Changelog - StudyFetch\">\u003cmeta data-mint-head property=\"og:description\" content=\"Track updates and changes across StudyFetch SDKs\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"StudyFetch\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.studyfetch.com/docs/changelog\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://studyfetch.mintlify.app/_mintlify/api/og/v2?division=Component+API\u0026amp;title=Changelog\u0026amp;description=Track+updates+and+changes+across+StudyFetch+SDKs\u0026amp;theme=85141dfe5c502fd07920b27a\u0026amp;signature=da404b04622e3ac98023f840df5dfb098bceb310e3136e2b1c0414b598d25990\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Changelog - StudyFetch\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Track updates and changes across StudyFetch SDKs\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://studyfetch.mintlify.app/_mintlify/api/og/v2?division=Component+API\u0026amp;title=Changelog\u0026amp;description=Track+updates+and+changes+across+StudyFetch+SDKs\u0026amp;theme=85141dfe5c502fd07920b27a\u0026amp;signature=da404b04622e3ac98023f840df5dfb098bceb310e3136e2b1c0414b598d25990\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/studyfetch/16lQJOsSjgVNDxpq/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"StudyFetch\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4F46E5\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.studyfetch.com/docs/changelog\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/changelog.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.studyfetch.com/#organization\",\"name\":\"StudyFetch\",\"url\":\"https://www.studyfetch.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/studyfetch/CQRvQEWVGA3CHAKn/logo/light.svg?fit=max\u0026auto=format\u0026n=CQRvQEWVGA3CHAKn\u0026q=85\u0026s=c79964d0b112ad9c8b58569c43aa3a4f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.studyfetch.com/docs#website\",\"name\":\"StudyFetch\",\"url\":\"https://www.studyfetch.com/docs\",\"publisher\":{\"@id\":\"https://www.studyfetch.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.studyfetch.com/docs/changelog#webpage\",\"url\":\"https://www.studyfetch.com/docs/changelog\",\"name\":\"Changelog\",\"description\":\"Track updates and changes across StudyFetch SDKs\",\"dateModified\":\"2026-05-12T00:23:08.483Z\",\"isPartOf\":{\"@id\":\"https://www.studyfetch.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.studyfetch.com/docs/changelog#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.studyfetch.com/docs/changelog#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Component API\",\"item\":\"https://www.studyfetch.com/docs/components/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Changelog\",\"item\":\"https://www.studyfetch.com/docs/changelog\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.studyfetch.com/docs/changelog#article\",\"headline\":\"Changelog\",\"name\":\"Changelog\",\"description\":\"Track updates and changes across StudyFetch SDKs\",\"url\":\"https://www.studyfetch.com/docs/changelog\",\"mainEntityOfPage\":{\"@id\":\"https://www.studyfetch.com/docs/changelog#webpage\"},\"dateModified\":\"2026-05-12T00:23:08.483Z\",\"publisher\":{\"@id\":\"https://www.studyfetch.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.studyfetch.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"StudyFetch\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"StudyFetch","nav":{"global":{"anchors":[{"anchor":"StudyFetch Website","icon":"book-open-cover","href":"https://studyfetch.com"},{"anchor":"Use Platform","icon":"rocket","href":"https://studyfetch.com/platform"},{"anchor":"Blog","icon":"newspaper","href":"https://studyfetch.com/blog"}]},"tabs":[{"tab":"Tutorials","pages":[{"title":"Tutorials","href":"/tutorial-doc-format/full-tutorial"}]},{"tab":"Org Analytics API","pages":[{"title":"Org Analytics API","href":"/api-docs/chat"}]},{"tab":"Support","pages":[{"title":"Support","href":"/support-pages/contactsupport"}]},{"tab":"StudyFetch API","groups":[{"group":"Component API","pages":[{"title":"Introduction","href":"/components/introduction"},{"title":"Authentication","description":"Secure your API requests with StudyFetch authentication","href":"/components/authentication"},{"title":"Changelog","href":"/changelog"},{"title":"Quickstart","description":"Upload materials, create components, and embed them in 3 simple steps","href":"/components/quickstart"},{"group":"Materials","pages":[{"title":"Materials API Overview","icon":"folder","href":"/api-docs/materials/overview"},{"title":"Uploading Files","icon":"upload","href":"/api-docs/materials/uploading-files"},{"title":"Managing Materials","icon":"folder-gear","href":"/api-docs/materials/managing-materials"},{"title":"Generating Materials","icon":"sparkles","href":"/api-docs/materials/generating-materials"},{"title":"Working with Folders","icon":"folder-tree","href":"/api-docs/materials/folders"},{"title":"Search Materials","icon":"magnifying-glass","href":"/api-docs/materials/search"}]},{"group":"Component API Reference","pages":[{"title":"Chat","icon":"comments","href":"/api-docs/components/chat"},{"title":"Data Analyst","icon":"chart-line","href":"/api-docs/components/data-analyst"},{"title":"Flashcards","icon":"cards","href":"/api-docs/components/flashcards"},{"title":"Practice Test","icon":"file-pen","href":"/api-docs/components/practice-test"},{"title":"Scenarios","icon":"route","href":"/api-docs/components/scenarios"},{"title":"Audio Recap","icon":"headphones","href":"/api-docs/components/audio-recap"},{"title":"Explainers","icon":"presentation-screen","href":"/api-docs/components/explainers"},{"title":"Client Uploads","icon":"upload","href":"/api-docs/components/uploads"},{"title":"Chat Analytics","icon":"chart-mixed","href":"/api-docs/components/chat-analytics"}]},{"title":"User \u0026 Usage Tracking","href":"/api-docs/user-tracking"},{"title":"Assignment Grader","href":"/api-docs/assignment-grader"},{"title":"Chat Analytics API","href":"/api-docs/chat-analytics"},{"title":"PDF Generator","href":"/api-docs/pdf-generator"}]},{"group":"REST API","pages":[{"group":"Materials","pages":[{"title":"Get all materials for organization","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/materials","href":"/api-reference/materials/get-all-materials-for-organization"},{"title":"Create a new material","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/materials","href":"/api-reference/materials/create-a-new-material"},{"title":"Generate material from a topic","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/materials/generate","href":"/api-reference/materials/generate-material-from-a-topic"},{"title":"Generate and process material from a topic","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/materials/generate-and-process","href":"/api-reference/materials/generate-and-process-material-from-a-topic"},{"title":"Upload a material file","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/materials/upload","href":"/api-reference/materials/upload-a-material-file"},{"title":"Upload material from URL","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/materials/upload/url","href":"/api-reference/materials/upload-material-from-url"},{"title":"Create material and wait for processing to complete","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/materials/upload-and-process","href":"/api-reference/materials/create-material-and-wait-for-processing-to-complete"},{"title":"Upload material file and wait for processing to complete","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/materials/upload/file-and-process","href":"/api-reference/materials/upload-material-file-and-wait-for-processing-to-complete"},{"title":"Upload material from URL and wait for processing to complete","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/materials/upload/url-and-process","href":"/api-reference/materials/upload-material-from-url-and-wait-for-processing-to-complete"},{"title":"Get presigned URL for direct S3 upload","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/materials/upload/presigned-url","href":"/api-reference/materials/get-presigned-url-for-direct-s3-upload"},{"title":"Complete upload after using presigned URL","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/materials/upload/complete","href":"/api-reference/materials/complete-upload-after-using-presigned-url"},{"title":"Create batch upload URLs for multiple materials","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/materials/batch","href":"/api-reference/materials/create-batch-upload-urls-for-multiple-materials"},{"title":"Get material by ID","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/materials/{id}","href":"/api-reference/materials/get-material-by-id"},{"title":"Delete material","deprecated":null,"version":null,"openapi":"/openapi-components.json delete /api/v1/materials/{id}","href":"/api-reference/materials/delete-material"},{"title":"Update a material","deprecated":null,"version":null,"openapi":"/openapi-components.json patch /api/v1/materials/{id}","href":"/api-reference/materials/update-a-material"},{"title":"Bulk move materials to a different folder","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/materials/bulk/move","href":"/api-reference/materials/bulk-move-materials-to-a-different-folder"},{"title":"Move material to a different folder","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/materials/{id}/move","href":"/api-reference/materials/move-material-to-a-different-folder"},{"title":"Rename a material","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/materials/{id}/rename","href":"/api-reference/materials/rename-a-material"},{"title":"Search for materials","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/materials/search","href":"/api-reference/materials/search-for-materials"}]},{"group":"Folders","pages":[{"title":"Get all folders","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/folders","href":"/api-reference/folders/get-all-folders"},{"title":"Create a new folder","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/folders","href":"/api-reference/folders/create-a-new-folder"},{"title":"Get folder tree structure","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/folders/tree","href":"/api-reference/folders/get-folder-tree-structure"},{"title":"Get folder by ID","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/folders/{id}","href":"/api-reference/folders/get-folder-by-id"},{"title":"Delete folder","deprecated":null,"version":null,"openapi":"/openapi-components.json delete /api/v1/folders/{id}","href":"/api-reference/folders/delete-folder"},{"title":"Update folder","deprecated":null,"version":null,"openapi":"/openapi-components.json patch /api/v1/folders/{id}","href":"/api-reference/folders/update-folder"},{"title":"Get all materials in folder","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/folders/{id}/materials","href":"/api-reference/folders/get-all-materials-in-folder"},{"title":"Move folder to new parent","deprecated":null,"version":null,"openapi":"/openapi-components.json patch /api/v1/folders/{id}/move","href":"/api-reference/folders/move-folder-to-new-parent"}]},{"group":"Components","pages":[{"title":"Get all components","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/components","href":"/api-reference/components/get-all-components"},{"title":"Create a new component","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/components","href":"/api-reference/components/create-a-new-component"},{"title":"Get component by ID","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/components/{id}","href":"/api-reference/components/get-component-by-id"},{"title":"Delete component","deprecated":null,"version":null,"openapi":"/openapi-components.json delete /api/v1/components/{id}","href":"/api-reference/components/delete-component"},{"title":"Update component","deprecated":null,"version":null,"openapi":"/openapi-components.json patch /api/v1/components/{id}","href":"/api-reference/components/update-component"},{"title":"Generate embed code for component","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/components/{id}/embed","href":"/api-reference/components/generate-embed-code-for-component"}]},{"group":"Usage Tracking","pages":[{"title":"Get usage events","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/usage/events","href":"/api-reference/usage-tracking/get-usage-events"},{"title":"Get usage summary","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/usage/summary","href":"/api-reference/usage-tracking/get-usage-summary"},{"title":"Get usage statistics","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/usage/stats","href":"/api-reference/usage-tracking/get-usage-statistics"}]},{"group":"Usage Analyst","pages":[{"title":"Get all events based on filters","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/usage-analyst/events","href":"/api-reference/usage-analyst/get-all-events-based-on-filters"},{"title":"Get test results with full question data for user or group","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/usage-analyst/test-questions","href":"/api-reference/usage-analyst/get-test-results-with-full-question-data-for-user-or-group"},{"title":"Get all chat messages from sessions for user or group","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/usage-analyst/chat-messages","href":"/api-reference/usage-analyst/get-all-chat-messages-from-sessions-for-user-or-group"}]},{"group":"Embed","pages":[{"title":"Verify embed token","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/embed/verify","href":"/api-reference/embed/verify-embed-token"},{"title":"Get component data for embed","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/embed/component/{componentId}","href":"/api-reference/embed/get-component-data-for-embed"}]},{"group":"Chat","pages":[{"title":"Stream chat response","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/chat/stream","href":"/api-reference/chat/stream-chat-response"}]},{"group":"Chat Analytics","pages":[{"title":"Get chat analytics and user statistics","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/chat-analytics/analyze","href":"/api-reference/chat-analytics/get-chat-analytics-and-user-statistics"},{"title":"Get chat analytics for a specific component","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/chat-analytics/component/{componentId}","href":"/api-reference/chat-analytics/get-chat-analytics-for-a-specific-component"},{"title":"Export chat analytics data as CSV","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/chat-analytics/export","href":"/api-reference/chat-analytics/export-chat-analytics-data-as-csv"}]},{"group":"Assignment Grader","pages":[{"title":"Grade a new assignment","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/assignment-grader/create","href":"/api-reference/assignment-grader/grade-a-new-assignment"},{"title":"List all graded assignments","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/assignment-grader/get","href":"/api-reference/assignment-grader/list-all-graded-assignments"},{"title":"Get a graded assignment by ID","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/assignment-grader/get/{id}","href":"/api-reference/assignment-grader/get-a-graded-assignment-by-id"},{"title":"Delete a graded assignment by ID","deprecated":null,"version":null,"openapi":"/openapi-components.json delete /api/v1/assignment-grader/delete/{id}","href":"/api-reference/assignment-grader/delete-a-graded-assignment-by-id"},{"title":"List all rubric templates","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/assignment-grader/rubric-templates","href":"/api-reference/assignment-grader/list-all-rubric-templates"},{"title":"Create a new rubric template","deprecated":null,"version":null,"openapi":"/openapi-components.json post /api/v1/assignment-grader/rubric-templates","href":"/api-reference/assignment-grader/create-a-new-rubric-template"},{"title":"Get a rubric template by ID","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/assignment-grader/rubric-templates/{id}","href":"/api-reference/assignment-grader/get-a-rubric-template-by-id"},{"title":"Delete a rubric template by ID","deprecated":null,"version":null,"openapi":"/openapi-components.json delete /api/v1/assignment-grader/rubric-templates/{id}","href":"/api-reference/assignment-grader/delete-a-rubric-template-by-id"},{"title":"Generate educator report for an assignment","deprecated":null,"version":null,"openapi":"/openapi-components.json get /api/v1/assignment-grader/educator-report/{assignmentId}","href":"/api-reference/assignment-grader/generate-educator-report-for-an-assignment"}]}]}]}]},"basePath":"","title":"Changelog - StudyFetch","buildId":"dpl_9yaRmq8qi7yyMZn9oEWmKEdYMvGZ","deploymentId":"dpl_9yaRmq8qi7yyMZn9oEWmKEdYMvGZ","dynamics":[],"chunks":[]}