What's Changed
* [2.4] tf dataset setup and teardown by SYangster in https://github.com/NVIDIA/NVFlare/pull/2365
* [2.4] Update outdated links by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2367
* [2.4] Fix nemo example link by holgerroth in https://github.com/NVIDIA/NVFlare/pull/2374
* [2.4] Fix NEMO links by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2384
* [2.4] Update license headers by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2386
* [2.4] Add xgboost histogram_based_v2 by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2382
* [2.4] Clean up file pipe by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2391
* [2.4] Added ReliableMessage by nvidianz in https://github.com/NVIDIA/NVFlare/pull/2394
* [2.4] Add xgboost example, unit tests, integration tests by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2392
* [2.4] Add xgboost metrics tracking cb by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2381
* Exclude non-training clients from cse by yanchengnv in https://github.com/NVIDIA/NVFlare/pull/2400
* [2.4] Integrated ReliableMessage with XGBoost by nvidianz in https://github.com/NVIDIA/NVFlare/pull/2399
* [2.4] Fixed the FOBS doc to add support for DatumManager by nvidianz in https://github.com/NVIDIA/NVFlare/pull/2408
* [2.4] Added AGRPCS, NGRPCS as secure scheme by nvidianz in https://github.com/NVIDIA/NVFlare/pull/2409
* [2.4] Enable StreamCell for all application channels by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2406
* [2.4] Update rr_order to cyclic_order by SYangster in https://github.com/NVIDIA/NVFlare/pull/2411
* [2.4] Fix mlflow tag links by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2417
* [2.4] Add client api send check by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2418
* [2.4] Lightning API Patch just once by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2416
* [2.4] Fix LauncherExecutor handle_event by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2414
* [2.4] Add custom order and early termination to cyclic controller by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2422
* [2.4] Upgrade dependencies versions by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2426
* [2.4] Fixed the wrong workspace object in the simulator worker by yhwen in https://github.com/NVIDIA/NVFlare/pull/2430
* [2.4] always use default grpc opts by yanchengnv in https://github.com/NVIDIA/NVFlare/pull/2428
* [2.4] Fix check resource auth by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2439
* [2.4] Upgrade protobuf version by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2436
* [2.4] Improve xgb runner status check by yanchengnv in https://github.com/NVIDIA/NVFlare/pull/2434
* [2.4] Check wandb login by SYangster in https://github.com/NVIDIA/NVFlare/pull/2444
* [2.4] Update fed xgboost docstrings/readme based on stable version by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2446
* [2.4] metric relay starts pipe handler heartbeat send/check after task is pulled by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2415
* [2.4] task_exchanger starts pipe handler heartbeat send/check after task is pull by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2442
* [2.4] Use full path for DhPSITaskHandler by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2437
* [2.4] Update finance example using job templates by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2448
* [2.4] Update setup.py of monai integration folder by IsaacYangSLA in https://github.com/NVIDIA/NVFlare/pull/2449
* [2.4] Improve cell pipe timeout handling by yanchengnv in https://github.com/NVIDIA/NVFlare/pull/2441
* [2.4] Update github actions by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2450
* [2.4] Clarify download_job workspace delay by SYangster in https://github.com/NVIDIA/NVFlare/pull/2453
* [2.4] Improve reliable message by yanchengnv in https://github.com/NVIDIA/NVFlare/pull/2452
* [2.4] Support client custom code in simulator by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2447
* [2.4] Enhance launcher executor by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2433
* [2.4] Remove cancel_futures args by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2457
* [2.4] Fix sub_worker_process shutdown by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2458
* [2.4] Fire and forget for pipe handler control messages by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2413
* [2.4] Add garbage collect at ends of round-based workflows by SYangster in https://github.com/NVIDIA/NVFlare/pull/2464
* [2.4] cherry-pick the fix_submit_job_auth_failure to 2.4 branch by yhwen in https://github.com/NVIDIA/NVFlare/pull/2466
* [2.4] Add warning when the same admin in project.yml has different role by IsaacYangSLA in https://github.com/NVIDIA/NVFlare/pull/2469
* [2.4] Fix premerge by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2467
* [2.4] Use unbuffered python launch by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2472
* Fix wait-for-reply by yanchengnv in https://github.com/NVIDIA/NVFlare/pull/2478
* [2.4] Set GRPC_ENABLE_FORK_SUPPORT to False by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2474
* [2.4] Add reliable xgboost documentation by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2471
* [2.4] Update doc link for xgboost histogram based by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2482
* [2.4] Added more logging for the job status changing by yhwen in https://github.com/NVIDIA/NVFlare/pull/2481
* Fix issues on hello-world TF2 notebook by IsaacYangSLA in https://github.com/NVIDIA/NVFlare/pull/2493
* [2.4] Fix pipe handler timeout in task exchanger and launcher executor by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2495
* [2.4] Client API doc updates by chesterxgchen in https://github.com/NVIDIA/NVFlare/pull/2498
* add missing images by chesterxgchen in https://github.com/NVIDIA/NVFlare/pull/2500
* [2.4] Fix metric relay pipe handler timeout by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2496
* [2.4] Fix tf integration test by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2504
* [2.4] Add client api integration tests by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2503
* [2.4] Rely on launcher check_run_status to pause/resume heartbeat by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2502
* [2.4] Simulator end run for all clients by yhwen in https://github.com/NVIDIA/NVFlare/pull/2515
* [2.4] Add missing client api test jobs by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2531
* [2.4] Update monai readme [skip ci] by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2551
* [2.4] Add info for custom data/class [skip ci] by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2553
* [2.4] Update ClientAlgo by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2566
* [2.4] Fix get_target_names by SYangster in https://github.com/NVIDIA/NVFlare/pull/2564
* [2.4] Backport AWS VPC/Subnet enhancement from main branch by IsaacYangSLA in https://github.com/NVIDIA/NVFlare/pull/2568
* [2.4] Upgrade gunicorn by YuanTingHsieh in https://github.com/NVIDIA/NVFlare/pull/2525
* [2.4] Fix global steps in MLflow example by chesterxgchen in https://github.com/NVIDIA/NVFlare/pull/2571
* [2.4] Bump up monai nvflare by IsaacYangSLA in https://github.com/NVIDIA/NVFlare/pull/2572
**Full Changelog**: https://github.com/NVIDIA/NVFlare/compare/2.4.0...2.4.1