This document tracks upstream bugzilla API changes, and related info.

  Upstream timeline
  =================

Here's a timeline of the evolution of the upstream bugzilla XMLRPC/REST API:

Bugzilla 2.*:
    No XMLRPC API that I can tell

Bugzilla 3.0:
    http://www.bugzilla.org/docs/3.0/html/api/index.html
    Bug.legal_values
    Bug.get_bugs:
        returns: id, alias, summary, creation_time, last_change_time
    Bug.create
    Bugzilla.version
    Bugzilla.timezone
    Product.get_selectable_products
    Product.get_enterable_products
    Product.get_accessible_products
    Product.get_products
    User.login
    User.logout
    User.offer_account_by_email
    User.create

Bugzilla 3.2:
    http://www.bugzilla.org/docs/3.2/en/html/api/
    Bug: RENAME: get_bugs->get, get_bugs should still work
    Bug.add_comment
    Bugzilla.extensions
    Product: RENAME: get_products->get, get_products should still work

Bugzilla 3.4:
    http://www.bugzilla.org/docs/3.4/en/html/api/
    Bug.comments
    Bug.history
    Bug.search
    Bug.update_see_also
    Bugzilla.time
    Bugzilla: DEPRECATED: timezone, use time instead
    User.get
    Util.filter_fields
    Util.validate

Bugzilla 3.6:
    http://www.bugzilla.org/docs/3.6/en/html/api/
    Bug.attachments
    Bug.fields
    Bug: DEPRECATED: legal_values
    Bugzilla: timezone now always returns UTC+0000

Bugzilla 4.0:
    http://www.bugzilla.org/docs/4.0/en/html/api/
    Bug.add_attachment
    Bug.update
    Util.filter_wants

Bugzilla 4.2:
    http://www.bugzilla.org/docs/4.2/en/html/api/
    Group.create
    Product.create

Bugzilla 4.4:
    http://www.bugzilla.org/docs/4.4/en/html/api/
    Bug.update_tags
    Bugzilla.parameters
    Bugzilla.last_audit_time
    Classification.get
    Group.update
    Product.update
    User.update
    Util.translate
    Util.params_to_objects

Bugzilla 5.0: (July 2015)
    https://bugzilla.readthedocs.io/en/5.0/api/index.html
    Bug.update_attachment
    Bug.search/update_comment_tags
    Bug.search:
        search() now supports --from-url style, like rhbz before it
        search() now supports quicksearch
    Bug.update:
        update() alias is now a hash of add/remove/set, but has back compat
        update() can take 'flags' config now
    Component (new, or newly documented?)
    Component.create
    User.valid_login


Bugzilla latest/tip:
    https://bugzilla.readthedocs.io/en/latest/api/index.html


  Misc info
  =========

Bugzilla REST API code link
    https://github.com/bugzilla/bugzilla/tree/5.2/Bugzilla/WebService/Server/REST/Resources


Redhat Bugzilla: 5.0 based with extensions
    https://bugzilla.redhat.com/docs/en/html/api/
    Bug.search has --from-url extension
    Bug.update has more hashing support
    extra_fields for fetching comments, attachments, etc at Bug.get time
    ExternalBugs extension: https://bugzilla.redhat.com/docs/en/html/api/extensions/ExternalBugs/lib/WebService.html


Fedora infrastructure python-bugzilla consumers:
    https://infrastructure.fedoraproject.org/cgit/ansible.git/tree/roles/distgit/pagure/templates/pagure-sync-bugzilla.py.j2
    https://github.com/fedora-infra/bodhi/blob/develop/bodhi/server/bugs.py
    https://github.com/fedora-infra/fas/blob/develop/tools/export-bugzilla.py
