0.15.0: 2025-12-30
  * Use strtoul instead of atoi when parsing hosts (RR 4132) (Gary Kramlich)
  * Rework the nick properties (RR 4160) (Gary Kramlich)
  * A few meson tweaks (RR 4199) (Gary Kramlich)
  * Fix a documentation warning (RR 4260) (Gary Kramlich)
  * Add a codespell unit test (RR 4266) (Gary Kramlich)

0.14.0: 2025-04-30
  * Make sure the documentation lists all of our dependencies (RR 3959) (Gary
    Kramlich)
  * Fix a compiler error on OpenBSD (RR 3958) (Gary Kramlich)
  * Add pango to our debian build container (RR 3961) (Gary Kramlich)
  * Annotate Ibis.Message.parse as a constructor (RR 3977) (Gary Kramlich)
  * Make the IBIS_FORMAT_ constants public (IBIS-54) (RR 3979) (Gary Kramlich)
  * Add helpers for handling hosts for DCC messages (IBIS-55) (RR 3980) (Gary
    Kramlich)
  * Implement client side pings (IBIS-28) (RR 3984) (Gary Kramlich)

0.13.1: 2025-03-31
  * Fix a few issues with formatting (RR 3940) (Gary Kramlich)

0.13.0: 2025-03-30
  * Fix the parameter order of an error in Ibis.Client.parse_mode_string
    (RR 3906) (Gary Kramlich)
  * Implement Ibis.formatting_parse (IBIS-53) (RR 3940) (Gary Kramlich)

0.12.0: 2025-03-14
  * Add Ibis.ModeChange to represent mode changes (IBIS-44) (RR 3874) (Gary
    Kramlich)
  * Add Ibis.Chanmodes for working with CHANMODES (IBIS-44) (RR 3875) (Gary
    Kramlich)
  * Stop the cli from eating RPL_ISUPPORT (RR 3876) (Gary Kramlich)
  * Set the synthetic prefix features before setting the normal prefix feature
    (3877) (Gary Kramlich)
  * Add a Ibis.Chanmodes instance to Ibis.Client (IBIS-44) (RR 3878) (Gary
    Kramlich)
  * Implement Ibis.Client.parse_mode_string (IBIS-44) (RR 3879) (Gary
    Kramlich)
  * Create constants for client errors and make client error an error domain
    (RR 3883) (Gary Kramlich)
  * Implement Ibis.Batch (IBIS-51) (RR 3891) (Gary Kramlich)
  * Add Ibis.Batch.is_end to check if a message is the end of a batch (RR
    3892) (Gary Kramlich)
  * Implement batching in Ibis.Client (IBIS-52) (RR 3894) (Gary Kramlich)
  * Make sure we look for gi-docgen before our dependencies (RR 3884) (Gary
    Kramlich)
  * Update the getting-started document to use the registered property (RR
    3893) (Gary Kramlich)
  * Add Ibis.Feature.get_prefix_for_mode (IBIS-43) (RR 3901) (Gary Kramlich)

0.11.2: 2025-02-04
  * Update POTFILES and mark string in ibis-cli for translation (RR 3806)
    (Gary Kramlich)
  * cli: Add a command line argument for commands to run at startup (RR 3805)
    (Gary Kramlich)
  * Update Ibis.Client:active-nick when we get a NICK message for ourselves
    (RR 3804) (Gary Kramlich)
  * Remove the capability wait when we've run out of SASL mechanisms to try
    (IBIS-39) (RR 3809) (Gary Kramlich)

0.11.1: 2025-02-01
  * Add a library version (IBIS-49) (RR 3780) (Elliott Sales de Andrade)
  * Use variables for our gir paths when building the docs (RR 3784) (Gary
    Kramlich)
  * Add support for attempting the alt_nick (IBIS-47) (RR 3785) (Gary Kramlich)
  * Don't set error if already cancelled (RR 3790) (Elliott Sales de Andrade)
  * Avoid double-free when stopping client (RR 3793) (Elliott Sales de Andrade)
  * Ensure IbisClient stays alive during its I/O callbacks (IBIS-50) (RR 3798)
    (Elliott Sales de Andrade)

0.11.0: 2025-01-17
  * Add the client as a parameter to the new and del signals of capabilities
    (IBIS-46) (RR 3712) (Gary Kramlich)
  * Use g_string_free_and_steal one more time (RR 3724) (Elliott Sales de
    Andrade)
  * Track the nickname that the server says we have (IBIS-47) (RR 3742) (Gary
    Kramlich)
  * Add support for SASL v3.2 (IBIS-45) (RR 3723) (Gary Kramlich)
  * Use tarballs for the subprojects (RR 3763) (Gary Kramlich)

0.10.2: 2025-01-01
  * Fix the namespace in test_formatting (RR 3616) (Gary Kramlich)
  * Add an argument to ibis-client for a list of channels to join (IBIS-40)
    (RR 3606) (Gary Kramlich)
  * Follow some of the gnome guidelines for doc comments (IBIS-42) (RR 3681)
    (Markus Fischer)
  * Follow more of the gnome guidelines for doc comments (IBIS-42) (RR 3685)
    (Markus Fischer)
  * Stop ibis-cli from eating SASL related messages (IBIS-16) (RR 3704) (Gary
    Kramlich)

0.10.1: 2024-10-18
  * Fix some bugs with registration (RR 3600) (Gary Kramlich)
  * Add a require-sasl command line argument to the cli (RR 3601) (Gary
    Kramlich)
  * Remove unnecessary return value annotation (RR 3602) (Elliott Sales de
    Andrade)

0.10.0: 2024-10-18
  * Only use the server provided mechs if Client:allowed-mechanisms have not
    been set (RR 3590) (Gary Kramlich)
  * Add a command line option for setting accepted SASL mechanisms (RR 3591)
    (Gary Kramlich)
  * Add Client:registered and Client.stop (IBIS-16) (RR 3592) (Gary Kramlich)
  * Update Ibis.Message:tags to default to an empty Ibis.Tags (RR 3593) (Gary
    Kramlich)

0.9.0: 2024-10-15
  * Add constants for some server replies we were missing (IBIS-37) (RR 3581)
    (Gary Kramlich)
  * Add ibis_source_serialize to undo ibis_source_parse (IBIS-38) (RR 3584)
    (Gary Kramlich)

0.8.2: 2024-09-17
  * Fix the message tag negotiation check (RR 3491) (Gary Kramlich)
  * Use the G_CONNECT_DEFAULT constant when calling g_signal_connect_object
    (RR 3492) (Gary Kramlich)

0.8.1: 2024-09-17
  * Honor Ibis.Message:params and Ibis.Message:ctcp-message when serializing
    (IBIS-36) (RR 3486) (Gary Kramlich)

0.8.0: 2024-09-06
  * Add Ibis.source_get_prefix and Ibis.source_strip_prefix (IBIS-33) (RR 3458)
    (Gary Kramlich)
  * Implement standard replies (IBIS-13) (RR 3460) (Gary Kramlich)
  * Add synthetic features for the parsed values of the PREFIX feature
    (IBIS-35) (RR 3459) (Gary Kramlich)
  * Add Client.get_source_prefix and Client.strip_source_prefix (IBIS-34) (RR
    3468) (Gary Kramlich)

0.7.1: 2024-09-02
  * Keep the raw CTCP message in params (RR 3457) (Gary Kramlich)

0.7.0: 2024-08-31
  * Add Ibis.Client.normalize method (IBIS-23) (RR 3423) (Markus Fischer)
  * Add Message.is_command to make it easier to check what command a message is
    (IBIS-32) (RR 3434) (Gary Kramlich)
  * Only send tags and TAGMSG commands when message-tags has been negotiated
    (IBIS-31) (RR 3433) (Gary Kramlich)
  * Add some missing since tags (RR 3454) (Gary Kramlich)
  * Add Ibis.CTCPMessage.is_command (RR 3453) (Gary Kramlich)

0.6.0: 2024-08-16
  * Add Features.client_tag_denied method (IBIS-26) (RR 3405) (Markus Fischer)
  * Don't treat CTCP messages and params exclusively (RR 3407) (Gary Kramlich)
  * Normalize CTCP command names (RR 3408) (Gary Kramlich)

0.5.0: 2024-08-15
  * Add a constant for IBIS_MSG_TAGMSG (RR 3377) (Gary Kramlich)
  * Add constants for the typing client tag (IBIS-27) (RR 3378) (Gary Kramlich)
  * Add CTCPMessage for parsing and serializing CTCP messages (RR 3380) (Gary
    Kramlich)

0.4.1: 2024-07-30
  * Fix a static variable initializer (RR 3307) (Elliott Sales de Andrade)
  * Fix incorrect doc references (RR 3309) (Elliott Sales de Andrade)
  * Use the server as the source when one wasn't provided (RR 3310) (Gary
    Kramlich)
  * Fix declaration-after-statement warning (RR 3312) (Markus Fischer)

0.4.0: 2024-07-26
  * Normalize Message:command to uppercase and store a GQuark for it (RR 3290)
    (Gary Kramlich)
  * Add Client::writing-message and Client::wrote-message signals (RR 3291)
    (Gary Kramlich)
  * Add Features.clear to reset features (RR 3295) (Gary Kramlich)
  * Add a features property to Ibis.Client and handle RPL_ISUPPORT to populate
    it (IBIS-18) (RR 3294) (Gary Kramlich)
  * Add Client.is_channel (IBIS-21) (RR 3300) (Gary Kramlich)
  * Add support for exposing the network name from ISUPPORT (IBIS-24) (RR 3301)
    (Gary Kramlich)
  * Have ibiscli log everything in an easy to understand way (IBIS-25) (RR
    3303) (Gary Kramlich)

0.3.0: 2024-07-06
  * Client: Only continue reading if there's no error (RR 3263) (Markus
    Fischer)
  * Fix memory leak when a connection is unsuccessful (RR 3264) (Markus
    Fischer)
  * Fix invalid read when a connection fails (RR 3275) (Markus Fischer)
  * Add a features object to parse RPL_ISUPPORT messages into (RR 3276) (Markus
    Fischer)

0.2.1: 2024-06-11
  * Fix a case that we missed were a : can be in a parameter but not the first
    character (RR 3256) (Gary Kramlich)

0.2.0: 2024-06-09
  * Freeze the notify signal in Client::disconnect until we're done
    disconnecting (RR 3223) (Gary Kramlich)
  * Allow callers to set our cancellable or use our own if one wasn't set (RR
    3226) (Gary Kramlich)
  * Fix some memory leaks in unit tests (RR 3232) (Markus Fischer)
  * Add more items to the constants (RR 3230) (Gary Kramlich)
  * Add libidn to our build image (RR 3233) (Gary Kramlich)
  * Linkify all of the links in ibisconstants.h (RR 3234) (Gary Kramlich)
  * Use g_utf8_make_valid to handle weird encoding issues (RR 3239) (Gary
    Kramlich)
  * Add a transifex config (RR 3242) (Gary Kramlich)

0.1.0: 2024-06-02
  * Initial release
