Skip to content

Releases: strophe/libstrophe

Release 0.13.1

21 Feb 12:53
Compare
Choose a tag to compare

0.13.1
- Fix SCRAM-*-PLUS SASL mechanisms with OpenSSL and TLS < v1.3 (40f2452)
- Only signal "stream negotiation success" once (1cf09b1)
- Fix sock_connect() not looping over all DNS records returned if no sockopt_cb is set (5edc480)
- Replace usage of EBADFD, it's not in POSIX (#235)

Release 0.13.0

01 Feb 08:40
Compare
Choose a tag to compare

0.13.0
- Fix connected/connecting signaling to user (#227)
- Fix wording of licensing terms (#225)
- Prepare for future changes in OpenSSL (#226)
- Improve Stream Management (#227) (#230)
- Add SCRAM-PLUS Variants (#228)
- Introduce XEP-0138 stream compression (#231)
- Deprecated the following API (#227):
- xmpp_conn_disable_tls() - replaced by a flag set by xmpp_conn_set_flags()

Release 0.12.3

02 Aug 14:24
Compare
Choose a tag to compare

0.12.3
- Improve TCP-connection establishment (#221)
- Handle case where the server doesn't provide the bind feature (#224)
- Fix configure script for non-bash shells (#218)
- Parse JID's according to RFC7622 (#219)
- Fix potential memory leak in internal DNS resolver (#219)
- Fix potential memory leaks in xmpp_conn_set_cafile() and xmpp_conn_set_capath() (#219)
- Internal improvements (#219)

Release 0.12.2

08 Aug 10:32
Compare
Choose a tag to compare

0.12.2
- Fix reconnect issues when Stream Management is enabled (#211)
- Fix resolver ... this time for real hopefully (fixup of #200) (#214)
- Fix clearing of password cache on resumed connection (#214)
- Improve detection&implementation of va_copy (#213)
- Fix Valgrind CI builds against LibreSSL (#212)
- Fix perf example on platforms where an rdtsc() equivalent isn't implemented (#212)

Release 0.12.1

04 Jul 22:15
Compare
Choose a tag to compare
  • Fix compilation in buildroot (#207)
  • Fixes regarding OpenSSL (#208)
  • Fix some build steps when builddir != srcdir (#208)
  • Allow the user to disable build of examples (#209)
  • CI builds against OpenSSL 3 (#206)
  • Change the call signature of the following API:
    • xmpp_conn_set_client_cert() - the PKCS#12 file has now to be passed via the cert
      parameter. Originally it was via key. Currently both styles are supported,
      but in a future release only passing via cert will be accepted.

Release 0.12.0

09 May 14:04
Compare
Choose a tag to compare
  • Fix potential infinite loop in resolver (#200)
  • Prevent potential memory leak in xmpp_stanza_new_from_string() (#205)
  • Do proper SO versioning
  • Add code coverage support (#188)
  • Add support for password-protected TLS key & PKCS#12/PFX files (#195, #205)
  • Stream-Management support - XEP-0198 (#184)
  • New API:
    • xmpp_conn_send_queue_len()
    • xmpp_conn_send_queue_drop_element()
    • xmpp_conn_get_sm_state()
    • xmpp_conn_set_sm_state()
    • xmpp_free_sm_state()
    • xmpp_conn_get_keyfile()
    • xmpp_conn_set_password_callback()
    • xmpp_conn_set_password_retries()
    • xmpp_stanza_get_child_by_path()
    • xmpp_conn_set_sockopt_callback()
    • xmpp_sockopt_cb_keepalive()
  • The following APIs were public in the shared library, but not in strophe.h.
    Now they are officially public API:
    • xmpp_rand_new()
    • xmpp_rand_free()
    • xmpp_rand()
    • xmpp_rand_bytes()
    • xmpp_rand_nonce()
    • xmpp_rand_bytes()
  • The following APIs were public in the shared library, but not in strophe.h.
    In a future version of the library they will be private without replacement:
    • xmpp_alloc()
    • xmpp_realloc()
    • xmpp_strdup()
    • xmpp_strndup()
    • xmpp_strtok_r()
    • xmpp_snprintf()
    • xmpp_vsnprintf()
    • xmpp_log()
    • xmpp_error()
    • xmpp_warn()
    • xmpp_info()
    • xmpp_debug()
    • xmpp_debug_verbose()
  • Deprecated the following API:
    • xmpp_conn_set_keepalive() - replaced by xmpp_conn_set_sockopt_callback()

Release 0.11.0

28 Oct 16:11
Compare
Choose a tag to compare
  • SASL EXTERNAL support (XEP-0178)
  • Client certificate can be provided for TLS negotiation. If the certificate contains a single xmppAddr and JID is not provided with xmpp_conn_set_jid(), the xmppAddr is chosen as JID
  • element contains "from" attribute over TLS connections now
  • GnuTLS can be selected optionally with configure script
  • Support for manual certificate verification
  • New API:
    • xmpp_conn_set_client_cert()
    • xmpp_conn_cert_xmppaddr_num()
    • xmpp_conn_cert_xmppaddr()
    • xmpp_conn_set_cafile()
    • xmpp_conn_set_capath()
    • xmpp_conn_set_certfail_handler()
    • xmpp_conn_get_peer_cert()
    • xmpp_tlscert_get_ctx()
    • xmpp_tlscert_get_conn()
    • xmpp_tlscert_get_pem()
    • xmpp_tlscert_get_dnsname()
    • xmpp_tlscert_get_string()
    • xmpp_tlscert_get_description()
    • xmpp_tlscert_free()

Release 0.10.1

24 Dec 12:13
Compare
Choose a tag to compare
  • Fixed compilation error when LibreSSL is used
  • Fixed crash when NULL is provided as password

Release 0.10.0

15 Sep 18:36
Compare
Choose a tag to compare
  • Coding style has been unified
  • SCRAM-SHA-256 and SCRAM-SHA-512 support
  • c-ares support
  • LibreSSL support
  • Introduced global timed handlers that fire periodically regardless of connections status, such a handler can be used to implement deferred re-connection
  • examples/register implements XEP-0077
  • Fixed issue with IPv6 on Windows (#153)
  • Improved portability across systems such as Haiku, Windows
  • New API:
    • xmpp_stanza_get_child_by_name_and_ns()
    • xmpp_conn_is_connecting()
    • xmpp_conn_is_connected()
    • xmpp_conn_is_disconnected()
    • xmpp_stanza_new_from_string()
    • xmpp_stanza_add_child_ex()
    • xmpp_stanza_get_context()
    • xmpp_stanza_reply_error()
    • xmpp_global_timed_handler_add()
    • xmpp_global_timed_handler_delete()

Release 0.9.3

10 Oct 18:59
Compare
Choose a tag to compare
  • PLAIN mechanism is used only when no other mechanisms are supported
  • Legacy authentication is disabled by default, can be enabled with connection flag XMPP_CONN_FLAG_LEGACY_AUTH
  • Session is not established if it is optional
  • Fixed a bug causing a reused connection not to cleanup properly
  • Improved debug logging in OpenSSL module
  • Few memory leaks fixed