v0.2.6
Pre-release
Pre-release
PySyft 0.2.6 Release Notes
Breaking changes since v0.2.5:
Message.contents
field has now been fully removed after previous deprecation (#3477 by @karlhigley)TrainConfig
has been fully removed (#3532 by @karlhigley)
New functionality:
- Add initial support for auto-scaling PyGrid workers and notebooks on Google Cloud Platform (#3437 and #3483 by @rimijoker)
- Add asynchronous
send_command
method toWebsocketClient
(#3454 by @LaRiffle and @Syzygianinfern0) - Build
Protocol
Roles
from@func2protocol
decorator (#3488 by @Jasopaum) - Trace
CommunicationActions
intoProtocol
Roles
(#3448 by @Prtfw) - Add a
reset()
method onRole
(#3495 by @Jasopaum) - Add
Plan
argument type-checking along with support forlists
anddicts
asPlan
arguments (#3386 by @tudorcebere) - Support additional ML/DL frameworks during
Plan
tracing (#3461 by @gmuraru) - Provide a way to trace module-level methods like
torch.rand()
intoPlan/Protocol
Roles
(#3522 by @karlhigley) - Allow
Protocol
Roles
to haveState
for initial values (#3499 by @Jasopaum) - Add ability to seed the Syft
IdProvider
and safely toggle verbose mode (#3457 by @Syzygianinfern0) - Add support for WebRTC connections between peer
Workers
(#3548 and several more by @IonesioJunior) - Add Protobuf serialization support for
torch.dtype
,syft.generic.String
, andPointerDataset
(#3584, #3594, #3600 by @tudorcebere) - Print useful information on
syft.grid.register()
(#3589 by @IonesioJunior) - Add
RoleAssignments
toProtocols
(#3544 by @Jasopaum) - Add ways to fetch Grid network peers to
Network
andWebRTCManager
#3582 by @joaolcaas) - Host private datasets locally with Grid (#3596 by @IonesioJunior)
- Add a method to return the supported ML/DL frameworks in
BaseWorker
(#3535 by @shubham3121)
Bug fixes:
- Fix the type of the allowed users parameter to
PrivateTensors
(#3446 by @gmuraru) - Fix
PointerTensor.move()
when the source and destination workers are the same (#3442 by @Syzygianinfern0) - Remove stray objects from FSS
Worker/Plan
initialization (#3525 by @karlhigley) - Fix Batchnorm for Federated Learning (#3472 by @LaRiffle)
- Add scaffolding for Federated Learning client worker API (#3426 by @vvmnnnkv)
- Avoid registering Grid peer
Workers
multiple times (#3591 by @jefersonf) - Remove
test_spinup_time
which has been flaky (#3603 by @robert-wagner)
Refactoring:
- Clean up Syft implementation of RNNs (#3441 by @dcato98)
- Store logged message in
BaseWorker
in an unserialized format for readability (#3473 by @karlhigley) - Update
Role.register_action()
to allow registeringCommunicationActions
(#3465 by @karlhigley) - Refactor
BaseWorker.send_command()
to accept explicit arguments (#3487 by @shubham3121) - Add a
SyftSerializable
base class for Syft classes that need to be serialized to msgpack or Protobuf (#3386 by @tudorcebere) - Convert
ObjectStore
to a stand-alone class instead of a base class forWorkers
(#3484 by @karlhigley) - Extract
@abstractmethods
fromBaseWorker
toAbstractWorker
(#3519 by @karlhigley) - Create a
VirtualWorker
for eachPlan/Protocol
Role
and use it for tracing (#3521 by @karlhigley) - Improve the serde interface with lazy data loaders (#3530 by @tudorcebere)
- Split
FrameworkHook
into multiple parts (#3561 by @karlhigley) - Clean up the code style of PySyft (#3535 by @gmuraru)
Examples and Tutorials:
- Add an experimental notebook for how to create a
Plan
that trains a NN on MNIST using Syft autograd (#3567 by @vvmnnnkv)
Translations:
- Updates to Bengali translation of Parts 4-5, 12-13 (#3415 by @jabertuhin, #3445, #3449, #3466, and #3500 by @znreza)
Documentation:
- Update the Pull Request templates (#3506 by @tkrsh, #3520 by @karlhigley, additional work by @cereallarceny)
Tests and Builds:
- Add a check for docstring coverage to the Github builds (#3462 and #3505 by @karlhigley)
- Remove
verbose
flag from code format check to highlight necessary changes (#3475 by @karlhigley)