{"record":{"id":"7bfc34802ff2e0cc","repo":"BoundaryML/baml","slug":"manifest-404-for-version-version-not-released-yet","errorCode":null,"errorMessage":"manifest 404 for version {version} (not released yet?)","messagePattern":"manifest 404 for version (.+?) \\(not released yet\\?\\)","errorType":"exception","errorClass":"FetchError","httpStatus":404,"severity":"error","filePath":"baml_language/crates/baml_release/src/lib.rs","lineNumber":85,"sourceCode":"impl Product {\n    pub fn tag_prefix(self) -> &'static str {\n        match self {\n            Product::Toolchain => \"baml-language\",\n            Product::Wrapper => \"baml-wrapper\",\n        }\n    }\n}\n\n#[derive(Debug, thiserror::Error)]\npub enum FetchError {\n    #[error(\"network error fetching {url}: {source}\")]\n    Network { url: String, source: reqwest::Error },\n    #[error(\"HTTP {status} fetching {url}\")]\n    HttpStatus {\n        url: String,\n        status: reqwest::StatusCode,\n    },\n    #[error(\"manifest 404 for version {version} (not released yet?)\")]\n    ManifestNotFound { version: String },\n    #[error(\"manifest schema {got} not supported (max {max}); run `baml self-update`\")]\n    ManifestSchemaTooNew { got: u32, max: u32 },\n    #[error(\"target {target} not built for version {version}\")]\n    TargetNotInManifest { target: String, version: String },\n    #[error(\"sha256 mismatch for {url}: expected {expected}, got {got}\")]\n    ChecksumMismatch {\n        url: String,\n        expected: String,\n        got: String,\n    },\n    #[error(\"archive missing expected binary {name}\")]\n    BinaryNotInArchive { name: String },\n    #[error(\"archive contains unsafe path {path}\")]\n    UnsafeArchivePath { path: String },\n    #[error(\"disk error: {0}\")]\n    Io(#[from] std::io::Error),\n    #[error(\"zip archive error: {0}\")]","sourceCodeStart":67,"sourceCodeEnd":103,"githubUrl":"https://github.com/BoundaryML/baml/blob/bd85ce9dee1463ff04d27efd20531013a4ff46c1/baml_language/crates/baml_release/src/lib.rs#L67-L103","documentation":"FetchError::ManifestNotFound is thrown by baml_release when the release manifest for the requested version returns HTTP 404. The '(not released yet?)' hint signals the most common cause: the requested version does not exist on the release server, typically because it has not been published yet or the version string is wrong.","triggerScenarios":"Calling a baml_release fetch/self-update API with a version string whose manifest URL returns 404 — e.g. requesting version '1.2.3' before it was released, a typo'd version, or a deleted/withdrawn release.","commonSituations":"Pinning a version from a changelog before the release pipeline published it, upgrading to a version tag that only exists in git but not in releases, running self-update with a typo like '0.999.0'.","solutions":["Verify the requested version exists on the release server or GitHub releases page","Check for typos in the version string (compare against published tags)","Use the latest released version instead (omit version or use 'latest')","Wait and retry if the release was announced but the publish pipeline hasn't finished","Pin an earlier version that is known to be published"],"exampleFix":"# before\n$ baml self-update --version 0.205.0\nmanifest 404 for version 0.205.0 (not released yet?)\n# after\n$ baml self-update --version 0.204.0   # or omit --version for latest","handlingStrategy":"fallback","validationCode":"// resolve latest published version before fetching its manifest\nlet versions = list_published_versions(); // from release index\nif !versions.contains(requested_version) {\n    eprintln!(\"{requested_version} not published; using {}\", versions[0]);\n}","typeGuard":"fn is_manifest_404(e: &FetchError) -> bool {\n    matches!(e, FetchError::ManifestNotFound { .. })\n}","tryCatchPattern":"match install_version(v) {\n    Err(FetchError::ManifestNotFound { version }) => {\n        eprintln!(\"{version} not released yet; falling back to latest\");\n        install_latest()\n    }\n    other => other,\n}","preventionTips":["Cross-check version strings against the published releases list","Prefer omitting the version (latest) unless pinning deliberately","After a release announcement, wait for the publish pipeline to complete","Use exact tags from `git tag`/release pages, not memory"],"tags":["versioning","http","release"],"backgroundTag":"resource-not-found","analyzedSha":"bd85ce9dee1463ff04d27efd20531013a4ff46c1","analyzedAt":"2026-09-12T03:38:25.718Z","contentChangedAt":"2026-09-12T03:38:25.718Z","schemaVersion":2},"datasetVersion":"2026-09-14T11:17:12.474Z"}