Skip to content

Releases: Exa-Networks/exabgp

ExaBGP 'Never trust 0.0 code' release

21 Nov 23:32
55927f1

Choose a tag to compare

ExaBGP 5.0.1

This is a bug fix release addressing issues introduced in 5.0.0.

🚨 Critical Fixes

Container ImportError Fix

  • Fix: Container startup failure in 5.0.0 - The 5.0.0 Docker container (ghcr.io/exa-networks/exabgp:5.0.0) failed to start with ImportError: cannot import name 'get_root' from
    'exabgp.version'
  • Added missing get_root() and get_zipapp() functions that were removed during 5.0.0 release but still required by application/version.py
  • All exabgp commands (--help, version, etc.) now work correctly

RIB Stability Fixes

  • Fix: RIB iterator crash in delete_cached_family() - Modified dictionary during iteration causing RuntimeError on configuration reload
  • Fix: RIB iterator safety in cached_changes() - Prevented iterator corruption during concurrent access
  • Fix: race condition in RIB updates() generator - Fixed missing/duplicate route updates when API flush commands arrive during peer sending

✨ Testing Improvements

  • Added comprehensive RIB stress test suite (tests/unit/test_rib_stress.py) - 18 tests covering critical bugs, race conditions, edge cases, and performance

ExaBGP "Claude" release

17 Nov 21:49
5.0.0
f12892d

Choose a tag to compare

Pre-release

Major code release

This is the first stable release of ExaBGP 5.0.

This release is based on the main branch, which has been widely used in production (with some recent changes). Development in main will lead to the creation of version 6.0.0, which already includes significant work to leverage modern Python asynchronous features as well as code annotations with mypy. As these changes are more likely to introduce potential issues, we are releasing 5.0 as a stable version for production use.

This release removes support for Python 3.7 and requires Python 3.8+.

"Nothing much" happened since the latest 4.2.22 release "but":

  • 871 commits since 4.2.22
  • 920 files changed, 88,481 insertions, 29,566 deletions
  • 20+ contributors
  • All major changes are documented in the CHANGELOG

🙏 Acknowledgments

Special thanks to:

  • All contributors who submitted patches, bug reports, and feature requests
  • The BGP community for protocol clarifications
  • Early adopters who tested pre-release versions
  • Everyone who contributed to documentation and examples

🐛 Known Issues

See the issue tracker for known issues.

Notable TODOs for future releases:

  • OriginASN4Number extended community (Type 2,2)
  • RouteTargetASN4Number extended community (Type 2,3)
  • IP/Range/CIDR class API improvements

📄 License

ExaBGP is licensed under the BSD-3-Clause License.


🔗 Links


💬 Questions?


Full Changelog: 4.2.22...5.0.0


👻 Ghost written by Claude (Anthropic AI)

ExaBGP 'Not a Zen Day' release

17 Mar 10:06
ee02a9e

Choose a tag to compare

This release fixes an issue with doctopt introduced in 4.2.23.

The short option of the command line -1, -s and -x were not understood anymore.

ExaBGP 'No, It is him, Ludgi' Release

10 Mar 21:58
73f1fe8

Choose a tag to compare

This release is a follow up to 4.2.23 removing some unused (or unnecessary vendored library) which broke following the backward incompatible changes introduced by python 3.13

ExaBGP 'It's me, Mar 10' Release

10 Mar 15:57
d60a16b

Choose a tag to compare

Pre-release

After nearly a year, an update to keep up with Python development.

  • Fix: issue with code with python 3.13
  • Fix: update doctopt to master
  • Fix: workaround for deprecated asyncore

ExaBGP 'Iwama' release

12 Jun 22:49
4.2.22
f56baea

Choose a tag to compare

Version 4.2.22

  • Fix: route reload for offline neighbors #1126
    patch: Malcolm Dodds
  • Fix: make sure we compare next-hop self and next-hop IP correctly (#1153)
    reported: gitneep
  • Compatibility: remove "not-a-fragment" "!is-fragment" should be used instead
  • Upgrade six to the latest version

And probably a bit more if you read the changelog.

ExaBGP 'fix regression' release

18 Jul 15:11
4.2.21
3fe8fc2

Choose a tag to compare

Fix an issue introduced with 4.2.20 : exabgp cli could not announce any routes

ExaBGP 'supreme facepalm' release

25 Jun 22:41
4.2.20
d4e1b03

Choose a tag to compare

Version 4.2.20

  • Fix: correctly filter routes announced by the API to the right peer #1005
  • Feature: healthcheck neighbor filtering and path-information backport of #1098 and #1099
  • Fix: backport #1101 fix parsing of FlowSpec TCPFlags with NS
  • Fix: backport #1102 fix parsing of Fragment with IPv6 destinations/sources
  • Fix: bug in CLI when failing to read data

ExaBGP '(no) confidence' release

07 Jun 00:29
4.2.19
0388952

Choose a tag to compare

Bug fix only release

  • Feature: force PGP signing of tags
  • Feature: backport ICMP types
  • Fix: backport healthcheck setup_ips requiring a label
    backport by: Steven Honson

ExaBGP 'election' release

24 Apr 10:21
4.2.18
75bbea8

Choose a tag to compare

This release only adds the ICMP experimental code.
It was created to provide a PGP signed tag as some organisations require it.