Search Articles
GraphQL Error (Code: 200): {"response":{"error":"<!DOCTYPE html><html data-dpl-id=\"dpl_4CMSUNeao41kHtiFgifEugnY7WeV\" lang=\"en\" class=\"YQbTPW_variable\" data-scroll-behavior=\"smooth\"><head><meta charSet=\"utf-8\"/><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/><link rel=\"stylesheet\" href=\"/_next/static/immutable/chunks/44ql4mjh8-fx8.css\" data-precedence=\"next\"/><link rel=\"stylesheet\" href=\"/_next/static/immutable/chunks/3v-jwjwfe_rq8.css\" data-precedence=\"next\"/><link rel=\"stylesheet\" href=\"/_next/static/immutable/chunks/1_2pu7o5n753v.css\" data-precedence=\"next\"/><link rel=\"stylesheet\" href=\"/_next/static/immutable/chunks/24_kmbjsofimg.css\" data-precedence=\"next\"/><link rel=\"preload\" as=\"script\" fetchPriority=\"low\" href=\"/_next/static/immutable/chunks/2o526-zkccdyi.js\"/><script src=\"/_next/static/immutable/chunks/16-26fxdyuc-e.js\" async=\"\"></script><script src=\"/_next/static/immutable/chunks/35dix6zoru1ax.js\" async=\"\"></script><script src=\"/_next/static/immutable/chunks/0wonrx_tvdtym.js\" async=\"\"></script><script src=\"/_next/static/immutable/chunks/turbopack-1byz1flvc-bu1.js\" async=\"\"></script><script src=\"/_next/static/immutable/chunks/0pv18yg2ifn_g.js\" async=\"\"></script><script src=\"/_next/static/immutable/chunks/3f3_km70y6um0.js\" async=\"\"></script><script src=\"/_next/static/immutable/chunks/42t_pvfltys4o.js\" async=\"\"></script><script src=\"/_next/static/immutable/chunks/20cwg369q8kei.js\" async=\"\"></script><script src=\"/_next/static/immutable/chunks/35dfx5mkh_962.js\" async=\"\"></script><script src=\"/_next/static/immutable/chunks/3nanl9cu-bqqa.js\" async=\"\"></script><script src=\"/_next/static/immutable/chunks/3ypv61swv9ep_.js\" async=\"\"></script><script src=\"/_next/static/immutable/chunks/1c7vv6hmkk8s9.js\" async=\"\"></script><script src=\"/_next/static/immutable/chunks/2snnkc74-ihbv.js\" async=\"\"></script><script src=\"/_next/static/immutable/chunks/3c6z6u90f0z8s.js\" async=\"\"></script><script src=\"/_next/static/immutable/chunks/3bg3av-v0487q.js\" async=\"\"></script><script src=\"/_next/static/immutable/chunks/3ui7dko43ach4.js\" async=\"\"></script><script src=\"/_next/static/immutable/chunks/19wtdlk85z-p8.js\" async=\"\"></script><script src=\"/_next/static/immutable/chunks/2zvraqg-fdod5.js\" async=\"\"></script><script src=\"/_next/static/immutable/chunks/0632yke-cnhbo.js\" async=\"\"></script><link rel=\"preload\" href=\"https://ping.hashnode.com/gtag/js?id=G-72XG3F8LNJ\" as=\"script\"/><meta name=\"next-size-adjust\" content=\"\"/><meta name=\"apple-mobile-web-app-title\" content=\"Hashnode\"/><noscript><style>[data-reveal]{opacity:1!important;transform:none!important}</style></noscript><script src=\"/_next/static/immutable/chunks/0c0hxoamwjsbw.js\" noModule=\"\"></script></head><body class=\"antialiased bg-background h-svh overflow-hidden\"><div hidden=\"\"><!--$?--><template id=\"B:0\"></template><!--/$--></div><script type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Hashnode\",\"description\":\"Hashnode is a blogging platform where developers, engineers, and tech leaders write to sharpen ideas, share knowledge, and build their reputation. Start for free.\",\"url\":\"https://hashnode.com\",\"potentialAction\":{\"@type\":\"SearchAction\",\"target\":\"https://hashnode.com/search?q={search_term_string}\",\"query-input\":\"required name=search_term_string\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"Hashnode\",\"url\":\"https://hashnode.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://hashnode.com/web-app-manifest-192x192.png\",\"width\":192,\"height\":192}}}</script><script type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"Organization\",\"name\":\"Hashnode\",\"legalName\":\"LinearBytes Inc.\",\"url\":\"https://hashnode.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://hashnode.com/web-app-manifest-192x192.png\",\"width\":192,\"height\":192},\"description\":\"Hashnode is a blogging platform where developers, engineers, and tech leaders write to sharpen ideas, share knowledge, and build their reputation. Start for free.\",\"founder\":[{\"@type\":\"Person\",\"name\":\"Syed Fazle Rahman\",\"sameAs\":\"https://x.com/fazlerocks\"},{\"@type\":\"Person\",\"name\":\"Sandeep Panda\",\"sameAs\":\"https://x.com/sandeepg33k\"}],\"sameAs\":[\"https://x.com/hashnode\",\"https://linkedin.com/company/hashnode\"]}</script><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=[\"light\",\"dark\"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c=\"class\"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&\"system\"===a?window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\":a;k(d)}catch(a){}})(\"class\",\"theme\",\"system\",null,[\"light\",\"dark\"],null,true,true)</script><div data-slot=\"sidebar-wrapper\" style=\"--sidebar-width:16rem;--sidebar-width-icon:3rem\" class=\"group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full h-svh\"><div class=\"group peer text-sidebar-foreground hidden md:block\" data-state=\"collapsed\" data-collapsible=\"icon\" data-variant=\"tile\" data-side=\"left\" data-slot=\"sidebar\"><div data-slot=\"sidebar-gap\" class=\"relative bg-transparent transition-[width] duration-200 ease-linear group-data-[collapsible=offcanvas]:w-0 group-data-[side=right]:rotate-180 w-[calc(var(--sidebar-width)+--spacing(3))] group-data-[collapsible=icon]:w-[calc(--spacing(16)+--spacing(3))]\"></div><div data-slot=\"sidebar-container\" class=\"fixed inset-y-0 z-10 hidden h-svh transition-[left,right,width,opacity,visibility] duration-200 ease-linear md:flex left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] w-[calc(var(--sidebar-width)+--spacing(3))] py-3 pl-3 group-data-[collapsible=icon]:w-[calc(--spacing(16)+--spacing(3))]\"><div data-sidebar=\"sidebar\" data-slot=\"sidebar-inner\" class=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm group-data-[variant=tile]:rounded-5xl group-data-[variant=tile]:inset-ring group-data-[variant=tile]:inset-ring-foreground/6\"><div data-slot=\"sidebar-header\" data-sidebar=\"header\" class=\"flex flex-col gap-0 p-3\"><div class=\"flex w-full flex-col items-center\"><button data-slot=\"sidebar-trigger\" data-variant=\"ghost\" data-size=\"icon\" class=\"inline-flex cursor-pointer items-center justify-center gap-2 whitespace-nowrap text-label transition-all disabled:pointer-events-none disabled:not-has-[.animate-spin]:text-disabled-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent dark:hover:bg-accent/50 text-muted-foreground hover:text-foreground size-10 rounded-full\" data-sidebar=\"trigger\"><span class=\"relative flex h-4 w-4 items-center justify-center\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-panel-right inline shrink-0 align-[-0.125em]\" aria-hidden=\"true\"><rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"></rect><path d=\"M15 3v18\"></path></svg></span><span class=\"sr-only\">Toggle Sidebar</span></button></div><ul data-slot=\"sidebar-menu\" data-sidebar=\"menu\" class=\"flex w-full min-w-0 flex-col gap-1 mt-3 group-data-[collapsible=icon]:mt-2\"><li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" class=\"group/menu-item relative\"><button data-slot=\"sidebar-menu-button\" data-sidebar=\"menu-button\" data-size=\"default\" data-active=\"false\" class=\"peer/menu-button flex w-full items-center gap-2.5 overflow-hidden rounded-md px-2.5 py-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding,color] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:text-disabled-foreground group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:text-disabled-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[active=true]:font-semibold data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! group-data-[variant=tile]:rounded-full group-data-[variant=tile]:px-3 group-data-[variant=tile]:data-[active=true]:bg-card group-data-[variant=tile]:data-[active=true]:hover:bg-card group-data-[variant=tile]:data-[active=true]:shadow-xs group-data-[variant=tile]:data-[active=true]:inset-ring group-data-[variant=tile]:data-[active=true]:inset-ring-border group-data-[variant=tile]:group-data-[collapsible=icon]:size-10! group-data-[variant=tile]:group-data-[collapsible=icon]:p-3! group-data-[variant=tile]:group-data-[collapsible=icon]:[&>:not(:first-child)]:hidden [&>span:last-child]:truncate [&>svg]:size-4.5 group-data-[collapsible=icon]:[&>svg]:size-4 [&>svg]:shrink-0 [&_i]:text-muted-foreground [&_.lucide]:text-muted-foreground hover:[&_i]:text-foreground hover:[&_.lucide]:text-foreground data-[active=true]:[&_i]:text-foreground data-[active=true]:[&_.lucide]:text-foreground h-9 bg-card pr-1.5 text-small text-muted-foreground shadow-xs inset-ring inset-ring-border hover:bg-card hover:text-muted-foreground\" data-state=\"closed\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-search inline shrink-0 align-[-0.125em]\" aria-hidden=\"true\"><path d=\"m21 21-4.34-4.34\"></path><circle cx=\"11\" cy=\"11\" r=\"8\"></circle></svg><span>Search</span></button></li></ul></div><div data-slot=\"sidebar-content\" data-sidebar=\"content\" class=\"flex min-h-0 flex-1 flex-col overflow-auto group-data-[collapsible=icon]:overflow-hidden scroll-shadows gap-0\"><div data-slot=\"sidebar-group\" data-sidebar=\"group\" class=\"relative flex w-full min-w-0 flex-col p-2 px-3 pt-2 pb-0\"><div data-slot=\"sidebar-group-content\" data-sidebar=\"group-content\" class=\"w-full text-small\"><ul data-slot=\"sidebar-menu\" data-sidebar=\"menu\" class=\"flex w-full min-w-0 flex-col gap-0.5\"><li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" class=\"group/menu-item relative\"><a data-slot=\"sidebar-menu-button\" data-sidebar=\"menu-button\" data-size=\"default\" data-active=\"false\" class=\"peer/menu-button flex w-full items-center gap-2.5 overflow-hidden rounded-md px-2.5 py-2 text-left text-small outline-hidden ring-sidebar-ring transition-[width,height,padding,color] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:text-disabled-foreground group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:text-disabled-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[active=true]:font-semibold data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! group-data-[variant=tile]:rounded-full group-data-[variant=tile]:px-3 group-data-[variant=tile]:data-[active=true]:bg-card group-data-[variant=tile]:data-[active=true]:hover:bg-card group-data-[variant=tile]:data-[active=true]:shadow-xs group-data-[variant=tile]:data-[active=true]:inset-ring group-data-[variant=tile]:data-[active=true]:inset-ring-border group-data-[variant=tile]:group-data-[collapsible=icon]:size-10! group-data-[variant=tile]:group-data-[collapsible=icon]:p-3! group-data-[variant=tile]:group-data-[collapsible=icon]:[&>:not(:first-child)]:hidden [&>span:last-child]:truncate [&>svg]:size-4.5 group-data-[collapsible=icon]:[&>svg]:size-4 [&>svg]:shrink-0 [&_i]:text-muted-foreground [&_.lucide]:text-muted-foreground hover:[&_i]:text-foreground hover:[&_.lucide]:text-foreground data-[active=true]:[&_i]:text-foreground data-[active=true]:[&_.lucide]:text-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 group/menu-link\" data-state=\"closed\" href=\"/\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-house lucide-home inline shrink-0 align-[-0.125em]\" aria-hidden=\"true\"><path d=\"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8\"></path><path d=\"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"></path></svg><span>Home</span></a></li><li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" class=\"group/menu-item relative\"><a data-slot=\"sidebar-menu-button\" data-sidebar=\"menu-button\" data-size=\"default\" data-active=\"false\" class=\"peer/menu-button flex w-full items-center gap-2.5 overflow-hidden rounded-md px-2.5 py-2 text-left text-small outline-hidden ring-sidebar-ring transition-[width,height,padding,color] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:text-disabled-foreground group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:text-disabled-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[active=true]:font-semibold data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! group-data-[variant=tile]:rounded-full group-data-[variant=tile]:px-3 group-data-[variant=tile]:data-[active=true]:bg-card group-data-[variant=tile]:data-[active=true]:hover:bg-card group-data-[variant=tile]:data-[active=true]:shadow-xs group-data-[variant=tile]:data-[active=true]:inset-ring group-data-[variant=tile]:data-[active=true]:inset-ring-border group-data-[variant=tile]:group-data-[collapsible=icon]:size-10! group-data-[variant=tile]:group-data-[collapsible=icon]:p-3! group-data-[variant=tile]:group-data-[collapsible=icon]:[&>:not(:first-child)]:hidden [&>span:last-child]:truncate [&>svg]:size-4.5 group-data-[collapsible=icon]:[&>svg]:size-4 [&>svg]:shrink-0 [&_i]:text-muted-foreground [&_.lucide]:text-muted-foreground hover:[&_i]:text-foreground hover:[&_.lucide]:text-foreground data-[active=true]:[&_i]:text-foreground data-[active=true]:[&_.lucide]:text-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 group/menu-link\" data-state=\"closed\" href=\"/feed\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-layout-list inline shrink-0 align-[-0.125em]\" aria-hidden=\"true\"><rect width=\"7\" height=\"7\" x=\"3\" y=\"3\" rx=\"1\"></rect><rect width=\"7\" height=\"7\" x=\"3\" y=\"14\" rx=\"1\"></rect><path d=\"M14 4h7\"></path><path d=\"M14 9h7\"></path><path d=\"M14 15h7\"></path><path d=\"M14 20h7\"></path></svg><span>Feed</span></a></li></ul></div></div><div data-slot=\"sidebar-group\" data-sidebar=\"group\" class=\"relative flex w-full min-w-0 flex-col p-2 px-3 pt-5 pb-0\"><div data-slot=\"sidebar-group-label\" data-sidebar=\"group-label\" class=\"text-caption text-muted-foreground ring-sidebar-ring flex h-6 shrink-0 items-center rounded-md px-2.5 group-data-[variant=tile]:px-3 outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0 group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\">Extend</div><div data-slot=\"sidebar-group-content\" data-sidebar=\"group-content\" class=\"w-full text-small\"><ul data-slot=\"sidebar-menu\" data-sidebar=\"menu\" class=\"flex w-full min-w-0 flex-col gap-0.5\"><li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" class=\"group/menu-item relative\"><a data-slot=\"sidebar-menu-button\" data-sidebar=\"menu-button\" data-size=\"default\" data-active=\"false\" class=\"peer/menu-button flex w-full items-center gap-2.5 overflow-hidden rounded-md px-2.5 py-2 text-left text-small outline-hidden ring-sidebar-ring transition-[width,height,padding,color] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:text-disabled-foreground group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:text-disabled-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[active=true]:font-semibold data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! group-data-[variant=tile]:rounded-full group-data-[variant=tile]:px-3 group-data-[variant=tile]:data-[active=true]:bg-card group-data-[variant=tile]:data-[active=true]:hover:bg-card group-data-[variant=tile]:data-[active=true]:shadow-xs group-data-[variant=tile]:data-[active=true]:inset-ring group-data-[variant=tile]:data-[active=true]:inset-ring-border group-data-[variant=tile]:group-data-[collapsible=icon]:size-10! group-data-[variant=tile]:group-data-[collapsible=icon]:p-3! group-data-[variant=tile]:group-data-[collapsible=icon]:[&>:not(:first-child)]:hidden [&>span:last-child]:truncate [&>svg]:size-4.5 group-data-[collapsible=icon]:[&>svg]:size-4 [&>svg]:shrink-0 [&_i]:text-muted-foreground [&_.lucide]:text-muted-foreground hover:[&_i]:text-foreground hover:[&_.lucide]:text-foreground data-[active=true]:[&_i]:text-foreground data-[active=true]:[&_.lucide]:text-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 group/menu-link\" data-state=\"closed\" href=\"/pro\"><span class=\"inline-flex size-4.5 shrink-0 items-center justify-center group-data-[collapsible=icon]:size-4 text-muted-foreground group-hover/menu-link:text-foreground group-data-[active=true]/menu-link:text-foreground\"><svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" class=\"size-full shrink-0\" aria-hidden=\"true\"><path fill=\"currentColor\" d=\"M7.977 2.667c2.193-2.229 5.83-2.217 8.046 0l5.303 5.303.203.209c2.03 2.209 1.954 5.695-.196 7.844l-5.31 5.31c-2.216 2.216-5.853 2.228-8.046 0l-5.31-5.31C.448 13.804.44 10.163 2.674 7.97zM14.61 4.08c-1.446-1.445-3.811-1.435-5.212-.007L4.074 9.397c-1.428 1.402-1.438 3.767.007 5.212l5.317 5.317c1.4 1.428 3.766 1.438 5.212-.007l5.309-5.31c1.445-1.445 1.435-3.81.007-5.212z\"></path><path fill=\"currentColor\" d=\"M12 6.833c.17 0 .339.036.494.105l.15.079.138.1q.13.108.226.249l.086.147.936 1.895 2.093.306a1.22 1.22 0 0 1 .92.673l.064.158.041.165a1.22 1.22 0 0 1-.35 1.087l-1.514 1.473.357 2.077.018.17a1.22 1.22 0 0 1-1.135 1.26 1.2 1.2 0 0 1-.66-.14L12 15.656l-1.869.981.001.001a1.22 1.22 0 0 1-1.79-1.12l.017-.17.355-2.08-1.511-1.47a1.22 1.22 0 0 1-.31-1.253l.063-.158c.074-.153.18-.29.312-.4l.138-.1c.144-.09.307-.15.476-.174l2.087-.305.936-1.894v-.001c.102-.204.258-.376.451-.496l.15-.08A1.2 1.2 0 0 1 12 6.834m2.8 8.036.005.002-.008-.004zm-5.603.001H9.2l.003-.003zm2.54-4.522a1.9 1.9 0 0 1-1.195.984l-.223.046-.592.086.427.416c.164.16.298.348.394.555l.083.213.058.22c.044.224.046.454.008.68l-.102.587.529-.277a1.89 1.89 0 0 1 1.752-.001l.528.278-.1-.587a1.9 1.9 0 0 1 .065-.901l.083-.212c.096-.207.23-.395.393-.555l.426-.416-.59-.086a1.89 1.89 0 0 1-1.417-1.03L12 9.815z\"></path></svg></span><span>Hashnode Pro</span></a></li><li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" class=\"group/menu-item relative\"><a data-slot=\"sidebar-menu-button\" data-sidebar=\"menu-button\" data-size=\"default\" data-active=\"false\" class=\"peer/menu-button flex w-full items-center gap-2.5 overflow-hidden rounded-md px-2.5 py-2 text-left text-small outline-hidden ring-sidebar-ring transition-[width,height,padding,color] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:text-disabled-foreground group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:text-disabled-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[active=true]:font-semibold data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! group-data-[variant=tile]:rounded-full group-data-[variant=tile]:px-3 group-data-[variant=tile]:data-[active=true]:bg-card group-data-[variant=tile]:data-[active=true]:hover:bg-card group-data-[variant=tile]:data-[active=true]:shadow-xs group-data-[variant=tile]:data-[active=true]:inset-ring group-data-[variant=tile]:data-[active=true]:inset-ring-border group-data-[variant=tile]:group-data-[collapsible=icon]:size-10! group-data-[variant=tile]:group-data-[collapsible=icon]:p-3! group-data-[variant=tile]:group-data-[collapsible=icon]:[&>:not(:first-child)]:hidden [&>span:last-child]:truncate [&>svg]:size-4.5 group-data-[collapsible=icon]:[&>svg]:size-4 [&>svg]:shrink-0 [&_i]:text-muted-foreground [&_.lucide]:text-muted-foreground hover:[&_i]:text-foreground hover:[&_.lucide]:text-foreground data-[active=true]:[&_i]:text-foreground data-[active=true]:[&_.lucide]:text-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 group/menu-link\" data-state=\"closed\" href=\"/agents\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-pencil-sparkles inline shrink-0 align-[-0.125em]\" aria-hidden=\"true\"><path d=\"M10 3H8\"></path><path d=\"m15.007 5.008 3.987 3.986\"></path><path d=\"M20 15v4\"></path><path d=\"M21.174 6.813a2.82 2.82 0 0 0-3.986-3.987L3.842 16.175a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z\"></path><path d=\"M22 17h-4\"></path><path d=\"M4 5v4\"></path><path d=\"M6 7H2\"></path><path d=\"M9 2v2\"></path></svg><span>Hashnode for Agents</span></a></li></ul></div></div><div data-slot=\"sidebar-group\" data-sidebar=\"group\" class=\"relative flex w-full min-w-0 flex-col p-2 px-3 pt-5 pb-0\"><div data-slot=\"sidebar-group-label\" data-sidebar=\"group-label\" class=\"text-caption text-muted-foreground ring-sidebar-ring flex h-6 shrink-0 items-center rounded-md px-2.5 group-data-[variant=tile]:px-3 outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0 group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\">Resources</div><div data-slot=\"sidebar-group-content\" data-sidebar=\"group-content\" class=\"w-full text-small\"><ul data-slot=\"sidebar-menu\" data-sidebar=\"menu\" class=\"flex w-full min-w-0 flex-col gap-0.5\"><li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" class=\"group/menu-item relative\"><a target=\"_blank\" rel=\"noopener\" data-slot=\"sidebar-menu-button\" data-sidebar=\"menu-button\" data-size=\"default\" data-active=\"false\" class=\"peer/menu-button flex w-full items-center gap-2.5 overflow-hidden rounded-md px-2.5 py-2 text-left text-small outline-hidden ring-sidebar-ring transition-[width,height,padding,color] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:text-disabled-foreground group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:text-disabled-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[active=true]:font-semibold data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! group-data-[variant=tile]:rounded-full group-data-[variant=tile]:px-3 group-data-[variant=tile]:data-[active=true]:bg-card group-data-[variant=tile]:data-[active=true]:hover:bg-card group-data-[variant=tile]:data-[active=true]:shadow-xs group-data-[variant=tile]:data-[active=true]:inset-ring group-data-[variant=tile]:data-[active=true]:inset-ring-border group-data-[variant=tile]:group-data-[collapsible=icon]:size-10! group-data-[variant=tile]:group-data-[collapsible=icon]:p-3! group-data-[variant=tile]:group-data-[collapsible=icon]:[&>:not(:first-child)]:hidden [&>span:last-child]:truncate [&>svg]:size-4.5 group-data-[collapsible=icon]:[&>svg]:size-4 [&>svg]:shrink-0 [&_i]:text-muted-foreground [&_.lucide]:text-muted-foreground hover:[&_i]:text-foreground hover:[&_.lucide]:text-foreground data-[active=true]:[&_i]:text-foreground data-[active=true]:[&_.lucide]:text-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 group/resource\" data-state=\"closed\" href=\"https://hashnode.com/blog?utm_source=hashnode&utm_medium=sidebar\"><svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 40 40\" class=\"size-4 shrink-0 text-current\" aria-label=\"The foreword by Hashnode\"><mask id=\"_R_2r9a6tb_\"><rect width=\"40\" height=\"40\" rx=\"10\" fill=\"white\"></rect><path d=\"M12.5 19.5a7.5 7.5 0 0 1 15 0Z\" fill=\"black\"></path><g stroke=\"black\" stroke-width=\"4.2\" stroke-linecap=\"round\"><path d=\"M9 24.5H31\"></path><path d=\"M9 31H23\"></path></g></mask><rect width=\"40\" height=\"40\" rx=\"10\" class=\"fill-current\" mask=\"url(#_R_2r9a6tb_)\"></rect></svg><span>The foreword</span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-arrow-up-right inline align-[-0.125em] ml-auto shrink-0 text-sm text-disabled-foreground group-hover/resource:text-muted-foreground group-data-[collapsible=icon]:hidden\" aria-hidden=\"true\"><path d=\"M7 7h10v10\"></path><path d=\"M7 17 17 7\"></path></svg></a></li><li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" class=\"group/menu-item relative\"><a target=\"_blank\" rel=\"noopener\" data-slot=\"sidebar-menu-button\" data-sidebar=\"menu-button\" data-size=\"default\" data-active=\"false\" class=\"peer/menu-button flex w-full items-center gap-2.5 overflow-hidden rounded-md px-2.5 py-2 text-left text-small outline-hidden ring-sidebar-ring transition-[width,height,padding,color] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:text-disabled-foreground group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:text-disabled-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[active=true]:font-semibold data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! group-data-[variant=tile]:rounded-full group-data-[variant=tile]:px-3 group-data-[variant=tile]:data-[active=true]:bg-card group-data-[variant=tile]:data-[active=true]:hover:bg-card group-data-[variant=tile]:data-[active=true]:shadow-xs group-data-[variant=tile]:data-[active=true]:inset-ring group-data-[variant=tile]:data-[active=true]:inset-ring-border group-data-[variant=tile]:group-data-[collapsible=icon]:size-10! group-data-[variant=tile]:group-data-[collapsible=icon]:p-3! group-data-[variant=tile]:group-data-[collapsible=icon]:[&>:not(:first-child)]:hidden [&>span:last-child]:truncate [&>svg]:size-4.5 group-data-[collapsible=icon]:[&>svg]:size-4 [&>svg]:shrink-0 [&_i]:text-muted-foreground [&_.lucide]:text-muted-foreground hover:[&_i]:text-foreground hover:[&_.lucide]:text-foreground data-[active=true]:[&_i]:text-foreground data-[active=true]:[&_.lucide]:text-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 group/resource\" data-state=\"closed\" href=\"https://github.com/Hashnode/gql-skill?utm_source=hashnode&utm_medium=sidebar&utm_campaign=cross_product\"><span class=\"inline-flex size-4 shrink-0 items-center justify-center\"><i class=\"fa-brands fa-github text-base\" aria-hidden=\"true\"></i></span><span>Hashnode gql skill</span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-arrow-up-right inline align-[-0.125em] ml-auto shrink-0 text-sm text-disabled-foreground group-hover/resource:text-muted-foreground group-data-[collapsible=icon]:hidden\" aria-hidden=\"true\"><path d=\"M7 7h10v10\"></path><path d=\"M7 17 17 7\"></path></svg></a></li></ul></div></div></div><div data-slot=\"sidebar-footer\" data-sidebar=\"footer\" class=\"flex flex-col gap-0 p-3\"><ul data-slot=\"sidebar-menu\" data-sidebar=\"menu\" class=\"flex w-full min-w-0 flex-row gap-1 group-data-[collapsible=icon]:flex-col group-data-[collapsible=icon]:gap-0.5 [&>li]:min-w-0 [&>li:last-child]:flex-1\"><li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" class=\"group/menu-item relative\"><button data-slot=\"dropdown-menu-trigger\" data-sidebar=\"menu-button\" data-size=\"default\" data-active=\"false\" class=\"peer/menu-button flex w-full items-center gap-2.5 overflow-hidden rounded-md px-2.5 py-2 text-left text-small outline-hidden ring-sidebar-ring transition-[width,height,padding,color] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:text-disabled-foreground group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:text-disabled-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[active=true]:font-semibold data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! group-data-[variant=tile]:rounded-full group-data-[variant=tile]:px-3 group-data-[variant=tile]:data-[active=true]:bg-card group-data-[variant=tile]:data-[active=true]:hover:bg-card group-data-[variant=tile]:data-[active=true]:shadow-xs group-data-[variant=tile]:data-[active=true]:inset-ring group-data-[variant=tile]:data-[active=true]:inset-ring-border group-data-[variant=tile]:group-data-[collapsible=icon]:size-10! group-data-[variant=tile]:group-data-[collapsible=icon]:p-3! group-data-[variant=tile]:group-data-[collapsible=icon]:[&>:not(:first-child)]:hidden [&>span:last-child]:truncate [&>svg]:size-4.5 group-data-[collapsible=icon]:[&>svg]:size-4 [&>svg]:shrink-0 [&_i]:text-muted-foreground [&_.lucide]:text-muted-foreground hover:[&_i]:text-foreground hover:[&_.lucide]:text-foreground data-[active=true]:[&_i]:text-foreground data-[active=true]:[&_.lucide]:text-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8\" type=\"button\" id=\"radix-_R_lq6tb_\" aria-haspopup=\"menu\" aria-expanded=\"false\" data-state=\"closed\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-monitor inline shrink-0 align-[-0.125em]\" aria-hidden=\"true\"><rect width=\"20\" height=\"14\" x=\"2\" y=\"3\" rx=\"2\"></rect><line x1=\"8\" x2=\"16\" y1=\"21\" y2=\"21\"></line><line x1=\"12\" x2=\"12\" y1=\"17\" y2=\"21\"></line></svg><span>Theme</span></button></li><li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" class=\"group/menu-item relative\"><button data-slot=\"dropdown-menu-trigger\" data-sidebar=\"menu-button\" data-size=\"default\" data-active=\"false\" class=\"peer/menu-button flex w-full items-center gap-2.5 overflow-hidden rounded-md px-2.5 py-2 text-left text-small outline-hidden ring-sidebar-ring transition-[width,height,padding,color] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:text-disabled-foreground group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:text-disabled-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[active=true]:font-semibold data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! group-data-[variant=tile]:rounded-full group-data-[variant=tile]:px-3 group-data-[variant=tile]:data-[active=true]:bg-card group-data-[variant=tile]:data-[active=true]:hover:bg-card group-data-[variant=tile]:data-[active=true]:shadow-xs group-data-[variant=tile]:data-[active=true]:inset-ring group-data-[variant=tile]:data-[active=true]:inset-ring-border group-data-[variant=tile]:group-data-[collapsible=icon]:size-10! group-data-[variant=tile]:group-data-[collapsible=icon]:p-3! group-data-[variant=tile]:group-data-[collapsible=icon]:[&>:not(:first-child)]:hidden [&>span:last-child]:truncate [&>svg]:size-4.5 group-data-[collapsible=icon]:[&>svg]:size-4 [&>svg]:shrink-0 [&_i]:text-muted-foreground [&_.lucide]:text-muted-foreground hover:[&_i]:text-foreground hover:[&_.lucide]:text-foreground data-[active=true]:[&_i]:text-foreground data-[active=true]:[&_.lucide]:text-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8\" type=\"button\" id=\"radix-_R_1tq6tb_\" aria-haspopup=\"menu\" aria-expanded=\"false\" data-state=\"closed\"><span class=\"relative flex size-4 shrink-0 items-center justify-center leading-none\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-grip inline shrink-0 align-[-0.125em] text-base\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"5\" r=\"1\"></circle><circle cx=\"19\" cy=\"5\" r=\"1\"></circle><circle cx=\"5\" cy=\"5\" r=\"1\"></circle><circle cx=\"12\" cy=\"12\" r=\"1\"></circle><circle cx=\"19\" cy=\"12\" r=\"1\"></circle><circle cx=\"5\" cy=\"12\" r=\"1\"></circle><circle cx=\"12\" cy=\"19\" r=\"1\"></circle><circle cx=\"19\" cy=\"19\" r=\"1\"></circle><circle cx=\"5\" cy=\"19\" r=\"1\"></circle></svg></span><span>More</span></button><nav class=\"sr-only\" aria-label=\"Resources\"><a href=\"https://buildful.ai?utm_source=hashnode&utm_medium=sidebar&utm_campaign=cross_product\">Buildful - AI coding agent that delivers frontier-level results at a fraction of the cost</a><a href=\"https://bug0.com?utm_source=hashnode&utm_medium=sidebar&utm_campaign=cross_product\">Bug0 - The AI-native e2e QA regression testing</a><a href=\"/hackathons\">Hackathons</a><a href=\"/changelog\">Changelog</a><a href=\"/brand\">Brand</a><a href=\"https://x.com/hashnode?utm_source=hashnode&utm_medium=sidebar\">@hashnode on X</a><a href=\"https://www.linkedin.com/company/hashnode?utm_source=hashnode&utm_medium=sidebar\">Hashnode on LinkedIn</a><a href=\"mailto:hello+support@hashnode.com\">Support - hello+support@hashnode.com</a><a href=\"/code-of-conduct\">Code of Conduct</a><a href=\"/terms\">Terms</a><a href=\"/privacy-policy\">Privacy</a><a href=\"/sitemap.xml\">Sitemap</a></nav></li></ul><ul data-slot=\"sidebar-menu\" data-sidebar=\"menu\" class=\"flex w-full min-w-0 flex-col gap-1 mt-2.5\"><li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" class=\"group/menu-item relative\"><a data-slot=\"sidebar-menu-button\" data-sidebar=\"menu-button\" data-size=\"default\" data-active=\"false\" class=\"peer/menu-button flex w-full items-center gap-2.5 overflow-hidden rounded-md px-2.5 py-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding,color] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:text-disabled-foreground group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:text-disabled-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[active=true]:font-semibold data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! group-data-[variant=tile]:rounded-full group-data-[variant=tile]:px-3 group-data-[variant=tile]:data-[active=true]:bg-card group-data-[variant=tile]:data-[active=true]:hover:bg-card group-data-[variant=tile]:data-[active=true]:shadow-xs group-data-[variant=tile]:data-[active=true]:inset-ring group-data-[variant=tile]:data-[active=true]:inset-ring-border group-data-[variant=tile]:group-data-[collapsible=icon]:size-10! group-data-[variant=tile]:group-data-[collapsible=icon]:p-3! group-data-[variant=tile]:group-data-[collapsible=icon]:[&>:not(:first-child)]:hidden [&>span:last-child]:truncate [&>svg]:size-4.5 group-data-[collapsible=icon]:[&>svg]:size-4 [&>svg]:shrink-0 [&_i]:text-muted-foreground hover:[&_i]:text-foreground hover:[&_.lucide]:text-foreground data-[active=true]:[&_i]:text-foreground data-[active=true]:[&_.lucide]:text-foreground hover:text-sidebar-accent-foreground h-10 justify-center bg-card text-label shadow-xs inset-ring inset-ring-border hover:bg-card group-data-[collapsible=icon]:justify-start [&_.lucide]:text-foreground\" data-state=\"closed\" href=\"/login\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-log-in inline align-[-0.125em] shrink-0\" aria-hidden=\"true\"><path d=\"m10 17 5-5-5-5\"></path><path d=\"M15 12H3\"></path><path d=\"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\"></path></svg><span>Sign in</span></a></li></ul></div></div></div></div><main data-slot=\"sidebar-inset\" class=\"bg-background relative flex w-full flex-1 flex-col md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:border md:peer-data-[variant=inset]:border-border md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2 overflow-hidden md:peer-data-[variant=tile]:[--stage-gutter:--spacing(3)] md:peer-data-[variant=tile]:[--stage-radius:1.75rem]\"><header class=\"sticky top-0 z-30 flex h-13 shrink-0 items-center justify-between border-b border-border bg-background/80 px-3 backdrop-blur md:hidden\"><div class=\"flex items-center gap-2\"><button data-slot=\"button\" data-variant=\"ghost\" data-size=\"icon-sm\" class=\"inline-flex cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-md text-label transition-all disabled:pointer-events-none disabled:not-has-[.animate-spin]:text-disabled-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 relative\" aria-label=\"Open menu\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-menu inline shrink-0 align-[-0.125em] text-base\" aria-hidden=\"true\"><path d=\"M4 5h16\"></path><path d=\"M4 12h16\"></path><path d=\"M4 19h16\"></path></svg></button><a class=\"flex items-center\" href=\"/\"><svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 288.928 39\" class=\"shrink-0 h-4 w-auto text-foreground\" aria-label=\"Hashnode\"><path fill=\"currentColor\" d=\"M2.68 13.032c-3.573 3.505-3.573 9.363 0 12.936L13.032 36.32c3.505 3.573 9.363 3.573 12.936 0L36.32 25.968c3.573-3.573 3.573-9.431 0-12.936L25.968 2.68c-3.573-3.573-9.431-3.573-12.936 0zm12.211 1.935c2.507-2.521 6.582-2.544 9.104-.038s2.544 6.582.038 9.104-6.582 2.544-9.104.038-2.544-6.582-.038-9.104\"></path><path fill=\"currentColor\" d=\"M52.27 38.671Q50.574 38.671 49.35 37.446Q48.126 36.22 48.126 34.486V4.112Q48.126 2.419 49.328 1.21Q50.531 0 52.197 0Q53.874 0 55.076 1.21Q56.279 2.419 56.279 4.112V14.997H56.443Q57.619 12.784 59.973 11.471Q62.326 10.157 65.136 10.157Q69.62 10.157 72.246 12.913Q74.873 15.668 74.873 20.273V34.486Q74.873 36.22 73.655 37.446Q72.436 38.671 70.741 38.671H70.741Q69.046 38.671 67.821 37.446Q66.597 36.22 66.597 34.486V22.213Q66.597 19.689 65.351 18.295Q64.105 16.902 61.808 16.902Q59.535 16.902 57.968 18.697Q56.402 20.492 56.402 23.066V34.486Q56.402 36.22 55.183 37.446Q53.965 38.671 52.27 38.671ZM87.313 39.102Q83.061 39.102 80.505 36.812Q77.95 34.522 77.95 30.665Q77.95 26.199 81.103 23.764Q84.257 21.328 89.347 21.328Q91.548 21.328 93.353 21.616Q95.158 21.903 96.544 22.36V20.968Q96.544 18.6 95.047 17.344Q93.549 16.089 90.935 16.089Q88.661 16.089 86.964 16.811Q85.268 17.533 84.022 18.629Q82.879 19.28 81.81 19.129Q80.74 18.978 80.01 18.111Q79.219 17.182 79.395 16.015Q79.571 14.849 80.775 13.955Q82.709 12.264 85.729 11.24Q88.749 10.216 92.181 10.216Q98.209 10.216 101.566 12.95Q104.923 15.684 104.923 20.965V34.293Q104.923 36.204 103.755 37.436Q102.587 38.668 100.621 38.668Q98.924 38.668 97.755 37.716Q96.585 36.764 96.585 35.752V32.441L98.156 34.273H96.45Q95.422 36.28 93.035 37.691Q90.648 39.102 87.313 39.102ZM90.566 33.115Q93.315 33.115 94.93 31.42Q96.544 29.724 96.544 27.181V27.043Q95.63 26.454 94.25 26.149Q92.869 25.844 91.343 25.844Q88.983 25.844 87.458 26.825Q85.933 27.805 85.933 29.604Q85.933 31.324 87.199 32.22Q88.465 33.115 90.566 33.115ZM120.298 39.101Q116.27 39.101 113.379 37.805Q110.488 36.509 109.071 34.646Q108.095 33.599 108.175 32.285Q108.255 30.971 109.326 30.099Q110.309 29.332 111.509 29.41Q112.709 29.488 113.701 30.373Q114.633 31.407 116.376 32.231Q118.119 33.056 120.572 33.056Q122.531 33.056 123.584 32.402Q124.636 31.748 124.636 30.486Q124.636 29.456 123.585 28.787Q122.534 28.118 118.64 27.096Q113.912 25.863 111.498 23.855Q109.084 21.847 109.084 18.644Q109.084 14.66 112.312 12.403Q115.54 10.145 120.507 10.145Q123.641 10.145 126.168 11.096Q128.694 12.046 129.917 13.485Q130.963 14.494 130.969 15.856Q130.975 17.218 129.914 18.122Q129.042 18.84 127.974 18.804Q126.906 18.769 125.883 18.012Q124.941 17.205 123.464 16.656Q121.987 16.106 120.416 16.106Q118.825 16.106 117.769 16.712Q116.714 17.318 116.714 18.398Q116.714 19.38 117.749 20.005Q118.784 20.629 122.625 21.617Q127.763 22.956 130.051 24.963Q132.339 26.97 132.339 30.161Q132.339 34.167 129.054 36.634Q125.769 39.101 120.298 39.101ZM139.649 38.671Q137.954 38.671 136.73 37.446Q135.506 36.22 135.506 34.486V4.112Q135.506 2.419 136.708 1.21Q137.91 0 139.576 0Q141.254 0 142.456 1.21Q143.658 2.419 143.658 4.112V14.997H143.823Q144.999 12.784 147.352 11.471Q149.706 10.157 152.516 10.157Q157 10.157 159.626 12.913Q162.253 15.668 162.253 20.273V34.486Q162.253 36.22 161.034 37.446Q159.816 38.671 158.121 38.671H158.121Q156.425 38.671 155.201 37.446Q153.977 36.22 153.977 34.486V22.213Q153.977 19.689 152.731 18.295Q151.484 16.902 149.187 16.902Q146.914 16.902 145.348 18.697Q143.782 20.492 143.782 23.066V34.486Q143.782 36.22 142.563 37.446Q141.345 38.671 139.649 38.671ZM166.971 34.486V14.598Q166.971 12.953 168.145 11.771Q169.32 10.589 170.94 10.589Q172.561 10.589 173.735 11.713Q174.91 12.836 174.91 14.364V16.062L174.064 14.985H175.055Q176.376 12.717 178.845 11.431Q181.313 10.145 183.971 10.145Q188.478 10.145 191.098 12.881Q193.718 15.617 193.718 20.284V34.486Q193.718 36.22 192.499 37.446Q191.281 38.671 189.586 38.671H189.586Q187.89 38.671 186.666 37.446Q185.442 36.22 185.442 34.486V22.213Q185.442 19.665 184.202 18.313Q182.961 16.96 180.567 16.96Q178.272 16.96 176.76 18.679Q175.247 20.398 175.247 22.949V34.486Q175.247 36.22 174.028 37.446Q172.81 38.671 171.115 38.671Q169.419 38.671 168.195 37.446Q166.971 36.22 166.971 34.486ZM211.661 39.102Q205.178 39.102 200.996 35.003Q196.814 30.904 196.814 24.636Q196.814 18.287 201.002 14.216Q205.189 10.145 211.661 10.145Q218.119 10.145 222.315 14.234Q226.51 18.323 226.51 24.636Q226.51 30.904 222.332 35.003Q218.154 39.102 211.661 39.102ZM211.668 32.102Q214.569 32.102 216.527 29.999Q218.485 27.896 218.485 24.626Q218.485 21.305 216.515 19.225Q214.545 17.145 211.668 17.145Q208.753 17.145 206.792 19.231Q204.83 21.317 204.83 24.623Q204.83 27.896 206.78 29.999Q208.729 32.102 211.668 32.102ZM240.823 39.101Q235.358 39.101 231.805 35.176Q228.253 31.251 228.253 24.687Q228.253 18.226 231.895 14.198Q235.538 10.17 241.166 10.17Q243.813 10.17 246.014 11.249Q248.215 12.327 249.323 14.089L249.421 14.135V4.125Q249.421 2.428 250.628 1.214Q251.835 0 253.518 0Q255.189 0 256.395 1.214Q257.602 2.428 257.602 4.125V34.593Q257.602 36.182 256.437 37.413Q255.272 38.643 253.548 38.643Q251.996 38.643 250.86 37.672Q249.725 36.701 249.725 35.455V33.436L250.597 34.785L249.644 34.784Q248.428 36.762 246.073 37.931Q243.719 39.101 240.823 39.101ZM242.971 32.186Q245.817 32.186 247.708 30.056Q249.599 27.927 249.599 24.628Q249.599 21.301 247.692 19.21Q245.786 17.12 242.971 17.12Q240.143 17.12 238.236 19.199Q236.329 21.279 236.329 24.641Q236.329 27.973 238.23 30.08Q240.13 32.186 242.971 32.186ZM275.603 39.099Q268.786 39.099 264.9 35.084Q261.015 31.069 261.015 24.725Q261.015 18.404 264.984 14.31Q268.954 10.216 275.465 10.216Q281.314 10.216 285.118 14.103Q288.922 17.991 288.928 23.462Q288.928 23.462 288.928 23.462Q288.928 23.462 288.928 23.462Q288.928 25.074 287.946 26.174Q286.964 27.274 284.582 27.274H264.883V21.235H281.147Q280.766 19.063 279.333 17.818Q277.9 16.572 275.45 16.572Q272.593 16.572 270.798 18.65Q269.003 20.728 269.003 24.397Q269.003 28.45 270.974 30.757Q272.945 33.065 276.586 33.065Q278.53 33.065 280.054 32.325Q281.578 31.585 282.56 30.524Q283.459 29.472 284.599 29.442Q285.739 29.411 286.704 30.243Q287.694 31.09 287.725 32.281Q287.756 33.472 286.844 34.513Q285.197 36.415 282.298 37.757Q279.398 39.099 275.603 39.099Z\"></path></svg></a></div><div class=\"flex items-center gap-1\"><button data-slot=\"button\" data-variant=\"ghost\" data-size=\"icon-sm\" class=\"inline-flex cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-md text-label transition-all disabled:pointer-events-none disabled:not-has-[.animate-spin]:text-disabled-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8\" aria-label=\"Search\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-search inline shrink-0 align-[-0.125em] text-base\" aria-hidden=\"true\"><path d=\"m21 21-4.34-4.34\"></path><circle cx=\"11\" cy=\"11\" r=\"8\"></circle></svg></button></div></header><main data-scroll-container=\"true\" class=\"flex flex-1 min-h-0 flex-col overflow-y-auto\"><div class=\"mx-auto flex w-full max-w-[160rem] flex-1 flex-col\"><!--$?--><template id=\"B:1\"></template><div class=\"flex flex-1 items-center justify-center\" role=\"status\" aria-label=\"Loading\"><div class=\"flex flex-col items-center gap-5\"><div class=\"pageloader-mark size-18\" aria-hidden=\"true\" style=\"background-color:var(--foreground);-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2039%2039%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M2.68%2013.032c-3.573%203.505-3.573%209.363%200%2012.936L13.032%2036.32c3.505%203.573%209.363%203.573%2012.936%200L36.32%2025.968c3.573-3.573%203.573-9.431%200-12.936L25.968%202.68c-3.573-3.573-9.431-3.573-12.936%200zm12.211%201.935c2.507-2.521%206.582-2.544%209.104-.038s2.544%206.582.038%209.104-6.582%202.544-9.104.038-2.544-6.582-.038-9.104%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2039%2039%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M2.68%2013.032c-3.573%203.505-3.573%209.363%200%2012.936L13.032%2036.32c3.505%203.573%209.363%203.573%2012.936%200L36.32%2025.968c3.573-3.573%203.573-9.431%200-12.936L25.968%202.68c-3.573-3.573-9.431-3.573-12.936%200zm12.211%201.935c2.507-2.521%206.582-2.544%209.104-.038s2.544%206.582.038%209.104-6.582%202.544-9.104.038-2.544-6.582-.038-9.104%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain\"></div></div><style>\n .pageloader-mark {\n opacity: 0.15;\n animation: pageloader-breathe 2.2s ease-in-out infinite;\n }\n @keyframes pageloader-breathe {\n 0%, 100% { opacity: 0.15; }\n 50% { opacity: 0.75; }\n }\n @media (prefers-reduced-motion: reduce) {\n .pageloader-mark {\n animation: none;\n opacity: 0.5;\n }\n }\n </style></div><!--/$--></div></main></main><div data-slot=\"dialog-header\" class=\"flex flex-col gap-1.5 text-left sr-only\"><h2 id=\"radix-_R_etbH1_\" data-slot=\"dialog-title\" class=\"text-title-3\">Search Hashnode</h2><p id=\"radix-_R_etbH2_\" data-slot=\"dialog-description\" class=\"text-muted-foreground text-small\">Search posts, tags, users, and pages</p></div><section aria-label=\"Notifications alt+T\" tabindex=\"-1\" aria-live=\"polite\" aria-relevant=\"additions text\" aria-atomic=\"false\"></section><!--$--><!--/$--></div><script>requestAnimationFrame(function(){$RT=performance.now()});</script><script id=\"_R_\">(globalThis[\"TURBOPACK\"] || (globalThis[\"TURBOPACK\"] = [])).push({\"otherChunks\":[\"static/immutable/chunks/2o526-zkccdyi.js\",\"static/immutable/chunks/16-26fxdyuc-e.js\",\"static/immutable/chunks/35dix6zoru1ax.js\",\"static/immutable/chunks/0wonrx_tvdtym.js\"],\"runtimeModuleIds\":[494553]});</script><script src=\"/_next/static/immutable/chunks/2o526-zkccdyi.js\" async=\"\"></script><div hidden id=\"S:1\"><template id=\"P:2\"></template><!--$?--><template id=\"B:3\"></template><!--/$--></div><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,\"1:\\\"/_next/static/immutable/chunks/0pv18yg2ifn_g.js\\\"\\n2:\\\"/_next/static/immutable/chunks/3f3_km70y6um0.js\\\"\\n3:\\\"/_next/static/immutable/chunks/42t_pvfltys4o.js\\\"\\n4:\\\"/_next/static/immutable/chunks/20cwg369q8kei.js\\\"\\n5:\\\"/_next/static/immutable/chunks/35dfx5mkh_962.js\\\"\\n6:\\\"/_next/static/immutable/chunks/3nanl9cu-bqqa.js\\\"\\n7:\\\"/_next/static/immutable/chunks/3ypv61swv9ep_.js\\\"\\n8:\\\"/_next/static/immutable/chunks/1c7vv6hmkk8s9.js\\\"\\n9:\\\"/_next/static/immutable/chunks/2snnkc74-ihbv.js\\\"\\na:\\\"/_next/static/immutable/chunks/3c6z6u90f0z8s.js\\\"\\nb:\\\"/_next/static/immutable/chunks/3bg3av-v0487q.js\\\"\\nc:\\\"/_next/static/immutable/chunks/3ui7dko43ach4.js\\\"\\nd:\\\"LoadingBoundaryProvider\\\"\\ne:I[339756,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"$d\\\"]\\nf:\\\"$Sreact.fragment\\\"\\n1a:\\\"/_next/static/immutable/chunks/19wtdlk85z-p8.js\\\"\\n1b:I[563491,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\",\\\"$1a\\\"],\\\"default\\\"]\\n:HL[\\\"/_next/static/immutable/chunks/44ql4mjh8-fx8.css\\\",\\\"style\\\"]\\n:HL[\\\"/_next/static/immutable/chunks/3v-jwjwfe_rq8.css\\\",\\\"style\\\"]\\n:HL[\\\"/_next/static/immutable/chunks/1_2pu7o5n753v.css\\\",\\\"style\\\"]\\n:HL[\\\"/_next/static/immutable/chunks/24_kmbjsofimg.css\\\",\\\"style\\\"]\\n:HC[\\\"/\\\",\\\"\\\"]\\n16:X\\n17:[[\\\"children\\\",{\\\"s\\\":\\\"__PAGE__\\\",\\\"d\\\":{\\\"r\\\":\\\"$L18\\\",\\\"p\\\":false,\\\"v\\\":null}}]]\\n14:[[\\\"children\\\",{\\\"s\\\":{\\\"n\\\":\\\"slug\\\",\\\"t\\\":\\\"d\\\",\\\"k\\\":\\\"2026-05-13-graphql-api-paid-access\\\",\\\"s\\\":[]},\\\"d\\\":{\\\"r\\\":\\\"$L15\\\",\\\"p\\\":false,\\\"v\\\":\\\"$16\\\"},\\\"c\\\":\\\"$Q17\\\"}]]\\n12:[[\\\"children\\\",{\\\"s\\\":\\\"changelog\\\",\\\"d\\\":{\\\"r\\\":\\\"$L13\\\",\\\"p\\\":false,\\\"v\\\":null},\\\"c\\\":\\\"$Q14\\\"}]]\\n0:{\\\"P\\\":null,\\\"c\\\":[\\\"\\\",\\\"changelog\\\",\\\"2026-05-13-graphql-api-paid-access\\\"],\\\"q\\\":\\\"\\\",\\\"i\\\":false,\\\"t\\\":{\\\"t\\\":{\\\"s\\\":\\\"\\\",\\\"h\\\":20,\\\"d\\\":{\\\"r\\\":[\\\"$\\\",\\\"$Le\\\",null,{\\\"loading\\\":[[\\\"$\\\",\\\"div\\\",\\\"l\\\",{\\\"className\\\":\\\"flex flex-1 items-center justify-center\\\",\\\"role\\\":\\\"status\\\",\\\"aria-label\\\":\\\"Loading\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex flex-col items-center gap-5\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"pageloader-mark size-18\\\",\\\"aria-hidden\\\":\\\"true\\\",\\\"style\\\":{\\\"backgroundColor\\\":\\\"var(--foreground)\\\",\\\"WebkitMaskImage\\\":\\\"url(\\\\\\\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2039%2039%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M2.68%2013.032c-3.573%203.505-3.573%209.363%200%2012.936L13.032%2036.32c3.505%203.573%209.363%203.573%2012.936%200L36.32%2025.968c3.573-3.573%203.573-9.431%200-12.936L25.968%202.68c-3.573-3.573-9.431-3.573-12.936%200zm12.211%201.935c2.507-2.521%206.582-2.544%209.104-.038s2.544%206.582.038%209.104-6.582%202.544-9.104.038-2.544-6.582-.038-9.104%22%2F%3E%3C%2Fsvg%3E\\\\\\\")\\\",\\\"maskImage\\\":\\\"url(\\\\\\\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2039%2039%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M2.68%2013.032c-3.573%203.505-3.573%209.363%200%2012.936L13.032%2036.32c3.505%203.573%209.363%203.573%2012.936%200L36.32%2025.968c3.573-3.573%203.573-9.431%200-12.936L25.968%202.68c-3.573-3.573-9.431-3.573-12.936%200zm12.211%201.935c2.507-2.521%206.582-2.544%209.104-.038s2.544%206.582.038%209.104-6.582%202.544-9.104.038-2.544-6.582-.038-9.104%22%2F%3E%3C%2Fsvg%3E\\\\\\\")\\\",\\\"WebkitMaskRepeat\\\":\\\"no-repeat\\\",\\\"maskRepeat\\\":\\\"no-repeat\\\",\\\"WebkitMaskSize\\\":\\\"contain\\\",\\\"maskSize\\\":\\\"contain\\\"}}],\\\"$undefined\\\"]}],[\\\"$\\\",\\\"style\\\",null,{\\\"children\\\":\\\"\\\\n .pageloader-mark {\\\\n opacity: 0.15;\\\\n animation: pageloader-breathe 2.2s ease-in-out infinite;\\\\n }\\\\n @keyframes pageloader-breathe {\\\\n 0%, 100% { opacity: 0.15; }\\\\n 50% { opacity: 0.75; }\\\\n }\\\\n @media (prefers-reduced-motion: reduce) {\\\\n .pageloader-mark {\\\\n animation: none;\\\\n opacity: 0.5;\\\\n }\\\\n }\\\\n \\\"}]]}],[],null],\\\"children\\\":[\\\"$\\\",\\\"$f\\\",\\\"c\\\",{\\\"children\\\":[[[\\\"$\\\",\\\"link\\\",\\\"0\\\",{\\\"rel\\\":\\\"stylesheet\\\",\\\"href\\\":\\\"/_next/static/immutable/chunks/44ql4mjh8-fx8.css\\\",\\\"precedence\\\":\\\"next\\\",\\\"crossOrigin\\\":\\\"$undefined\\\",\\\"nonce\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"link\\\",\\\"1\\\",{\\\"rel\\\":\\\"stylesheet\\\",\\\"href\\\":\\\"/_next/static/immutable/chunks/3v-jwjwfe_rq8.css\\\",\\\"precedence\\\":\\\"next\\\",\\\"crossOrigin\\\":\\\"$undefined\\\",\\\"nonce\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"link\\\",\\\"2\\\",{\\\"rel\\\":\\\"stylesheet\\\",\\\"href\\\":\\\"/_next/static/immutable/chunks/1_2pu7o5n753v.css\\\",\\\"precedence\\\":\\\"next\\\",\\\"crossOrigin\\\":\\\"$undefined\\\",\\\"nonce\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"link\\\",\\\"3\\\",{\\\"rel\\\":\\\"stylesheet\\\",\\\"href\\\":\\\"/_next/static/immutable/chunks/24_kmbjsofimg.css\\\",\\\"precedence\\\":\\\"next\\\",\\\"crossOrigin\\\":\\\"$undefined\\\",\\\"nonce\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"script\\\",\\\"script-0\\\",{\\\"src\\\":\\\"/_next/static/immutable/chunks/0pv18yg2ifn_g.js\\\",\\\"async\\\":true,\\\"nonce\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"script\\\",\\\"script-1\\\",{\\\"src\\\":\\\"/_next/static/immutable/chunks/3f3_km70y6um0.js\\\",\\\"async\\\":true,\\\"nonce\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"script\\\",\\\"script-2\\\",{\\\"src\\\":\\\"/_next/static/immutable/chunks/42t_pvfltys4o.js\\\",\\\"async\\\":true,\\\"nonce\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"script\\\",\\\"script-3\\\",{\\\"src\\\":\\\"/_next/static/immutable/chunks/20cwg369q8kei.js\\\",\\\"async\\\":true,\\\"nonce\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"script\\\",\\\"script-4\\\",{\\\"src\\\":\\\"/_next/static/immutable/chunks/35dfx5mkh_962.js\\\",\\\"async\\\":true,\\\"nonce\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"script\\\",\\\"script-5\\\",{\\\"src\\\":\\\"/_next/static/immutable/chunks/3nanl9cu-bqqa.js\\\",\\\"async\\\":true,\\\"nonce\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"script\\\",\\\"script-6\\\",{\\\"src\\\":\\\"/_next/static/immutable/chunks/3ypv61swv9ep_.js\\\",\\\"async\\\":true,\\\"nonce\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"script\\\",\\\"script-7\\\",{\\\"src\\\":\\\"/_next/static/immutable/chunks/1c7vv6hmkk8s9.js\\\",\\\"async\\\":true,\\\"nonce\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"script\\\",\\\"script-8\\\",{\\\"src\\\":\\\"/_next/static/immutable/chunks/2snnkc74-ihbv.js\\\",\\\"async\\\":true,\\\"nonce\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"script\\\",\\\"script-9\\\",{\\\"src\\\":\\\"/_next/static/immutable/chunks/3c6z6u90f0z8s.js\\\",\\\"async\\\":true,\\\"nonce\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"script\\\",\\\"script-10\\\",{\\\"src\\\":\\\"/_next/static/immutable/chunks/3bg3av-v0487q.js\\\",\\\"async\\\":true,\\\"nonce\\\":\\\"$undefined\\\"}],\\\"$L10\\\"],\\\"$L11\\\"]}]}],\\\"p\\\":false,\\\"v\\\":null},\\\"c\\\":\\\"$Q12\\\"},\\\"h\\\":{\\\"r\\\":\\\"$L19\\\",\\\"p\\\":false,\\\"v\\\":null}},\\\"m\\\":\\\"$undefined\\\",\\\"G\\\":[\\\"$1b\\\",[\\\"$L1c\\\",\\\"$L1d\\\",\\\"$L1e\\\",\\\"$L1f\\\"]],\\\"S\\\":false,\\\"r\\\":\\\"$undefined\\\",\\\"s\\\":\\\"$undefined\\\",\\\"a\\\":\\\"$undefined\\\",\\\"l\\\":\\\"$undefined\\\",\\\"p\\\":\\\"$undefined\\\",\\\"d\\\":\\\"$undefined\\\"}\\n20:I[339756,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"default\\\"]\\n21:I[837457,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"default\\\"]\\n23:I[897367,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"OutletBoundary\\\"]\\n24:\\\"$Sreact.suspense\\\"\\n26:\\\"ViewportBoundary\\\"\\n27:I[897367,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"$26\\\"]\\n29:\\\"MetadataBoundary\\\"\\n2a:I[897367,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"$29\\\"]\\n10:[\\\"$\\\",\\\"script\\\",\\\"script-11\\\",{\\\"src\\\":\\\"/_next/static/immutable/chunks/3ui7dko43ach4.js\\\",\\\"async\\\":true,\\\"nonce\\\":\\\"$undefined\\\"}]\\n13:[\\\"$\\\",\\\"$f\\\",\\\"c\\\",{\\\"children\\\":[null,[\\\"$\\\",\\\"$L20\\\",null,{\\\"parallelRouterKey\\\":\\\"children\\\",\\\"error\\\":\\\"$undefined\\\",\\\"errorStyles\\\":\\\"$undefined\\\",\\\"errorScripts\\\":\\\"$undefined\\\",\\\"template\\\":[\\\"$\\\",\\\"$L21\\\",null,{}],\\\"templateStyles\\\":\\\"$undefined\\\",\\\"templateScripts\\\":\\\"$undefined\\\",\\\"notFound\\\":\\\"$undefined\\\",\\\"forbidden\\\":\\\"$undefined\\\",\\\"unauthorized\\\":\\\"$undefined\\\"}]]}]\\n15:[\\\"$\\\",\\\"$f\\\",\\\"c\\\",{\\\"children\\\":[null,[\\\"$\\\",\\\"$L20\\\",null,{\\\"parallelRouterKey\\\":\\\"children\\\",\\\"error\\\":\\\"$undefined\\\",\\\"errorStyles\\\":\\\"$undefined\\\",\\\"errorScripts\\\":\\\"$undefined\\\",\\\"template\\\":[\\\"$\\\",\\\"$L21\\\",null,{}],\\\"templateStyles\\\":\\\"$undefined\\\",\\\"templateScripts\\\":\\\"$undefined\\\",\\\"notFound\\\":\\\"$undefined\\\",\\\"forbidden\\\":\\\"$undefined\\\",\\\"unauthorized\\\":\\\"$undefined\\\"}]]}]\\n18:[\\\"$\\\",\\\"$f\\\",\\\"c\\\",{\\\"children\\\":[\\\"$L22\\\",[[\\\"$\\\",\\\"script\\\",\\\"script-0\\\",{\\\"src\\\":\\\"/_next/static/immutable/chunks/2zvraqg-fdod5.js\\\",\\\"async\\\":true,\\\"nonce\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"script\\\",\\\"script-1\\\",{\\\"src\\\":\\\"/_next/static/immutable/chunks/0632yke-cnhbo.js\\\",\\\"async\\\":true,\\\"nonce\\\":\\\"$undefined\\\"}]],[\\\"$\\\",\\\"$L23\\\",null,{\\\"children\\\":[\\\"$\\\",\\\"$24\\\",null,{\\\"name\\\":\\\"Next.MetadataOutlet\\\",\\\"children\\\":\\\"$@25\\\"}]}]]}]\\n19:[\\\"$\\\",\\\"$f\\\",\\\"h\\\",{\\\"children\\\":[null,[\\\"$\\\",\\\"$L27\\\",null,{\\\"children\\\":\\\"$L28\\\"}],[\\\"$\\\",\\\"$L2a\\\",null,{\\\"children\\\":[[\\\"$\\\",\\\"div\\\",null,{\\\"hidden\\\":true,\\\"children\\\":[\\\"$\\\",\\\"$24\\\",null,{\\\"name\\\":\\\"Next.Metadata\\\",\\\"children\\\":\\\"$L2b\\\"}]}],null]}],[\\\"$\\\",\\\"meta\\\",null,{\\\"name\\\":\\\"next-size-adjust\\\",\\\"content\\\":\\\"\\\"}]]}]\\n1c:[\\\"$\\\",\\\"link\\\",\\\"0\\\",{\\\"rel\\\":\\\"stylesheet\\\",\\\"href\\\":\\\"/_next/static/immutable/chunks/44ql4mjh8-fx8.css\\\",\\\"precedence\\\":\\\"next\\\",\\\"crossOrigin\\\":\\\"$undefined\\\",\\\"nonce\\\":\\\"$undefined\\\"}]\\n1d:[\\\"$\\\",\\\"link\\\",\\\"1\\\",{\\\"rel\\\":\\\"stylesheet\\\",\\\"href\\\":\\\"/_next/static/immutable/chunks/3v-jwjwfe_rq8.css\\\",\\\"precedence\\\":\\\"next\\\",\\\"crossOrigin\\\":\\\"$undefined\\\",\\\"nonce\\\":\\\"$undefined\\\"}]\\n1e:[\\\"$\\\",\\\"link\\\",\\\"2\\\",{\\\"rel\\\":\\\"stylesheet\\\",\\\"href\\\":\\\"/_next/static/immutable/chunks/1_2pu7o5n753v.css\\\",\\\"precedence\\\":\\\"next\\\",\\\"crossOrigin\\\":\\\"$undefined\\\",\\\"nonce\\\":\\\"$undefined\\\"}]\\n1f:[\\\"$\\\",\\\"link\\\",\\\"3\\\",{\\\"rel\\\":\\\"stylesheet\\\",\\\"href\\\":\\\"/_next/static/immutable/chunks/24_kmbjsofimg.css\\\",\\\"precedence\\\":\\\"next\\\",\\\"crossOrigin\\\":\\\"$undefined\\\",\\\"nonce\\\":\\\"$undefined\\\"}]\\n16:C\\n28:[[\\\"$\\\",\\\"meta\\\",\\\"0\\\",{\\\"charSet\\\":\\\"utf-8\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"1\\\",{\\\"name\\\":\\\"viewport\\\",\\\"content\\\":\\\"width=device-width, initial-scale=1\\\"}]]\\n2c:I[479520,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"\\\"]\\n2d:I[67181,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"SessionProvider\\\"]\\n2e:I[740264,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"QueryProvider\\\"]\\n2f:I[427423,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"ThemeProvider\\\"]\\n30:I[530909,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"SidebarProvider\\\"]\\n31:I[570754,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"SidebarSwitcher\\\"]\\n32:I[530909,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"SidebarInset\\\"]\\n33:I[81026,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"MobileHeader\\\"]\\n34:\\\"/_next/static/immutable/chunks/3r7fmuafp30v4.js\\\"\\n35:I[758298,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\",\\\"$34\\\"],\\\"default\\\"]\\n11:[\\\"$\\\",\\\"html\\\",null,{\\\"lang\\\":\\\"en\\\",\\\"className\\\":\\\"YQbTPW_variable\\\",\\\"data-scroll-behavior\\\":\\\"smooth\\\",\\\"suppressHydrationWarning\\\":true,\\\"children\\\":[[\\\"$\\\",\\\"head\\\",null,{\\\"children\\\":[[\\\"$\\\",\\\"meta\\\",null,{\\\"name\\\":\\\"apple-mobile-web-app-title\\\",\\\"content\\\":\\\"Hashnode\\\"}],[\\\"$\\\",\\\"noscript\\\",null,{\\\"dangerouslySetInnerHTML\\\":{\\\"__html\\\":\\\"\\u003cstyle\\u003e[data-reveal]{opacity:1!important;transform:none!important}\\u003c/style\\u003e\\\"}}],[[\\\"$\\\",\\\"$L2c\\\",null,{\\\"src\\\":\\\"https://ping.hashnode.com/gtag/js?id=G-72XG3F8LNJ\\\",\\\"strategy\\\":\\\"afterInteractive\\\"}],[\\\"$\\\",\\\"$L2c\\\",null,{\\\"id\\\":\\\"google-analytics\\\",\\\"strategy\\\":\\\"afterInteractive\\\",\\\"dangerouslySetInnerHTML\\\":{\\\"__html\\\":\\\"\\\\n window.dataLayer = window.dataLayer || [];\\\\n function gtag(){dataLayer.push(arguments);}\\\\n gtag('js', new Date());\\\\n gtag('config', 'G-72XG3F8LNJ', {\\\\n transport_url: 'https://ping.hashnode.com',\\\\n first_party_collection: true,\\\\n });\\\\n \\\"}}]],[\\\"$\\\",\\\"$L2c\\\",null,{\\\"id\\\":\\\"register-sw\\\",\\\"strategy\\\":\\\"afterInteractive\\\",\\\"dangerouslySetInnerHTML\\\":{\\\"__html\\\":\\\"\\\\n if ('serviceWorker' in navigator) {\\\\n navigator.serviceWorker.register('/sw.js');\\\\n }\\\\n \\\"}}]]}],[\\\"$\\\",\\\"body\\\",null,{\\\"className\\\":\\\"antialiased bg-background h-svh overflow-hidden\\\",\\\"suppressHydrationWarning\\\":true,\\\"children\\\":[[\\\"$\\\",\\\"script\\\",null,{\\\"type\\\":\\\"application/ld+json\\\",\\\"dangerouslySetInnerHTML\\\":{\\\"__html\\\":\\\"{\\\\\\\"@context\\\\\\\":\\\\\\\"https://schema.org\\\\\\\",\\\\\\\"@type\\\\\\\":\\\\\\\"WebSite\\\\\\\",\\\\\\\"name\\\\\\\":\\\\\\\"Hashnode\\\\\\\",\\\\\\\"description\\\\\\\":\\\\\\\"Hashnode is a blogging platform where developers, engineers, and tech leaders write to sharpen ideas, share knowledge, and build their reputation. Start for free.\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://hashnode.com\\\\\\\",\\\\\\\"potentialAction\\\\\\\":{\\\\\\\"@type\\\\\\\":\\\\\\\"SearchAction\\\\\\\",\\\\\\\"target\\\\\\\":\\\\\\\"https://hashnode.com/search?q={search_term_string}\\\\\\\",\\\\\\\"query-input\\\\\\\":\\\\\\\"required name=search_term_string\\\\\\\"},\\\\\\\"publisher\\\\\\\":{\\\\\\\"@type\\\\\\\":\\\\\\\"Organization\\\\\\\",\\\\\\\"name\\\\\\\":\\\\\\\"Hashnode\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://hashnode.com\\\\\\\",\\\\\\\"logo\\\\\\\":{\\\\\\\"@type\\\\\\\":\\\\\\\"ImageObject\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://hashnode.com/web-app-manifest-192x192.png\\\\\\\",\\\\\\\"width\\\\\\\":192,\\\\\\\"height\\\\\\\":192}}}\\\"}}],[\\\"$\\\",\\\"script\\\",null,{\\\"type\\\":\\\"application/ld+json\\\",\\\"dangerouslySetInnerHTML\\\":{\\\"__html\\\":\\\"{\\\\\\\"@context\\\\\\\":\\\\\\\"https://schema.org\\\\\\\",\\\\\\\"@type\\\\\\\":\\\\\\\"Organization\\\\\\\",\\\\\\\"name\\\\\\\":\\\\\\\"Hashnode\\\\\\\",\\\\\\\"legalName\\\\\\\":\\\\\\\"LinearBytes Inc.\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://hashnode.com\\\\\\\",\\\\\\\"logo\\\\\\\":{\\\\\\\"@type\\\\\\\":\\\\\\\"ImageObject\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://hashnode.com/web-app-manifest-192x192.png\\\\\\\",\\\\\\\"width\\\\\\\":192,\\\\\\\"height\\\\\\\":192},\\\\\\\"description\\\\\\\":\\\\\\\"Hashnode is a blogging platform where developers, engineers, and tech leaders write to sharpen ideas, share knowledge, and build their reputation. Start for free.\\\\\\\",\\\\\\\"founder\\\\\\\":[{\\\\\\\"@type\\\\\\\":\\\\\\\"Person\\\\\\\",\\\\\\\"name\\\\\\\":\\\\\\\"Syed Fazle Rahman\\\\\\\",\\\\\\\"sameAs\\\\\\\":\\\\\\\"https://x.com/fazlerocks\\\\\\\"},{\\\\\\\"@type\\\\\\\":\\\\\\\"Person\\\\\\\",\\\\\\\"name\\\\\\\":\\\\\\\"Sandeep Panda\\\\\\\",\\\\\\\"sameAs\\\\\\\":\\\\\\\"https://x.com/sandeepg33k\\\\\\\"}],\\\\\\\"sameAs\\\\\\\":[\\\\\\\"https://x.com/hashnode\\\\\\\",\\\\\\\"https://linkedin.com/company/hashnode\\\\\\\"]}\\\"}}],[\\\"$\\\",\\\"$L2d\\\",null,{\\\"session\\\":null,\\\"children\\\":[\\\"$\\\",\\\"$L2e\\\",null,{\\\"children\\\":[\\\"$\\\",\\\"$L2f\\\",null,{\\\"attribute\\\":\\\"class\\\",\\\"defaultTheme\\\":\\\"system\\\",\\\"enableSystem\\\":true,\\\"disableTransitionOnChange\\\":true,\\\"children\\\":[\\\"$\\\",\\\"$L30\\\",null,{\\\"defaultOpen\\\":false,\\\"cookieName\\\":\\\"sidebar_state_guest\\\",\\\"className\\\":\\\"h-svh\\\",\\\"suppressHydrationWarning\\\":true,\\\"children\\\":[[\\\"$\\\",\\\"$L31\\\",null,{}],[\\\"$\\\",\\\"$L32\\\",null,{\\\"className\\\":\\\"overflow-hidden md:peer-data-[variant=tile]:[--stage-gutter:--spacing(3)] md:peer-data-[variant=tile]:[--stage-radius:1.75rem]\\\",\\\"children\\\":[[\\\"$\\\",\\\"$L33\\\",null,{}],[\\\"$\\\",\\\"main\\\",null,{\\\"data-scroll-container\\\":true,\\\"className\\\":\\\"flex flex-1 min-h-0 flex-col overflow-y-auto\\\",\\\"children\\\":[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"mx-auto flex w-full max-w-[160rem] flex-1 flex-col\\\",\\\"children\\\":[\\\"$\\\",\\\"$L20\\\",null,{\\\"parallelRouterKey\\\":\\\"children\\\",\\\"error\\\":\\\"$35\\\",\\\"errorStyles\\\":[],\\\"errorScripts\\\":[[\\\"$\\\",\\\"script\\\",\\\"script-0\\\",{\\\"src\\\":\\\"/_next/static/immutable/chunks/3r7fmuafp30v4.js\\\",\\\"async\\\":true,\\\"nonce\\\":\\\"$undefined\\\"}]],\\\"template\\\":\\\"$L36\\\",\\\"templateStyles\\\":\\\"$undefined\\\",\\\"templateScripts\\\":\\\"$undefined\\\",\\\"notFound\\\":\\\"$L37\\\",\\\"forbidden\\\":\\\"$undefined\\\",\\\"unauthorized\\\":\\\"$undefined\\\"}]}]}]]}],\\\"$L38\\\",\\\"$L39\\\",\\\"$L3a\\\",\\\"$L3b\\\"]}]}]}]}]]}]]}]\\n3c:\\\"/_next/static/immutable/chunks/2zvraqg-fdod5.js\\\"\\n3d:\\\"/_next/static/immutable/chunks/0632yke-cnhbo.js\\\"\\n3e:I[505014,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\",\\\"$3c\\\",\\\"$3d\\\"],\\\"default\\\"]\\n3f:I[522016,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\",\\\"$3c\\\",\\\"$3d\\\"],\\\"\\\"]\\n40:I[446650,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"default\\\"]\\n41:I[945896,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"default\\\"]\\n42:I[713354,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"Toaster\\\"]\\n43:I[197287,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"Analytics\\\"]\\n36:[\\\"$\\\",\\\"$L21\\\",null,{}]\\n37:[[\\\"$\\\",\\\"main\\\",null,{\\\"className\\\":\\\"relative flex min-h-full items-center justify-center overflow-y-auto bg-background px-4 py-8\\\",\\\"children\\\":[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex w-full max-w-100 flex-col items-center gap-3 rounded-xl border border-border bg-card px-8 py-10 text-center shadow-sm\\\",\\\"children\\\":[[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"flex size-12 shrink-0 items-center justify-center rounded-full text-xl bg-muted text-foreground\\\",\\\"children\\\":[\\\"$\\\",\\\"$L3e\\\",null,{\\\"ref\\\":\\\"$undefined\\\",\\\"icon\\\":{\\\"name\\\":\\\"circle-x\\\",\\\"size\\\":24,\\\"node\\\":[[\\\"circle\\\",{\\\"cx\\\":\\\"12\\\",\\\"cy\\\":\\\"12\\\",\\\"r\\\":\\\"10\\\",\\\"key\\\":\\\"1mglay\\\"}],[\\\"path\\\",{\\\"d\\\":\\\"m15 9-6 6\\\",\\\"key\\\":\\\"1uzhvr\\\"}],[\\\"path\\\",{\\\"d\\\":\\\"m9 9 6 6\\\",\\\"key\\\":\\\"z0biqf\\\"}]],\\\"aliases\\\":[\\\"x-circle\\\"]},\\\"className\\\":\\\"inline shrink-0 align-[-0.125em]\\\",\\\"size\\\":\\\"1em\\\",\\\"strokeWidth\\\":1.75,\\\"aria-hidden\\\":\\\"true\\\"}]}],[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex flex-col items-center gap-3 pt-1\\\",\\\"children\\\":[[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"-mb-1.5 text-caption text-muted-foreground\\\",\\\"children\\\":\\\"Page not found\\\"}],[\\\"$\\\",\\\"h1\\\",null,{\\\"className\\\":\\\"text-title-2 text-balance text-foreground\\\",\\\"children\\\":\\\"This page no longer exists\\\"}],null]}],null,[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"mt-3 flex w-full flex-col gap-2\\\",\\\"children\\\":[\\\"$\\\",\\\"$L3f\\\",null,{\\\"href\\\":\\\"/\\\",\\\"children\\\":\\\"Go to homepage\\\",\\\"data-slot\\\":\\\"button\\\",\\\"data-variant\\\":\\\"default\\\",\\\"data-size\\\":\\\"lg\\\",\\\"className\\\":\\\"inline-flex cursor-pointer items-center justify-center gap-2 whitespace-nowrap text-label transition-all disabled:pointer-events-none disabled:not-has-[.animate-spin]:text-disabled-foreground [\\u0026_svg]:pointer-events-none [\\u0026_svg:not([class*='size-'])]:size-4 shrink-0 [\\u0026_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary text-primary-foreground shadow-button hover:bg-primary/90 disabled:not-has-[.animate-spin]:bg-muted disabled:not-has-[.animate-spin]:shadow-none h-10 rounded-md px-6 has-[\\u003esvg]:px-4\\\",\\\"ref\\\":null}]}],null]}]}],[]]\\n38:[\\\"$\\\",\\\"$L40\\\",null,{}]\\n39:[\\\"$\\\",\\\"$L41\\\",null,{}]\\n3a:[\\\"$\\\",\\\"$L42\\\",null,{\\\"position\\\":\\\"bottom-right\\\"}]\\n3b:[\\\"$\\\",\\\"$24\\\",null,{\\\"fallback\\\":null,\\\"children\\\":[\\\"$\\\",\\\"$L43\\\",null,{}]}]\\n\"])</script><script>self.__next_f.push([1,\"44:I[965967,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\",\\\"$3c\\\",\\\"$3d\\\"],\\\"PageBar\\\"]\\n45:I[965967,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\",\\\"$3c\\\",\\\"$3d\\\"],\\\"BackChip\\\"]\\n46:I[120373,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\",\\\"$3c\\\",\\\"$3d\\\"],\\\"ChangelogBadge\\\"]\\n47:I[799676,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\",\\\"$3c\\\",\\\"$3d\\\"],\\\"Avatar\\\"]\\n48:I[799676,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\",\\\"$3c\\\",\\\"$3d\\\"],\\\"AvatarImage\\\"]\\n49:I[799676,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\",\\\"$3c\\\",\\\"$3d\\\"],\\\"AvatarFallback\\\"]\\n4e:I[27201,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\"],\\\"IconMark\\\"]\\n22:[\\\"$\\\",\\\"main\\\",null,{\\\"className\\\":\\\"flex flex-1 min-h-0 flex-col\\\",\\\"children\\\":[[\\\"$\\\",\\\"script\\\",null,{\\\"type\\\":\\\"application/ld+json\\\",\\\"dangerouslySetInnerHTML\\\":{\\\"__html\\\":\\\"{\\\\\\\"@context\\\\\\\":\\\\\\\"https://schema.org\\\\\\\",\\\\\\\"@type\\\\\\\":\\\\\\\"BreadcrumbList\\\\\\\",\\\\\\\"itemListElement\\\\\\\":[{\\\\\\\"@type\\\\\\\":\\\\\\\"ListItem\\\\\\\",\\\\\\\"position\\\\\\\":1,\\\\\\\"name\\\\\\\":\\\\\\\"Home\\\\\\\",\\\\\\\"item\\\\\\\":\\\\\\\"https://hashnode.com/\\\\\\\"},{\\\\\\\"@type\\\\\\\":\\\\\\\"ListItem\\\\\\\",\\\\\\\"position\\\\\\\":2,\\\\\\\"name\\\\\\\":\\\\\\\"Changelog\\\\\\\",\\\\\\\"item\\\\\\\":\\\\\\\"https://hashnode.com/changelog\\\\\\\"},{\\\\\\\"@type\\\\\\\":\\\\\\\"ListItem\\\\\\\",\\\\\\\"position\\\\\\\":3,\\\\\\\"name\\\\\\\":\\\\\\\"GraphQL API is moving to a paid offering\\\\\\\"}]}\\\"}}],[\\\"$\\\",\\\"script\\\",null,{\\\"type\\\":\\\"application/ld+json\\\",\\\"dangerouslySetInnerHTML\\\":{\\\"__html\\\":\\\"{\\\\\\\"@context\\\\\\\":\\\\\\\"https://schema.org\\\\\\\",\\\\\\\"@type\\\\\\\":\\\\\\\"TechArticle\\\\\\\",\\\\\\\"headline\\\\\\\":\\\\\\\"GraphQL API is moving to a paid offering\\\\\\\",\\\\\\\"description\\\\\\\":\\\\\\\"Free GraphQL API access is retired. Reading and publishing both require a Pro plan you can upgrade to from your blog dashboard.\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://hashnode.com/changelog/2026-05-13-graphql-api-paid-access\\\\\\\",\\\\\\\"datePublished\\\\\\\":\\\\\\\"2026-05-13T00:00:00.000Z\\\\\\\",\\\\\\\"dateModified\\\\\\\":\\\\\\\"2026-05-13T00:00:00.000Z\\\\\\\",\\\\\\\"about\\\\\\\":{\\\\\\\"@type\\\\\\\":\\\\\\\"SoftwareApplication\\\\\\\",\\\\\\\"name\\\\\\\":\\\\\\\"Hashnode\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://hashnode.com\\\\\\\"},\\\\\\\"author\\\\\\\":{\\\\\\\"@type\\\\\\\":\\\\\\\"Organization\\\\\\\",\\\\\\\"name\\\\\\\":\\\\\\\"Ipseeta Priyadarshini\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://hashnode.com\\\\\\\"},\\\\\\\"publisher\\\\\\\":{\\\\\\\"@type\\\\\\\":\\\\\\\"Organization\\\\\\\",\\\\\\\"name\\\\\\\":\\\\\\\"Hashnode\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://hashnode.com\\\\\\\",\\\\\\\"logo\\\\\\\":{\\\\\\\"@type\\\\\\\":\\\\\\\"ImageObject\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://hashnode.com/web-app-manifest-192x192.png\\\\\\\",\\\\\\\"width\\\\\\\":192,\\\\\\\"height\\\\\\\":192}},\\\\\\\"mainEntityOfPage\\\\\\\":{\\\\\\\"@type\\\\\\\":\\\\\\\"WebPage\\\\\\\",\\\\\\\"@id\\\\\\\":\\\\\\\"https://hashnode.com/changelog/2026-05-13-graphql-api-paid-access\\\\\\\"}}\\\"}}],[\\\"$\\\",\\\"$L44\\\",null,{\\\"className\\\":\\\"hidden sm:flex\\\",\\\"leading\\\":[\\\"$\\\",\\\"$L45\\\",null,{\\\"href\\\":\\\"/changelog\\\",\\\"label\\\":\\\"All updates\\\"}],\\\"title\\\":\\\"GraphQL API is moving to a paid offering\\\"}],[\\\"$\\\",\\\"section\\\",null,{\\\"className\\\":\\\"mx-auto w-full max-w-184 px-5 pb-20 sm:px-8\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"-mx-5 flex h-12 items-center border-b border-border px-5 sm:hidden\\\",\\\"children\\\":[\\\"$\\\",\\\"$L3f\\\",null,{\\\"href\\\":\\\"/changelog\\\",\\\"className\\\":\\\"inline-flex h-8 items-center gap-1.5 rounded-md bg-muted px-2.5 text-label text-foreground transition-colors hover:bg-accent hover:no-underline\\\",\\\"children\\\":[[\\\"$\\\",\\\"$L3e\\\",null,{\\\"ref\\\":\\\"$undefined\\\",\\\"icon\\\":{\\\"name\\\":\\\"arrow-left\\\",\\\"size\\\":24,\\\"node\\\":[[\\\"path\\\",{\\\"d\\\":\\\"m12 19-7-7 7-7\\\",\\\"key\\\":\\\"1l729n\\\"}],[\\\"path\\\",{\\\"d\\\":\\\"M19 12H5\\\",\\\"key\\\":\\\"x3x0zl\\\"}]]},\\\"className\\\":\\\"inline shrink-0 align-[-0.125em]\\\",\\\"size\\\":\\\"1em\\\",\\\"strokeWidth\\\":1.75,\\\"aria-hidden\\\":\\\"true\\\"}],[\\\"$\\\",\\\"span\\\",null,{\\\"children\\\":\\\"All updates\\\"}]]}]}],[\\\"$\\\",\\\"article\\\",null,{\\\"className\\\":\\\"pt-6 sm:pt-14\\\",\\\"children\\\":[[\\\"$\\\",\\\"header\\\",null,{\\\"className\\\":\\\"flex flex-col gap-5 border-b border-border pb-8\\\",\\\"children\\\":[[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"flex shrink-0 items-center justify-center size-13 rounded-2xl border border-border bg-card text-title-2 shadow-sm sm:size-16 sm:text-title-2\\\",\\\"children\\\":[\\\"$\\\",\\\"span\\\",null,{\\\"role\\\":\\\"img\\\",\\\"aria-hidden\\\":\\\"true\\\",\\\"className\\\":\\\"leading-none\\\",\\\"children\\\":\\\"🔌\\\"}]}],[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex flex-col gap-3\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex flex-wrap items-center gap-x-2.5 gap-y-1\\\",\\\"children\\\":[[\\\"$\\\",\\\"$L46\\\",null,{\\\"category\\\":\\\"deprecated\\\"}],[\\\"$\\\",\\\"time\\\",null,{\\\"dateTime\\\":\\\"2026-05-13\\\",\\\"className\\\":\\\"text-meta text-muted-foreground\\\",\\\"children\\\":\\\"May 13, 2026\\\"}]]}],[\\\"$\\\",\\\"h1\\\",null,{\\\"className\\\":\\\"text-article-title text-balance text-foreground\\\",\\\"children\\\":\\\"GraphQL API is moving to a paid offering\\\"}]]}],[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex items-center justify-between gap-3\\\",\\\"children\\\":[[\\\"$\\\",\\\"a\\\",null,{\\\"href\\\":\\\"https://hashnode.com/@ipseeta\\\",\\\"className\\\":\\\"flex min-w-0 items-center gap-2.5 text-meta text-foreground hover:underline\\\",\\\"children\\\":[[\\\"$\\\",\\\"$L47\\\",null,{\\\"className\\\":\\\"size-7\\\",\\\"children\\\":[[\\\"$\\\",\\\"$L48\\\",null,{\\\"src\\\":\\\"https://cloudmate-test.s3.us-east-1.amazonaws.com/uploads/avatars/54d750ac3adc13883c24a9be/ffef51ba-66b3-4af9-91e2-00af6fac2cc2.jpg\\\",\\\"alt\\\":\\\"\\\"}],[\\\"$\\\",\\\"$L49\\\",null,{\\\"className\\\":\\\"text-caption\\\",\\\"children\\\":\\\"I\\\"}]]}],[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"truncate\\\",\\\"children\\\":\\\"Ipseeta Priyadarshini\\\"}]]}],[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"flex shrink-0 items-center gap-1 text-small text-muted-foreground\\\",\\\"children\\\":[\\\"$L4a\\\",\\\"$L4b\\\"]}]]}]]}],\\\"$L4c\\\"]}],\\\"$L4d\\\"]}]]}]\\n25:null\\n2b:[[\\\"$\\\",\\\"title\\\",\\\"0\\\",{\\\"children\\\":\\\"GraphQL API is moving to a paid offering | Hashnode\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"1\\\",{\\\"name\\\":\\\"description\\\",\\\"content\\\":\\\"Free GraphQL API access is retired. Reading and publishing both require a Pro plan you can upgrade to from your blog dashboard.\\\"}],[\\\"$\\\",\\\"link\\\",\\\"2\\\",{\\\"rel\\\":\\\"manifest\\\",\\\"href\\\":\\\"/manifest.json\\\",\\\"crossOrigin\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"link\\\",\\\"3\\\",{\\\"rel\\\":\\\"canonical\\\",\\\"href\\\":\\\"https://hashnode.com/changelog/2026-05-13-graphql-api-paid-access\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"4\\\",{\\\"property\\\":\\\"og:title\\\",\\\"content\\\":\\\"GraphQL API is moving to a paid offering | Hashnode\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"5\\\",{\\\"property\\\":\\\"og:description\\\",\\\"content\\\":\\\"Free GraphQL API access is retired. Reading and publishing both require a Pro plan you can upgrade to from your blog dashboard.\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"6\\\",{\\\"property\\\":\\\"og:url\\\",\\\"content\\\":\\\"https://hashnode.com/changelog/2026-05-13-graphql-api-paid-access\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"7\\\",{\\\"property\\\":\\\"og:site_name\\\",\\\"content\\\":\\\"Hashnode\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"8\\\",{\\\"property\\\":\\\"og:image\\\",\\\"content\\\":\\\"https://hashnode.com/changelog/2026-05-13-graphql-api-paid-access/opengraph-image?f5676042408be5fa\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"9\\\",{\\\"property\\\":\\\"og:image:type\\\",\\\"content\\\":\\\"image/png\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"10\\\",{\\\"property\\\":\\\"og:image:width\\\",\\\"content\\\":\\\"1200\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"11\\\",{\\\"property\\\":\\\"og:image:height\\\",\\\"content\\\":\\\"630\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"12\\\",{\\\"property\\\":\\\"og:image:alt\\\",\\\"content\\\":\\\"Changelog entry\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"13\\\",{\\\"name\\\":\\\"twitter:card\\\",\\\"content\\\":\\\"summary_large_image\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"14\\\",{\\\"name\\\":\\\"twitter:title\\\",\\\"content\\\":\\\"GraphQL API is moving to a paid offering | Hashnode\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"15\\\",{\\\"name\\\":\\\"twitter:description\\\",\\\"content\\\":\\\"Free GraphQL API access is retired. Reading and publishing both require a Pro plan you can upgrade to from your blog dashboard.\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"16\\\",{\\\"name\\\":\\\"twitter:image\\\",\\\"content\\\":\\\"https://hashnode.com/changelog/2026-05-13-graphql-api-paid-access/opengraph-image?f5676042408be5fa\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"17\\\",{\\\"name\\\":\\\"twitter:image:alt\\\",\\\"content\\\":\\\"Changelog entry\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"18\\\",{\\\"name\\\":\\\"twitter:image:type\\\",\\\"content\\\":\\\"image/png\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"19\\\",{\\\"name\\\":\\\"twitter:image:width\\\",\\\"content\\\":\\\"1200\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"20\\\",{\\\"name\\\":\\\"twitter:image:height\\\",\\\"content\\\":\\\"630\\\"}],[\\\"$\\\",\\\"link\\\",\\\"21\\\",{\\\"rel\\\":\\\"icon\\\",\\\"href\\\":\\\"/favicon.ico?favicon.3w5ba4as-0fdh.ico\\\",\\\"sizes\\\":\\\"48x48\\\",\\\"type\\\":\\\"image/x-icon\\\"}],[\\\"$\\\",\\\"link\\\",\\\"22\\\",{\\\"rel\\\":\\\"icon\\\",\\\"href\\\":\\\"/icon0.svg?icon0.34f3dxluhr8pt.svg\\\",\\\"sizes\\\":\\\"any\\\",\\\"type\\\":\\\"image/svg+xml\\\"}],[\\\"$\\\",\\\"link\\\",\\\"23\\\",{\\\"rel\\\":\\\"icon\\\",\\\"href\\\":\\\"/icon1.png?icon1.1qvf-tdx3j4n6.png\\\",\\\"sizes\\\":\\\"96x96\\\",\\\"type\\\":\\\"image/png\\\"}],[\\\"$\\\",\\\"link\\\",\\\"24\\\",{\\\"rel\\\":\\\"apple-touch-icon\\\",\\\"href\\\":\\\"/apple-icon.png?apple-icon.23nnv7gka9h2i.png\\\",\\\"sizes\\\":\\\"180x180\\\",\\\"type\\\":\\\"image/png\\\"}],[\\\"$\\\",\\\"$L4e\\\",\\\"25\\\",{}]]\\n\"])</script><script>self.__next_f.push([1,\"4f:\\\"ChangelogContent\\\"\\n50:I[618511,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\",\\\"$3c\\\",\\\"$3d\\\"],\\\"$4f\\\"]\\n52:I[175058,[\\\"$1\\\",\\\"$2\\\",\\\"$3\\\",\\\"$4\\\",\\\"$5\\\",\\\"$6\\\",\\\"$7\\\",\\\"$8\\\",\\\"$9\\\",\\\"$a\\\",\\\"$b\\\",\\\"$c\\\",\\\"$3c\\\",\\\"$3d\\\"],\\\"ChangelogList\\\"]\\n4a:[\\\"$\\\",\\\"a\\\",null,{\\\"href\\\":\\\"https://x.com/IpseetaP\\\",\\\"target\\\":\\\"_blank\\\",\\\"rel\\\":\\\"noopener noreferrer\\\",\\\"className\\\":\\\"flex size-8 items-center justify-center rounded-md transition-colors hover:bg-accent hover:text-foreground\\\",\\\"children\\\":[[\\\"$\\\",\\\"i\\\",null,{\\\"className\\\":\\\"fa-brands fa-x-twitter\\\",\\\"aria-hidden\\\":true}],[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"sr-only\\\",\\\"children\\\":[\\\"Ipseeta Priyadarshini\\\",\\\" on X\\\"]}]]}]\\n4b:[\\\"$\\\",\\\"a\\\",null,{\\\"href\\\":\\\"https://www.linkedin.com/in/ipseeta-priyadarshini-689aa482\\\",\\\"target\\\":\\\"_blank\\\",\\\"rel\\\":\\\"noopener noreferrer\\\",\\\"className\\\":\\\"flex size-8 items-center justify-center rounded-md transition-colors hover:bg-accent hover:text-foreground\\\",\\\"children\\\":[[\\\"$\\\",\\\"i\\\",null,{\\\"className\\\":\\\"fa-brands fa-linkedin\\\",\\\"aria-hidden\\\":true}],[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"sr-only\\\",\\\"children\\\":[\\\"Ipseeta Priyadarshini\\\",\\\" on LinkedIn\\\"]}]]}]\\n51:T44f,We're retiring free GraphQL API access. Every API request, queries and mutations, now requires a Pro plan on your publication.\\n\\n### Why we're doing this\\n\\nScrapers and spammers were abusing the free API at scale. Read traffic was being used to mirror posts on spam farms. Write traffic was flooding the feed with junk. Both hurt real writers on Hashnode. A small fee filters out abuse and keeps the API usable for everyone.\\n\\n### What changed\\n\\nReads used to be free. They aren't anymore. Queries against your publication now require Pro, the same as publishing.\\n\\n### How access works now\\n\\nUpgrading is self-serve. Open your blog dashboard, go to **Billing**, and click **Upgrade to Pro**. Pricing is seat-based and adjusts automatically as members join or leave. You'll see the exact monthly total on the Billing page before you check out.\\n\\nOnce checkout succeeds, your publication is allow-listed automatically and the API works right away. No waiting on us, no manual onboarding.\\n\\n### Need help?\\n\\nEmail [hello@hashnode.com](mailto:hello@hashnode.com) and we'll be happy to assist with your subscription.4c:[\\\"$\\\",\\\"$L50\\\",null,{\\\"content\\\":\\\"$51\\\",\\\"className\\\":\\\"pt-3\\\"}]\\n53:T871,Citation tracking starts with ten empty slots. Which questions do you ask? Most people type one and stop.\\n\\nNow you don't have to start from nothing.\\n\\n## Suggested queries\\n\\nGo to your **dashboard**, open **AEO**, then the **AI citations** tab. Click **Suggest from my articles**.\\n\\nWe read your articles and propose up to three questions your readers might ask an AI assistant. They save right away. Delete the ones you don't want.\\n\\nThe button shows while you track fewer than three queries. It's a starting point; after that, you write your own. Every query runs against ChatGPT, Claude, Gemini, and Perplexity each day.\\n\\n\\n\\nAdding and removing queries saves as you click too. There is no Save button to forget.\\n\\n## AI traffic, one tab over\\n\\nIt now has its own tab in **AEO**, next to AI crawlers, Freshness queue, and AI citations.\\n\\nYou get a 30-day total, the trend against the previous 30 days, a daily chart, and a breakdown by assistant.\\n\\n\\n\\nSuggested queries and the AI traffic tab are part of the Growth Plan.\\n\\n## See where you stand before you upgrade\\n\\nIf your publication isn't on the Growth Plan, the AEO page used to show a feature list. Now it shows your own numbers. You get your average AEO score, how many articles have no FAQ, how many have no question headings, and how many haven't been updated in a year.\\n\\n\\n\\nThe editor shows them too. Open **Publish**, then **Discovery**, and look at the AEO score and FAQ sections.\\n\\n\\n\\nOnly owners and admins see the numbers.54:T83f,You write in markdown. Publishing meant opening the editor and pasting it in. The Hashnode CLI cuts that to one command. Install it, log in through your browser, and publish a file straight from your terminal.\\n\\n\\n\\nThe CLI needs a **Pro plan** on the publication, and Node.js 20 or later.\\n\\n## How to log in\\n\\nInstall it with npm, then run `hashnode login`. It prints a code and opens your browser. Type the code on the page and allow access. There is no token to copy.\\n\\n```plaintext\\nnpm install -g @hashnode/cli\\nhashnode login\\n```\\n\\n\\n\\nA script, a CI job, or a coding agent has no browser. Set `HASHNODE_PAT` to a Personal Access Token from Settings, Developer instead.\\n\\n## How to publish a post\\n\\nFind your publication id first:\\n\\n```plaintext\\nhashnode --host blog.example.com publication get\\n```\\n\\nThen publish a markdown file with one command:\\n\\n```plaintext\\nhashnode -p \\u003cid\\u003e post create --title \\\"Hello\\\" --content-file post.md --tag java --tag javascript\\n```\\n\\n\\n\\nYou get the link back. Want a look before it goes live? Save a draft with `draft create`, then run `draft publish`. Upload a cover with `image upload`. Add `--json` to any command when a script needs to parse the output.\\n\\n## Where can I see my logins\\n\\nEvery login shows up under Connected apps in Developer Settings. Disconnect one and the CLI stops working at once. To end the login from your terminal, run `hashnode logout`.\\n\\n\\n\\nRun `hashnode --help` to see every command.55:T446,MCP connect links any MCP client directly to your Hashnode publications. Point one at the server below, approve the connection, and it can create, read, update, list, and delete posts, the same actions you'd take in the editor.\\n\\n\\n\\nCreating, updating, listing, and deleting require a **Pro plan**.\\n\\n## How to connect a client\\n\\nPoint any MCP client at this URL to start. Claude Code, Cursor, ChatGPT, and anything else that speaks MCP can add it the same way.\\n\\n`https://mcp.hashnode.com/mcp`\\n\\nFor example, adding it in Claude Code:\\n\\n```plaintext\\nclaude mcp add --transport http hashnode-mcp https://mcp.hashnode.com/mcp\\n```\\n\\n## Where can I see the connected apps\\n\\nEvery connected app shows up in Developer Settings. Disconnect any one without touching the others. Access cuts off immediately.\\n\\n\\n\\nThis is v1. More tools and permissions are coming.56:T6ef,AI citation tracking told you when your blog got cited. It never told you who else showed up in the same answer, or how many readers AI assistants actually send you. Now it does, in two new spots in your dashboard.\\n\\n## Who else gets cited\\n\\nGo to your **dashboard**, open **AEO**, then the **AI citations** tab. Below your tracked queries, you'll find a new panel.\\n\\nIt ranks every other domain that showed up in the same AI answers, sorted by how often they got cited.\\n\\nYour own row sits in that list too, marked \\\"You,\\\" so you can see exactly where you rank. Filter to one tracked question at a time, or leave it on the aggregate view to see who dominates across all your questions.\\n\\n\\n\\n## AI traffic\\n\\nGo to your **dashboard** and open **Analytics**. Scroll past your usual stats and you'll find a new AI traffic card.\\n\\nIt counts sessions where a reader arrived from ChatGPT, Perplexity, Gemini, or Claude, the same four engines the citations tab tracks.\\n\\nYou get a 30-day total, a trend against the previous 30 days, a daily bar chart, and a breakdown by assistant.\\n\\n\\n\\nThis one needs Hashnode to render your blog. If your publication is headless, we never see the analytics, so the card stays empty. Track analytics on your own frontend instead.\\n\\n## Wrapping up\\n\\nBoth features are part of the Growth Plan. AI search is a real source of readers now, not a hypothetical one. These two features exist so you can measure it instead of guessing.4d:[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex flex-col gap-3 pt-24\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex items-center justify-between gap-3\\\",\\\"children\\\":[[\\\"$\\\",\\\"h2\\\",null,{\\\"className\\\":\\\"text-title-3 text-foreground\\\",\\\"children\\\":\\\"More updates\\\"}],[\\\"$\\\",\\\"$L3f\\\",null,{\\\"href\\\":\\\"/changelog\\\",\\\"className\\\":\\\"inline-flex items-center gap-1.5 text-label text-foreground underline decoration-transparent underline-offset-3 transition-colors hover:decoration-current\\\",\\\"children\\\":[\\\"All updates\\\",[\\\"$\\\",\\\"$L3e\\\",null,{\\\"ref\\\":\\\"$undefined\\\",\\\"icon\\\":{\\\"name\\\":\\\"arrow-right\\\",\\\"size\\\":24,\\\"node\\\":[[\\\"path\\\",{\\\"d\\\":\\\"M5 12h14\\\",\\\"key\\\":\\\"1ays0h\\\"}],[\\\"path\\\",{\\\"d\\\":\\\"m12 5 7 7-7 7\\\",\\\"key\\\":\\\"xquz4c\\\"}]]},\\\"className\\\":\\\"inline shrink-0 align-[-0.125em] text-sm\\\",\\\"size\\\":\\\"1em\\\",\\\"strokeWidth\\\":1.75,\\\"aria-hidden\\\":\\\"true\\\"}]]}]]}],[\\\"$\\\",\\\"$L52\\\",null,{\\\"entries\\\":[{\\\"id\\\":\\\"2026-10-07-aeo-suggested-queries\\\",\\\"date\\\":\\\"2026-10-07T11:28:51.842Z\\\",\\\"title\\\":\\\"AEO toolkit: Start tracking with suggested queries\\\",\\\"summary\\\":\\\"Suggested queries to start tracking, an AI traffic tab, and your own AEO numbers before you upgrade.\\\",\\\"category\\\":\\\"improvement\\\",\\\"emoji\\\":\\\"🎯\\\",\\\"coverPhoto\\\":\\\"\\\",\\\"authorId\\\":\\\"ipseeta\\\",\\\"content\\\":\\\"$53\\\"},{\\\"id\\\":\\\"2026-10-06-hashnode-cli\\\",\\\"date\\\":\\\"2026-10-06T10:10:15.792Z\\\",\\\"title\\\":\\\"Hashnode CLI: Publish and manage your blog from the terminal\\\",\\\"summary\\\":\\\"Create drafts, posts, and many more from your terminal\\\",\\\"category\\\":\\\"feature\\\",\\\"emoji\\\":\\\"⌨️\\\",\\\"coverPhoto\\\":\\\"\\\",\\\"authorId\\\":\\\"ipseeta\\\",\\\"content\\\":\\\"$54\\\"},{\\\"id\\\":\\\"2026-09-22-mcp-connect\\\",\\\"date\\\":\\\"2026-09-22T08:11:17.583Z\\\",\\\"title\\\":\\\"MCP connect: Give Claude, ChatGPT, or Codex read and write access to your posts\\\\\\\"\\\",\\\"summary\\\":\\\"Connect any MCP client to your Hashnode posts\\\",\\\"category\\\":\\\"feature\\\",\\\"emoji\\\":\\\"🔌\\\",\\\"coverPhoto\\\":\\\"\\\",\\\"authorId\\\":\\\"ipseeta\\\",\\\"content\\\":\\\"$55\\\"},{\\\"id\\\":\\\"2026-09-01-presigned-post-deprecated\\\",\\\"date\\\":\\\"2026-09-01T06:04:11.526Z\\\",\\\"title\\\":\\\"GraphQL image uploads: presignedPost is deprecated\\\",\\\"summary\\\":\\\"createImageUploadURL now returns presignedPut too. Switch over before presignedPost goes away.\\\",\\\"category\\\":\\\"deprecated\\\",\\\"emoji\\\":\\\"🔌\\\",\\\"coverPhoto\\\":\\\"\\\",\\\"authorId\\\":\\\"ipseeta\\\",\\\"content\\\":\\\"### For developers using our GraphQL API\\\\n\\\\n`createImageUploadURL` now returns a new `presignedPut` field alongside the existing `presignedPost`. `presignedPost` is deprecated and scheduled for removal on September 7, 2026.\\\\n\\\\nMove your integration to `presignedPut`: sign one PUT request instead of a multi-field POST, then call `confirmImageUpload(key)` once the upload finishes.\\\\n\\\\n```graphql\\\\nmutation {\\\\n createImageUploadURL(input: { contentType: \\\\\\\"image/png\\\\\\\" }) {\\\\n presignedPut { url cdnUrl key }\\\\n }\\\\n}\\\\n```\\\\n\\\\nPUT your image bytes to `url` with a matching `Content-Type` header, then call `confirmImageUpload(input: { key: key })` and use the returned `cdnUrl`.\\\\n\\\\nIf you use `gql-skill` or the `publish-github-action`, update to the latest version before the removal date.\\\"},{\\\"id\\\":\\\"2026-08-25-aeo-citations-and-traffic\\\",\\\"date\\\":\\\"2026-08-25T13:16:02.227Z\\\",\\\"title\\\":\\\"AEO toolkit: See who else gets cited, and how much traffic AI sends you\\\",\\\"summary\\\":\\\"Growth Plan gets two more features: see who else gets cited, and see how many readers AI sends you.\\\",\\\"category\\\":\\\"feature\\\",\\\"emoji\\\":\\\"👀\\\",\\\"coverPhoto\\\":\\\"\\\",\\\"authorId\\\":\\\"ipseeta\\\",\\\"content\\\":\\\"$56\\\"}],\\\"authors\\\":{\\\"ipseeta\\\":{\\\"name\\\":\\\"Ipseeta Priyadarshini\\\",\\\"photo\\\":\\\"https://cloudmate-test.s3.us-east-1.amazonaws.com/uploads/avatars/54d750ac3adc13883c24a9be/ffef51ba-66b3-4af9-91e2-00af6fac2cc2.jpg\\\",\\\"profileUrl\\\":\\\"https://hashnode.com/@ipseeta\\\",\\\"x\\\":\\\"https://x.com/IpseetaP\\\",\\\"linkedin\\\":\\\"https://www.linkedin.com/in/ipseeta-priyadarshini-689aa482\\\"},\\\"fazlerocks\\\":{\\\"name\\\":\\\"Syed Fazle Rahman\\\",\\\"photo\\\":\\\"https://cdn.hashnode.com/uploads/avatars/54b81b237393d8e81463c55c/2ed271c5-c71f-4678-a8ce-22c4bea1b4eb.jpg\\\",\\\"profileUrl\\\":\\\"https://hashnode.com/@fazlerocks\\\",\\\"x\\\":\\\"https://twitter.com/fazlerocks\\\",\\\"linkedin\\\":\\\"https://www.linkedin.com/in/fazlerocks/\\\"},\\\"sandeep\\\":{\\\"name\\\":\\\"Sandeep Panda\\\",\\\"photo\\\":\\\"https://cdn.hashnode.com/res/hashnode/image/upload/v1692169982147/T8HXgPnnf.png\\\",\\\"profileUrl\\\":\\\"https://hashnode.com/@sandeep\\\",\\\"x\\\":\\\"http://twitter.com/sandeepg33k\\\",\\\"linkedin\\\":\\\"\\\"}},\\\"variant\\\":\\\"compact\\\"}]]}]\\n\"])</script><title>GraphQL API is moving to a paid offering | Hashnode</title><meta name=\"description\" content=\"Free GraphQL API access is retired. Reading and publishing both require a Pro plan you can upgrade to from your blog dashboard.\"/><link rel=\"manifest\" href=\"/manifest.json\"/><link rel=\"canonical\" href=\"https://hashnode.com/changelog/2026-05-13-graphql-api-paid-access\"/><meta property=\"og:title\" content=\"GraphQL API is moving to a paid offering | Hashnode\"/><meta property=\"og:description\" content=\"Free GraphQL API access is retired. Reading and publishing both require a Pro plan you can upgrade to from your blog dashboard.\"/><meta property=\"og:url\" content=\"https://hashnode.com/changelog/2026-05-13-graphql-api-paid-access\"/><meta property=\"og:site_name\" content=\"Hashnode\"/><meta property=\"og:image\" content=\"https://hashnode.com/changelog/2026-05-13-graphql-api-paid-access/opengraph-image?f5676042408be5fa\"/><meta property=\"og:image:type\" content=\"image/png\"/><meta property=\"og:image:width\" content=\"1200\"/><meta property=\"og:image:height\" content=\"630\"/><meta property=\"og:image:alt\" content=\"Changelog entry\"/><meta name=\"twitter:card\" content=\"summary_large_image\"/><meta name=\"twitter:title\" content=\"GraphQL API is moving to a paid offering | Hashnode\"/><meta name=\"twitter:description\" content=\"Free GraphQL API access is retired. Reading and publishing both require a Pro plan you can upgrade to from your blog dashboard.\"/><meta name=\"twitter:image\" content=\"https://hashnode.com/changelog/2026-05-13-graphql-api-paid-access/opengraph-image?f5676042408be5fa\"/><meta name=\"twitter:image:alt\" content=\"Changelog entry\"/><meta name=\"twitter:image:type\" content=\"image/png\"/><meta name=\"twitter:image:width\" content=\"1200\"/><meta name=\"twitter:image:height\" content=\"630\"/><link rel=\"icon\" href=\"/favicon.ico?favicon.3w5ba4as-0fdh.ico\" sizes=\"48x48\" type=\"image/x-icon\"/><link rel=\"icon\" href=\"/icon0.svg?icon0.34f3dxluhr8pt.svg\" sizes=\"any\" type=\"image/svg+xml\"/><link rel=\"icon\" href=\"/icon1.png?icon1.1qvf-tdx3j4n6.png\" sizes=\"96x96\" type=\"image/png\"/><link rel=\"apple-touch-icon\" href=\"/apple-icon.png?apple-icon.23nnv7gka9h2i.png\" sizes=\"180x180\" type=\"image/png\"/><script>document.querySelectorAll('body link[rel=\"icon\"], body link[rel=\"apple-touch-icon\"]').forEach(el => document.head.appendChild(el))</script><div hidden id=\"S:2\"><main class=\"flex flex-1 min-h-0 flex-col\"><script type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://hashnode.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Changelog\",\"item\":\"https://hashnode.com/changelog\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"GraphQL API is moving to a paid offering\"}]}</script><script type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"TechArticle\",\"headline\":\"GraphQL API is moving to a paid offering\",\"description\":\"Free GraphQL API access is retired. Reading and publishing both require a Pro plan you can upgrade to from your blog dashboard.\",\"url\":\"https://hashnode.com/changelog/2026-05-13-graphql-api-paid-access\",\"datePublished\":\"2026-05-13T00:00:00.000Z\",\"dateModified\":\"2026-05-13T00:00:00.000Z\",\"about\":{\"@type\":\"SoftwareApplication\",\"name\":\"Hashnode\",\"url\":\"https://hashnode.com\"},\"author\":{\"@type\":\"Organization\",\"name\":\"Ipseeta Priyadarshini\",\"url\":\"https://hashnode.com\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"Hashnode\",\"url\":\"https://hashnode.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://hashnode.com/web-app-manifest-192x192.png\",\"width\":192,\"height\":192}},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://hashnode.com/changelog/2026-05-13-graphql-api-paid-access\"}}</script><div class=\"sticky top-0 z-20 h-13 shrink-0 items-center gap-3 bar-rule bg-background/80 px-4 backdrop-blur sm:px-6 hidden sm:flex\"><span class=\"flex shrink-0 items-center gap-2\"><a class=\"inline-flex items-center gap-1.5 rounded-md px-2.5 text-label text-foreground transition-colors h-7 bg-muted hover:bg-accent\" href=\"/changelog\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-arrow-left inline shrink-0 align-[-0.125em] text-sm\" aria-hidden=\"true\"><path d=\"m12 19-7-7 7-7\"></path><path d=\"M19 12H5\"></path></svg>All updates</a><span aria-hidden=\"true\" class=\"text-input\">/</span></span><div class=\"min-w-0 flex-1 truncate text-title-4 text-foreground\">GraphQL API is moving to a paid offering</div></div><section class=\"mx-auto w-full max-w-184 px-5 pb-20 sm:px-8\"><div class=\"-mx-5 flex h-12 items-center border-b border-border px-5 sm:hidden\"><a class=\"inline-flex h-8 items-center gap-1.5 rounded-md bg-muted px-2.5 text-label text-foreground transition-colors hover:bg-accent hover:no-underline\" href=\"/changelog\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-arrow-left inline shrink-0 align-[-0.125em]\" aria-hidden=\"true\"><path d=\"m12 19-7-7 7-7\"></path><path d=\"M19 12H5\"></path></svg><span>All updates</span></a></div><article class=\"pt-6 sm:pt-14\"><header class=\"flex flex-col gap-5 border-b border-border pb-8\"><span class=\"flex shrink-0 items-center justify-center size-13 rounded-2xl border border-border bg-card text-title-2 shadow-sm sm:size-16 sm:text-title-2\"><span role=\"img\" aria-hidden=\"true\" class=\"leading-none\">🔌</span></span><div class=\"flex flex-col gap-3\"><div class=\"flex flex-wrap items-center gap-x-2.5 gap-y-1\"><span data-slot=\"badge\" data-variant=\"secondary\" class=\"inline-flex items-center justify-center h-5.5 rounded-full border border-transparent px-2 text-caption w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden [a&]:hover:bg-secondary/90 bg-muted text-foreground\">Deprecated</span><time dateTime=\"2026-05-13\" class=\"text-meta text-muted-foreground\">May 13, 2026</time></div><h1 class=\"text-article-title text-balance text-foreground\">GraphQL API is moving to a paid offering</h1></div><div class=\"flex items-center justify-between gap-3\"><a href=\"https://hashnode.com/@ipseeta\" class=\"flex min-w-0 items-center gap-2.5 text-meta text-foreground hover:underline\"><span data-slot=\"avatar\" class=\"relative flex shrink-0 overflow-hidden rounded-full size-7\"><span data-slot=\"avatar-fallback\" class=\"bg-muted flex size-full items-center justify-center rounded-full text-caption\">I</span></span><span class=\"truncate\">Ipseeta Priyadarshini</span></a><span class=\"flex shrink-0 items-center gap-1 text-small text-muted-foreground\"><a href=\"https://x.com/IpseetaP\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"flex size-8 items-center justify-center rounded-md transition-colors hover:bg-accent hover:text-foreground\"><i class=\"fa-brands fa-x-twitter\" aria-hidden=\"true\"></i><span class=\"sr-only\">Ipseeta Priyadarshini<!-- --> on X</span></a><a href=\"https://www.linkedin.com/in/ipseeta-priyadarshini-689aa482\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"flex size-8 items-center justify-center rounded-md transition-colors hover:bg-accent hover:text-foreground\"><i class=\"fa-brands fa-linkedin\" aria-hidden=\"true\"></i><span class=\"sr-only\">Ipseeta Priyadarshini<!-- --> on LinkedIn</span></a></span></div></header><div class=\"prose prose-reading dark:prose-invert max-w-none [&_h2]:pt-5 pt-3\"><p>We're retiring free GraphQL API access. Every API request, queries and mutations, now requires a Pro plan on your publication.</p>\n<h3>Why we're doing this</h3>\n<p>Scrapers and spammers were abusing the free API at scale. Read traffic was being used to mirror posts on spam farms. Write traffic was flooding the feed with junk. Both hurt real writers on Hashnode. A small fee filters out abuse and keeps the API usable for everyone.</p>\n<h3>What changed</h3>\n<p>Reads used to be free. They aren't anymore. Queries against your publication now require Pro, the same as publishing.</p>\n<h3>How access works now</h3>\n<p>Upgrading is self-serve. Open your blog dashboard, go to <strong>Billing</strong>, and click <strong>Upgrade to Pro</strong>. Pricing is seat-based and adjusts automatically as members join or leave. You'll see the exact monthly total on the Billing page before you check out.</p>\n<p>Once checkout succeeds, your publication is allow-listed automatically and the API works right away. No waiting on us, no manual onboarding.</p>\n<h3>Need help?</h3>\n<p>Email <a href=\"mailto:hello@hashnode.com\">hello@hashnode.com</a> and we'll be happy to assist with your subscription.</p></div></article><div class=\"flex flex-col gap-3 pt-24\"><div class=\"flex items-center justify-between gap-3\"><h2 class=\"text-title-3 text-foreground\">More updates</h2><a class=\"inline-flex items-center gap-1.5 text-label text-foreground underline decoration-transparent underline-offset-3 transition-colors hover:decoration-current\" href=\"/changelog\">All updates<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-arrow-right inline shrink-0 align-[-0.125em] text-sm\" aria-hidden=\"true\"><path d=\"M5 12h14\"></path><path d=\"m12 5 7 7-7 7\"></path></svg></a></div><div class=\"divide-y divide-border\"><a class=\"group flex h-16 items-center gap-3.5 hover:no-underline\" href=\"/changelog/2026-10-07-aeo-suggested-queries\"><span class=\"flex shrink-0 items-center justify-center size-8 rounded-md bg-muted text-body\"><span role=\"img\" aria-hidden=\"true\" class=\"leading-none\">🎯</span></span><span class=\"min-w-0 flex-1 truncate text-title-4 text-foreground\"><span class=\"underline decoration-transparent decoration-1 underline-offset-4 transition-colors group-hover:decoration-current\">AEO toolkit: Start tracking with suggested queries</span></span><span data-slot=\"badge\" data-variant=\"secondary\" class=\"inline-flex items-center justify-center h-5.5 rounded-full border border-transparent px-2 text-caption w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden [a&]:hover:bg-secondary/90 bg-muted text-foreground\">Improvement</span><time dateTime=\"2026-10-07T11:28:51.842Z\" class=\"w-13 shrink-0 text-right text-meta text-muted-foreground\">Oct 7</time></a><a class=\"group flex h-16 items-center gap-3.5 hover:no-underline\" href=\"/changelog/2026-10-06-hashnode-cli\"><span class=\"flex shrink-0 items-center justify-center size-8 rounded-md bg-muted text-body\"><span role=\"img\" aria-hidden=\"true\" class=\"leading-none\">⌨️</span></span><span class=\"min-w-0 flex-1 truncate text-title-4 text-foreground\"><span class=\"underline decoration-transparent decoration-1 underline-offset-4 transition-colors group-hover:decoration-current\">Hashnode CLI: Publish and manage your blog from the terminal</span></span><span data-slot=\"badge\" data-variant=\"secondary\" class=\"inline-flex items-center justify-center h-5.5 rounded-full border border-transparent px-2 text-caption w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden [a&]:hover:bg-secondary/90 bg-muted text-foreground\">Feature</span><time dateTime=\"2026-10-06T10:10:15.792Z\" class=\"w-13 shrink-0 text-right text-meta text-muted-foreground\">Oct 6</time></a><a class=\"group flex h-16 items-center gap-3.5 hover:no-underline\" href=\"/changelog/2026-09-22-mcp-connect\"><span class=\"flex shrink-0 items-center justify-center size-8 rounded-md bg-muted text-body\"><span role=\"img\" aria-hidden=\"true\" class=\"leading-none\">🔌</span></span><span class=\"min-w-0 flex-1 truncate text-title-4 text-foreground\"><span class=\"underline decoration-transparent decoration-1 underline-offset-4 transition-colors group-hover:decoration-current\">MCP connect: Give Claude, ChatGPT, or Codex read and write access to your posts"</span></span><span data-slot=\"badge\" data-variant=\"secondary\" class=\"inline-flex items-center justify-center h-5.5 rounded-full border border-transparent px-2 text-caption w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden [a&]:hover:bg-secondary/90 bg-muted text-foreground\">Feature</span><time dateTime=\"2026-09-22T08:11:17.583Z\" class=\"w-13 shrink-0 text-right text-meta text-muted-foreground\">Sep 22</time></a><a class=\"group flex h-16 items-center gap-3.5 hover:no-underline\" href=\"/changelog/2026-09-01-presigned-post-deprecated\"><span class=\"flex shrink-0 items-center justify-center size-8 rounded-md bg-muted text-body\"><span role=\"img\" aria-hidden=\"true\" class=\"leading-none\">🔌</span></span><span class=\"min-w-0 flex-1 truncate text-title-4 text-foreground\"><span class=\"underline decoration-transparent decoration-1 underline-offset-4 transition-colors group-hover:decoration-current\">GraphQL image uploads: presignedPost is deprecated</span></span><span data-slot=\"badge\" data-variant=\"secondary\" class=\"inline-flex items-center justify-center h-5.5 rounded-full border border-transparent px-2 text-caption w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden [a&]:hover:bg-secondary/90 bg-muted text-foreground\">Deprecated</span><time dateTime=\"2026-09-01T06:04:11.526Z\" class=\"w-13 shrink-0 text-right text-meta text-muted-foreground\">Sep 1</time></a><a class=\"group flex h-16 items-center gap-3.5 hover:no-underline\" href=\"/changelog/2026-08-25-aeo-citations-and-traffic\"><span class=\"flex shrink-0 items-center justify-center size-8 rounded-md bg-muted text-body\"><span role=\"img\" aria-hidden=\"true\" class=\"leading-none\">👀</span></span><span class=\"min-w-0 flex-1 truncate text-title-4 text-foreground\"><span class=\"underline decoration-transparent decoration-1 underline-offset-4 transition-colors group-hover:decoration-current\">AEO toolkit: See who else gets cited, and how much traffic AI sends you</span></span><span data-slot=\"badge\" data-variant=\"secondary\" class=\"inline-flex items-center justify-center h-5.5 rounded-full border border-transparent px-2 text-caption w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden [a&]:hover:bg-secondary/90 bg-muted text-foreground\">Feature</span><time dateTime=\"2026-08-25T13:16:02.227Z\" class=\"w-13 shrink-0 text-right text-meta text-muted-foreground\">Aug 25</time></a></div></div></section></main></div><script>$RS=function(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"S:2\",\"P:2\")</script><script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d||\"/&\"===d)if(0===h)break;else h--;else\"$\"!==d&&\"$?\"!==d&&\"$~\"!==d&&\"$!\"!==d&&\"&\"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data=\"$\";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};\n$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data=\"$~\",$RB.push(a,b),2===$RB.length&&(\"number\"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC(\"B:1\",\"S:1\")</script><div hidden id=\"S:3\"></div><script>$RC(\"B:3\",\"S:3\")</script><div hidden id=\"S:0\"></div><script>$RC(\"B:0\",\"S:0\")</script></body></html>","status":200,"headers":{}},"request":{"query":"\n query Publication($host: String!) {\n publication(host: $host) {\n id\n title\n displayTitle\n descriptionSEO\n about {\n html\n }\n author {\n name\n profilePicture\n tagline\n bio {\n html\n }\n }\n links {\n twitter\n github\n linkedin\n website\n hashnode\n }\n }\n }\n ","variables":{"host":"engineering.hashnode.com"}}}