2.6.0rc1: Release candidate 1 of nvflare 2.6.0
Pre-release
Pre-release
What's Changed
- Update higgs data link by @ZiyueXu77 in #2941
- Update video links by @SYangster in #2937
- [main] doc fix typo by @chesterxgchen in #2939
- Add research examples to tutorial page by @SYangster in #2942
- Fix doc and docstring issues by @YuanTingHsieh in #2931
- Add check for receive before send in client api by @YuanTingHsieh in #2930
- Add flare series section, enhancements by @SYangster in #2948
- Bump tqdm from 4.66.1 to 4.66.3 in /research/condist-fl by @dependabot in #2557
- Bump micromatch from 4.0.5 to 4.0.8 in /web by @dependabot in #2838
- Bump dset from 3.1.3 to 3.1.4 in /web by @dependabot in #2936
- Add support to newer python version by @YuanTingHsieh in #2951
- Upgrade formatter version for support higher version of Python by @YuanTingHsieh in #2957
- Fix research links redirects by @SYangster in #2953
- Cherry-pick PR#2959 by @IsaacYangSLA in #2964
- improved fobs register_folder to catch ValueError by @yhwen in #2958
- Add fedrag example with embedding training by @ZiyueXu77 in #2915
- Bump rollup from 3.29.4 to 3.29.5 in /web by @dependabot in #2963
- Bump path-to-regexp from 6.2.2 to 6.3.0 in /web by @dependabot in #2938
- Bump vite from 4.5.3 to 4.5.5 in /web by @dependabot in #2950
- Add the hello-pt-resnet example by @yhwen in #2954
- Update CONTRIBUTING.md by @YuanTingHsieh in #2969
- update PSI to support python 3.11 by @chesterxgchen in #2972
- Add web branch versioning by @SYangster in #2974
- [Main] Support object reuse by @yanchengnv in #2975
- update openmind-psi to 2.0.5 for python 3.12 support by @chesterxgchen in #2981
- Replace the distutils with shutil by @yhwen in #2978
- Allow multiple workflows in CCWF by @yanchengnv in #2980
- F3 Streaming Code Rewrite by @nvidianz in #2960
- Pass components into script runner by @YuanTingHsieh in #2983
- Fix tf model persistor and tf model by @YuanTingHsieh in #2984
- Allow customization of BaseFedJob by @YuanTingHsieh in #2985
- Add umami analytics by @SYangster in #2987
- Update pt params converter by @holgerroth in #2989
- Bionemo demos by @NAEV95 in #2968
- Add FLARE DAY page by @SYangster in #2992
- Add web speaker by @SYangster in #2999
- Fix doc typo and VDR reported issues by @YuanTingHsieh in #2994
- BioNeMo: use multi threading but reduce num workers by @holgerroth in #2996
- Update test script by @YuanTingHsieh in #2995
- Update documentation for Dockerfile, add location of tbevents, fix link by @nvkevlu in #2993
- Fix the entry for getting started in the TOC by @nvkevlu in #3007
- Expose init in client lightning api by @YuanTingHsieh in #3004
- Enhance web responsive design for mobile by @SYangster in #3010
- Refactoring F3 Streaming sender by @nvidianz in #2986
- Update flwr job object, client, server by @YuanTingHsieh in #3008
- Bump cookie, @astrojs/mdx and astro in /web by @dependabot in #3002
- Add GNN encoder and xgb outputs for finance end-to-end example by @ZiyueXu77 in #2970
- Fix fobs issue by @YuanTingHsieh in #3011
- Fix fobs doc by @YuanTingHsieh in #3012
- Remove the need to create additional ports when running a job by @yhwen in #3017
- [#3021] Fixed broken doc ref to 'helm_chart' by @agiusa in #3022
- Fix PTModel optional arguments by @SYangster in #3025
- FedBPT: Fix fedbpt cma version by @holgerroth in #3029
- split learning: upgrade openmined-psi to 2.0.5 by @chesterxgchen in #3020
- Enhance POC notebook and docs by @SYangster in #3031
- Support multiple host names for FLARE server by @yanchengnv in #3018
- Use multi-line table by @SYangster in #3034
- Fix mock executors by @yanchengnv in #3040
- Update the GNN encoding for XGB financial example by @ZiyueXu77 in #3039
- Add XGB explainability output by @ZiyueXu77 in #3044
- Support file source in Job API by @yanchengnv in #3043
- Update finance end-to-end readme for figure position by @ZiyueXu77 in #3046
- Enhance comm scalability Part 1 by @yanchengnv in #3047
- Bump astro from 4.15.12 to 4.16.6 in /web by @dependabot in #3048
- Modify log config to write errors to a separate log file by @nvkevlu in #3050
- Support aborting messages by @yanchengnv in #3053
- Job launcher by @yhwen in #3049
- Support extra provision builder generated component files by @yanchengnv in #3056
- Update LLM_HF example by @ZiyueXu77 in #3054
- Job launcher server side by @yhwen in #3055
- Update dashboard cloud base image version to meet Python 3.9 by @IsaacYangSLA in #3064
- Add precision conversion and quantization filters by @ZiyueXu77 in #3059
- Support large object streaming by @yanchengnv in #3061
- Add ability for clients to send error log to server by @nvkevlu in #3057
- Support Aux Message and Object Streaming in SP and CP by @yanchengnv in #3068
- Add no_grad to validation steps by @holgerroth in #3071
- Adjust tf/fedopt_ctl to include updates for the model's non-trainable by @falibabaei in #3058
- Fix controller sequential relay test by @YuanTingHsieh in #3073
- Fix cert issue by @YuanTingHsieh in #3074
- Fix custom pythonpath missing by @yhwen in #3069
- Add Simulator SP Aux message support by @yhwen in #3076
- Fix xgb explainability issue by @YuanTingHsieh in #3078
- Fix auth ls command response by @YuanTingHsieh in #3075
- Fix the streaming test conflict by @nvidianz in #3082
- Cherry-pick Fix TF examples (#3038) by @YuanTingHsieh in #3083
- Bump cross-spawn from 7.0.3 to 7.0.6 in /web by @dependabot in #3084
- Fix poc command by @yanchengnv in #3087
- Fix the simulator without custom folder job run error by @yhwen in #3091
- Docker job launcher by @yhwen in #3072
- Logger hierarchy by @SYangster in #3081
- Refactor provision for general use - Part 1 by @yanchengnv in #3092
- Implement a new algorithm for the CUDA plugin by @YuanTingHsieh in #3085
- Remove the extra client app custom folder by @yhwen in #3101
- Add storage capability for client logs and allow for use with LogSender and LogReceiver by @nvkevlu in #3077
- Keep project_name shorter than the limit by @IsaacYangSLA in #3106
- Directly send tensor via jit serialization by @ZiyueXu77 in #3088
- Update root readme by @holgerroth in #3108
- Updated XGBoost User Guide by @nvidianz in #3111
- Handle param converter according to exchange format by @ZiyueXu77 in #3115
- Bump nanoid from 3.3.7 to 3.3.8 in /web by @dependabot in #3113
- Bump astro from 4.16.6 to 4.16.18 in /web by @dependabot in #3117
- Fix external lib issue when used for pytorch with numpy exchange by @ZiyueXu77 in #3119
- Add list of research examples by @holgerroth in #3110
- Logging dictConfig, log structure, formatters, and filters by @SYangster in #3126
- Fed Statistics: Adding Percentiles support by @chesterxgchen in #3124
- Fixed the FOBS lazy loading issue by @nvidianz in #3121
- Add SP/CP fed event runner by @yhwen in #3129
- Add object retrieval thru streaming by @yanchengnv in #3125
- update the client send_aux_request logging by @yhwen in #3136
- Add capability to publish metrics to prometheus by @chesterxgchen in #2684
- Update dashboard to use nvflare-dashboard prefix by @nvkevlu in #3131
- Support connection security and message authentication by @yanchengnv in #3135
- Update to use vulnerability-scan runner [skip ci] by @pxLi in #3142
- Remove the build folder for unit test to ensure correctness by @YuanTingHsieh in #3143
- Add user guide and docs for logging by @SYangster in #3134
- Dynamic logging with admin commands by @SYangster in #3127
- Add ignore_errors=True when trying to remove the build dir by @YuanTingHsieh in #3146
- Add commands to list and retrieve additional components by @nvkevlu in #3114
- Add error log sending to master template and add provisioning configuration by @nvkevlu in #3138
- docker job launcher provision by @yhwen in #3116
- Logging enhancements by @SYangster in #3148
- Add self-paced training tutorial structure by @chesterxgchen in #3145
- Improve json serialization to accomodate numpy float32 by @YuanTingHsieh in #3028
- Remove the hardcode 0 and use the default value for LauncherExecutor by @YuanTingHsieh in #3153
- Fix Brats18 readme typo [skip ci] by @YuanTingHsieh in #3154
- fixed poc start command and simulator error message by @yhwen in #3157
- Self paced training -- structure change plus Chapter 1 by @chesterxgchen in #3158
- Enhance launcher executor by @YuanTingHsieh in #2744
- Add logging tutorial notebook by @SYangster in #3150
- CC authorizers by @IsaacYangSLA in #3052
- Update HF training items for future-proof by @ZiyueXu77 in #3161
- Disable HA CI tests by @YuanTingHsieh in #3097
- Add log_config.json to MANIFEST.in by @SYangster in #3166
- Remove 8bit tests causing current unit test failure by @ZiyueXu77 in #3174
- Fix custom dir path passed to Flower client supernode subprocess by @taleinat in #3168
- Change ParamsConverter logs to debug level by @SYangster in #3175
- Migrate job template to job api for KM example by @ZiyueXu77 in #3172
- Remove duplicate templates, add to MANIFEST.in by @SYangster in #3183
- Fixed the subprocess read deadlock by @nvidianz in #3188
- Fix log fl_ctx parsing by @SYangster in #3179
- Quant unittest fix by @ZiyueXu77 in #3191
- Add yaml include support by @yhwen in #3133
- Container Streaming/Retriever by @nvidianz in #3173
- Specify framwork for km exmaple by @ZiyueXu77 in #3194
- Update streaming example by @ZiyueXu77 in #3195
- Cleanup Bogus Errors by @nvidianz in #3190
- Apply automated document enhancement modifications by @nvkevlu in #3165
- Add P2P distributed optimization to advanced examples by @francescofarina in #3189
- Separate DockerBuilder and DockerLauncherBuilder by @yhwen in #3186
- Support relay - Part 1 by @yanchengnv in #3198
- self-paced-training: chapter 3 by @chesterxgchen in #3160
- Add self-paced-training tutorial readme by @chesterxgchen in #3202
- Add content for survival analysis for DLI by @nvkevlu in #3204
- add missing init file by @chesterxgchen in #3206
- Add init file for log sender and receiver by @SYangster in #3207
- Add content for logistic regression for DLI by @nvkevlu in #3209
- Convert learner+template to clientAPI+jobAPI for nlp example by @ZiyueXu77 in #3200
- Add lightning to FL content for DLI by @nvkevlu in #3208
- Add shutdown method to Flare Client API by @YuanTingHsieh in #3152
- Add 8 bit to quantization data type by @ZiyueXu77 in #3213
- Fix filter job by @yanchengnv in #3211
- Add statistics content for DLI by @nvkevlu in #3212
- Add content for experiment tracking for DLI by @nvkevlu in #3203
- Support relay provision by @yanchengnv in #3215
- Add tabular stats content for DLI by @nvkevlu in #3219
- Convert Kmeans job template to jobAPI by @ZiyueXu77 in #3217
- Flower Integration V2 by @yanchengnv in #3216
- Add client api DLI notebook by @nvkevlu in #3220
- Add existing code for kmeans by @nvkevlu in #3210
- Update flower examples by @holgerroth in #3224
- Enhance lightning api by @holgerroth in #3225
- Consolidate xgboost examples by @ZiyueXu77 in #3214
- DLI tutorial on low level api by @francescofarina in #3201
- Add tb dependency by @holgerroth in #3231
- Support client hierarchy by @yanchengnv in #3234
- Skip npx degit confirmation in notebooks by @SYangster in #3239
- Add predefined log modes by @SYangster in #3221
- Improve metrics streaming by @YuanTingHsieh in #2722
- Support Edge Executor by @yanchengnv in #3245
- Self-paced-training tutorial: Chapter 6: Security by @chesterxgchen in #3205
- XGBoost example update by @ZiyueXu77 in #3242
- Add ClientAPI to KMeans by @ZiyueXu77 in #3244
- Remove meta, enable uint8 quantization, and update server filter behavior by @ZiyueXu77 in #3222
- Allow logs with levels greater than info through filter by @SYangster in #3248
- Add chapter-8 LLM notebooks by @ZiyueXu77 in #3226
- Bump transformers from 4.38.2 to 4.48.0 in /research/fed-bpt by @dependabot in #3218
- FedStats Quantile and Tutorials Update by @chesterxgchen in #3241
- Tutorials fix misc errors for Chapter 1 by @chesterxgchen in #3253
- Use Provisioner for Dashboard by @yanchengnv in #3252
- Add commands for flare api for the job components by @nvkevlu in #3247
- Fix ANALYTIC_EVENT_TYPE import by @YuanTingHsieh in #3254
- Add chapter-10 XGBoost notebooks by @ZiyueXu77 in #3235
- SVTPrivacy: update member variable names by @holgerroth in #3255
- update flower dependencies by @holgerroth in #3257
- Deprecate tracker_types file by @YuanTingHsieh in #3258
- Tutorial Chapter 1: fix broken link by @chesterxgchen in #3264
- Upgrade examples to BioNeMo 2 by @holgerroth in #3095
- Make FLComponent dynamically init by @yanchengnv in #3265
- Add chapter-12 financial notebooks by @ZiyueXu77 in #3236
- Update quantization to force gpu usage for blockwise8 by @ZiyueXu77 in #3256
- Update tutorail notebooks by @ZiyueXu77 in #3268
- Tutorials: Fix missing instructions by @chesterxgchen in #3269
- Add filter design notes to doc by @ZiyueXu77 in #3267
- Get job participating clients from Job Meta by @yanchengnv in #3270
- Support data root in workspace and add entity props for dashboard-based provision by @yanchengnv in #3262
- Edge Components by @nvidianz in #3275
- Add edge XOR example - controller and aggregator part by @ZiyueXu77 in #3271
- Self Paced Training - Chapter 4. by @zhijinl in #3243
- [WIP] Self-Paced Training - Chapter 1 Proof-reading by @zhijinl in #3279
- Tutorials: Add privacy notebooks by @holgerroth in #3261
- Add error message for bf16 data type by numpy by @ZiyueXu77 in #3273
- Fix typos in low-level APIs tutorial by @francescofarina in #3274
- Add controller features to xor edge example by @ZiyueXu77 in #3277
- Add CIFAR10 edge example by @YuanTingHsieh in #3272
- Privacy tutorial: add filter example by @holgerroth in #3282
- Cleaning Chapter 3 of tutorial by @francescofarina in #3281
- Support custom participant types and custom roles in Provision by @yanchengnv in #3280
- Self-paced training - chapter 1 proof-reading, 2nd pass by @zhijinl in #3284
- [WIP] Update logistic regression example to FedJob API by @zhijinl in #3250
- JSON Config for Edge Emulator by @nvidianz in #3278
- [Tutorial] Part 2, Chapter 3, Session 2: add missing project.yml by @chesterxgchen in #3287
- Improved hash algorithm by @nvidianz in #3286
New Contributors
- @NAEV95 made their first contribution in #2968
- @agiusa made their first contribution in #3022
- @francescofarina made their first contribution in #3189
Full Changelog: 2.5.0...2.6.0rc1