2024-07-31 19:22:04 +00:00
|
|
|
|
Version NEXT:
|
|
|
|
|
XXXX-YY-ZZ RELEASER <admin@example.com>
|
2024-07-10 14:38:00 +00:00
|
|
|
|
* Breaking
|
|
|
|
|
- The `alternate_address` field of
|
|
|
|
|
`xmpp_parsers::stanza_error::StanzaError` has been moved into the
|
|
|
|
|
corresponding enum variants of the
|
|
|
|
|
`xmpp_parsers::stanza_error::DefinedCondition` where it may occur.
|
2024-08-03 11:45:57 +00:00
|
|
|
|
- The `xmpp_parsers::mix::Participant::jid` and `..::Mix::jid` fields
|
|
|
|
|
are now of type `BareJid` (instead of `String`), as they should always
|
|
|
|
|
have been. This influences various other places, such as these
|
|
|
|
|
struct's constructors.
|
2024-08-04 15:06:00 +00:00
|
|
|
|
- The rtt module has been changed to make use of xso on enums. This
|
|
|
|
|
allows us to simplify the `Action` type to include all three possible
|
|
|
|
|
variants directly in the enum, rather than as separate types which are
|
|
|
|
|
then included in `Action`. Also `Action::Erase::num` is now a wrapper
|
|
|
|
|
type around u32, which lets us implement a custom Default on it.
|
|
|
|
|
(!416)
|
2024-08-08 14:57:46 +00:00
|
|
|
|
- The cert_management module is now using `Option` instead of `bool` to
|
|
|
|
|
check whether a child element is present or not, as this is currently
|
|
|
|
|
implemented in xso. We might revert that change if we implement flag
|
|
|
|
|
metas in xso before the next release.
|
2024-08-09 13:38:49 +00:00
|
|
|
|
- The forwarding module now hardcodes that its child is a message in the
|
|
|
|
|
jabber:client namespace. It previously half-followed the schema, but
|
|
|
|
|
nothing so far uses it for anything but this message. We can always
|
|
|
|
|
change it again once any other specification allows e.g. presences or
|
|
|
|
|
iqs.
|
2024-07-31 19:22:04 +00:00
|
|
|
|
* New parsers/serialisers:
|
|
|
|
|
- Stream Features (RFC 6120) (!400)
|
2024-07-02 07:39:24 +00:00
|
|
|
|
- Extensible SASL Profile (XEP-0388)
|
2024-07-02 16:40:28 +00:00
|
|
|
|
- SASL Channel-Binding Type Capability (XEP-0440)
|
2024-08-03 11:21:52 +00:00
|
|
|
|
- Stream Limits Advertisement (XEP-0478)
|
2024-07-31 19:22:04 +00:00
|
|
|
|
|
2024-07-24 20:51:36 +00:00
|
|
|
|
Version 0.21.0:
|
|
|
|
|
2024-07-25 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
2024-06-30 16:07:00 +00:00
|
|
|
|
* New parsers/serialisers:
|
2024-07-24 20:51:36 +00:00
|
|
|
|
- Private XML Storage (XEP-0049), only enough for bookmarks.
|
|
|
|
|
- vcard-temp (XEP-0054), only enough for the PHOTO element.
|
|
|
|
|
- Out of Band Data (XEP-0066), only the annotation part used for file
|
|
|
|
|
sharing in Conversations.
|
|
|
|
|
- Data Forms Validation (XEP-0122).
|
|
|
|
|
- vCard-Based Avatars (XEP-0153).
|
|
|
|
|
- Jingle Content Thumbnails (XEP-264).
|
|
|
|
|
- Bind 2 (XEP-0386).
|
|
|
|
|
- Fast Authentication Streamlining Tokens (XEP-0484).
|
2023-10-26 12:03:21 +00:00
|
|
|
|
* Improvements:
|
2024-07-24 20:51:36 +00:00
|
|
|
|
- Replace many usages of our custom macros with the new xso crate,
|
|
|
|
|
which will ultimately allow streaming directly from the rxml XML
|
|
|
|
|
parser (in a SAX way) into our parsed structs, without going through
|
|
|
|
|
minidom in the middle.
|
|
|
|
|
- Re-export the jid and minidom modules, not their inner symbols.
|
|
|
|
|
- Use edition 2021, no more use TryFrom/TryInto! \o/
|
|
|
|
|
- Add serde feature, passed to jid crate
|
|
|
|
|
- Update XEP-0084 avatars to 1.1.4, which allows for avatars bigger
|
|
|
|
|
than 64 KiB.
|
|
|
|
|
- Make it easy to convert from bookmarks1 to bookmarks2.
|
|
|
|
|
- Ignore the 'code' attribute on errors, deprecated with XEP-0086 in
|
|
|
|
|
2007 but still sent by some legacy clients or servers it seems.
|
|
|
|
|
- Implement flip-page and metadata for XEP-0313 (Message Archive
|
|
|
|
|
Management).
|
|
|
|
|
- Add support for XEP-0059 (Result Set Management) for XEP-0030
|
|
|
|
|
disco#items.
|
|
|
|
|
- When disable-validation is enable, stop validating XEP-0030 rules.
|
|
|
|
|
- Make TryFrom<Element> chainable.
|
|
|
|
|
- Add a Message::extract_payload() function.
|
|
|
|
|
- Add a PubSubEvent::node_name() function, to simplify matching on the
|
|
|
|
|
node name from any of the enum variants.
|
|
|
|
|
- PubSub elements can now be compared for equality.
|
|
|
|
|
- Ignore incorrect FORM_TYPE fields as per XEP-0068.
|
|
|
|
|
- Allow fixed fields and desc in XEP-0004 (Data Forms).
|
|
|
|
|
- Add constructors for DataForm and Field, to simplify their creation.
|
|
|
|
|
- Make it possible to specify an alternate JID on <gone/> and
|
|
|
|
|
<redirect/> stanza errors.
|
|
|
|
|
* Bugfixes:
|
|
|
|
|
- Fix XEP-0257 serialisation
|
|
|
|
|
- Fix stanza error parsing of multiple languages.
|
|
|
|
|
- Fix all typos in the codebase found by codespell.
|
2023-10-26 12:03:21 +00:00
|
|
|
|
|
2023-08-17 10:54:52 +00:00
|
|
|
|
Version 0.20.0:
|
|
|
|
|
2023-08-17 Maxime “pep” Buquet <pep@bouah.net>, Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
2022-12-30 14:16:33 +00:00
|
|
|
|
* New parsers/serialisers:
|
|
|
|
|
- Message Reactions (XEP-0444)
|
2022-12-27 11:57:00 +00:00
|
|
|
|
* Improvements:
|
2023-08-17 10:50:10 +00:00
|
|
|
|
- Update dependencies
|
2022-12-30 14:16:33 +00:00
|
|
|
|
- muc::user::Item: Added with_ helpers
|
|
|
|
|
- Correct cargo doc warnings
|
2023-08-17 10:50:10 +00:00
|
|
|
|
- Presence now has constructors for each variant so you don't have to
|
|
|
|
|
import presence::Type, where Presence::available represents type None (#79)
|
2023-06-03 08:55:34 +00:00
|
|
|
|
- Presence::with_payload builds a payload into the presence (#79)
|
2023-06-03 09:23:32 +00:00
|
|
|
|
- Message now has constructors for each type ; Message::new still builds a Chat type (#78)
|
|
|
|
|
- Message::with_body builder method appends a body in a given language to the message (#78)
|
2023-08-17 10:50:10 +00:00
|
|
|
|
- Derive PartialEq on Iq
|
|
|
|
|
- impl MessagePayload for MucUser
|
|
|
|
|
- Add MucUser::with_statuses and ::with_items
|
2023-01-16 14:06:35 +00:00
|
|
|
|
* Breaking changes:
|
|
|
|
|
- Removed the 'serde' feature. Add it directly by using 'jid'.
|
2023-08-17 10:50:10 +00:00
|
|
|
|
`jid = { version = "*", features = ["serde"] }`.
|
2022-12-27 11:57:00 +00:00
|
|
|
|
|
2022-12-17 20:05:39 +00:00
|
|
|
|
Version 0.19.2:
|
2022-12-17 20:21:37 +00:00
|
|
|
|
2022-12-17 Maxime “pep” Buquet <pep@bouah.net>
|
2022-12-17 20:05:39 +00:00
|
|
|
|
* Improvements:
|
|
|
|
|
- Derive PartialEq on Presence
|
|
|
|
|
- impl PresencePayload for muc::user::MucUser.
|
|
|
|
|
- New muc::user::Status::ServiceErrorKick variant for the 333 status
|
|
|
|
|
code.
|
|
|
|
|
- Update deprecated chrono code (FixedOffset::{east,west} to
|
|
|
|
|
{east,west}_opt).
|
|
|
|
|
|
|
|
|
|
Version 0.19.1:
|
|
|
|
|
2022-07-13 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
|
|
|
|
* New parsers/serialisers:
|
2022-12-30 14:16:33 +00:00
|
|
|
|
- Add In-Band Real Time Text support
|
|
|
|
|
- Add OMEMO support
|
2022-12-17 20:05:39 +00:00
|
|
|
|
* Improvements:
|
2022-12-30 14:16:33 +00:00
|
|
|
|
- bookmarks 2: uncomment test
|
2022-12-17 20:05:39 +00:00
|
|
|
|
|
2022-03-07 11:55:44 +00:00
|
|
|
|
Version 0.19.0:
|
|
|
|
|
2022-03-07 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
|
|
|
|
* New parsers/serialisers:
|
|
|
|
|
- External Service Discovery (XEP-0215).
|
|
|
|
|
- HTTP File Upload (XEP-0363).
|
|
|
|
|
- Message Archive Management Preferences (XEP-0441), actually spun off
|
|
|
|
|
from XEP-0313.
|
|
|
|
|
* Improvements:
|
|
|
|
|
- Add constructor helpers for more structs.
|
|
|
|
|
- Impl Eq and Hash on disco::Feature (thanks Paul!).
|
|
|
|
|
- Impl MessagePayload for PubSubEvent (thanks Paul!).
|
|
|
|
|
- Bump minidom to 0.14.
|
|
|
|
|
- Bump the hash crates to their latest version.
|
|
|
|
|
- Run clippy.
|
|
|
|
|
- Rename the directory to parsers, to avoid colliding prefix with
|
|
|
|
|
xmpp-rs.
|
|
|
|
|
* Breaking changes:
|
|
|
|
|
- Bump bookmarks 2 to version 1.1.3.
|
|
|
|
|
- Use proper types in Jingle specs (XEP-0294 and XEP-0339).
|
|
|
|
|
- Move preferences from MAM to MAM prefs, following the spec split.
|
|
|
|
|
|
2022-03-07 11:57:06 +00:00
|
|
|
|
Version 0.18.1:
|
2021-01-13 10:45:42 +00:00
|
|
|
|
2021-01-13 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
|
|
|
|
* Bugfixes:
|
|
|
|
|
- Bump minidom to 0.13, as 0.12.1 got yanked.
|
|
|
|
|
|
|
|
|
|
Version 0.18.0:
|
|
|
|
|
2021-01-13 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
2020-03-27 10:20:11 +00:00
|
|
|
|
* New parsers/serialisers:
|
2020-12-10 19:30:26 +00:00
|
|
|
|
- Jingle Raw UDP Transport Method (XEP-0177).
|
|
|
|
|
- Jingle RTP Header Extensions Negotiation (XEP-0294).
|
|
|
|
|
- Jingle Grouping Framework (XEP-0338).
|
|
|
|
|
- Mediated Information eXchange (MIX) (XEP-0369).
|
2020-05-07 19:39:37 +00:00
|
|
|
|
* Improvements:
|
2020-12-10 19:30:26 +00:00
|
|
|
|
- Everything is now PartialEq!
|
|
|
|
|
- Add "serde" feature to enable "jid/serde".
|
|
|
|
|
- Implement more of XEP-0060.
|
|
|
|
|
- Bump XEP-0167 to version 1.2.0, adding rtcp-mux.
|
|
|
|
|
- Bump XEP-0176 to version 1.1, fixing interoperability with other
|
|
|
|
|
clients.
|
2021-01-12 18:35:14 +00:00
|
|
|
|
- Bump XEP-0402 to version 1.1.1, bumping its namespace and adding
|
|
|
|
|
support for extension data.
|
2020-12-10 19:30:26 +00:00
|
|
|
|
- Bump all dependencies to their latest version.
|
|
|
|
|
- Some more helper constructors.
|
|
|
|
|
- Make public some stuff that should have been public from the very
|
|
|
|
|
beginning.
|
|
|
|
|
* Bugfixes:
|
|
|
|
|
- Jingle::set_reason() does what it says now (copy/paste error).
|
|
|
|
|
- Bookmarks’ names are now optional like they should.
|
2020-03-27 10:20:11 +00:00
|
|
|
|
|
2020-02-15 00:59:58 +00:00
|
|
|
|
Version 0.17.0:
|
|
|
|
|
2020-02-15 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>, Maxime “pep” Buquet <pep@bouah.net>, Paul Fariello <paul@fariello.eu>
|
2020-03-27 10:20:11 +00:00
|
|
|
|
* Improvements:
|
|
|
|
|
- Add serialization tests where possible
|
|
|
|
|
- Use minidom's NSChoice API for Jingle parser
|
|
|
|
|
- Remove NamespaceAwareCompare. Move to minidom
|
|
|
|
|
* Breaking changes:
|
|
|
|
|
- Prevent generate_serializer macro from adding another layer of Node.
|
|
|
|
|
Fixes some serializers.
|
|
|
|
|
- ecaps2: Use the Error type instead of ()
|
2020-02-15 00:50:09 +00:00
|
|
|
|
|
2019-10-15 21:15:17 +00:00
|
|
|
|
Version 0.16.0:
|
|
|
|
|
2019-10-15 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
2019-03-30 17:47:07 +00:00
|
|
|
|
* New parsers/serialisers:
|
2019-09-08 13:53:55 +00:00
|
|
|
|
- Client Certificate Management for SASL EXTERNAL (XEP-0257)
|
2019-09-08 14:09:49 +00:00
|
|
|
|
- JID Prep (XEP-0328)
|
2019-09-07 14:32:03 +00:00
|
|
|
|
- Client State Indication (XEP-0352)
|
2019-03-30 17:47:07 +00:00
|
|
|
|
- OpenPGP for XMPP (XEP-0373)
|
2019-09-28 23:47:21 +00:00
|
|
|
|
- Bookmarks 2 (This Time it's Serious) (XEP-0402)
|
2019-09-07 14:43:05 +00:00
|
|
|
|
- Anonymous unique occupant identifiers for MUCs (XEP-0421)
|
2019-10-15 21:15:17 +00:00
|
|
|
|
- Source-Specific Media Attributes in Jingle (XEP-0339)
|
|
|
|
|
- Jingle RTP Feedback Negotiation (XEP-0293)
|
2019-09-06 13:00:14 +00:00
|
|
|
|
* Breaking changes:
|
|
|
|
|
- Presence constructors now take Into<Jid> and assume Some.
|
2019-09-13 01:33:08 +00:00
|
|
|
|
* Improvements:
|
|
|
|
|
- CI: refactor, add caching
|
2019-10-15 21:15:17 +00:00
|
|
|
|
- Update jid-rs to 0.8
|
2019-03-30 17:47:07 +00:00
|
|
|
|
|
2019-09-06 09:45:46 +00:00
|
|
|
|
Version 0.15.0:
|
|
|
|
|
2019-09-06 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
2019-07-17 19:58:20 +00:00
|
|
|
|
* New parsers/serialisers:
|
2019-08-25 17:01:51 +00:00
|
|
|
|
- XHTML-IM (XEP-0071)
|
2019-09-05 13:37:34 +00:00
|
|
|
|
- User Tune (XEP-0118)
|
2019-07-31 11:51:18 +00:00
|
|
|
|
- Bits of Binary (XEP-0231)
|
2019-08-25 17:01:51 +00:00
|
|
|
|
- Message Carbons (XEP-0280)
|
2019-07-17 20:26:41 +00:00
|
|
|
|
* Breaking changes:
|
|
|
|
|
- Stop reexporting TryFrom and TryInto, they are available in
|
|
|
|
|
std::convert nowadays.
|
2019-07-31 11:52:08 +00:00
|
|
|
|
- Bind has been split into BindQuery and BindResponse.
|
2019-07-17 19:58:20 +00:00
|
|
|
|
* Improvements:
|
|
|
|
|
- New DOAP file for a machine-readable description of the features.
|
2019-09-06 09:45:46 +00:00
|
|
|
|
- Add various parser and formatter helpers on Hash.
|
2019-07-17 19:58:20 +00:00
|
|
|
|
|
2019-07-13 15:57:17 +00:00
|
|
|
|
Version 0.14.0:
|
|
|
|
|
2019-07-13 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>, Maxime “pep” Buquet <pep@bouah.net>
|
2019-04-22 09:58:13 +00:00
|
|
|
|
* New parsers/serialisers:
|
|
|
|
|
- Entity Time (XEP-0202).
|
2019-07-13 15:57:17 +00:00
|
|
|
|
* Improvements:
|
|
|
|
|
- Microblog NS (XEP-0227).
|
|
|
|
|
- Update jid-rs dependency with jid split change (Jid, FullJid,
|
|
|
|
|
BareJid) and reexport them.
|
|
|
|
|
- Fix rustdoc options in Cargo.toml for docs.rs
|
|
|
|
|
* Breaking changes:
|
|
|
|
|
- Presence's show attribute is now Option<Show> and Show::None is no
|
|
|
|
|
more.
|
2019-04-22 09:58:13 +00:00
|
|
|
|
|
2019-04-12 10:15:40 +00:00
|
|
|
|
Version 0.13.1:
|
|
|
|
|
2019-04-12 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
|
|
|
|
* Bugfixes:
|
|
|
|
|
- Fix invalid serialisation of priority in presence.
|
|
|
|
|
- Bump image size to u16 from u8, as per XEP-0084 version 1.1.2.
|
|
|
|
|
* Improvements:
|
|
|
|
|
- Drop try_from dependency, as std::convert::TryFrom got
|
|
|
|
|
stabilised.
|
|
|
|
|
|
2019-03-20 17:52:20 +00:00
|
|
|
|
Version 0.13.0:
|
|
|
|
|
2019-03-20 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
|
|
|
|
* New parsers/serialisers:
|
|
|
|
|
- User Avatar (XEP-0084).
|
2019-03-20 18:17:21 +00:00
|
|
|
|
- Contact Addresses for XMPP Services (XEP-0157).
|
2019-03-20 17:52:20 +00:00
|
|
|
|
- Jingle RTP Sessions (XEP-0167).
|
|
|
|
|
- Jingle ICE-UDP Transport Method (XEP-0176).
|
|
|
|
|
- Use of DTLS-SRTP in Jingle Sessions (XEP-0320).
|
|
|
|
|
* Breaking changes:
|
|
|
|
|
- Make 'id' required on iq, as per RFC6120 §8.1.3.
|
|
|
|
|
- Refactor PubSub to have more type-safety.
|
|
|
|
|
- Treat FORM_TYPE as a special case in data forms, to avoid
|
|
|
|
|
duplicating it into a field.
|
|
|
|
|
- Add forgotten i18n to Jingle text element.
|
|
|
|
|
* Improvements:
|
|
|
|
|
- Add various helpers for hash representations.
|
|
|
|
|
- Add helpers constructors for multiple extensions (disco, caps,
|
|
|
|
|
pubsub, stanza_error).
|
|
|
|
|
- Use Into<String> in more constructors.
|
|
|
|
|
- Internal change on attribute declaration in macros.
|
|
|
|
|
- Reexport missing try_from::TryInto.
|
|
|
|
|
|
2019-01-16 14:23:00 +00:00
|
|
|
|
Version 0.12.2:
|
|
|
|
|
2019-01-16 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
|
|
|
|
* Improvements:
|
|
|
|
|
- Reexport missing util::error::Error and try_from::TryFrom.
|
|
|
|
|
|
2019-01-16 13:33:19 +00:00
|
|
|
|
Version 0.12.1:
|
|
|
|
|
2019-01-16 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
|
|
|
|
* Improvements:
|
|
|
|
|
- Reexport missing JidParseError from the jid crate.
|
|
|
|
|
|
2019-01-16 12:17:33 +00:00
|
|
|
|
Version 0.12.0:
|
2019-01-16 13:33:08 +00:00
|
|
|
|
2019-01-16 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
2019-01-16 12:17:33 +00:00
|
|
|
|
* Breaking changes:
|
|
|
|
|
- Update dependencies.
|
|
|
|
|
- Switch to git, upstream is now available at
|
|
|
|
|
https://gitlab.com/xmpp-rs/xmpp-parsers
|
|
|
|
|
- Switch to Edition 2018, this removes support for rustc
|
|
|
|
|
versions older than 1.31.
|
|
|
|
|
- Implement support for XEP-0030 2.5rc3, relaxing the ordering
|
|
|
|
|
of children in disco#info.
|
|
|
|
|
* Improvements:
|
|
|
|
|
- Test for struct size, to keep them known and avoid bloat.
|
|
|
|
|
- Add various constructors to make the API easier to use.
|
2019-01-16 12:23:44 +00:00
|
|
|
|
- Reexport Jid from the jid crate, to avoid any weird issue on
|
|
|
|
|
using different incompatible versions of the same crate.
|
2019-01-16 12:17:33 +00:00
|
|
|
|
- Add forgotten 'ask' attribute on roster item (thanks O01eg!).
|
|
|
|
|
- Use cargo-fmt on the codebase, to lower the barrier of entry.
|
|
|
|
|
- Add a disable-validation feature, disabling many checks
|
|
|
|
|
xmpp-parsers is doing. This should be used for software
|
|
|
|
|
which want to let invalid XMPP pass through instead of being
|
|
|
|
|
rejected as invalid (thanks Astro-!).
|
|
|
|
|
|
2018-09-20 19:20:02 +00:00
|
|
|
|
Version 0.11.1:
|
|
|
|
|
2018-09-20 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
|
|
|
|
* Improvements:
|
|
|
|
|
- Document all of the modules.
|
|
|
|
|
|
2018-08-02 22:55:40 +00:00
|
|
|
|
Version 0.11.0:
|
|
|
|
|
2018-08-03 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
|
|
|
|
* Breaking changes:
|
|
|
|
|
- Split Software Version (XEP-0092) into a query and response
|
|
|
|
|
elements.
|
|
|
|
|
- Split RSM (XEP-0059) into a query and response elements.
|
|
|
|
|
- Fix type safety and spec issues in RSM and MAM (XEP-0313).
|
|
|
|
|
- Remove item@node and EmptyItems from PubSub events
|
|
|
|
|
(XEP-0060).
|
|
|
|
|
* Improvements:
|
|
|
|
|
- Document many additional modules.
|
|
|
|
|
- Add the <failure/> SASL nonza, as well as the SCRAM-SHA-256
|
|
|
|
|
and the two -PLUS mechanisms.
|
|
|
|
|
|
2018-07-31 20:38:57 +00:00
|
|
|
|
Version 0.10.0:
|
2018-08-02 22:55:40 +00:00
|
|
|
|
2018-07-31 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
2018-07-31 20:38:57 +00:00
|
|
|
|
* New parsers/serialisers:
|
|
|
|
|
- Added <stream:stream>, SASL and bind (RFC6120) parsers.
|
|
|
|
|
- Added a WebSocket <open/> (RFC7395) implementation.
|
|
|
|
|
- Added a Jabber Component <handshake/> (XEP-0114).
|
|
|
|
|
- Added support for User Nickname (XEP-0172).
|
|
|
|
|
- Added support for Stream Management (XEP-0198).
|
|
|
|
|
- Added support for Bookmarks (XEP-0048).
|
|
|
|
|
- Publish-Subscribe (XEP-0060) now supports requests in
|
|
|
|
|
addition to events.
|
|
|
|
|
* Breaking changes:
|
|
|
|
|
- Switch from std::error to failure to report better errors.
|
|
|
|
|
- Bump to minidom 0.9.1, and reexport minidom::Element.
|
|
|
|
|
* Improvements:
|
|
|
|
|
- Add getters for the best body and subject in message, to make
|
|
|
|
|
it easier to determine which one the user wants based on
|
|
|
|
|
their language preferences.
|
|
|
|
|
- Add constructors and setters for most Jingle elements, to
|
|
|
|
|
ease their creation.
|
|
|
|
|
- Add constructors for hash, MUC item, iq and more.
|
|
|
|
|
- Use more macros to simplify and factorise the code.
|
|
|
|
|
- Use traits to define iq payloads.
|
|
|
|
|
- Document more modules.
|
|
|
|
|
|
2017-12-27 16:32:43 +00:00
|
|
|
|
Version 0.9.0:
|
|
|
|
|
2017-10-31 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
|
|
|
|
* New parsers/serialisers:
|
|
|
|
|
- Blocking Command (XEP-0191) has been added.
|
|
|
|
|
- Date and Time Profiles (XEP-0082) has been added, replacing
|
|
|
|
|
ad-hoc use of chrono in various places.
|
|
|
|
|
- User Mood (XEP-0107) has been added.
|
|
|
|
|
* Breaking changes:
|
|
|
|
|
- Fix subscription="none" not being the default.
|
|
|
|
|
- Add more type safety to pubsub#event.
|
|
|
|
|
- Reuse Jingle’s ContentId type in JingleFT.
|
|
|
|
|
- Import the disposition attribute values in Jingle.
|
|
|
|
|
* Improvements:
|
|
|
|
|
- Refactor a good part of the code using macros.
|
|
|
|
|
- Simplify the parsing code wherever it makes sense.
|
|
|
|
|
- Check for children ordering in disco#info result.
|
|
|
|
|
- Finish implementation of <received/>, <checksum/> and
|
|
|
|
|
<range/> in JingleFT.
|
|
|
|
|
- Correctly serialise <ping/>, and test it.
|
|
|
|
|
|
2017-08-27 00:46:10 +00:00
|
|
|
|
Version 0.8.0:
|
|
|
|
|
2017-08-27 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
|
|
|
|
* New parsers/serialisers:
|
|
|
|
|
- iq:version (XEP-0092) has been added.
|
|
|
|
|
- Finally implement extension serialisation in disco.
|
|
|
|
|
* Breaking changes:
|
|
|
|
|
- Wrap even more elements into their own type, in jingle,
|
|
|
|
|
jingle_ft, roster, message.
|
|
|
|
|
- Split loose enums into multiple structs where it makes sense,
|
|
|
|
|
such as for IBB, StanzaId, Receipts.
|
|
|
|
|
- Split disco query and answer elements into their own struct,
|
|
|
|
|
to enforce more guarantees on both.
|
|
|
|
|
* Improvements:
|
|
|
|
|
- Use Vec::into_iter() more to avoid references and clones.
|
|
|
|
|
- Make data_forms propagate a media_element error.
|
|
|
|
|
- Document more of disco, roster, chatstates.
|
|
|
|
|
- Use the minidom feature of jid, for IntoAttributeValue.
|
|
|
|
|
- Add a component feature, changing the default namespace to
|
|
|
|
|
jabber:component:accept.
|
|
|
|
|
- Add support for indicating ranged transfers in jingle_ft.
|
|
|
|
|
|
|
|
|
|
Version 0.7.1:
|
2017-07-24 22:11:31 +00:00
|
|
|
|
2017-07-24 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
|
|
|
|
* Hotfixes:
|
|
|
|
|
- Stub out blake2 support, since the blake2 crate broke its API
|
|
|
|
|
between their 0.6.0 and 0.6.1 releases…
|
|
|
|
|
|
2017-07-23 17:46:40 +00:00
|
|
|
|
Version 0.7.0:
|
|
|
|
|
2017-07-23 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
|
|
|
|
* New parsers/serialisers:
|
|
|
|
|
- Jingle Message Initialisation (XEP-0353) was added.
|
|
|
|
|
- The disco#items query (XEP-0030) is now supported, in
|
|
|
|
|
addition to the existing disco#info one.
|
|
|
|
|
* Breaking changes:
|
|
|
|
|
- Replaced many type aliases with proper wrapping structs.
|
|
|
|
|
- Split Disco into a query and a result part, since they have
|
|
|
|
|
very different constraints.
|
|
|
|
|
- Split IqPayload in three to avoid parsing queries as results
|
|
|
|
|
for example.
|
|
|
|
|
* Improvements:
|
|
|
|
|
- Use TryFrom from the try_from crate, thus removing the
|
|
|
|
|
dependency on nightly!
|
|
|
|
|
- Always implement From instead of Into, the latter is
|
|
|
|
|
generated anyway.
|
|
|
|
|
- Add helpers to construct your Presence stanza.
|
|
|
|
|
|
2017-06-27 21:19:06 +00:00
|
|
|
|
Version 0.6.0:
|
|
|
|
|
2017-06-27 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
|
|
|
|
* New parsers/serialisers:
|
|
|
|
|
- In-Band Registration (XEP-0077) was added.
|
|
|
|
|
- Multi-User Chat (XEP-0045) got expanded a lot, thanks pep.!
|
|
|
|
|
* Breaking changes:
|
|
|
|
|
- Added wrappers for Strings used as identifiers, to add type
|
|
|
|
|
safety.
|
|
|
|
|
- Use chrono’s DateTime for JingleFT’s date element.
|
|
|
|
|
- Use Jid for JingleS5B’s jid attribute.
|
|
|
|
|
* Improvements:
|
|
|
|
|
- Use more macros for common tasks.
|
|
|
|
|
- Add a constructor for Message and Presence.
|
|
|
|
|
- Implement std::fmt::Display and std::error::Error on our
|
|
|
|
|
error type.
|
|
|
|
|
- Fix DataForms serialisation.
|
|
|
|
|
- Fix roster group serialisation.
|
|
|
|
|
- Update libraries, notably chrono whose version 0.3.1 got
|
|
|
|
|
yanked.
|
|
|
|
|
|
2017-06-11 13:58:05 +00:00
|
|
|
|
Version 0.5.0:
|
|
|
|
|
2017-06-11 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
2017-05-28 15:30:43 +00:00
|
|
|
|
* New parsers/serialisers:
|
|
|
|
|
- Implementation of the roster management protocol defined in
|
|
|
|
|
RFC 6121 §2.
|
2017-06-11 13:58:05 +00:00
|
|
|
|
- Implementation of PubSub events (except collections).
|
|
|
|
|
- Early implementation of MUC.
|
|
|
|
|
* Breaking changes:
|
|
|
|
|
- Rename presence enums to make them easier to use.
|
|
|
|
|
* Improvements:
|
|
|
|
|
- Make hashes comparable and hashable.
|
|
|
|
|
- Make data forms embeddable easily into minidom
|
|
|
|
|
Element::builder.
|
2017-05-28 15:30:43 +00:00
|
|
|
|
|
2017-05-28 00:47:32 +00:00
|
|
|
|
Version 0.4.0:
|
|
|
|
|
2017-05-28 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
|
|
|
|
* Incompatible changes:
|
|
|
|
|
- Receipts now make the id optional, as per the specification.
|
|
|
|
|
- Hashes now expose their raw binary value, instead of staying
|
|
|
|
|
base64-encoded.
|
|
|
|
|
- Parse dates (XEP-0082) in delayed delivery (XEP-0203) and
|
|
|
|
|
last user interaction (XEP-0319), using the chrono crate.
|
|
|
|
|
* Improvements:
|
|
|
|
|
- Removal of most of the remaining clones, the only ones left
|
|
|
|
|
are due to minidom not exposing a draining iterator over the
|
|
|
|
|
children.
|
|
|
|
|
- Finish to parse all of the attributes using get_attr!().
|
|
|
|
|
- More attribute checks.
|
|
|
|
|
- Split more parsers into one parser per element.
|
|
|
|
|
- Rely on minidom 0.4.3 to serialise more standard types
|
|
|
|
|
automatically.
|
|
|
|
|
- Implement forgotten serialisation for data forms (XEP-0004).
|
|
|
|
|
- Implement legacy capabilities (XEP-0115) for compatibility
|
|
|
|
|
with older software.
|
|
|
|
|
|
2017-05-23 23:12:16 +00:00
|
|
|
|
Version 0.3.0:
|
|
|
|
|
2017-05-23 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
|
|
|
|
* Big changes:
|
|
|
|
|
- All parsers and serialisers now consume their argument, this
|
|
|
|
|
makes the API way more efficient, but you will have to clone
|
|
|
|
|
before passing your structs in it if you want to keep them.
|
|
|
|
|
- Payloads of stanzas are not parsed automatically anymore, to
|
|
|
|
|
let applications which want to forward them as-is do so more
|
|
|
|
|
easily. Parsing now always succeeds on unknown payloads, it
|
|
|
|
|
just puts them into an Unknown value containing the existing
|
|
|
|
|
minidom Element.
|
|
|
|
|
* New parsers/serialisers:
|
|
|
|
|
- Last User Interaction in Presence, XEP-0319.
|
|
|
|
|
* Improved parsers/serialisers:
|
|
|
|
|
- Message now supports subject, bodies and threads as per
|
|
|
|
|
RFC 6121 §5.2.
|
|
|
|
|
- Replace most attribute reads with a nice macro.
|
|
|
|
|
- Use enums for more enum-like things, for example Algo in
|
|
|
|
|
Hash, or FieldType in DataForm.
|
|
|
|
|
- Wire up stanza-id and origin-id to MessagePayload.
|
|
|
|
|
- Wire up MAM elements to message and iq payloads.
|
|
|
|
|
- Changes in the RSM API.
|
|
|
|
|
- Add support for more data forms elements, but still not the
|
|
|
|
|
complete set.
|
|
|
|
|
- Thanks to minidom 0.3.1, check for explicitly disallowed
|
|
|
|
|
extra attributes in some elements.
|
|
|
|
|
* Crate updates:
|
|
|
|
|
- minidom 0.4.1
|
|
|
|
|
|
2017-05-06 20:54:12 +00:00
|
|
|
|
Version 0.2.0:
|
|
|
|
|
2017-05-06 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
2017-05-01 00:39:52 +00:00
|
|
|
|
* New parsers/serialisers:
|
|
|
|
|
- Stanza error, as per RFC 6120 §8.3.
|
2017-05-06 20:54:12 +00:00
|
|
|
|
- Jingle SOCKS5 Transport, XEP-0260.
|
2017-05-01 00:39:52 +00:00
|
|
|
|
* Incompatible changes:
|
2017-05-06 20:54:12 +00:00
|
|
|
|
- Parsers and serialisers now all implement TryFrom<Element>
|
|
|
|
|
and Into<Element>, instead of the old parse_* and serialise_*
|
|
|
|
|
functions.
|
2017-05-01 00:39:52 +00:00
|
|
|
|
- Presence has got an overhaul, it now hosts show, statuses and
|
|
|
|
|
priority in its struct. The status module has also been
|
|
|
|
|
dropped.
|
2017-05-06 20:54:12 +00:00
|
|
|
|
- Message now supports multiple bodies, each in a different
|
|
|
|
|
language. The body module has also been dropped.
|
2017-05-01 00:39:52 +00:00
|
|
|
|
- Iq now gets a proper StanzaError when the type is error.
|
2017-05-06 20:54:12 +00:00
|
|
|
|
- Fix bogus Jingle payload, which was requiring both
|
|
|
|
|
description and transport.
|
|
|
|
|
* Crate updates:
|
|
|
|
|
- minidom 0.3.0
|
2017-05-01 00:39:52 +00:00
|
|
|
|
|
|
|
|
|
Version 0.1.0:
|
|
|
|
|
2017-04-29 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
|
|
|
|
* Implement many extensions.
|