Releases: microsoft/ebpf-for-windows
Releases · microsoft/ebpf-for-windows
v0.18.0
What's Changed
- Proposal for multiple load of native programs. by @saxena-anurag in #3566
- Update regression tests to 0.17 by @saxena-anurag in #3642
- Enable building and signing eBPF for Windows by @Alan-Jowett in #3651
- Remove VC++ Redist package from installation instruction by @shpalani in #3636
- Remove netperf from daily schedule until it's fixed by @Alan-Jowett in #3654
- Simplify native module handle cleanup by @Alan-Jowett in #3653
- Add hint to LTCG that code should be inlined by @Alan-Jowett in #3658
- Fix conflict between Windows and ubpf headers by @Alan-Jowett in #3665
- Speedup ebpf_handle_table_terminate by avoiding acquire/release of lock by @Alan-Jowett in #3605
- Fix bpf conformance failure by @Alan-Jowett in #3666
- Set empty program name to hash of instructions by @mikeagun in #3493
- [StepSecurity] ci: Harden GitHub Actions by @step-security-bot in #3679
- Add batch map APIs in Doxygen documentation by @shpalani in #3652
- Update harden-runner for release scheduler by @dthaler in #3680
- Use
context_header
for tail call perf improvement by @saxena-anurag in #3698 - update version to 0.18.0 by @shankarseal in #3690
- Upgrade all C_ASSERT to static_assert by @Alan-Jowett in #3702
- [bpf_map_lookup_batch] Fix bpf_map_lookup_batch data retrieval and add test cases for percpu hash map batch lookup by @shpalani in #3590
- UM API to write into a ring buffer map. by @shankarseal in #3689
- Special case integer key sizes by @Alan-Jowett in #3710
- _ebpf_link_instance_invoke_with_context_header should call correct batch_end api by @Alan-Jowett in #3709
- Include
export_program_info.exe
in redist nuspec by @saxena-anurag in #3711 - Turn netperf on for daily runs by @Alan-Jowett in #3715
- Implement
implicit_context
for helper functions. by @saxena-anurag in #3656 - Add test case for program order in native module by @saxena-anurag in #3686
- Set errno for bpf_object__find_map_by_name by @shpalani in #3712
Full Changelog: Release-v0.17.0...Release-v0.18.0
Release v0.17.1
What's Changed
- Update store APIs to also update HKLM by @saxena-anurag in #3660
- update release version to 0.17.1 by @shankarseal in #3674
Full Changelog: Release-v0.17.0...Release-v0.17.1
v0.17.0
What's Changed
- Pickup fix for iovisor/ubpf#432 by @Alan-Jowett in #3476
- Update verifier to latest by @dthaler in #3454
- Update isa-support.rst with latest from ebpf-docs by @dthaler in #3477
- Change allocator to reject large allocation sizes by @Alan-Jowett in #3487
- Fixes for memory leaks and crashes by @saxena-anurag in #3485
- Implement
bpf_get_socket_cookie()
by @saxena-anurag in #3464 - Set allocator_may_return_null=1 as an environment variable by @Alan-Jowett in #3494
- Revert overly strict check in link attach to provider by @Alan-Jowett in #3495
- Fix formatting issues in isa-support.rst by @dthaler in #3488
- Add support for unlimited map size by @saxena-anurag in #3348
- Increase stack depth for PR fault_injection tests by @saxena-anurag in #3489
- The netperf run fails due to missing Azure 2025 results by @Alan-Jowett in #3499
- Partition LRU key history to reduce contention. by @Alan-Jowett in #3459
- PR feedback by @Alan-Jowett in #3510
- Update copyright to be eBPF for Windows contributors by @dthaler in #3508
- Update ebpf verifier by @Alan-Jowett in #3527
- Fix bpf2c output format by @dthaler in #3532
- Update version by @shankarseal in #3533
- proposed changes to issue prioritization. by @shankarseal in #3516
- Pickup latest ubpf and fix breaking contract changes by @Alan-Jowett in #3531
- Phase 1 of removing the rundown protection for invoke by @Alan-Jowett in #3534
- Cache choco packages to work around connectivity issues by @Alan-Jowett in #3536
- Add documentation to eBpfExtensions.md to clarify use of hash by @Alan-Jowett in #3559
- Add option to control the level of verbosity emitted by verifier. by @Alan-Jowett in #3570
- Add
total_size
to extension header. by @saxena-anurag in #3573 - [bpf_map_lookup_batch] Add test case to retrieve data in batches by @shpalani in #3563
- Disable tailcall multi-threaded stress test for now. by @dv-msft in #3558
- Add connection contexts to hash table by @matthewige in #3036
- Pickup latest ubpf and fix breaking changes by @Alan-Jowett in #3581
- Fix for breaking change P2905R2 in STL by @Alan-Jowett in #3589
- Cleanup batch APIs and remove unused parameter by @Alan-Jowett in #3580
- Add support for multiple programs per section by @dthaler in #3557
- Fixes for kernel mode multi-threaded test by @dv-msft in #3560
- Add workaround for NmrRegisterClient calling detach by @Alan-Jowett in #3594
- Move
ebpf_link_dispatch_table_version_t
toebpf_extension.h
by @saxena-anurag in #3593 - Implement libbpf autoload APIs by @dthaler in #3592
- Multiple MSVC related fixes by @saxena-anurag in #3623
New Contributors
Full Changelog: Release-v0.16.0...Release-v0.17.0
Release-v0.16.0
What's Changed
- Reallocate packet by @shankarseal in #3344
- update release version to 0.16.0 by @shankarseal in #3423
- Add script to forcefully remove ebpf-for-windows by @Alan-Jowett in #3441
- Add missing required option for reusable-build.yml by @Alan-Jowett in #3450
- Switch to merged netperf logs by @Alan-Jowett in #3452
- Update install script to refresh Path by @mikeagun in #3462
- Improve verifier fuzzer by @Alan-Jowett in #3431
- Various fixes to the extension version logic. by @shankarseal in #3432
- Fix memory leak in _duplicate_program_descriptor() (#3473) #3478
- Fixes for memory leaks and crashes (#3485) #3496
- Revert overly strict check in link attach to provider (#3495) #3496
New Contributors
Full Changelog: Release-v0.15.1...v0.16.0
Release-v0.15.1
What's Changed
- Cherry pick PR #3422 by @shankarseal in #3434
- Update to version 0.15.1 by @matthewige in #3435
Full Changelog: Release-v0.15.0...Release-v0.15.1
Release-v0.15.0
What's Changed
- Update release workflow trigger tag. by @gtrevi in #3113
- Helper reallocate packet by @shankarseal in #3110
- Add permissions to
release-scheduler.yml
workflow. by @gtrevi in #3122 - Remove store km lib and code by @saxena-anurag in #3109
- Add connected UDP tests to cgroup/sock_addr_connect by @matthewige in #3041
- Update Release process to get the Debug version. by @shpalani in #3124
- Fix bpf_map_get_next_key "key not found" bug. by @gtrevi in #3042
- Update verifier to latest by @dthaler in #3144
- Enable optimization on bpf2c generated code by @Alan-Jowett in #3146
- Bump bpf_performance to v0.0.6 by @Alan-Jowett in #3147
- Switch from epoch_flush to epoch_synchronize by @Alan-Jowett in #3039
- Set required_irql in sockops and sockaddr program information by @Alan-Jowett in #3159
- Bail if we can't enter rundown in WFP classify callbacks by @dv-msft in #3148
- Add RAII wrapper for epoch_enter/exit by @Alan-Jowett in #3167
- Fix descriptions of atomic fetch operations in isa-support.rst by @dthaler in #3168
- Pickup version 0.0.5 of bpf_conformance by @Alan-Jowett in #3182
- Add sdiv and smod instruction support to bpf2c by @dthaler in #3165
- Update isa-support per latest bpf_conformance updates by @dthaler in #3183
- Add support for handling anonymous inner maps by @Alan-Jowett in #3169
- Add support for bpf_map_*_batch APIs by @Alan-Jowett in #3178
- Add bpf2c support for cpu=v4 instructions by @dthaler in #3185
- Fix array out of bounds access during fuzzing by @Alan-Jowett in #3194
- Enable interlocked tests in bpf2c conformance by @Alan-Jowett in #3195
- Add malformed ELF files to bpf2c corpus by @Alan-Jowett in #3198
- Serialize calls to pe-parse api calls. by @dv-msft in #3206
- Add support for statically initializing BPF_MAP_TYPE_HASH_OF_MAPS by @Alan-Jowett in #3211
- Fix AV if allocation of error_message fails by @Alan-Jowett in #3214
- If setting initial value of maps fails, ebpf native module leaks handles by @Alan-Jowett in #3222
- Disable extension restart for kernel-mode multi-threaded test. by @dv-msft in #3225
- Eliminate unneeded interlocked operation on LPM updates by @Alan-Jowett in #3239
- Move context_create and context_destroy to run at same IRQL as program invocation. by @matthewige in #3242
- Fix
bpf obj get()
behavior. by @gtrevi in #3238 - Release v0.14.0 by @shpalani in #3240
- Ensure that LPM's prefix bitmap is always 64bit aligned by @Alan-Jowett in #3244
- ISA support updates by @dthaler in #3236
- Update cicd-release-validation.yml by @Alan-Jowett in #3245
- Improve documentation for running the port_quota demo. by @ben-zen in #3196
- fix check for static initialization of hash-of-maps key length. by @shankarseal in #3260
- Minor update to ReleaseProcess doc by @shpalani in #3256
- Revert "Helper reallocate packet (#3110)" by @shankarseal in #3263
- Enable build cross repo by @Alan-Jowett in #3269
- Fix issue with > 64 cpus by @Alan-Jowett in #3274
- Remove max limit for
ebpf_id_table
by @saxena-anurag in #3276 - Fix flaky API regression test. by @saxena-anurag in #3257
- Add negative test program and test for xdp datasize check by @dv-msft in #3292
- Fix scorecards workflow runs by @dthaler in #3303
- Fix CVE-2024-24810 by @gtrevi in #3304
- Pin Azure Login action by commit id by @Alan-Jowett in #3301
- [StepSecurity] Apply security best practices by @step-security-bot in #3306
- Add utility memory functions by @Alan-Jowett in #3324
- Eliminate calls with FILE_FLAG_OVERLAPPED set, but no overlapped by @Alan-Jowett in #3315
- Fix the IOCTL numbers so that ebpfapi.dll for x64 and x64-NativeOnly are cross-compatible. by @saxena-anurag in #3305
- Switch synchronous thread to thread_local storage by @Alan-Jowett in #3330
- Memset is defined as taking destination, c, count by @Alan-Jowett in #3335
- Use custom script wrapper for all km tests to capture user, km dumps on hangs by @dv-msft in #3163
- km stress test hang investigation - Add book-keeping info and traces for post-mortem debugging. by @dv-msft in #3300
- fix tracing. by @shankarseal in #3336
- Refactor the MSI installer contents. by @gtrevi in #3333
- Use specified primary repository (for self-hosted runner setups) by @dv-msft in #3345
- Fix ring_buf issues by @saxena-anurag in #3354
- docs: Mark C/JSON/XML code, remove stray backticks by @kevinji in #3353
- wait for all events. by @shankarseal in #3368
- CI/CD user, kernel dump harvesting fixes by @dv-msft in #3355
- issue priorities. by @shankarseal in #3349
- Refactor all deployments to use the MSI package. by @gtrevi in #3284
- Move filter delete auditing to delete notify callback by @dv-msft in #3372
- Consolidate build & release artifacts. by @gtrevi in #3127
- Add option to skip if build artifact name == none by @Alan-Jowett in #3378
- Update the release process. by @shankarseal in #3357
- Release v0.15.0 by @matthewige in #3389
- Release 0.15.0 fixes by @matthewige in #3397
- extension_header (#3326) by @shankarseal in #3414
New Contributors
- @ben-zen made their first contribution in #3196
- @step-security-bot made their first contribution in #3306
- @kevinji made their first contribution in #3353
Full Changelog: Release-v0.13.0...Release-v0.15.0
v0.14.1
What's Changed
- Update release workflow trigger tag. by @gtrevi in #3113
- Helper reallocate packet by @shankarseal in #3110
- Add permissions to release-scheduler.yml workflow. by @gtrevi in #3122
- Remove store km lib and code by @saxena-anurag in #3109
- Add connected UDP tests to cgroup/sock_addr_connect by @matthewige in #3041
- Update Release process to get the Debug version. by @shpalani in #3124
- Fix bpf_map_get_next_key "key not found" bug. by @gtrevi in #3042
- Update verifier to latest by @dthaler in #3144
- Enable optimization on bpf2c generated code by @Alan-Jowett in #3146
- Switch from epoch_flush to epoch_synchronize by @Alan-Jowett in #3039
- Set required_irql in sockops and sockaddr program information by @Alan-Jowett in #3159
- Bail if we can't enter rundown in WFP classify callbacks by @dv-msft in #3148
- Add RAII wrapper for epoch_enter/exit by @Alan-Jowett in #3167
- Fix descriptions of atomic fetch operations in isa-support.rst by @dthaler in #3168
- Pickup version 0.0.5 of bpf_conformance by @Alan-Jowett in #3182
- Add sdiv and smod instruction support to bpf2c by @dthaler in #3165
- Update isa-support per latest bpf_conformance updates by @dthaler in #3183
- Add support for handling anonymous inner maps by @Alan-Jowett in #3169
- Add support for bpf_map_*_batch APIs by @Alan-Jowett in #3178
- Add bpf2c support for cpu=v4 instructions by @dthaler in #3185
- Fix array out of bounds access during fuzzing by @Alan-Jowett in #3194
- Enable interlocked tests in bpf2c conformance by @Alan-Jowett in #3195
- Add malformed ELF files to bpf2c corpus by @Alan-Jowett in #3198
- Serialize calls to pe-parse api calls. by @dv-msft in #3206
- Add support for statically initializing BPF_MAP_TYPE_HASH_OF_MAPS by @Alan-Jowett in #3211
- Fix AV if allocation of error_message fails by @Alan-Jowett in #3214
- If setting initial value of maps fails, ebpf native module leaks handles by @Alan-Jowett in #3222
- Disable extension restart for kernel-mode multi-threaded test. by @dv-msft in #3225
- Eliminate unneeded interlocked operation on LPM updates by @Alan-Jowett in #3239
- Move context_create and context_destroy to run at same IRQL as program invocation. by @matthewige in #3242
- Fix bpf obj get() behavior. by @gtrevi in #3238
- Release v0.14.0 by @shpalani in #3240
- Update cicd-release-validation.yml (#3245) by @Alan-Jowett in #3246
- Release v0.14.0 by @shpalani in #3247
- Release v0.14.1 by @shpalani in #3265
Full Changelog: Release-v0.14.0...Release-v0.14.1
Full Changelog: Release-v0.13.0...Release-v0.14.0
v0.13.0
What's Changed
- Switch to mt19937 algorithm by @Alan-Jowett in #2956
- Check for valid work queue ptr prior to usage by @dv-msft in #2970
- ebpf_epoch_initiate should cleanup on failure by @Alan-Jowett in #2972
- Wrap all noexcept calls in try/except to catch out of memory by @Alan-Jowett in #2941
- Remove debug fprintf calls by @Alan-Jowett in #2982
- Switch to hash-table for object id entries by @Alan-Jowett in #2984
- Add tracing in ebpfapi by @saxena-anurag in #2950
- Add MSI testing in the CI/CD pipeline. by @gtrevi in #2953
- Skip running the 'quick' user-mode multi-threaded stress test in scheduled CI/CD runs by @dv-msft in #2999
- Delay free of objects to epoch end by @Alan-Jowett in #2989
- Raise IRQL to DISPATCH after test_helper is successfully initialized. by @dv-msft in #2988
- Restore VM after driver job finishes. by @rectified95 in #3000
- Increase critical value threshold by @Alan-Jowett in #3004
- Add support for in-mem etl traces for CI/CD jobs by @dv-msft in #2946
- Fix failure during fault injection by @Alan-Jowett in #3007
- Switch to bpf_performance v0.0.4 by @Alan-Jowett in #3008
- Clean up bpf_object on exceptions in socket_tests. by @rectified95 in #3014
- Fix ASAN linker error by @shpalani in #3027
- chore: fix the hash for setup scripts by @feiskyer in #3009
- Fix api_test documentation. by @shankarseal in #3013
- Fix ring-buffer map consumer pointer on multiple subscribe/unsubscribe. by @gtrevi in #3002
- Release v0.13.0 by @gtrevi in #3030
- Compress KM dumps and perf ETLs before upload. by @rectified95 in #3029
- Fix CICD concurrency and add separate perf workflow. by @rectified95 in #3034
- Change trace in ebpf_pinning_table_find by @shpalani in #2954
- Fix bpf_map_get_next_key for hash-of-maps by @shpalani in #3051
- Default to 1 repeat count if zero is specified by @Alan-Jowett in #3059
- Workaround ASAN issue with environment variable by @matthewige in #3070
- Only run unit_tests in Debug flavor with AppVerifier memory checks in the nightly CI run. by @rectified95 in #3056
- Create a new CI/CD workflow file that will be used specifically validate release branches. by @gtrevi in #3048
- Reorder GH events in concurrency expression. by @rectified95 in #3077
- Update release process. by @gtrevi in #3078
- Update isa-support table by @dthaler in #3069
- Zero initialize batch context state by @Alan-Jowett in #3058
- fix sock_ops test. by @shankarseal in #3083
- Fix perf-log upload in release validation workflow. by @gtrevi in #3085
- wait for all filter delete notifications before unloading netebpfext.sys driver by @dv-msft in #3017
- Switch to v0.0.5 of bpf_performance tests by @Alan-Jowett in #3087
- Remove XDP hook support from netebpfext.sys by @matthewige in #3040
- Fix ebpf library linkage when using props file by @mtfriesen in #3107
- Fix build break from VS 2022 17.8.2 by @Alan-Jowett in #3104
- Separate out undocked components. by @saxena-anurag in #3055
- Automate repo init & reset by @gtrevi in #3108
Full Changelog: v0.12.0...Release-v0.13.0
v0.12.0
What's Changed
- Pick up v0.3.0 of bpf_performance by @Alan-Jowett in #2848
- Remove barriers and spinlock in epoch_enter and epoch_exit by @Alan-Jowett in #2796
- Add regression test for 0.11.0 release by @saxena-anurag in #2852
- Add designated runner for perf jobs. by @rectified95 in #2845
- Add workflow to upload BPF performance results by @Alan-Jowett in #2847
- Explictly pass secrets to reusable workflow by @Alan-Jowett in #2866
- Update Release documentation. by @gtrevi in #2865
- Add required permission to log into Azure by @Alan-Jowett in #2867
- Connect Redirect Test fixes by @matthewige in #2851
- Update to use latest usersim by @dthaler in #2858
- Fix double-free in api_common by @dthaler in #2869
- Remove check that prevents fuzzing below minimum size by @Alan-Jowett in #2849
- Add WS 2022 self-hosted runners. by @rectified95 in #2850
- Ensure gather and convert use same path for CSV by @Alan-Jowett in #2870
- Link against optional SPGO database by @Alan-Jowett in #2871
- Fix up km_stress job labels. by @rectified95 in #2875
- Diagnose failure to upload results to perf db by @Alan-Jowett in #2899
- Add trace for unsupported pinning type by @shpalani in #2889
- Update isa-support.rst by @dthaler in #2906
- Fix typo in actions/upload-artifact by @Alan-Jowett in #2909
- Fastfail if constraints are violated by @Alan-Jowett in #2864
- Add test case calling an IOCTL in ebpfcore_usersim.dll by @dthaler in #2876
- Fix processing of bpf perf results by @Alan-Jowett in #2914
- Move required definitions to include/bpf_helpers.h by @Alan-Jowett in #2880
- Fix netsh show maps alignment issue by @dthaler in #2918
- Fix #line 0 issue for bpf2c by @saxena-anurag in #2920
- Add test for checking DLL dependencies in distributed user-mode binaries. by @gtrevi in #2922
- Implement LIBBPF_PIN_BY_NAME instead of PIN_GLOBAL_NS by @saxena-anurag in #2862
- Test error fix by @rectified95 in #2924
- Add performance badge to README file by @dthaler in #2935
- Document roles and responsibilities by @dthaler in #2939
- Remove spurious locks in object map path by @Alan-Jowett in #2938
- Fix some Catch2 tests not returning exit code. by @rectified95 in #2943
- Timed work queue by @Alan-Jowett in #2900
- Adding a call to ebpf_trace_terminate in case of subsequent APIs faliure by @amitschendel in #2921
- Release v0.12.0 by @gtrevi in #2937
Full Changelog: v0.11.0...v0.12.0
v0.11.0
What's Changed
- Fix driver job failure due to log file contention. by @rectified95 in #2740
- Add static initializer support to bpf2c - part 1 by @Alan-Jowett in #2728
- Fix deploy-ebpf script by @dthaler in #2757
- Implement bpf_get_prandom_u32 using linear congruential generator by @Alan-Jowett in #2761
- Build ebpfcore as a DLL for testing by @dthaler in #2744
- Remove cmake build by @dthaler in #2764
- Add support for scheduled kernel mode multi-threaded stress tests in gh ci/cd by @dv-msft in #2670
- Recheck state after acquiring lock by @Alan-Jowett in #2776
- Fix incorrect LRU algorithm by @Alan-Jowett in #2778
- Use full key width when computing array index by @Alan-Jowett in #2780
- Ebpf perf doc by @Alan-Jowett in #2748
- enable explicit clean-up prior to process exit for user mode stress test app. by @dv-msft in #2782
- Sort programs to match bpf2c by @Alan-Jowett in #2784
- Download latest successful bpf_performance build by @Alan-Jowett in #2774
- Only call ebpf_should_yield_processor every batch_size invocations by @Alan-Jowett in #2797
- Add missing traces in NetEbpfExt by @dv-msft in #2750
- Fix bindmonitor_tail_call_invoke_program_test test case with 31 MAX tail calls by @shpalani in #2802
- Remove expensive div rax,r14 by @Alan-Jowett in #2799
- Ensure correct params are passed for CI/CD km mt stress test jobs by @dv-msft in #2775
- Reduce the cost of bpf_tail_call overhead by @Alan-Jowett in #2800
- fix stress test script file name by @dv-msft in #2806
- Workaround issue in GitHub actions REST API by @Alan-Jowett in #2811
- Make runtime binaries not depend on usersim by @dthaler in #2783
- Fix build artifact circular dependency by @Alan-Jowett in #2820
- Fix setup-ebpf.ps1 by @saxena-anurag in #2824
- Disable reference history on release builds by @Alan-Jowett in #2819
- ebpf_adjust_value_pointer check is redundant by @Alan-Jowett in #2814
- Switch from mod to and for computing bucket index by @Alan-Jowett in #2813
- Increase MAX_TAIL_CALL_CNT to 33 tail calls by @shpalani in #2826
- Bpf performance run by @Alan-Jowett in #2821
- Fix program info hash algorithm by @saxena-anurag in #2829
- Add helper function to set redirect context by @matthewige in #2823
- Define _WIN32 and DEFAULT_COMPARTMENT_ID in the ebpf header files. by @saxena-anurag in #2841
- Check for dominant frequency in random number generators by @Alan-Jowett in #2786
- Release v0.11.0 by @gtrevi in #2846
Full Changelog: v0.10.0...v0.11.0