Firebird 3 introduces 48 bit transaction ids (realised as 64 bit values). Jaybird needs to support these. Relevant areas are isc_database_info, isc_transaction_info and the services API.
For isc_database_info and isc_transaction_info the values below 2^32 are handled as they were (4 bytes), and above they are sent as 8 bytes (length prefixed). For the services API additional tags were introduced: isc_spb_tra_id_64, isc_spb_single_tra_id_64, isc_spb_multi_tra_id_64. They are used only if the value overflows 2^32.