## AsRelease

AsRelease — Object representing a single upstream release

## Functions

const gchar * | as_release_kind_to_string ()
AsReleaseKind | as_release_kind_from_string ()
const gchar * | as_release_url_kind_to_string ()
AsReleaseUrlKind | as_release_url_kind_from_string ()
AsRelease * | as_release_new ()
AsReleaseKind | as_release_get_kind ()
void | as_release_set_kind ()
const gchar * | as_release_get_active_locale ()
void | as_release_set_active_locale ()
const gchar * | as_release_get_version ()
void | as_release_set_version ()
gint | as_release_vercmp ()
const gchar * | as_release_get_date ()
void | as_release_set_date ()
guint64 | as_release_get_timestamp ()
void | as_release_set_timestamp ()
const gchar * | as_release_get_date_eol ()
void | as_release_set_date_eol ()
guint64 | as_release_get_timestamp_eol ()
void | as_release_set_timestamp_eol ()
const gchar * | as_release_get_description ()
void | as_release_set_description ()
AsUrgencyKind | as_release_get_urgency ()
void | as_release_set_urgency ()
GPtrArray * | as_release_get_issues ()
void | as_release_add_issue ()
GPtrArray * | as_release_get_artifacts ()
void | as_release_add_artifact ()
const gchar * | as_release_get_url ()
void | as_release_set_url ()
guint64 | as_release_get_size ()
void | as_release_set_size ()
GPtrArray * | as_release_get_locations ()
void | as_release_add_location ()
GPtrArray * | as_release_get_checksums ()
AsChecksum * | as_release_get_checksum ()
void | as_release_add_checksum ()

## Types and Values

#define | AS_TYPE_RELEASE
struct | AsReleaseClass
enum | AsReleaseKind
enum | AsReleaseUrlKind
| AsRelease

## Includes

    #include <appstream.h>

## Description

This object represents a single upstream release, typically a minor update. Releases can contain a localized description of paragraph and list elements and also have a version number and timestamp.

Releases can be automatically generated by parsing upstream ChangeLogs or .spec files, or can be populated using MetaInfo files.

See also: AsComponent

## Functions

### as_release_kind_to_string ()

    const gchar *
    as_release_kind_to_string (AsReleaseKind kind);

Converts the enumerated value to an text representation.

#### Parameters

kind | the AsReleaseKind. |

#### Returns

string version of `kind`

Since: 0.12.0

### as_release_kind_from_string ()

    AsReleaseKind
    as_release_kind_from_string (const gchar *kind_str);

Converts the text representation to an enumerated value.

#### Parameters

kind_str | the string. |

#### Returns

an AsReleaseKind or `AS_RELEASE_KIND_UNKNOWN` for unknown

Since: 0.12.0

### as_release_url_kind_to_string ()

    const gchar *
    as_release_url_kind_to_string (AsReleaseUrlKind kind);

Converts the enumerated value to an text representation.

#### Parameters

kind | the AsReleaseUrlKind. |

#### Returns

string version of `kind`

Since: 0.12.5

### as_release_url_kind_from_string ()

    AsReleaseUrlKind
    as_release_url_kind_from_string (const gchar *kind_str);

Converts the text representation to an enumerated value.

#### Parameters

kind_str | the string. |

#### Returns

an AsReleaseUrlKind or `AS_RELEASE_URL_KIND_UNKNOWN` for unknown

Since: 0.12.5

### as_release_new ()

    AsRelease *
    as_release_new (void);

Creates a new AsRelease.

#### Returns

a AsRelease.

[transfer full]

### as_release_get_kind ()

    AsReleaseKind
    as_release_get_kind (AsRelease *release);

Gets the type of the release. (development or stable release)

#### Parameters

release | a AsRelease instance. |

Since: 0.12.0

### as_release_set_kind ()

    void
    as_release_set_kind (AsRelease *release,
                         AsReleaseKind kind);

Sets the release kind to distinguish between end-user ready stable releases and development prereleases..

#### Parameters

release | a AsRelease instance. |
kind | the AsReleaseKind |

Since: 0.12.0

### as_release_get_active_locale ()

    const gchar *
    as_release_get_active_locale (AsRelease *release);

Get the current active locale, which is used to get localized messages.

#### Parameters

release | a AsRelease instance. |

#### Returns

the current active locale

### as_release_set_active_locale ()

    void
    as_release_set_active_locale (AsRelease *release,
                                  const gchar *locale);

Set the current active locale, which is used to get localized messages. If the AsComponent linking this AsRelease was fetched from a localized database, usually only one locale is available.

#### Parameters

release | a AsRelease instance. |
locale | a POSIX or BCP47 locale, or `NULL`. e.g. "de_DE". | [nullable]

### as_release_get_version ()

    const gchar *
    as_release_get_version (AsRelease *release);

Gets the release version.

#### Parameters

release | a AsRelease instance. |

#### Returns

string, or `NULL` for not set or invalid.

[nullable]

### as_release_set_version ()

    void
    as_release_set_version (AsRelease *release,
                            const gchar *version);

Sets the release version.

#### Parameters

release | a AsRelease instance. |
version | the version string. |

### as_release_vercmp ()

    gint
    as_release_vercmp (AsRelease *rel1,
                       AsRelease *rel2);

Compare the version numbers of two releases.

#### Parameters

rel1 | an AsRelease |
rel2 | an AsRelease |

#### Returns

1 if `rel1` version is higher than `rel2` , 0 if versions are equal, -1 if `rel2` version is higher than `rel1` .

### as_release_get_date ()

    const gchar *
    as_release_get_date (AsRelease *release);

Gets the release date.

#### Parameters

release | a AsRelease instance. |

#### Returns

The date in ISO8601 format.

[nullable]

Since: 0.12.5

### as_release_set_date ()

    void
    as_release_set_date (AsRelease *release,
                         const gchar *date);

Sets the release date.

#### Parameters

release | a AsRelease instance. |
date | the date in ISO8601 format. |

Since: 0.12.5

### as_release_get_timestamp ()

    guint64
    as_release_get_timestamp (AsRelease *release);

Gets the release timestamp.

#### Parameters

release | a AsRelease instance. |

#### Returns

timestamp, or 0 for unset

### as_release_set_timestamp ()

    void
    as_release_set_timestamp (AsRelease *release,
                              guint64 timestamp);

Sets the release timestamp.

#### Parameters

release | a AsRelease instance. |
timestamp | the timestamp value. |

### as_release_get_date_eol ()

    const gchar *
    as_release_get_date_eol (AsRelease *release);

Gets the end-of-life date for this release.

#### Parameters

release | a AsRelease instance. |

#### Returns

The EOL date in ISO8601 format.

[nullable]

Since: 0.12.5

### as_release_set_date_eol ()

    void
    as_release_set_date_eol (AsRelease *release,
                             const gchar *date);

Sets the end-of-life date for this release.

#### Parameters

release | a AsRelease instance. |
date | the EOL date in ISO8601 format. |

Since: 0.12.5

### as_release_get_timestamp_eol ()

    guint64
    as_release_get_timestamp_eol (AsRelease *release);

Gets the UNIX timestamp for the date when this release is out of support (end-of-life).

#### Parameters

release | a AsRelease instance. |

#### Returns

UNIX timestamp, or 0 for unset or invalid.

Since: 0.12.5

### as_release_set_timestamp_eol ()

    void
    as_release_set_timestamp_eol (AsRelease *release,
                                  guint64 timestamp);

Sets the UNIX timestamp for the date when this release is out of support (end-of-life).

#### Parameters

release | a AsRelease instance. |
timestamp | the timestamp value. |

Since: 0.12.5

### as_release_get_description ()

    const gchar *
    as_release_get_description (AsRelease *release);

Gets the release description markup for a given locale.

#### Parameters

release | a AsRelease instance. |

#### Returns

markup, or `NULL` for not set or invalid.

[nullable]

### as_release_set_description ()

    void
    as_release_set_description (AsRelease *release,
                                const gchar *description,
                                const gchar *locale);

Sets the description release markup.

#### Parameters

release | a AsRelease instance. |
description | the description markup. |
locale | the BCP47 locale, or `NULL`. e.g. "en-GB". | [nullable]

### as_release_get_urgency ()

    AsUrgencyKind
    as_release_get_urgency (AsRelease *release);

Gets the urgency of the release (showing how important it is to update to a more recent release)

#### Parameters

release | a AsRelease instance. |

#### Returns

AsUrgencyKind, or `AS_URGENCY_KIND_UNKNOWN` for not set

Since: 0.6.5

### as_release_set_urgency ()

    void
    as_release_set_urgency (AsRelease *release,
                            AsUrgencyKind urgency);

Sets the release urgency.

#### Parameters

release | a AsRelease instance. |
urgency | the urgency of this release/update (as AsUrgencyKind) |

Since: 0.6.5

### as_release_get_issues ()

    GPtrArray *
    as_release_get_issues (AsRelease *release);

Get a list of all issues resolved by this release.

#### Returns

an array of AsIssue objects.

[transfer none][element-type AsIssue]

Since: 0.12.9

### as_release_add_issue ()

    void
    as_release_add_issue (AsRelease *release,
                          AsIssue *issue);

Add information about a (resolved) issue to this release.

#### Parameters

release | An instance of AsRelease. |
issue | The AsIssue. |

Since: 0.12.9

### as_release_get_artifacts ()

    GPtrArray *
    as_release_get_artifacts (AsRelease *release);

Get a list of all downloadable artifacts that are associated with this release.

#### Returns

an array of AsArtifact objects.

[transfer none][element-type AsArtifact]

Since: 0.12.6

### as_release_add_artifact ()

    void
    as_release_add_artifact (AsRelease *release,
                             AsArtifact *artifact);

Add an artifact (binary / source download) for this release.

#### Parameters

release | An instance of AsRelease. |
artifact | The AsArtifact. |

Since: 0.12.6

### as_release_get_url ()

    const gchar *
    as_release_get_url (AsRelease *release,
                        AsReleaseUrlKind url_kind);

Gets an URL.

#### Parameters

release | a AsRelease instance. |
url_kind | the URL kind, e.g. `AS_RELEASE_URL_KIND_DETAILS`. |

#### Returns

string, or `NULL` if unset.

[nullable]

Since: 0.12.5

### as_release_set_url ()

    void
    as_release_set_url (AsRelease *release,
                        AsReleaseUrlKind url_kind,
                        const gchar *url);

Sets an URL for this release.

#### Parameters

release | a AsRelease instance. |
url_kind | the URL kind, e.g. `AS_RELEASE_URL_KIND_DETAILS` |
url | the full URL. |

Since: 0.12.5

### as_release_get_size ()

    guint64
    as_release_get_size (AsRelease *release,
                         AsSizeKind kind);

`as_release_get_size` is deprecated and should not be used in newly-written code.

Use the AsArtifact directly to obtain this information.

Gets the release size.

#### Parameters

release | a AsRelease instance |
kind | a AsSizeKind |

#### Returns

The size of the given kind of this release.

Since: 0.8.6

### as_release_set_size ()

    void
    as_release_set_size (AsRelease *release,
                         guint64 size,
                         AsSizeKind kind);

`as_release_set_size` is deprecated and should not be used in newly-written code.

Use the AsArtifact directly to obtain this information.

Sets the release size for the given kind.

#### Parameters

release | a AsRelease instance |
size | a size in bytes, or 0 for unknown |
kind | a AsSizeKind |

Since: 0.8.6

### as_release_get_locations ()

    GPtrArray *
    as_release_get_locations (AsRelease *release);

`as_release_get_locations` is deprecated and should not be used in newly-written code.

Use the AsArtifact directly to obtain this information.

Gets the release locations, typically URLs.

#### Returns

list of locations.

[transfer none][element-type utf8]

Since: 0.8.1

### as_release_add_location ()

    void
    as_release_add_location (AsRelease *release,
                             const gchar *location);

`as_release_add_location` is deprecated and should not be used in newly-written code.

Use the AsArtifact directly to obtain this information.

Adds a release location.

#### Parameters

location | An URL of the download location |

Since: 0.8.1

### as_release_get_checksums ()

    GPtrArray *
    as_release_get_checksums (AsRelease *release);

`as_release_get_checksums` is deprecated and should not be used in newly-written code.

Use the AsArtifact directly to obtain this information.

Get a list of all checksums we have for this release.

#### Returns

an array of AsChecksum objects.

[transfer none][element-type AsChecksum]

Since: 0.10

### as_release_get_checksum ()

    AsChecksum *
    as_release_get_checksum (AsRelease *release,
                             AsChecksumKind kind);

`as_release_get_checksum` is deprecated and should not be used in newly-written code.

Use the AsArtifact directly to obtain this information.

Gets the release checksum

#### Parameters

release | a AsRelease instance. |

#### Returns

an AsChecksum, or `NULL` for not set or invalid.

[transfer none][nullable]

Since: 0.8.2

### as_release_add_checksum ()

    void
    as_release_add_checksum (AsRelease *release,
                             AsChecksum *cs);

`as_release_add_checksum` is deprecated and should not be used in newly-written code.

Use the AsArtifact directly to obtain this information.

Add a checksum for the file associated with this release.

#### Parameters

release | An instance of AsRelease. |
cs | The AsChecksum. |

Since: 0.8.2

## Types and Values

### AS_TYPE_RELEASE

    #define AS_TYPE_RELEASE (as_release_get_type ())

### struct AsReleaseClass

    struct AsReleaseClass {
    	GObjectClass		parent_class;
    };

### enum AsReleaseKind

The release kind.

#### Members

AS_RELEASE_KIND_UNKNOWN | Unknown release type |
AS_RELEASE_KIND_STABLE | A stable release for end-users |
AS_RELEASE_KIND_DEVELOPMENT | A development release or pre-release for testing |

Since: 0.12.0

### enum AsReleaseUrlKind

The release URL kinds.

#### Members

AS_RELEASE_URL_KIND_UNKNOWN |  |
AS_RELEASE_URL_KIND_DETAILS | Weblink to detailed release notes. |

Since: 0.12.5

### AsRelease

    typedef struct _AsRelease AsRelease;