- Transitive
cryptographyCVE fix.cryptographyreaches this package only vianostrkey, which previously cappedcryptography<45.0and shipped the vulnerable 44.0.3 (four advisories: PYSEC-2026-35, PYSEC-2026-2141, GHSA-537c-gmf6-5ccf, and a related OpenSSL fix). Thenostrkeyfloor is raised to>=0.3.5, whose lifted ceiling resolvescryptography49.0.0.
- Dependency floor raised from
nostrkey>=0.3.4tonostrkey>=0.3.5. Verified against the local nostrkey 0.3.5 build: full suite andpip-auditgreen oncryptography49.
PersonaMemorytype — a domain/facet/insight structure with knowledge half-life, relevance decay, and lifecycle states (STATE_ACTIVE/STATE_FADING/STATE_FORGOTTEN/STATE_DISSOLVED), plusIntrospectionReportand theDEFAULT_DOMAINS/DEFAULT_FACETSconstants. Exported from the package top level.- Taxonomy rename: wing→domain, hall→facet, room→insight.
MemoryStore.__repr__redaction — never exposes identity secrets.- sense-memory v2 design spec (
DESIGN-V2.md) and Operator Guidance inclawhub/SKILL.md.
- Dependency bumped to
nostrkey>=0.3.0.
- The
MemoryStore.recent()journal-starvation and ordering fix (see below) is included in this release.
MemoryStore.recent()could return an empty list or wrong-order results despite journal entries existing on the relay (release-audit finding, severity: high).- Journal entries share kind 30078 with key-value memories, and the old
limit + 50over-fetch relied on the relay's newest-first window — a burst of recent KV writes could fill the entire window and starve journal entries out of the result.recent()now fetches up to theMAX_QUERY_RESULTSsafety cap so all candidate events for the author are considered before filtering. - Results were never sorted, so "newest first" depended on relay stream
order (which NIP-01 does not guarantee); an oldest-first stream
returned the OLDEST entries.
recent()now sorts entries bycreated_atdescending locally and truncates tolimit.
- Journal entries share kind 30078 with key-value memories, and the old
- Added regression tests covering journal starvation by newer KV events, oldest-first relay stream order, limit truncation keeping the newest entries, and malformed-event tolerance.
- Multi-relay support, journal entries, NIP-09 forget, prior releases.