---
name: "AnyEvent::XMPP::Ext::Version"
section: "3pm"
platform: "linux"
package: "perl-anyevent-xmpp"
version: "0.55-7"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/AnyEvent::XMPP::Ext::Version"
---

# AnyEvent::XMPP::Ext::Version(3pm)

Software version

## NAME

AnyEvent::XMPP::Ext::Version - Software version

## SYNOPSIS

```
   use AnyEvent::XMPP::Ext::Version;
   my $version = AnyEvent::XMPP::Ext::Version->new;
   $version->set_name    ("My client");
   $version->set_version ("0.3");
   $version->set_os      (`uname -a`);
   $disco->enable_feature ($version->disco_feature);
```

## DESCRIPTION

This module defines an extension to provide the abilities to answer to software version requests and to request software version from other entities.

See also XEP-0092

This class is derived from AnyEvent::XMPP::Ext and can be added as extension to objects that implement the AnyEvent::XMPP::Extendable interface or derive from it.

## METHODS

- **new (%args)**

  Creates a new software version handle.

- **set\_name ($name)**

  This method sets the software `$name` string, the default is "AnyEvent::XMPP".

- **set\_version ($version)**

  This method sets the software `$version` string that is replied.

  The default is `$AnyEvent::XMPP::VERSION`.

- **set\_os ($os)**

  This method sets the operating system string `$os`. If you pass undef the string will be removed.

  The default is no operating system string at all.

  You may want to pass something like this:

  ```
     $version->set_os (`uname -s -r -m -o`);
  ```

- **request\_version ($con, $dest, $cb)**

  This method sends a version request to `$dest` on the connection `$con`.

  `$cb` is the callback that will be called if either an error occured or the result was received. The callback will also be called after the default IQ timeout for the connection `$con`. The second argument for the callback will be either undef if no error occured or a AnyEvent::XMPP::Error::IQ error. The first argument will be a hash reference with the following fields:

  - jid

    The JID of the entity this version reply belongs to.

  - version

    The software version string of the entity.

  - name

    The software name of the entity.

  - os

    The operating system of the entity, which might be undefined if none was provided.

  Here an example of the structure of the hash reference:

  ```
    {
       jid     => 'juliet@capulet.com/balcony',
       name    => 'Exodus',
       version => '0.7.0.4',
       os      => 'Windows-XP 5.01.2600',
    }
  ```

## AUTHOR

Robin Redeker, `"<elmex at ta-sa.org>"`, JID: `"<elmex at jabber.org>"`

## COPYRIGHT & LICENSE

Copyright 2007, 2008 Robin Redeker, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
