v0.89.0
0.89.0 (2026-04-03) Full Changelog: v0.88.0...v0.89.0 Features vertex: add support for US multi-region endpoint ( 4e732da ) Bug Fixes client: preserve hardcoded query params when merging with user params ( e7f4a3c ) Chores client: deprecate client-side compaction helpers ( e60affc )
0.89.0 (2026-04-03)
Full Changelog: v0.88.0...v0.89.0
Features
- vertex: add support for US multi-region endpoint (4e732da)
Bug Fixes
- client: preserve hardcoded query params when merging with user params (e7f4a3c)
Chores
- client: deprecate client-side compaction helpers (e60affc)
Anthropic SDK Releases
https://github.com/anthropics/anthropic-sdk-python/releases/tag/v0.89.0Sign in to highlight and annotate this article

Conversation starters
Daily AI Digest
Get the top 5 AI stories delivered to your inbox every morning.
More about
feature
Am I the baddie?
I am a software engineer. I work for a company that makes software for road construction. Monday last week we were under a bad crunch and we were told to start using agentic workflows. We had like 50 tickets to close by the following Tuesday. I’ve been experimenting with ai development for years now, but this was different. I had access to Opus/Sonnet 4.6, and GPT5.4—the latest models. Suddenly, they understood. I could talk about abstract concept’s and analogies, and it got them. I was soon working through tickets the first day in hours, what would have taken me days. But we still had a ton of work and not enough time. I was still bound to a single thread of work at a time. So like any problem, I hacked around it. I started with a worktree, where it basically creates a whole other copy of

Spread vs Rest Operators in JavaScript
If you’ve ever seen ... in JavaScript and wondered what it does—you’re not alone. The same syntax is used for two different purposes : Spread operator → expands values Rest operator → collects values Understanding this difference is crucial for writing clean and modern JavaScript. 🧠 What Is the Spread Operator? The spread operator ( ... ) is used to expand elements from arrays or objects. Think: “Open the box and take everything out” 📦 Spread with Arrays ```js id="spread1" const arr1 = [1, 2, 3]; const arr2 = [...arr1, 4, 5]; console.log(arr2); // [1, 2, 3, 4, 5] 👉 It spreads elements individually. --- ### 📊 Visualization ```id="viz1" [1, 2, 3] ↓ ...arr ↓ 1, 2, 3 📦 Copying Arrays ```js id="spread2" const original = [1, 2, 3]; const copy = [...original]; ✔ Creates a shallow copy ✔ Avoi

JavaScript Promises Explained for Beginners
JavaScript is single-threaded, meaning it can only do one thing at a time. But what if you need to fetch data from an API , read a file , or wait for a timer without freezing your app? This is where promises come in. 🧠 What Problem Do Promises Solve? Before promises, we used callbacks for async tasks: ```js id="cb1" fetchData(function(data) { processData(data, function(result) { console.log(result); }); }); ❌ Callback hell → hard to read, hard to maintain Promises simplify this by representing a **future value**: > A promise is like a placeholder for a value that **may not be available yet**. --- ## ⏳ Promise States A promise can be in **three states**: 1. **Pending** – initial state, waiting for the result 2. **Fulfilled** – operation succeeded, value available 3. **Rejected** – operatio
Knowledge Map
Connected Articles — Knowledge Graph
This article is connected to other articles through shared AI topics and tags.
More in Products

Am I the baddie?
I am a software engineer. I work for a company that makes software for road construction. Monday last week we were under a bad crunch and we were told to start using agentic workflows. We had like 50 tickets to close by the following Tuesday. I’ve been experimenting with ai development for years now, but this was different. I had access to Opus/Sonnet 4.6, and GPT5.4—the latest models. Suddenly, they understood. I could talk about abstract concept’s and analogies, and it got them. I was soon working through tickets the first day in hours, what would have taken me days. But we still had a ton of work and not enough time. I was still bound to a single thread of work at a time. So like any problem, I hacked around it. I started with a worktree, where it basically creates a whole other copy of

Grounding AI-in-Education Development in Teachers' Voices: Findings from a National Survey in Indonesia
arXiv:2604.01630v1 Announce Type: new Abstract: Despite emerging use in Indonesian classrooms, there is limited large-scale, teacher-centred evidence on how AI is used in practice and what support teachers need, hindering the development of context-appropriate AI systems and policies. To address this gap, we conduct a nationwide survey of 349 K-12 teachers across elementary, junior high, and senior high schools. We find increasing use of AI for pedagogy, content development, and teaching media, although adoption remains uneven. Elementary teachers report more consistent use, while senior high teachers engage less; mid-career teachers assign higher importance to AI, and teachers in Eastern Indonesia perceive greater value. Across levels, teachers primarily use AI to reduce instructional pre

How to Automate Upwork Proposals with Python (Real Code Inside)
How to Automate Upwork Proposals with Python (Real Code Inside) Last month I sent 47 proposals on Upwork. I personally wrote 3 of them. The other 44 were drafted by Claude AI, filtered through a scoring algorithm I built over two weekends, and delivered to my inbox via Telegram before most freelancers even saw the job posting. My response rate on those AI-assisted proposals? 31%. Higher than my hand-written average from the previous quarter. This article shows you exactly how I built that system. The Real Problem With Upwork Proposals If you've freelanced on Upwork for more than a month, you know the grind. You refresh the job feed. You see something promising. You spend 20 minutes writing a tailored proposal. You hit submit. Nothing. Meanwhile, the client already hired someone who respond

Migration and Modernisation with Kiro CLI
Background Once upon a time, there was a developer who needed to keep updating the dependencies of each tool/product/software. There is a dependabot which still helpful for updating minor versions. However, it will need a manual update/migration whenever a major version comes. Migrating to a major version is frustrating for me if I need to update it in bulk. Updating only one app is pretty fine, but how about multiple apps? I believe we will stop doing it. AI Era The AI (Artificial Intelligence) era has come. Much automation can be achieved by AI. I have a good belief that I can migrate much more easily whenever I use AI. Not like the old age, which needs many manual changes, especially the breaking changes! Migration as Vibes I'm starting the migration as vibes. So, I only put a simple pr

Discussion
Sign in to join the discussion
No comments yet — be the first to share your thoughts!