libgadu 1.12.2

- Strona główna
- Dodatkowe strony
- Moduły
- Struktury Danych
- Pliki

Lista zmian

Niniejsza strona zawiera listę zmian, zwłaszcza tych mających wpływ na API lub ABI biblioteki. Poprawki dostarczające nową funkcjonalność w większości przypadków nie mają wpływ na interfejs binarny biblioteki. Nowe funkcje, stałe i pola struktur nie zmieniają dotychczasowego zachowania.

# libgadu 1.12.2

- Brak zmian API/ABI.

# libgadu 1.12.1

- Brak zmian API/ABI.

# libgadu 1.12.0

- Obsługa protokołu Gadu-Gadu 11.
- Wsparcie dla win32.
- Możliwość użycia własnych funkcji do połączeń TCP/TLS.
- Dodany symbol `gg_is_gpl_compliant`, definiowany wtedy i tylko wtedy, gdy biblioteka jest zgodna z licencją GPL. W związku z tym wersja kompilowana z OpenSSL nie jest zgodna binarnie z wersją GPL.
- Możliwość podania nazwy serwera, nie tylko adresu.
- Ustawienie pola `tls` struktury `gg_login_params` na `GG_SSL_REQUIRED` powoduje odrzucenie połączenia w przypadku błędnego certyfikatu serwera.
- Nowe flagi debugowania: `GG_DEBUG_VERBOSE`, `GG_DEBUG_WARNING` oraz `GG_DEBUG_ERROR`.
- Funkcje `gg_debug_state` oraz `gg_debug_event` dodane do publicznego API.
- Możliwość wyłączenia funkcji zapewniających wsteczną kompatybilność (np. tych, które wpływają negatywnie na wydajność).
- Wysyłanie wiadomości w formacie HTML.
- Możliwość sprawdzenia powodu błędu przy operacji na katalogu publicznym.
- Nowy wynik operacji na liście kontaktów przechowywanej na serwerze `GG_USERLIST100_REPLY_UPTODATE`.
- Funkcje formatujące teksty (`gg_debug` i spółka) będą miały w GCC sprawdzaną poprawność parametrów. Jeśli aplikacja jest budowana z flagami `-Wformat` i `-Werror`, kompilacja może się nie powieść.

# libgadu 1.11.3

- Brak zmian API/ABI.

# libgadu 1.11.2

- Brak zmian API/ABI.

# libgadu 1.11.1

- Brak zmian API/ABI.

# libgadu 1.11.0

- Import i eksport listy kontaktów zgodnej z Gadu-Gadu 10. Dodaje zależność od zlib. Szczegóły.
- Uniezależnienie połączeń bezpośrednich Gadu-Gadu 7.x od zmiennych połączeń bezpośrednich Gadu-Gadu 6.x.
- Pole `tls` struktury `gg_login_params` przyjmuje wartości z `gg_ssl_t`.
- Nowa funkcja `gg_libgadu_check_feature()` pozwala sprawdzić, czy funkcje zależne od zewnętrznych bibliotek są dostępne.
- Nowe powody nieudanego połączenia: `GG_FAILURE_HUB` i `GG_FAILURE_PROXY`.
- Zmiana deskryptora w połączeniach bezpośrednich Gadu-Gadu 7.x, która wcześniej nie generowała żadnego zdarzenia, teraz będzie zwracać `GG_EVENT_DCC7_PENDING`.

# libgadu 1.10.1

- Brak zmian API/ABI.

# libgadu 1.10.0

- Przywrócenie obsługi SSL dzięki szyfrowanym połączeniom Gadu-Gadu 10.
- Powiadomienie o pisaniu. Szczegóły.
- Obsługa dodatkowych informacji o kontaktach za pomocą `GG_EVENT_USER_DATA`.
- Obsługa dodatkowych zdarzeń XML (pakiet `GG_XML_ACTION`) za pomocą `GG_EVENT_XML_EVENT`.
- Obsługa multilogowania. Szczegóły.

# libgadu 1.9.1

- Opis zdarzenia `GG_EVENT_DCC7_DONE` zawiera wskaźnik do struktury połączenia, którego dotyczy.
- Możliwość zmian flag statusu (blokowanie odnośników od nieznajomych itd.) za pomocą pola `status_flags` struktury `gg_login_params` lub funkcji `gg_change_status_flags()`.

# libgadu 1.9.0

- Podstawowa obsługa protokołu Nowego Gadu-Gadu, a co za tym idzie, wiadomości i opisy kodowane w UTF-8. Domyślnie biblioteka nadal przekazuje do aplikacji i spodziewa się od niej tekstów w CP1250, ale pole `encoding` struktury `gg_login_params` pozwala zmienić kodowanie na UTF-8. Mimo że katalog publiczny ze strony serwera jest obsługiwany w CP1250, biblioteka dokonuje konwersji. Szczegóły.
- Ponieważ nowy klient przekazuje wiadomości w dwóch formatach — czysty tekst plus atrybuty i HTML, dodano pole `xhtml_message` do struktury `gg_event_msg`. Niestety, nie można jeszcze wysyłać wiadomości w tym formacie. Szczegóły.
- Razem z nowym protokołem przyszły nowe statusy: `GG_STATUS_FFC`, `GG_STATUS_FFC_DESCR`, `GG_STATUS_DND` i `GG_STATUS_DND_DESCR`. Uwaga! Jeśli pole `protocol_features` struktury `gg_login_params` zawiera `GG_FEATURE_IMAGE_DESCR`, statusy z opisami są przekazywane w inny sposób. Szczegóły.
- Aplikacja może sama wybrać sposób rozwiązywania nazw serwerów — przy użyciu procesu, wątku lub we własny sposób. Można to zrobić za pomocą pola `resolver_type` struktury `gg_login_params` dla procesów i wątków, lub globalnie za pomocą funkcji gg_global_set_resolver czy gg_global_set_custom_resolver. Szczegóły.
- Opis zdarzenia `GG_EVENT_DCC7_PENDING` zawiera wskaźnik do struktury połączenia, którego dotyczy.

# libgadu 1.8.0

- Połączenia bezpośrednie Gadu-Gadu 7.x. Szczegóły.
- Pole `hash_type` struktury `gg_login_params` określa rodzaj użytej funkcji skrótu hasła. W nowej wersji protokołu domyślnie używany jest SHA-1. Szczegóły.
- Pole `soft_timeout` struktur `gg_session` i `gg_dcc7` informuje, że po przekroczeniu czasu określnego w polu `timeout` zamiast zrywać połączenie, należy wywołać funkcję `gg_watch_fd()` lub `gg_dcc7_watch_fd()`. Szczegóły.
- Zdarzenie `GG_EVENT_MSG` zawiera nowe pole `seq` zawierające numer sekwencyjny odebranej wiadomości. Szczegóły.
- Nowe zdarzenie `GG_EVENT_XML_EVENT` zawiera informacje w formacie XML otrzymane od serwera. Szczegóły.