How to manage and version control your custom evaluators in HoneyHive
HoneyHive provides git-based version control for custom evaluators, allowing you to track changes, roll back to previous versions, and manage evaluator evolution.
Descriptive commit messages: Always provide clear and concise commit messages that explain the changes made in each version.
Regular updates: Keep your evaluators up-to-date by making small, incremental changes rather than large, sweeping updates.
Testing: Before deploying a new version to production, test it thoroughly to ensure it functions as expected.
By following these best practices and utilizing the Evaluator Version Management feature, you can effectively manage and control the evolution of your custom evaluators in HoneyHive.
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"HoneyHive AI Docs","description":"AI observability and evaluation platform. Trace, evaluate, monitor, and improve AI agents and LLM applications.","colors":{"primary":"#A56311","light":"#E8A23D","dark":"#A56311"},"logo":{"light":"https://mintcdn.com/honeyhiveai/lWy7JAPdMsmL06l1/logo/light.svg?fit=max\u0026auto=format\u0026n=lWy7JAPdMsmL06l1\u0026q=85\u0026s=419c99bb22ce1e89ae8fb4a87c589528","dark":"https://mintcdn.com/honeyhiveai/lWy7JAPdMsmL06l1/logo/dark.svg?fit=max\u0026auto=format\u0026n=lWy7JAPdMsmL06l1\u0026q=85\u0026s=2cee835bc5438cd29005218a18e0168b"},"favicon":{"light":"https://mintcdn.com/honeyhiveai/W7aN2oGPMTbOQxZv/images/favicon.svg?fit=max\u0026auto=format\u0026n=W7aN2oGPMTbOQxZv\u0026q=85\u0026s=1c201da27b06120f1c630bf53ad1a831","dark":"https://mintcdn.com/honeyhiveai/W7aN2oGPMTbOQxZv/images/favicon-dark.svg?fit=max\u0026auto=format\u0026n=W7aN2oGPMTbOQxZv\u0026q=85\u0026s=01cb0bffc66454f0e19853e701832110"},"api":{"openapi":["output.yaml","https://raw.githubusercontent.com/honeyhiveai/honeyhive-openapi/main/data_plane_openapi.yaml","https://raw.githubusercontent.com/honeyhiveai/honeyhive-openapi/main/control_plane_openapi.yaml"],"mdx":{"auth":{"method":"key","name":"key"},"server":"https://api.dp1.us.honeyhive.ai"}},"appearance":{"default":"light"},"background":{"color":{"light":"#ffffff","dark":"#101010"}},"navbar":{"links":[{"href":"https://discord.gg/vqctGpqA97","label":"Community"}],"primary":{"type":"button","label":"Log In","href":"https://app.us.honeyhive.ai"}},"footer":{"socials":{"x":"https://x.com/honeyhiveai","linkedin":"https://www.linkedin.com/company/honeyhive-ai","github":"https://github.com/honeyhiveai"},"links":[{"header":"Resources","items":[{"label":"Quickstart","href":"https://docs.honeyhive.ai/v2/introduction/tracing-quickstart"},{"label":"SDK Reference","href":"https://docs.honeyhive.ai/v2/sdk-reference/overview"},{"label":"API Reference","href":"https://docs.honeyhive.ai/v2/api-reference-autogen/sessions/start-a-new-session"},{"label":"Integrations","href":"https://docs.honeyhive.ai/v2/integrations/openai"},{"label":"Changelog","href":"https://docs.honeyhive.ai/v2/changelog/product"}]},{"header":"Explore","items":[{"label":"Sign Up","href":"https://app.us.honeyhive.ai"},{"label":"Pricing","href":"https://www.honeyhive.ai/pricing"},{"label":"Blog","href":"https://honeyhive.ai/blog"}]},{"header":"Platform","items":[{"label":"Observability","href":"https://honeyhive.ai/observability"},{"label":"Evaluation","href":"https://honeyhive.ai/evaluation"},{"label":"Prompt Management","href":"https://honeyhive.ai/playground"}]},{"header":"Legal","items":[{"label":"Terms of Service","href":"https://honeyhive.ai/terms"},{"label":"Privacy Policy","href":"https://honeyhive.ai/privacy"}]}]},"search":{"prompt":"Search or ask AI..."},"seo":{"metatags":{"og:site_name":"HoneyHive AI Docs"},"indexing":"navigable"},"integrations":{"posthog":{"apiKey":"phc_CtmMXHNhIs1Iem8viAsXYH7lB0aaj4X2nCrCunPqDbF","sessionRecording":false},"telemetry":{"enabled":true}},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor","vscode",{"title":"Join Discord","description":"Get help from the HoneyHive community","icon":"discord","href":"https://discord.gg/vqctGpqA97"}],"display":"header"},"styling":{"latex":false},"navigation":{"global":{},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"honeyhiveai","hasAudioNarration":false,"actualSubdomain":"honeyhiveai","customDomains":["docs.honeyhive.ai"],"gitSource":{"type":"github","owner":"honeyhiveai","repo":"honeyhive-ai-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"issues":false,"edits":false,"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aee1313a829c37e3ffc25d8","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"v2","count":395},{"language":"default","tag":"SDK Reference","count":175},{"language":"default","tag":"Reference","count":172},{"language":"default","tag":"TypeScript API SDK","count":114},{"language":"default","tag":"Documentation","count":91},{"language":"default","tag":"API Reference","count":71},{"language":"default","tag":"Data Plane API","count":51},{"language":"default","tag":"TypeScript Control Plane SDK","count":50},{"language":"default","tag":"Experiments","count":40},{"language":"default","tag":"Integrations","count":34}]},"assistantConfig":{"deflection":{"enabled":true,"email":"support@honeyhive.ai"}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"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":"editor-metadata","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},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".update-container .hh-update-entry:first-child>h2{margin-top:0}"}],"page":{"pagePath":"evaluators/versioning","slug":"/evaluators/versioning","pageMetadata":{"title":"Version Control","description":"How to manage and version control your custom evaluators in HoneyHive","noindex":true,"href":"/evaluators/versioning"},"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: \"How to manage and version control your custom evaluators in HoneyHive\"\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={li:`li`,ol:`ol`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading,OptimizedFrame,Tip}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedFrame)_missingMdxReference(`OptimizedFrame`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`HoneyHive provides git-based version control for custom evaluators, allowing you to track changes, roll back to previous versions, and manage evaluator evolution.`}),`\n`,_jsx(Heading,{level:`2`,id:`creating-a-new-version`,children:`Creating a new version`}),`\n`,_jsx(_components.p,{children:`When you create an evaluator and save it for the first time, we initialize version tracking on that evaluator.`}),`\n`,_jsx(Tip,{children:`If you have existing evaluators in your tenant, the latest evaluator version will be committed automatically the first time you open it.`}),`\n`,_jsx(Heading,{level:`2`,id:`updating-your-evaluator`,children:`Updating your evaluator`}),`\n`,_jsx(`div`,{style:{position:`relative`,boxSizing:`content-box`,maxHeight:`80vh`,maxHeight:`80svh`,width:`100%`,aspectRatio:`1.6`,padding:`40px 0 40px 0`},children:_jsx(OptimizedFrame,{src:`https://app.supademo.com/embed/cm1kvxfew0aywe4yt4b5o09pg?embed_v=2`,loading:`lazy`,title:`Honeyhive Demo`,allow:`clipboard-write`,frameborder:`0`,webkitallowfullscreen:`true`,mozallowfullscreen:`true`,allowfullscreen:true,style:{position:`absolute`,top:`0`,left:`0`,width:`100%`,height:`100%`}})}),`\n`,_jsx(Heading,{level:`2`,id:`rolling-back-to-a-previous-version`,children:`Rolling back to a previous version`}),`\n`,_jsx(`div`,{style:{position:`relative`,boxSizing:`content-box`,maxHeight:`80vh`,maxHeight:`80svh`,width:`100%`,aspectRatio:`1.6`,padding:`40px 0 40px 0`},children:_jsx(OptimizedFrame,{src:`https://app.supademo.com/embed/cm1kw91ka0bbve4ytqjimzjmw?embed_v=2`,loading:`lazy`,title:`Honeyhive Demo`,allow:`clipboard-write`,frameborder:`0`,webkitallowfullscreen:`true`,mozallowfullscreen:`true`,allowfullscreen:true,style:{position:`absolute`,top:`0`,left:`0`,width:`100%`,height:`100%`}})}),`\n`,_jsx(Tip,{children:`When rolling back to a previous version, a commit message is not required.`}),`\n`,_jsx(Heading,{level:`2`,id:`best-practices`,children:`Best practices`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Descriptive commit messages`}),`: Always provide clear and concise commit messages that explain the changes made in each version.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Regular updates`}),`: Keep your evaluators up-to-date by making small, incremental changes rather than large, sweeping updates.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Testing`}),`: Before deploying a new version to production, test it thoroughly to ensure it functions as expected.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`By following these best practices and utilizing the Evaluator Version Management feature, you can effectively manage and control the evolution of your custom evaluators in HoneyHive.`})]})}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":"Version Control","description":"How to manage and version control your custom evaluators in HoneyHive","noindex":true,"href":"/evaluators/versioning"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Creating a new version","slug":"creating-a-new-version","depth":2,"children":[]},{"title":"Updating your evaluator","slug":"updating-your-evaluator","depth":2,"children":[]},{"title":"Rolling back to a previous version","slug":"rolling-back-to-a-previous-version","depth":2,"children":[]},{"title":"Best practices","slug":"best-practices","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/honeyhiveai/295d4d275d20dba2/leadfeeder.js"],"subdomain":"honeyhiveai","siteName":"HoneyHive AI Docs","title":"Version Control - HoneyHive AI Docs","relatedPagesConfig":{"enabled":true,"limit":3,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2025-08-07T03:43:53.944Z","originalFileLocation":"evaluators/versioning.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=\"light\"}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=\"How to manage and version control your custom evaluators in HoneyHive\">\u003cmeta data-mint-head name=\"application-name\" content=\"HoneyHive AI Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"noindex\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_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=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Version Control - HoneyHive AI Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"How to manage and version control your custom evaluators in HoneyHive\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"HoneyHive AI Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.honeyhive.ai/evaluators/versioning\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://honeyhiveai.mintlify.site/_mintlify/api/og/v2?division=Server-Side+Evaluators\u0026amp;title=Version+Control\u0026amp;description=How+to+manage+and+version+control+your+custom+evaluators+in+HoneyHive\u0026amp;theme=5d33c6c4b6bf57211dea5b47\u0026amp;signature=3648b2f2db7d4366bfa58f3393ec2a6a1bd7d272e075eeb14d98c0dd743df88d\">\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=\"Version Control - HoneyHive AI Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How to manage and version control your custom evaluators in HoneyHive\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://honeyhiveai.mintlify.site/_mintlify/api/og/v2?division=Server-Side+Evaluators\u0026amp;title=Version+Control\u0026amp;description=How+to+manage+and+version+control+your+custom+evaluators+in+HoneyHive\u0026amp;theme=5d33c6c4b6bf57211dea5b47\u0026amp;signature=3648b2f2db7d4366bfa58f3393ec2a6a1bd7d272e075eeb14d98c0dd743df88d\">\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=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"HoneyHive AI Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#A56311\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.honeyhive.ai/evaluators/versioning\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/evaluators/versioning.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"HoneyHive AI Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"HoneyHive AI Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/evaluators/versioning.md","siteName":"HoneyHive AI Docs","nav":{"global":{},"products":[{"product":"v2","icon":"hive","description":"The next generation of HoneyHive.","pages":[{"title":"v2","href":"/v2/introduction/what-is-hhai"}]},{"product":"v1 (legacy)","icon":"server","description":"Deprecating Nov 5, 2026.","tabs":[{"tab":"Documentation","groups":[{"group":"Introduction","pages":[{"title":"HoneyHive Overview","icon":"square-info","href":"/introduction/what-is-hhai"},{"title":"Quickstart","icon":"rocket","href":"/introduction/quickstart"},{"group":"Setup \u0026 Installation","icon":"wrench","pages":[{"title":"SaaS Cloud","href":"/setup/managed"},{"title":"Dedicated Cloud","href":"/setup/dedicated"},{"group":"Self-Hosted","icon":"warehouse","pages":[{"title":"Self-Hosted (BYOC)","href":"/setup/self-hosted"},{"title":"Security Architecture","icon":"shield-halved","href":"/setup/self-hosted/security"},{"title":"Infrastructure Requirements","icon":"cubes","href":"/setup/infrastructure-requirements"}]}]},{"title":"Troubleshooting \u0026 FAQs","icon":"square-question","href":"/introduction/troubleshooting"}]},{"group":"Observability","pages":[{"group":"Tracing","icon":"list-tree","pages":[{"title":"Introduction","href":"/tracing/introduction"},{"title":"Custom Spans","href":"/tracing/custom-spans"},{"group":"Enriching Traces","pages":[{"title":"Overview","href":"/tracing/enrich-traces"},{"title":"User Feedback","href":"/tracing/setting-user-feedback"},{"title":"Client-Side Evaluations","href":"/tracing/client-side-evals"},{"title":"Configurations","href":"/tracing/setting-config"},{"title":"Tags and Metadata","href":"/tracing/setting-metadata"},{"title":"User Properties","href":"/tracing/setting-user-properties"}]},{"group":"Advanced Features","pages":[{"title":"Distributed Tracing","href":"/tracing/distributed-tracing"},{"title":"Multi-Modal Tracing","href":"/tracing/multi-modal"},{"title":"Multithreading in Python","href":"/tracing/multithreading"},{"title":"Online Experiments \u0026 A/B Tests","href":"/tracing/online-experimentation"}]},{"title":"Explore Traces in UI","href":"/tracing/ui-flows"},{"title":"Export Traces","href":"/tracing/query-data"},{"group":"Implementation Details","pages":[{"title":"Schema Overview","href":"/schema-overview"},{"title":"Session Aggregations","href":"/tracing/aggregation-logic"}]},{"group":"Tutorials","pages":[{"title":"Observability Tutorial - RAG","icon":"chart-bar","href":"/tutorials/observability-tutorial"}]}]},{"group":"Monitoring","icon":"chart-line","pages":[{"title":"Overview","href":"/monitoring/overview"},{"title":"Creating Custom Charts","href":"/monitoring/charts"},{"title":"Online Evaluations","href":"/monitoring/onlineevals"}]},{"group":"Alerts","icon":"bell","pages":[{"title":"Overview","href":"/monitoring/alerts/alerts_overview"},{"title":"Creating Alerts","href":"/monitoring/alerts/alerts"}]}]},{"group":"Evaluation","pages":[{"group":"Experiments","icon":"clipboard-check","pages":[{"title":"Introduction","href":"/evaluation/introduction"},{"title":"Quickstart","href":"/evaluation/quickstart"},{"title":"Comparing Experiments","href":"/evaluation/comparing_evals"},{"title":"Using Server-Side Evaluators","href":"/evaluation/server_side_evaluators"},{"title":"Using Datasets in UI","href":"/evaluation/managed_datasets"},{"title":"Multi-Step Experiments","href":"/evaluation/multi_step_evals"},{"title":"Evaluating External Logs","href":"/evaluation/external_logs"}]},{"group":"Evaluators","icon":"user-check","pages":[{"title":"Introduction","href":"/evaluators/introduction"},{"title":"Client-Side Evaluators","href":"/evaluators/client_side"},{"group":"Server-Side Evaluators","pages":[{"title":"Python Evaluators","href":"/evaluators/python"},{"title":"LLM Evaluators","href":"/evaluators/llm"},{"title":"Human Annotation","description":"Technical documentation for creating custom human evaluator fields in HoneyHive","href":"/evaluators/human"},{"title":"Version Control","href":"/evaluators/versioning"}]},{"title":"Evaluator Template List","description":"A list of HoneyHive's server-side evaluator templates.","href":"/evaluators/evaluator-templates"}]},{"group":"Datasets","icon":"database","pages":[{"title":"Introduction","href":"/datasets/introduction"},{"title":"Curate from traces","href":"/datasets/dataset-curation"},{"title":"Upload datasets","href":"/datasets/import"},{"title":"Export datasets via SDK","href":"/datasets/export"},{"title":"Import from Hugging Face","href":"/datasets/hf-datasets"}]},{"title":"Annotation Queues","icon":"user-check","href":"/evaluation/annotation-queues"}]},{"group":"Workspace Management","pages":[{"group":"Prompts","icon":"comment-dots","pages":[{"title":"Managing Prompts","href":"/prompts/overview"},{"title":"Using Prompts in Code","href":"/prompts/deploy"}]},{"group":"Administration","icon":"laptop","pages":[{"title":"Managing Projects","href":"/workspace/projects"},{"title":"Inviting Teammates","href":"/workspace/inviting-teammates"},{"title":"Role Based Access Control","href":"/workspace/roles"}]}]},{"group":"Learn More","pages":[{"title":"Key Concepts","icon":"lightbulb","href":"/concepts"},{"title":"Platform Architecture","icon":"sitemap","href":"/platform-architecture"}]}]},{"tab":"SDK Reference","pages":[{"title":"SDK Reference","href":"/sdk-reference/authentication"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/session/start-a-new-session"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations/langchain"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/changelog"}]}]}]},"basePath":"","title":"Version Control - HoneyHive AI Docs","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":[],"chunks":[]}