hermes-memory-pgvector एक ओपन-सोर्स प्लगइन है जो hermes-agent एजेंटों के एक बेड़े को PostgreSQL और pgvector पर साझा, स्थायी मेमोरी देता है। संस्करण 0.5.4 PyPI पर उपलब्ध है, और इसमें कोई नई सुविधाएँ और कोई कोड परिवर्तन बिल्कुल नहीं हैं। फिर भी इसे क्यों जारी किया गया, यह यहाँ बताया गया है।
बिना किसी कोड वाला रिलीज़
v0.5.4 ठीक दो डिपेंडेंसी न्यूनतम सीमाएँ आगे बढ़ाता है:
psycopg[binary]>=3.3.6,<4
psycopg-pool>=3.3.2,<4
यही पूरा परिवर्तन है। अपस्ट्रीम ने 18 September 2026 को psycopg 3.3.6 और psycopg-pool 3.3.2 जारी किए, दोनों पैच रिलीज़ हैं जिनमें कोई API परिवर्तन नहीं है। डिफ़ॉल्ट अपरिवर्तित हैं, कोई माइग्रेशन नहीं है, और प्लगइन के अपने स्रोत में कुछ भी नहीं बदला।
पूल फिक्स ही कारण है
psycopg-pool 3.3.2, कनेक्शन जाँच के दौरान उठाए गए cancellation और अन्य base exceptions को आगे भेजता है। यह एक फुटनोट जैसा लगता है, जब तक आप यह नहीं देखते कि यह प्लगइन कैसे बनाया गया है।
यह एजेंट थ्रेड और async-writer drain thread के बीच साझा किया गया एक ConnectionPool खोलता है। इससे पहले कि पूल कोई कनेक्शन दे, वह जाँचता है कि कनेक्शन अभी भी स्वस्थ है या नहीं। अगर वह जाँच बाधित हो जाए — cancellation, shutdown, या Exception के बजाय BaseException से निकली कोई भी चीज़ — तो पुराना व्यवहार उसे आगे बढ़ने देने के बजाय निगल सकता था। एक मेमोरी लिखावट जो ज़ोर से विफल होनी चाहिए थी, उसके बजाय चुपचाप गायब हो जाती है।
उस घटक के लिए जिसका पूरा काम यह है कि एजेंट जो याद रखता है उसे खोने न दे, चुप्पी सबसे खराब विफलता मोड है। वह एकल अपस्ट्रीम फिक्स ही अपने-आप में एक रिलीज़ के लायक है।
3.3.6 और क्या लाता है
- एक cancelled query अब तब अनंत तक प्रतीक्षा नहीं करती जब सर्वर ने जवाब देना बंद कर दिया हो। इसके लिए libpq 17 या नया चाहिए — binary wheels libpq 18 के साथ आती हैं, इसलिए यह निष्क्रिय रहने के बजाय प्रभावी होता है।
SystemExitपर चल रही query cancel हो जाती है। यह उस क्षण महत्वपूर्ण है जब कोई worker क्वेरी के बीच में SIGTERM लेता है: पहले statement प्रक्रिया के बाहर निकलने के बावजूद server-side पर चलता रह सकता था।- Prepared statements
DEALLOCATE ALLपर discard हो जाते हैं, जिससे जब कुछ checkouts के बीचDISCARDफिर से जारी करता है, तो "prepared statement does not exist" जैसी हैरानी से बचाव होता है। - कम async-wait overhead, और Python 3.15 के लिए support।
Pin चार जगहों पर है, और यह जानबूझकर है
psycopg requirement pyproject.toml, hermes_pgvector/plugin.yaml, scripts/install.sh, और README में छपे install command में दिखाई देती है। इस रिलीज़ में चारों एक साथ बदले गए, और यह सिर्फ़ maintenance की बारीकी नहीं है।
7 September को किए गए एक full-codebase review में पाया गया कि README और install script अभी भी >=3.3.4 pin कर रहे थे जबकि pyproject.toml पहले ही >=3.3.5 पर जा चुका था। जो भी documented install path का पालन कर रहा था, उसे ठीक वही version दिया जा रहा था जिससे पिछली release हटना चाहती थी। यह drift पूरे एक release cycle तक किसी की नज़र में नहीं आया।
इसलिए अब नियम यह है कि चारों हर बार एक साथ move करें, वरना release बाहर नहीं जाता।
अपग्रेड करना
pip install -U hermes-memory-pgvector
कोई migration नहीं, कोई config बदलाव नहीं, कोई ऐसा व्यवहारिक अंतर नहीं जिसे आप महसूस करेंगे — और ऐसे ही एक release का उद्देश्य भी यही है।
Source और full configuration reference GitHub पर हैं:
