Translation components API.

See the Weblate's Web API documentation for detailed description of the API.

GET /api/components/python-docs/latest%252Flatestwhatsnew32/changes/?format=api&page=5
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 1575,
    "next": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/changes/?format=api&page=6",
    "previous": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/changes/?format=api&page=4",
    "results": [
        {
            "unit": "https://hosted.weblate.org/api/units/108797964/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.214110+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "(Contributed by Giampaolo Rodolà; :issue:`8807`.)",
                "old_state": -1
            },
            "id": 71034817,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034817/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797963/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.214081+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": ":class:`~poplib.POP3_SSL` class now accepts a *context* parameter, which is a :class:`ssl.SSLContext` object allowing bundling SSL configuration options, certificates and private keys into a single (potentially long-lived) structure.",
                "old_state": -1
            },
            "id": 71034816,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034816/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797962/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.214053+01:00",
            "action": 59,
            "target": "poplib",
            "old": "",
            "details": {
                "state": 20,
                "source": "poplib",
                "old_state": -1
            },
            "id": 71034815,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034815/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797961/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.214015+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "(Contributed by Raymond Hettinger; :issue:`9025`.)",
                "old_state": -1
            },
            "id": 71034814,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034814/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797960/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213992+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "The integer methods in the :mod:`random` module now do a better job of producing uniform distributions.  Previously, they computed selections with ``int(n*random())`` which had a slight bias whenever *n* was not a power of two. Now, multiple selections are made from a range up to the next power of two and a selection is kept only when it falls within the range ``0 <= x < n``.  The functions and methods affected are :func:`~random.randrange`, :func:`~random.randint`, :func:`~random.choice`, :func:`~random.shuffle` and :func:`~random.sample`.",
                "old_state": -1
            },
            "id": 71034813,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034813/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797959/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213969+01:00",
            "action": 59,
            "target": "random",
            "old": "",
            "details": {
                "state": 20,
                "source": "random",
                "old_state": -1
            },
            "id": 71034812,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034812/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797958/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213945+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "The :meth:`~unittest.TestCase.assertDictContainsSubset` method was deprecated because it was misimplemented with the arguments in the wrong order.  This created hard-to-debug optical illusions where tests like ``TestCase().assertDictContainsSubset({'a':1, 'b':2}, {'a':1})`` would fail.",
                "old_state": -1
            },
            "id": 71034811,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034811/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797957/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213922+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "(Contributed by Ezio Melotti; :issue:`9424`.)",
                "old_state": -1
            },
            "id": 71034810,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034810/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797956/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213899+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "Likewise, the ``TestCase.fail*`` methods deprecated in Python 3.1 are expected to be removed in Python 3.3.",
                "old_state": -1
            },
            "id": 71034809,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034809/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797954/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213875+01:00",
            "action": 59,
            "target": ":meth:`.assertNotAlmostEqual`",
            "old": "",
            "details": {
                "state": 20,
                "source": ":meth:`.assertNotAlmostEqual`",
                "old_state": -1
            },
            "id": 71034808,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034808/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797953/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213852+01:00",
            "action": 59,
            "target": ":meth:`assertNotAlmostEquals`",
            "old": "",
            "details": {
                "state": 20,
                "source": ":meth:`assertNotAlmostEquals`",
                "old_state": -1
            },
            "id": 71034807,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034807/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797952/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213829+01:00",
            "action": 59,
            "target": ":meth:`.assertAlmostEqual`",
            "old": "",
            "details": {
                "state": 20,
                "source": ":meth:`.assertAlmostEqual`",
                "old_state": -1
            },
            "id": 71034806,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034806/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797951/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213806+01:00",
            "action": 59,
            "target": ":meth:`assertAlmostEquals`",
            "old": "",
            "details": {
                "state": 20,
                "source": ":meth:`assertAlmostEquals`",
                "old_state": -1
            },
            "id": 71034805,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034805/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797950/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213781+01:00",
            "action": 59,
            "target": ":meth:`.assertNotEqual`",
            "old": "",
            "details": {
                "state": 20,
                "source": ":meth:`.assertNotEqual`",
                "old_state": -1
            },
            "id": 71034804,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034804/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797949/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213754+01:00",
            "action": 59,
            "target": ":meth:`assertNotEquals`",
            "old": "",
            "details": {
                "state": 20,
                "source": ":meth:`assertNotEquals`",
                "old_state": -1
            },
            "id": 71034803,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034803/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797948/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213731+01:00",
            "action": 59,
            "target": ":meth:`.assertEqual`",
            "old": "",
            "details": {
                "state": 20,
                "source": ":meth:`.assertEqual`",
                "old_state": -1
            },
            "id": 71034802,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034802/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797947/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213708+01:00",
            "action": 59,
            "target": ":meth:`assertEquals`",
            "old": "",
            "details": {
                "state": 20,
                "source": ":meth:`assertEquals`",
                "old_state": -1
            },
            "id": 71034801,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034801/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797946/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213686+01:00",
            "action": 59,
            "target": ":meth:`.assertTrue`",
            "old": "",
            "details": {
                "state": 20,
                "source": ":meth:`.assertTrue`",
                "old_state": -1
            },
            "id": 71034800,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034800/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797945/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213663+01:00",
            "action": 59,
            "target": ":meth:`assert_`",
            "old": "",
            "details": {
                "state": 20,
                "source": ":meth:`assert_`",
                "old_state": -1
            },
            "id": 71034799,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034799/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797944/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213640+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "Preferred Name",
                "old_state": -1
            },
            "id": 71034798,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034798/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797943/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213617+01:00",
            "action": 59,
            "target": "Old Name",
            "old": "",
            "details": {
                "state": 20,
                "source": "Old Name",
                "old_state": -1
            },
            "id": 71034797,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034797/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797942/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213594+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "To improve consistency, some long-standing method aliases are being deprecated in favor of the preferred names:",
                "old_state": -1
            },
            "id": 71034796,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034796/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797941/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213569+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "(Contributed by Raymond Hettinger and implemented by Ezio Melotti.)",
                "old_state": -1
            },
            "id": 71034795,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034795/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797940/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213546+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "For example, :meth:`~unittest.TestCase.assertRegex` is the new name for :meth:`~unittest.TestCase.assertRegexpMatches` which was misnamed because the test uses :func:`re.search`, not :func:`re.match`.  Other methods using regular expressions are now named using short form \"Regex\" in preference to \"Regexp\" -- this matches the names used in other unittest implementations, matches Python's old name for the :mod:`re` module, and it has unambiguous camel-casing.",
                "old_state": -1
            },
            "id": 71034794,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034794/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797939/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213523+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "In addition, the method names in the module have undergone a number of clean-ups.",
                "old_state": -1
            },
            "id": 71034793,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034793/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797938/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213500+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "A principal feature of the unittest module is an effort to produce meaningful diagnostics when a test fails.  When possible, the failure is recorded along with a diff of the output.  This is especially helpful for analyzing log files of failed test runs. However, since diffs can sometime be voluminous, there is a new :attr:`~unittest.TestCase.maxDiff` attribute that sets maximum length of diffs displayed.",
                "old_state": -1
            },
            "id": 71034792,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034792/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797937/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213477+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "Another new method, :meth:`~unittest.TestCase.assertCountEqual` is used to compare two iterables to determine if their element counts are equal (whether the same elements are present with the same number of occurrences regardless of order)::",
                "old_state": -1
            },
            "id": 71034791,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034791/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797936/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213454+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "(Contributed by Antoine Pitrou, :issue:`9754`.)",
                "old_state": -1
            },
            "id": 71034790,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034790/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797935/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213430+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "The :mod:`unittest` module has two new methods, :meth:`~unittest.TestCase.assertWarns` and :meth:`~unittest.TestCase.assertWarnsRegex` to verify that a given warning type is triggered by the code under test::",
                "old_state": -1
            },
            "id": 71034789,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034789/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797934/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213407+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "Experimentation at the interactive prompt is now easier because the :class:`unittest.case.TestCase` class can now be instantiated without arguments:",
                "old_state": -1
            },
            "id": 71034788,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034788/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797933/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213384+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "(Contributed by Michael Foord.)",
                "old_state": -1
            },
            "id": 71034787,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034787/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797932/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213361+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "The command-line call ``python -m unittest`` can now accept file paths instead of module names for running specific tests (:issue:`10620`).  The new test discovery can find tests within packages, locating any test importable from the top-level directory.  The top-level directory can be specified with the ``-t`` option, a pattern for matching files with ``-p``, and a directory to start discovery with ``-s``:",
                "old_state": -1
            },
            "id": 71034786,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034786/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797931/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213337+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "The unittest module has a number of improvements supporting test discovery for packages, easier experimentation at the interactive prompt, new testcase methods, improved diagnostic messages for test failures, and better method names.",
                "old_state": -1
            },
            "id": 71034785,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034785/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797930/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213314+01:00",
            "action": 59,
            "target": "unittest",
            "old": "",
            "details": {
                "state": 20,
                "source": "unittest",
                "old_state": -1
            },
            "id": 71034784,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034784/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797929/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213278+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "To match the behavior of :mod:`http.server`, the HTTP client library now also encodes headers with ISO-8859-1 (Latin-1) encoding.  It was already doing that for incoming headers, so now the behavior is consistent for both incoming and outgoing traffic. (See work by Armin Ronacher in :issue:`10980`.)",
                "old_state": -1
            },
            "id": 71034783,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034783/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797928/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213254+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "To establish an HTTPS connection through a proxy server, there is a new :meth:`~http.client.HTTPConnection.set_tunnel` method that sets the host and port for HTTP Connect tunneling.",
                "old_state": -1
            },
            "id": 71034782,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034782/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797927/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213231+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "The :meth:`~http.client.HTTPConnection.request` method on connection objects allowed an optional *body* argument so that a :term:`file object` could be used to supply the content of the request.  Conveniently, the *body* argument now also accepts an :term:`iterable` object so long as it includes an explicit ``Content-Length`` header.  This extended interface is much more flexible than before.",
                "old_state": -1
            },
            "id": 71034781,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034781/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797926/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213208+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "Support for certificate checking and HTTPS virtual hosts were added to :class:`~http.client.HTTPSConnection`.",
                "old_state": -1
            },
            "id": 71034780,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034780/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797925/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213185+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "The :class:`~http.client.HTTPConnection` and :class:`~http.client.HTTPSConnection` classes now have a *source_address* parameter for a (host, port) tuple indicating where the HTTP connection is made from.",
                "old_state": -1
            },
            "id": 71034779,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034779/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797924/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213162+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "There were a number of small API improvements in the :mod:`http.client` module. The old-style HTTP 0.9 simple responses are no longer supported and the *strict* parameter is deprecated in all classes.",
                "old_state": -1
            },
            "id": 71034778,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034778/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797923/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213139+01:00",
            "action": 59,
            "target": "http.client",
            "old": "",
            "details": {
                "state": 20,
                "source": "http.client",
                "old_state": -1
            },
            "id": 71034777,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034777/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797922/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213116+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "(Contributed by Lorenzo M. Catucci and Antoine Pitrou, :issue:`4471`.)",
                "old_state": -1
            },
            "id": 71034776,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034776/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797921/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213093+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "Support for explicit TLS on standard IMAP4 connections has been added through the new :mod:`imaplib.IMAP4.starttls` method.",
                "old_state": -1
            },
            "id": 71034775,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034775/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797920/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213070+01:00",
            "action": 59,
            "target": "imaplib",
            "old": "",
            "details": {
                "state": 20,
                "source": "imaplib",
                "old_state": -1
            },
            "id": 71034774,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034774/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797919/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213048+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "(Added by Antoine Pitrou, :issue:`9003`.)",
                "old_state": -1
            },
            "id": 71034773,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034773/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797918/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213025+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": ":class:`http.client.HTTPSConnection`, :class:`urllib.request.HTTPSHandler` and :func:`urllib.request.urlopen` now take optional arguments to allow for server certificate checking against a set of Certificate Authorities, as recommended in public uses of HTTPS.",
                "old_state": -1
            },
            "id": 71034772,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034772/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797917/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.213002+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "certificates",
                "old_state": -1
            },
            "id": 71034771,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034771/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797916/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.212979+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "(Contributed by Antoine Pitrou in :issue:`9360` and Andrew Vant in :issue:`1926`.)",
                "old_state": -1
            },
            "id": 71034770,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034770/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797915/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.212956+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "Support for secure connections through both implicit (using :class:`nntplib.NNTP_SSL`) and explicit (using :meth:`nntplib.NNTP.starttls`) TLS has also been added.",
                "old_state": -1
            },
            "id": 71034769,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034769/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/108797914/?format=api",
            "component": "https://hosted.weblate.org/api/components/python-docs/latest%252Flatestwhatsnew32/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/python-docs/latest%252Flatestwhatsnew32/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-11-08T16:39:43.212932+01:00",
            "action": 59,
            "target": "",
            "old": "",
            "details": {
                "state": 0,
                "source": "The :mod:`nntplib` module has a revamped implementation with better bytes and text semantics as well as more practical APIs.  These improvements break compatibility with the nntplib version in Python 3.1, which was partly dysfunctional in itself.",
                "old_state": -1
            },
            "id": 71034768,
            "action_name": "String updated in the repository",
            "url": "https://hosted.weblate.org/api/changes/71034768/?format=api"
        }
    ]
}