{"action":"closed","number":195,"pull_request":{"url":"https://api.github.com/repos/koztay/cnslt/pulls/195","id":222323210,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIyMzIzMjEw","html_url":"https://github.com/koztay/cnslt/pull/195","diff_url":"https://github.com/koztay/cnslt/pull/195.diff","patch_url":"https://github.com/koztay/cnslt/pull/195.patch","issue_url":"https://api.github.com/repos/koztay/cnslt/issues/195","number":195,"state":"closed","locked":false,"title":"Update django-anymail to 4.3","user":{"login":"pyup-bot","id":16239342,"node_id":"MDQ6VXNlcjE2MjM5MzQy","avatar_url":"https://avatars0.githubusercontent.com/u/16239342?v=4","gravatar_id":"","url":"https://api.github.com/users/pyup-bot","html_url":"https://github.com/pyup-bot","followers_url":"https://api.github.com/users/pyup-bot/followers","following_url":"https://api.github.com/users/pyup-bot/following{/other_user}","gists_url":"https://api.github.com/users/pyup-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/pyup-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pyup-bot/subscriptions","organizations_url":"https://api.github.com/users/pyup-bot/orgs","repos_url":"https://api.github.com/users/pyup-bot/repos","events_url":"https://api.github.com/users/pyup-bot/events{/privacy}","received_events_url":"https://api.github.com/users/pyup-bot/received_events","type":"User","site_admin":false},"body":"\nThis PR updates [django-anymail](https://pypi.org/project/django-anymail) from **0.8** to **4.3**.\n\n\n\n<details>\n  <summary>Changelog</summary>\n  \n  \n   ### 4.3\n   ```\n   ----\n\n*2018-10-11*\n\nFeatures\n~~~~~~~~\n\n*  Treat MIME attachments that have a *Content-ID* but no explicit *Content-Disposition*\n   header as inline, matching the behavior of many email clients. For maximum\n   compatibility, you should always set both (or use Anymail&#39;s inline helper functions).\n   (Thanks `costela`_.)\n\nFixes\n~~~~~\n\n*  **Mailgun:** Raise `AnymailUnsupportedFeature` error when attempting to send an\n   attachment without a filename (or inline attachment without a *Content-ID*), because\n   Mailgun silently drops these attachments from the sent message. (See\n   `docs &lt;https://anymail.readthedocs.io/en/stable/esps/mailgun/limitations-and-quirks&gt;`__.\n   Thanks `costela`_ for identifying this undocumented Mailgun API limitation.)\n*  **Mailgun:** Fix problem where attachments with non-ASCII filenames would be lost.\n   (Works around Requests/urllib3 issue encoding multipart/form-data filenames in a way\n   that isn&#39;t RFC 7578 compliant. Thanks to `decibyte`_ for catching the problem.)\n\nOther\n~~~~~\n*  Add (undocumented) DEBUG_API_REQUESTS Anymail setting. When enabled, prints raw\n   API request and response during send. Currently implemented only for Requests-based\n   backends (all but Amazon SES and SparkPost). Because this can expose API keys and\n   other sensitive info in log files, it should not be used in production.\n   ```\n   \n  \n  \n   ### 4.2\n   ```\n   ----\n\n*2018-09-07*\n\nFeatures\n~~~~~~~~\n\n*  **Postmark:** Support per-recipient template `merge_data` and batch sending. (Batch\n   sending can be used with or without a template. See\n   `docs &lt;https://anymail.readthedocs.io/en/stable/esps/postmark/postmark-templates&gt;`__.)\n\nFixes\n~~~~~\n\n*  **Postmark:** When using `template_id`, ignore empty subject and body. (Postmark\n   issues an error if Django&#39;s default empty strings are used with template sends.)\n   ```\n   \n  \n  \n   ### 4.1\n   ```\n   ----\n\n*2018-08-27*\n\nFeatures\n~~~~~~~~\n\n*  **SendGrid:** Support both new &quot;dynamic&quot; and original &quot;legacy&quot; transactional\n   templates. (See\n   `docs &lt;https://anymail.readthedocs.io/en/stable/esps/sendgrid/sendgrid-templates&gt;`__.)\n*  **SendGrid:** Allow merging `esp_extra[&quot;personalizations&quot;]` dict into other message-derived\n   personalizations. (See\n   `docs &lt;https://anymail.readthedocs.io/en/stable/esps/sendgrid/sendgrid-esp-extra&gt;`__.)\n   ```\n   \n  \n  \n   ### 4.0\n   ```\n   ----\n\n*2018-08-19*\n\nBreaking changes\n~~~~~~~~~~~~~~~~\n\n*  Drop support for Django versions older than Django 1.11.\n   (For compatibility back to Django 1.8, stay on the Anymail `v3.0`_\n   extended support branch.)\n*  **SendGrid:** Remove the legacy SendGrid *v2* EmailBackend.\n   (Anymail&#39;s default since v0.8 has been SendGrid&#39;s newer v3 API.)\n   If your settings.py `EMAIL_BACKEND` still references &quot;sendgrid_v2,&quot; you must\n   `upgrade to v3 &lt;https://anymail.readthedocs.io/en/v3.0/esps/sendgrid/upgrading-to-sendgrid-s-v3-api&gt;`__.\n\nFeatures\n~~~~~~~~\n\n*  **Mailgun:** Add support for new Mailgun webhooks. (Mailgun&#39;s original &quot;legacy\n   webhook&quot; format is also still supported. See\n   `docs &lt;https://anymail.readthedocs.io/en/stable/esps/mailgun/mailgun-webhooks&gt;`__.)\n*  **Mailgun:** Document how to use new European region. (This works in earlier\n   Anymail versions, too.)\n*  **Postmark:** Add support for Anymail&#39;s normalized `metadata` in sending\n   and webhooks.\n\nFixes\n~~~~~\n\n*  Avoid problems with Gmail blocking messages that have inline attachments, when sent\n   from a machine whose local hostname ends in *.com*. Change Anymail&#39;s\n   `attach_inline_image()` default *Content-ID* domain to the literal text &quot;inline&quot;\n   (rather than Python&#39;s default of the local hostname), to work around a limitation\n   of some ESP APIs that don&#39;t permit distinct content ID and attachment filenames\n   (Mailgun, Mailjet, Mandrill and SparkPost). See `112`_ for more details.\n*  **Amazon SES:** Work around an\n   `Amazon SES bug &lt;https://forums.aws.amazon.com/thread.jspa?threadID=287048&gt;`__\n   that can corrupt non-ASCII message bodies if you are using SES&#39;s open or click\n   tracking. (See `115`_ for more details. Thanks to `varche1`_ for isolating\n   the specific conditions that trigger the bug.)\n\nOther\n~~~~~\n\n*  Maintain changelog in the repository itself (rather than in GitHub release notes).\n*  Test against released versions of Python 3.7 and Django 2.1.\n   ```\n   \n  \n  \n   ### 3.0\n   ```\n   ----\n\n*2018-05-30*\n\nThis is an extended support release. Anymail v3.x will receive security updates\nand fixes for any breaking ESP API changes through at least April, 2019.\n\nBreaking changes\n~~~~~~~~~~~~~~~~\n\n*  Drop support for Python 3.3 (see `99`_).\n*  **SendGrid:** Fix a problem where Anymail&#39;s status tracking webhooks didn&#39;t always\n   receive the same `event.message_id` as the sent `message.anymail_status.message_id`,\n   due to unpredictable behavior by SendGrid&#39;s API. Anymail now generates a UUID for\n   each sent message and attaches it as a SendGrid custom arg named anymail_id. For most\n   users, this change should be transparent. But it could be a breaking change if you\n   are relying on a specific message_id format, or relying on message_id matching the\n   *Message-ID* mail header or SendGrid&#39;s &quot;smtp-id&quot; event field. (More details in the\n   `docs &lt;https://anymail.readthedocs.io/en/stable/esps/sendgrid/sendgrid-message-id&gt;`__;\n   also see `108`_.) Thanks to `joshkersey`_ for the report and the fix.\n\nFeatures\n~~~~~~~~\n\n*  Support Django 2.1 prerelease.\n\nFixes\n~~~~~\n\n*  **Mailjet:** Fix tracking webhooks to work correctly when Mailjet &quot;group events&quot;\n   option is disabled (see `106`_).\n\nDeprecations\n~~~~~~~~~~~~\n\n*  This will be the last Anymail release to support Django 1.8, 1.9, and 1.10\n   (see `110`_).\n*  This will be the last Anymail release to support the legacy SendGrid v2 EmailBackend\n   (see `111`_). (SendGrid&#39;s newer v3 API has been the default since Anymail v0.8.)\n\nIf these deprecations affect you and you cannot upgrade, set your requirements to\n`django-anymail~=3.0` (a &quot;compatible release&quot; specifier, equivalent to `&gt;=3.0,==3.*`).\n   ```\n   \n  \n  \n   ### 2.2\n   ```\n   ----\n\n*2018-04-16*\n\nFixes\n~~~~~\n\n*  Fix a breaking change accidentally introduced in v2.1: The boto3 package is no\n   longer required if you aren&#39;t using Amazon SES.\n   ```\n   \n  \n  \n   ### 2.1\n   ```\n   ----\n\n*2018-04-11*\n\n**NOTE:** v2.1 accidentally introduced a **breaking change:** enabling Anymail webhooks\nwith `include(&#39;anymail.urls&#39;)` causes an error if boto3 is not installed, even if you\naren&#39;t using Amazon SES. This is fixed in v2.2.\n\nFeatures\n~~~~~~~~\n\n*  **Amazon SES:** Add support for this ESP\n   (`docs &lt;https://anymail.readthedocs.io/en/stable/esps/amazon_ses/&gt;`__).\n*  **SparkPost:** Add SPARKPOST_API_URL setting to support SparkPost EU and SparkPost\n   Enterprise\n   (`docs &lt;https://anymail.readthedocs.io/en/stable/esps/sparkpost/std:setting-ANYMAIL_SPARKPOST_API_URL&gt;`__).\n*  **Postmark:** Update for Postmark &quot;modular webhooks.&quot; This should not impact client\n   code. (Also, older versions of Anymail will still work correctly with Postmark&#39;s\n   webhook changes.)\n\nFixes\n~~~~~\n\n*  **Inbound:** Fix several issues with inbound messages, particularly around non-ASCII\n   headers and body content. Add workarounds for some limitations in older Python email\n   packages.\n\nOther\n~~~~~\n\n*  Use tox to manage Anymail test environments (see contributor\n   `docs &lt;https://anymail.readthedocs.io/en/stable/contributing/testing&gt;`__).\n\nDeprecations\n~~~~~~~~~~~~\n\n*  This will be the last Anymail release to support Python 3.3. See `99`_ for more\n   information.\n   ```\n   \n  \n  \n   ### 2.0\n   ```\n   ----\n\n*2018-03-08*\n\nBreaking changes\n~~~~~~~~~~~~~~~~\n\n*  Drop support for deprecated WEBHOOK_AUTHORIZATION setting. If you are using webhooks\n   and still have this Anymail setting, you must rename it to WEBHOOK_SECRET. See the\n   `v1.4`_ release notes.\n*  Handle *Reply-To,* *From,* and *To* in EmailMessage `extra_headers` the same as\n   Django&#39;s SMTP EmailBackend if supported by your ESP, otherwise raise an unsupported\n   feature error. Fixes the SparkPost backend to be consistent with other backends if\n   both `headers[&quot;Reply-To&quot;]` and `reply_to` are set on the same message. If you are\n   setting a message&#39;s `headers[&quot;From&quot;]` or `headers[&quot;To&quot;]` (neither is common), the\n   new behavior is likely a breaking change. See\n   `docs &lt;https://anymail.readthedocs.io/en/stable/sending/django_email/additional-headers&gt;`__\n   and `91`_.\n*  Treat EmailMessage `extra_headers` keys as case-\\ *insensitive* in all backends, for\n   consistency with each other (and email specs). If you are specifying duplicate\n   headers whose names differ only in case, this may be a breaking change. See\n   `docs &lt;https://anymail.readthedocs.io/en/stable/sending/django_email/additional-headers&gt;`__.\n\nFeatures\n~~~~~~~~\n\n*  **SendinBlue:** Add support for this ESP\n   (`docs &lt;https://anymail.readthedocs.io/en/stable/esps/sendinblue/&gt;`__).\n   Thanks to `RignonNoel`_ for the implementation.\n*  Add EmailMessage `envelope_sender` attribute, which can adjust the message&#39;s\n   *Return-Path* if supported by your ESP\n   (`docs &lt;https://anymail.readthedocs.io/en/stable/sending/anymail_additions/anymail.message.AnymailMessage.envelope_sender&gt;`__).\n*  Add universal wheel to PyPI releases for faster installation.\n\nOther\n~~~~~\n\n*  Update setup.py metadata, clean up implementation. (Hadn&#39;t really been touched\n   since original Djrill version.)\n*  Prep for Python 3.7.\n   ```\n   \n  \n  \n   ### 1.4\n   ```\n   ----\n\n*2018-02-08*\n\nSecurity\n~~~~~~~~\n\n*  Fix a low severity security issue affecting Anymail v0.2–v1.3: rename setting\n   WEBHOOK_AUTHORIZATION to WEBHOOK_SECRET to prevent inclusion in Django error\n   reporting.\n   (`CVE-2018-1000089 &lt;https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000089&gt;`__)\n\n*More information*\n\nDjango error reporting includes the value of your Anymail WEBHOOK_AUTHORIZATION\nsetting. In a properly-configured deployment, this should not be cause for concern.\nBut if you have somehow exposed your Django error reports (e.g., by mis-deploying\nwith DEBUG=True or by sending error reports through insecure channels), anyone who\ngains access to those reports could discover your webhook shared secret. An\nattacker could use this to post fabricated or malicious Anymail tracking/inbound events\nto your app, if you are using those Anymail features.\n\nThe fix renames Anymail&#39;s webhook shared secret setting so that Django&#39;s error\nreporting mechanism will\n`sanitize &lt;https://docs.djangoproject.com/en/stable/ref/settings/debug&gt;`__ it.\n\nIf you are using Anymail&#39;s event tracking and/or inbound webhooks, you should upgrade\nto this release and change &quot;WEBHOOK_AUTHORIZATION&quot; to &quot;WEBHOOK_SECRET&quot; in the ANYMAIL\nsection of your settings.py. You may also want to\n`rotate the shared secret &lt;https://anymail.readthedocs.io/en/stable/tips/securing_webhooks/use-a-shared-authorization-secret&gt;`__\nvalue, particularly if you have ever exposed your Django error reports to untrusted\nindividuals.\n\nIf you are only using Anymail&#39;s EmailBackends for sending email and have not set up\nAnymail&#39;s webhooks, this issue does not affect you.\n\nThe old WEBHOOK_AUTHORIZATION setting is still allowed in this release, but will issue\na system-check warning when running most Django management commands. It will be removed\ncompletely in a near-future release, as a breaking change.\n\nThanks to Charlie DeTar (`yourcelf`_) for responsibly reporting this security issue\nthrough private channels.\n   ```\n   \n  \n  \n   ### 1.3\n   ```\n   `v1.2.1`_ release notes, below, if you are using Anymail&#39;s tracking webhooks.\n\nFeatures\n~~~~~~~~\n\n*  **Inbound handling:** Add normalized inbound message event, signal, and webhooks\n   for all supported ESPs. (See new\n   `Receiving mail &lt;https://anymail.readthedocs.io/en/stable/inbound/&gt;`__ docs.)\n   This hasn&#39;t been through much real-world testing yet; bug reports and feedback\n   are very welcome.\n*  **API network timeouts:** For Requests-based backends (all but SparkPost), use a\n   default timeout of 30 seconds for all ESP API calls, to avoid stalling forever on\n   a bad connection. Add a REQUESTS_TIMEOUT Anymail setting to override. (See `80`_.)\n*  **Test backend improvements:** Generate unique tracking `message_id` when using the\n   `test backend &lt;https://anymail.readthedocs.io/en/stable/tips/test_backend/&gt;`__;\n   add console backend for use in development. (See `85`_.)\n\n\n.. _release_1_2_1:\n   ```\n   \n  \n  \n   ### 1.2.1\n   ```\n   ------\n\n*2018-02-02*\n\nSecurity\n~~~~~~~~\n\n*  Fix a **moderate severity** security issue affecting Anymail v0.2–v1.2:\n   prevent timing attack on WEBHOOK_AUTHORIZATION secret.\n   (`CVE-2018-6596 &lt;https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-6596&gt;`__)\n\n*More information*\n\nIf you are using Anymail&#39;s tracking webhooks, you should upgrade to this release,\nand you may want to rotate to a new WEBHOOK_AUTHORIZATION shared secret (see\n`docs &lt;https://anymail.readthedocs.io/en/stable/tips/securing_webhooks/use-a-shared-authorization-secret&gt;`__).\nYou should definitely change your webhook auth if your logs indicate attempted exploit.\n\n(If you are only sending email using an Anymail EmailBackend, and have not set up\nAnymail&#39;s event tracking webhooks, this issue does not affect you.)\n\nAnymail&#39;s webhook validation was vulnerable to a timing attack. A remote attacker\ncould use this to obtain your WEBHOOK_AUTHORIZATION shared secret, potentially allowing\nthem to post fabricated or malicious email tracking events to your app.\n\nThere have not been any reports of attempted exploit. (The vulnerability was discovered\nthrough code review.) Attempts would be visible in HTTP logs as a very large number of\n400 responses on Anymail&#39;s webhook urls (by default &quot;/anymail/*esp_name*/tracking/&quot;),\nand in Python error monitoring as a very large number of\nAnymailWebhookValidationFailure exceptions.\n   ```\n   \n  \n  \n   ### 1.2\n   ```\n   ----\n\n*2017-11-02*\n\nFeatures\n~~~~~~~~\n\n*  **Postmark:** Support new click webhook in normalized tracking events\n   ```\n   \n  \n  \n   ### 1.1\n   ```\n   ----\n\n*2017-10-28*\n\nFixes\n~~~~~\n\n*  **Mailgun:** Support metadata in opened/clicked/unsubscribed tracking webhooks,\n   and fix potential problems if metadata keys collided with Mailgun event parameter\n   names. (See `76`_, `77`_)\n\nOther\n~~~~~\n\n*  Rework Anymail&#39;s ParsedEmail class and rename to EmailAddress to align it with\n   similar functionality in the Python 3.6 email package, in preparation for future\n   inbound support. ParsedEmail was not documented for use outside Anymail&#39;s internals\n   (so this change does not bump the semver major version), but if you were using\n   it in an undocumented way you will need to update your code.\n   ```\n   \n  \n  \n   ### 1.0\n   ```\n   ----\n\n*2017-09-18*\n\nIt&#39;s official: Anymail is no longer &quot;pre-1.0.&quot; The API has been stable\nfor many months, and there&#39;s no reason not to use Anymail in production.\n\nBreaking changes\n~~~~~~~~~~~~~~~~\n\n*  There are no *new* breaking changes in the 1.0 release, but a breaking change\n   introduced several months ago in v0.8 is now strictly enforced. If you still have\n   an EMAIL_BACKEND setting that looks like\n   &quot;anymail.backends.*espname*.\\ *EspName*\\ Backend&quot;, you&#39;ll need to change it to just\n   &quot;anymail.backends.*espname*.EmailBackend&quot;. (Earlier versions had issued a\n   DeprecationWarning. See the `v0.8`_ release notes.)\n\nFeatures\n~~~~~~~~\n\n*  Clean up and document Anymail&#39;s\n   `Test EmailBackend &lt;https://anymail.readthedocs.io/en/stable/tips/test_backend/&gt;`__\n*  Add notes on\n   `handling transient ESP errors &lt;https://anymail.readthedocs.io/en/stable/tips/transient_errors/&gt;`__\n   and improving\n   `batch send performance &lt;https://anymail.readthedocs.io/en/stable/tips/performance/&gt;`__\n*  **SendGrid:** handle Python 2 `long` integers in metadata and extra headers\n   ```\n   \n  \n  \n   ### 1.0.rc0\n   ```\n   --------\n\n*2017-09-09*\n\nBreaking changes\n~~~~~~~~~~~~~~~~\n\n*  **All backends:** The old *EspName*\\ Backend names that were deprecated in v0.8 have\n   been removed. Attempting to use the old names will now fail, rather than issue a\n   DeprecationWarning. See the `v0.8`_ release notes.\n\nFeatures\n~~~~~~~~\n\n*  Anymail&#39;s Test EmailBackend is now\n   `documented &lt;https://anymail.readthedocs.io/en/latest/tips/test_backend/&gt;`__\n   (and cleaned up)\n   ```\n   \n  \n  \n   ### 0.11.1\n   ```\n   -------\n\n*2017-07-24*\n\nFixes\n~~~~~\n\n*  **Mailjet:** Correct settings docs.\n   ```\n   \n  \n  \n   ### 0.11\n   ```\n   -----\n\n*2017-07-13*\n\nFeatures\n~~~~~~~~\n\n*  **Mailjet:** Add support for this ESP. Thanks to `Lekensteyn`_ and `calvin`_.\n   (`Docs &lt;https://anymail.readthedocs.io/en/stable/esps/mailjet/&gt;`__)\n*  In webhook handlers, AnymailTrackingEvent.metadata now defaults to `{}`, and\n   .tags defaults to `[]`, if the ESP does not supply these fields with the event.\n   (See `67`_.)\n   ```\n   \n  \n  \n   ### 0.10\n   ```\n   -----\n\n*2017-05-22*\n\nFeatures\n~~~~~~~~\n\n*  **Mailgun, SparkPost:** Support multiple from addresses, as a comma-separated\n   `from_email` string. (*Not* a list of strings, like the recipient fields.)\n   RFC-5322 allows multiple from email addresses, and these two ESPs support it.\n   Though as a practical matter, multiple from emails are either ignored or treated\n   as a spam signal by receiving mail handlers. (See `60`_.)\n\nFixes\n~~~~~\n\n*  Fix crash sending forwarded email messages as attachments. (See `59`_.)\n*  **Mailgun:** Fix webhook crash on bounces from some receiving mail handlers.\n   (See `62`_.)\n*  Improve recipient-parsing error messages and consistency with Django&#39;s SMTP\n   backend. In particular, Django (and now Anymail) allows multiple, comma-separated\n   email addresses in a single recipient string.\n   ```\n   \n  \n  \n   ### 0.9\n   ```\n   ----\n\n*2017-04-04*\n\nBreaking changes\n~~~~~~~~~~~~~~~~\n\n*  **Mandrill, Postmark:** Normalize soft-bounce webhook events to event_type\n   &#39;bounced&#39; (rather than &#39;deferred&#39;).\n\nFeatures\n~~~~~~~~\n\n*  Officially support released Django 1.11, including under Python 3.6.\n\n\n.. _release_0_8:\n   ```\n   \n  \n</details>\n\n\n \n\n<details>\n  <summary>Links</summary>\n  \n  - PyPI: https://pypi.org/project/django-anymail\n  - Changelog: https://pyup.io/changelogs/django-anymail/\n  - Repo: https://github.com/anymail/django-anymail\n</details>\n\n","created_at":"2018-10-12T01:16:49Z","updated_at":"2018-11-07T18:30:44Z","closed_at":"2018-11-07T18:30:44Z","merged_at":null,"merge_commit_sha":"d5124cc38006a237158310c42a2699ff540c2051","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/koztay/cnslt/pulls/195/commits","review_comments_url":"https://api.github.com/repos/koztay/cnslt/pulls/195/comments","review_comment_url":"https://api.github.com/repos/koztay/cnslt/pulls/comments{/number}","comments_url":"https://api.github.com/repos/koztay/cnslt/issues/195/comments","statuses_url":"https://api.github.com/repos/koztay/cnslt/statuses/e69a741f68724a790fd93c6d8a83aae81d8cc395","head":{"label":"koztay:pyup-update-django-anymail-0.8-to-4.3","ref":"pyup-update-django-anymail-0.8-to-4.3","sha":"e69a741f68724a790fd93c6d8a83aae81d8cc395","user":{"login":"koztay","id":5657245,"node_id":"MDQ6VXNlcjU2NTcyNDU=","avatar_url":"https://avatars3.githubusercontent.com/u/5657245?v=4","gravatar_id":"","url":"https://api.github.com/users/koztay","html_url":"https://github.com/koztay","followers_url":"https://api.github.com/users/koztay/followers","following_url":"https://api.github.com/users/koztay/following{/other_user}","gists_url":"https://api.github.com/users/koztay/gists{/gist_id}","starred_url":"https://api.github.com/users/koztay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/koztay/subscriptions","organizations_url":"https://api.github.com/users/koztay/orgs","repos_url":"https://api.github.com/users/koztay/repos","events_url":"https://api.github.com/users/koztay/events{/privacy}","received_events_url":"https://api.github.com/users/koztay/received_events","type":"User","site_admin":false},"repo":{"id":86599816,"node_id":"MDEwOlJlcG9zaXRvcnk4NjU5OTgxNg==","name":"cnslt","full_name":"koztay/cnslt","private":false,"owner":{"login":"koztay","id":5657245,"node_id":"MDQ6VXNlcjU2NTcyNDU=","avatar_url":"https://avatars3.githubusercontent.com/u/5657245?v=4","gravatar_id":"","url":"https://api.github.com/users/koztay","html_url":"https://github.com/koztay","followers_url":"https://api.github.com/users/koztay/followers","following_url":"https://api.github.com/users/koztay/following{/other_user}","gists_url":"https://api.github.com/users/koztay/gists{/gist_id}","starred_url":"https://api.github.com/users/koztay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/koztay/subscriptions","organizations_url":"https://api.github.com/users/koztay/orgs","repos_url":"https://api.github.com/users/koztay/repos","events_url":"https://api.github.com/users/koztay/events{/privacy}","received_events_url":"https://api.github.com/users/koztay/received_events","type":"User","site_admin":false},"html_url":"https://github.com/koztay/cnslt","description":null,"fork":false,"url":"https://api.github.com/repos/koztay/cnslt","forks_url":"https://api.github.com/repos/koztay/cnslt/forks","keys_url":"https://api.github.com/repos/koztay/cnslt/keys{/key_id}","collaborators_url":"https://api.github.com/repos/koztay/cnslt/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/koztay/cnslt/teams","hooks_url":"https://api.github.com/repos/koztay/cnslt/hooks","issue_events_url":"https://api.github.com/repos/koztay/cnslt/issues/events{/number}","events_url":"https://api.github.com/repos/koztay/cnslt/events","assignees_url":"https://api.github.com/repos/koztay/cnslt/assignees{/user}","branches_url":"https://api.github.com/repos/koztay/cnslt/branches{/branch}","tags_url":"https://api.github.com/repos/koztay/cnslt/tags","blobs_url":"https://api.github.com/repos/koztay/cnslt/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/koztay/cnslt/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/koztay/cnslt/git/refs{/sha}","trees_url":"https://api.github.com/repos/koztay/cnslt/git/trees{/sha}","statuses_url":"https://api.github.com/repos/koztay/cnslt/statuses/{sha}","languages_url":"https://api.github.com/repos/koztay/cnslt/languages","stargazers_url":"https://api.github.com/repos/koztay/cnslt/stargazers","contributors_url":"https://api.github.com/repos/koztay/cnslt/contributors","subscribers_url":"https://api.github.com/repos/koztay/cnslt/subscribers","subscription_url":"https://api.github.com/repos/koztay/cnslt/subscription","commits_url":"https://api.github.com/repos/koztay/cnslt/commits{/sha}","git_commits_url":"https://api.github.com/repos/koztay/cnslt/git/commits{/sha}","comments_url":"https://api.github.com/repos/koztay/cnslt/comments{/number}","issue_comment_url":"https://api.github.com/repos/koztay/cnslt/issues/comments{/number}","contents_url":"https://api.github.com/repos/koztay/cnslt/contents/{+path}","compare_url":"https://api.github.com/repos/koztay/cnslt/compare/{base}...{head}","merges_url":"https://api.github.com/repos/koztay/cnslt/merges","archive_url":"https://api.github.com/repos/koztay/cnslt/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/koztay/cnslt/downloads","issues_url":"https://api.github.com/repos/koztay/cnslt/issues{/number}","pulls_url":"https://api.github.com/repos/koztay/cnslt/pulls{/number}","milestones_url":"https://api.github.com/repos/koztay/cnslt/milestones{/number}","notifications_url":"https://api.github.com/repos/koztay/cnslt/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/koztay/cnslt/labels{/name}","releases_url":"https://api.github.com/repos/koztay/cnslt/releases{/id}","deployments_url":"https://api.github.com/repos/koztay/cnslt/deployments","created_at":"2017-03-29T15:36:26Z","updated_at":"2017-03-29T15:39:42Z","pushed_at":"2018-11-07T18:30:39Z","git_url":"git://github.com/koztay/cnslt.git","ssh_url":"git@github.com:koztay/cnslt.git","clone_url":"https://github.com/koztay/cnslt.git","svn_url":"https://github.com/koztay/cnslt","homepage":null,"size":37865,"stargazers_count":0,"watchers_count":0,"language":"CSS","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":39,"license":null,"forks":0,"open_issues":39,"watchers":0,"default_branch":"master"}},"base":{"label":"koztay:master","ref":"master","sha":"b8f7f4660a112ef3ad244c8ace8409e6c04374a4","user":{"login":"koztay","id":5657245,"node_id":"MDQ6VXNlcjU2NTcyNDU=","avatar_url":"https://avatars3.githubusercontent.com/u/5657245?v=4","gravatar_id":"","url":"https://api.github.com/users/koztay","html_url":"https://github.com/koztay","followers_url":"https://api.github.com/users/koztay/followers","following_url":"https://api.github.com/users/koztay/following{/other_user}","gists_url":"https://api.github.com/users/koztay/gists{/gist_id}","starred_url":"https://api.github.com/users/koztay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/koztay/subscriptions","organizations_url":"https://api.github.com/users/koztay/orgs","repos_url":"https://api.github.com/users/koztay/repos","events_url":"https://api.github.com/users/koztay/events{/privacy}","received_events_url":"https://api.github.com/users/koztay/received_events","type":"User","site_admin":false},"repo":{"id":86599816,"node_id":"MDEwOlJlcG9zaXRvcnk4NjU5OTgxNg==","name":"cnslt","full_name":"koztay/cnslt","private":false,"owner":{"login":"koztay","id":5657245,"node_id":"MDQ6VXNlcjU2NTcyNDU=","avatar_url":"https://avatars3.githubusercontent.com/u/5657245?v=4","gravatar_id":"","url":"https://api.github.com/users/koztay","html_url":"https://github.com/koztay","followers_url":"https://api.github.com/users/koztay/followers","following_url":"https://api.github.com/users/koztay/following{/other_user}","gists_url":"https://api.github.com/users/koztay/gists{/gist_id}","starred_url":"https://api.github.com/users/koztay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/koztay/subscriptions","organizations_url":"https://api.github.com/users/koztay/orgs","repos_url":"https://api.github.com/users/koztay/repos","events_url":"https://api.github.com/users/koztay/events{/privacy}","received_events_url":"https://api.github.com/users/koztay/received_events","type":"User","site_admin":false},"html_url":"https://github.com/koztay/cnslt","description":null,"fork":false,"url":"https://api.github.com/repos/koztay/cnslt","forks_url":"https://api.github.com/repos/koztay/cnslt/forks","keys_url":"https://api.github.com/repos/koztay/cnslt/keys{/key_id}","collaborators_url":"https://api.github.com/repos/koztay/cnslt/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/koztay/cnslt/teams","hooks_url":"https://api.github.com/repos/koztay/cnslt/hooks","issue_events_url":"https://api.github.com/repos/koztay/cnslt/issues/events{/number}","events_url":"https://api.github.com/repos/koztay/cnslt/events","assignees_url":"https://api.github.com/repos/koztay/cnslt/assignees{/user}","branches_url":"https://api.github.com/repos/koztay/cnslt/branches{/branch}","tags_url":"https://api.github.com/repos/koztay/cnslt/tags","blobs_url":"https://api.github.com/repos/koztay/cnslt/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/koztay/cnslt/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/koztay/cnslt/git/refs{/sha}","trees_url":"https://api.github.com/repos/koztay/cnslt/git/trees{/sha}","statuses_url":"https://api.github.com/repos/koztay/cnslt/statuses/{sha}","languages_url":"https://api.github.com/repos/koztay/cnslt/languages","stargazers_url":"https://api.github.com/repos/koztay/cnslt/stargazers","contributors_url":"https://api.github.com/repos/koztay/cnslt/contributors","subscribers_url":"https://api.github.com/repos/koztay/cnslt/subscribers","subscription_url":"https://api.github.com/repos/koztay/cnslt/subscription","commits_url":"https://api.github.com/repos/koztay/cnslt/commits{/sha}","git_commits_url":"https://api.github.com/repos/koztay/cnslt/git/commits{/sha}","comments_url":"https://api.github.com/repos/koztay/cnslt/comments{/number}","issue_comment_url":"https://api.github.com/repos/koztay/cnslt/issues/comments{/number}","contents_url":"https://api.github.com/repos/koztay/cnslt/contents/{+path}","compare_url":"https://api.github.com/repos/koztay/cnslt/compare/{base}...{head}","merges_url":"https://api.github.com/repos/koztay/cnslt/merges","archive_url":"https://api.github.com/repos/koztay/cnslt/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/koztay/cnslt/downloads","issues_url":"https://api.github.com/repos/koztay/cnslt/issues{/number}","pulls_url":"https://api.github.com/repos/koztay/cnslt/pulls{/number}","milestones_url":"https://api.github.com/repos/koztay/cnslt/milestones{/number}","notifications_url":"https://api.github.com/repos/koztay/cnslt/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/koztay/cnslt/labels{/name}","releases_url":"https://api.github.com/repos/koztay/cnslt/releases{/id}","deployments_url":"https://api.github.com/repos/koztay/cnslt/deployments","created_at":"2017-03-29T15:36:26Z","updated_at":"2017-03-29T15:39:42Z","pushed_at":"2018-11-07T18:30:39Z","git_url":"git://github.com/koztay/cnslt.git","ssh_url":"git@github.com:koztay/cnslt.git","clone_url":"https://github.com/koztay/cnslt.git","svn_url":"https://github.com/koztay/cnslt","homepage":null,"size":37865,"stargazers_count":0,"watchers_count":0,"language":"CSS","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":39,"license":null,"forks":0,"open_issues":39,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/koztay/cnslt/pulls/195"},"html":{"href":"https://github.com/koztay/cnslt/pull/195"},"issue":{"href":"https://api.github.com/repos/koztay/cnslt/issues/195"},"comments":{"href":"https://api.github.com/repos/koztay/cnslt/issues/195/comments"},"review_comments":{"href":"https://api.github.com/repos/koztay/cnslt/pulls/195/comments"},"review_comment":{"href":"https://api.github.com/repos/koztay/cnslt/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/koztay/cnslt/pulls/195/commits"},"statuses":{"href":"https://api.github.com/repos/koztay/cnslt/statuses/e69a741f68724a790fd93c6d8a83aae81d8cc395"}},"author_association":"NONE","merged":false,"mergeable":true,"rebaseable":true,"mergeable_state":"unstable","merged_by":null,"comments":1,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":1,"deletions":1,"changed_files":1}}
{"actor":{"display_login":"pyup-bot"}}