Change Log for keripy

2.0.0-dev6

*** peer.exchange has been replaced with a combination of either core.eventing.exchange or peer.specialExhange. peer.specialExchange supports the embeds and diger parameters and returns a tuple of (exn, atc) exn Serder instance and atc attachments bytearray. Whereas eventing.exchange just returns the exchange Serder instance.

*** peer.exchanging.exchange normalizing call signature with core.eventing.exchange so that all KERI message function call signatures are aligned. currently peer.exchanging.exchange uses a differe signature. So to better support v2 with backwards compat for v1 want one exchange function. parameters changes: date -> stamp, recipient->receiver payload->attributes No longer has embeds and diger this is for specialExchange return type is no longer tuple just SerderKERI

*** peer.exchanging.specialExchange now handles the special exchange with embeds and or diger use this for v1 compatibility with old exchange.

*** BaseHab and subclasses .incept alias for .make promoted to default and .make is alias. Future deprecate .make

*** Kever .init and .update refactored signature to use delsner and delsger instead of delnum (which was not per convention) and deldiger to better match new convention for Number and Diger but name indicates sequence number and said diger

Kevery.processEvent signature change

delnum is now delsner  short for delegating sequence number
deldiger is now delsger short for delegating said diger

app.habbing.BaseHab.makeOwnEvent has been changed to .msgOwnEvent because

it better fits what is does is to messagize its own event. .makeOwnEvent is now deprecated

app.habbing.BaseHab.makeOwnInception has been change to .msgOwnInception

because it better fits what is does is to messagize its own inception event. .makeOwnInception is now deprecated

app.habbing.BaseHab.makeOtherEvent has been changed to .msgOtherEvent because

it better fits what is does is to messagize some other event. .makeOtherEvent is now deprecated

core.eventing.messagize call signature changes: piplined parameter is replaced

with framed and the default is framed=False. This is because the Parser meaning of piplined has evolved whereas messagize no longer tracks that meansing so framed is now the accurated parameter. Added other parameters to make it support verison 2 BasHab methods that call messagize have pass through parameters with same semantics

OnSuber and OnIoDupSuber remap of method names

change method names to shadow super class methods to avoid confusion and reduce potential errors

WASM Support.

Added keri.db.webdbing.py with support for IndexedDB in wasm pyodide pyscript. as a plugin replacement for LMDB (see keri.db.webdbing.WebDBer)

2.0.0-dev5

Backwards breaking interface changes

Changes to call signatures that will break dependent libraries

keri.vdr subpackage

combined viring into eventing to remove hard circular import now that its a subpackage using init.py moved dataclasses to vdring as shared imports across vdr. fixed circular imports with agenting and app subpackage using dynamic imports

keri.db.subing

SuberBase.getItemIter and subclasses is changed to .getTopItemIter this is to clearly indicate that it iterates over the top branch given by keys and uses the topive parameter.

keri.db.koming

KomerBase.getItemIter and subclasses is changed to .getTopItemIter this is to clearly indicate that it iterates over the top branch given by keys and uses the topive parameter.

keri.db.dbing

Changed LMDBer.delval to LMDBer.remval

keri.core.scheming.py

Replaced deprecated jsonschema.RefResolver with referencing.Registry in CacheResolver.resolver(). The method now returns a referencing.Registry instance instead of a jsonschema.RefResolver instance. Requires jsonschema >= 4.18.0 and the referencing package. Users on older versions of jsonschema must upgrade. JSONSchema.verify_json() now passes registry= instead of resolver= to jsonschema.validate().

keri.core.routing.py

Changed Router.dispatch(self, serder, saider, ...) to dispatch(self, serder, diger, ...). Changed Router.processRouteNotFound(self, *, serder, saider, ...) to processRouteNotFound(self, *, serder, diger, ...). Changed Revery.processReply local variable from saider to diger.

keri.core.eventing.py

Changed Kevery.processReplyEndRole(self, *, serder, saider, ...) to processReplyEndRole(self, *, serder, diger, ...). Changed Kevery.processReplyLocScheme(self, *, serder, saider, ...) to processReplyLocScheme(self, *, serder, diger, ...). Changed Kevery.processReplyKeyStateNotice(self, *, serder, saider, ...) to processReplyKeyStateNotice(self, *, serder, diger, ...). Renamed local diger to ksr_diger in processReplyKeyStateNotice to avoid shadowing the parameter. Changed Kevery.processReplyAddWatched(self, *, serder, saider, ...) to processReplyAddWatched(self, *, serder, diger, ...).

keri.app.oobiing.py

Changed Oobiery.processReply(self, *, serder, saider, ...) to processReply(self, *, serder, diger, ...).

keri.vdr.eventing.py

Changed Tvy.processReplyRegistryTxnState(self, *, serder, saider, ...) to processReplyRegistryTxnState(self, *, serder, diger, ...). Changed Tvy.processReplyCredentialTxnState(self, *, serder, saider, ...) to processReplyCredentialTxnState(self, *, serder, diger, ...). Removed redundant diger = saider alias lines in both functions.

keri.db.escrowing.py

Changed Broker.processEscrowState dispatch call from processReply(saider=diger, ...) to processReply(diger=diger, ...).

keri.app.grouping.py

Changed complete(self, prefixer, seqner, saider=None) to complete(self, prefixer, number, diger=None). Renamed seqner and saider parameter to number and diger to match the actual type (Number, Diger) being passed. All callers functions in test_grouping.py are updated. Fixed stale docstring in complete(): saider (Saider)diger (Diger). Renamed saiders/saiderdigers/diger local variables in Counselor.get() (meids sub-DB returns Diger instances).

2.0.0-dev5

Backwards breaking interface changes

Changes to call signatures that will break dependent libraries

keri.app.delegating.py

Changed start(self, ghab, prefixer, seqner, saider) to start(self, ghab, prefixer, number, diger). Changed startCounselor(self, hab, prefixer, seqner, saider) to startCounselor(self, hab, prefixer, number, diger). Renamed seqner and saider parameter to number and diger to match the actual type (Number, Diger) being passed. All callers for both functions in test_grouping.py, confirm.py, incept.py, join.py, rotate.py credentialing.py and interact.py updated.

2.0.0-dev5

Backwards breaking interface changes

Changes to call signatures that will break dependent libraries

keri.app.delegating.py

Changed complete(self, prefixer, seqner, diger=None) to complete(self, prefixer, number, diger=None). Renamed seqner parameter to number to match the actual type (Number) being passed. All callers in rotate.py, incept.py, and grouping.py updated.

2.0.0-dev5

Backwards breaking interface changes

Changes to call signatures that will break dependent libraries

keri.core.eventing.Kevery.processEvent

Changed keyword parameter delseqner (Seqner) to delnum (Number) in the function signature and all internal call sites. External callers that previously passed delseqner must now pass delnum with a Number instance.

2.0.0-dev5

Backwards breaking interface changes

Changes to call signatures that will break dependent libraries

keri.core.eventing.py

Changed fetchTsgs(db, saider, snh) to fetchTsgs(db, diger, snh). Renamed saider parameter to diger to match the actual type (Diger) being passed. All callers in routing.py, habbing.py, and escrowing.py updated.

2.0.0-dev1

Backwards breaking interface changes

Changes to call signatures that will break dependent libraries

keri.help.helping.py

Changed nonStringIterable() to isNonStringIterable() Change nonStringSequence() to isNonStringSequence() Added Metaclasses NonStringIterable and NonStringSequence

keri.core.coring.py

Changed Pather class to support both relative and aboslute paths Now supports relative paths in Base64 using excape sequence. More thorough checks for valid paths. Supports both paths for pathed material and paths for routes and return routes in KERI messages. Init supports path as ‘/’ delimited string that if otherwise the path parts are Based64 will compacting encode as StrB64 variable length. If not will encode as Bytes variable length. No longer is Pather a subclass of Bexter so .bext is no longer a property .path property returns a path string this is a breaking change .parts property returns a list of path parts as either relative or absolute depending on what the actual path expression .rparts property returns a list of path parts as a relative path On init relative (bool) False forces path to be absolute Relative True allows relative path if expressed as relative. On init pathive(bool) True forces B64 compliant path parts raises exception if not. False allows non B64 path parts.

Changed Dicter Class. made randomNonce a statice method. ._randomNonce instead of module method since only used inside Dicter Changed init parameter sad to dicter since more accurate.

keri.core.serdering.SerderACDC

Changed .regi property to .regid to avoid confusion with regd regk and other reg and to avoid the confusion of i meaning a AID, whereas regid is a said its an identifier for registry but not an aid. Since regd is already used to mean something else, we picked the regid which was not previously used anywhere.

keri.core.streaming now keri.core.annotating

Due to circular imports moved Streamer class to keri.core.signing and renamed streaming.py and test_streaming.py to annotating.py and test_annotating from keri.core import Streamer still works.

keri.core Tierage and Tiers

moved Tierage and Tiers defintions from keri.core.coring to keri.core.signing where they more naturally belong (not used in coring) from keri.core import Tiers still works