Skip to content

Bump bleach from 3.1.2 to 3.1.4 - #13

Closed
dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/pip/bleach-3.1.4
Closed

Bump bleach from 3.1.2 to 3.1.4#13
dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/pip/bleach-3.1.4

Conversation

@dependabot

@dependabotdependabotBot commented on behalf of githubMar 31, 2020

Copy link
Copy Markdown
Contributor

Bumps bleach from 3.1.2 to 3.1.4.

Changelog

Sourced from bleach's changelog.

Version 3.1.4 (March 24th, 2020)

Security fixes

  • bleach.clean behavior parsing style attributes could result in a regular expression denial of service (ReDoS).

    Calls to bleach.clean with an allowed tag with an allowed style attribute were vulnerable to ReDoS. For example, bleach.clean(..., attributes={'a': ['style']}).

    This issue was confirmed in Bleach versions v3.1.3, v3.1.2, v3.1.1, v3.1.0, v3.0.0, v2.1.4, and v2.1.3. Earlier versions used a similar regular expression and should be considered vulnerable too.

    Anyone using Bleach <=v3.1.3 is encouraged to upgrade.

    https://bugzilla.mozilla.org/show_bug.cgi?id=1623633

Backwards incompatible changes

  • Style attributes with dashes, or single or double quoted values are cleaned instead of passed through.

Features

None

Bug fixes

None

Version 3.1.3 (March 17th, 2020)

Security fixes

None

Backwards incompatible changes

None

Features

  • Add relative link to code of conduct. (#442)

  • Drop deprecated 'setup.py test' support. (#507)

... (truncated)
Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the Security Alerts page.

Bumps [bleach](https://github.com/mozilla/bleach) from 3.1.2 to 3.1.4.
- [Release notes](https://github.com/mozilla/bleach/releases)
- [Changelog](https://github.com/mozilla/bleach/blob/master/CHANGES)
- [Commits](mozilla/bleach@v3.1.2...v3.1.4)
Signed-off-by: dependabot[bot] <support@github.com>
@dependabotdependabotBot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Mar 31, 2020
@coveralls

Copy link
Copy Markdown

Coverage Status

Coverage decreased (-0.03%) to 83.214% when pulling 72ce12b on dependabot/pip/bleach-3.1.4 into 9dede7a on dev.

@dependabot@github

dependabotBot commented on behalf of githubApr 13, 2020

Copy link
Copy Markdown
ContributorAuthor

Looks like bleach is up-to-date now, so this is no longer needed.

@dependabotdependabotBot closed this Apr 13, 2020
@dependabot
dependabotBot deleted the dependabot/pip/bleach-3.1.4 branch April 13, 2020 23:59
mpasternak added a commit that referenced this pull request Jun 20, 2026
)
Eksport publikacji autora budowany dotychczas synchronicznie w requeście
(N+1 przy materializacji [r.original ...]) przeniesiony do zadania Celery
ze stroną postępu (HTMX) i pobraniem-gdy-gotowe.
- Model AutorEksportTask (UUID pk, public) w src/bpp/models/eksport_autora.py
- @shared_task generuj_eksport_autora + cleanup usun_stare_eksporty_autora
w src/bpp/tasks.py; parytet bajt-w-bajt z widokiem synchronicznym
- Widoki Start/Status/Download (publiczne, anonimowe; autoryzacja przez
UUID + status), URL-e bpp:autor_eksport_{start,status,pobierz}
- Szablony task_status.html + _progress.html (HTMX poll co 2s, Foundation,
auto-download); przyciski na stronie autora przepięte na flow async
- Stare synchroniczne URL-e/widoki zachowane (back-compat)
- Beat-schedule cleanup co 24h; migracja 0447
Mitigacja nadużyć anonimowych: dedupe (reuse zadania autor+format w oknie
5 min) + twardy limit MAKS_EKSPORT=5000.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
mpasternak added a commit that referenced this pull request Aug 6, 2026
Spec powstal przed portem bpp_refresh_cache PL/Python -> PL/pgSQL. Weryfikacja
na aktualnym dev obalila dwa nosne zalozenia warstwy cache i ujawnila 5 luk.
Cache (§2.1 przepisana od zera, decyzja #9 uniewazniona):
- funkcja bpp_refresh_cache() NIE ISTNIEJE (DROP w 0432); zastapilo ja 16
funkcji per-tabela + bramka WHEN na UPDATE (0433),
- inwariant "bezwarunkowy DELETE przed upsertem", na ktorym wisiala
wystarczalnosc filtra widoku, NIE ISTNIEJE -- funkcja refresh to czysty
upsert, wiec odfiltrowanie wiersza ze zrodla jest no-opem,
- UPDATE ustawiajacy deleted_at nie przechodzi przez bramke WHEN, bo
django-soft-delete zapisuje przez save(update_fields=[...]).
Zamiast jednego mechanizmu potrzebne sa TRZY, wszystkie obowiazkowe: filtr
w widoku + galaz kasujaca w funkcji refresh + regeneracja bramki WHEN.
Domkniete decyzje (#12-#16):
- #12 full_refresh() to denorm.rebuildall, NIE re-projekcja _mat -- nie nadaje
sie do weryfikacji spojnosci (test przechodzilby z falszywych powodow),
- #13 unique_together na *_Autor -> warunkowy UniqueConstraint (jak slug),
- #14 import trafiajacy w kosz: POMIN + ZARAPORTUJ (nie update, nie restore),
- #15 Cache_Punktacja_* kasowane przy soft-delete, przeliczane przy restore --
luka nieobjeta kaskada *_Autor (brak FK do publikacji),
- #16 PBN: jeden prymityw, dwa wejscia (kolejka + synchroniczne), bo rekord
bywa wysylany bez kolejki.
Plany: BLOKER fazy 01 zdjety; nowy Task 3 (widoki+funkcje+bramka) zamiast
kopii 0399; nowy Task 2b w fazie 02 (ten sam DDL dla 5 tabel publikacji --
faza 01 dotyka wylacznie sciezki autorstwa); Task 1b w 03, 05.0/05.9 w 05,
6b w 06; przenumerowane migracje (0488+, liste 0487); 90 -> 128 miejsc
*_Autor.objects; korekta strict (delete=False, restore=True).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FbCGt7UfRrzUZVdCuU5Xy4
mpasternak added a commit that referenced this pull request Aug 7, 2026
Blad kolejnosci w planie, wykryty przy wykonaniu Taska 3 fazy 01.
Decyzja #13 (unique_together -> warunkowy UniqueConstraint z condition
deleted_at IS NULL) byla zaplanowana w fazie 02, razem ze slugiem. Ale *_Autor
staje sie soft-delete juz w fazie 01 (Task 2), wiec unique_together blokuje
re-insert od TAMTEJ fazy, nie od nastepnej.
Regresja zweryfikowana na realnym kodzie:
import_sqlite/tests/test_patent_apply.py::test_apply_idempotent_update
-> UniqueViolation na bpp_patent_autor_rekord_id_autor_id_kolejnosc_uniq
Zrodlo: import_sqlite/handlers/patent.py:192 robi autorzy_set.all().delete()
i wstawia od nowa; po Tasku 2 delete() jest miekki, wiec stary wiersz fizycznie
istnieje i constraint go widzi.
Wzorzec jest ogolny, nie dotyczy jednego importera -- kazdy przeplyw "skasuj
autorstwa i wstaw od nowa" (re-import, admin inline, korekta kolejnosci) uderzy
w to samo, a skasowany wiersz jest przy tym niewidoczny dla operatora.
Nowy Task 3c w fazie 01 zawiera test odtwarzajacy regresje oraz obowiazkowa
weryfikacje adminu: validate_unique() honoruje unique_together, ale POMIJA
UniqueConstraint z condition, wiec inline autorstwa moze zaczac zwracac
IntegrityError zamiast czytelnego bledu formularza.
W fazie 02 odpowiedni task oznaczony jako przeniesiony (tresc zwinieta jako
kontekst historyczny).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FbCGt7UfRrzUZVdCuU5Xy4
mpasternak added a commit that referenced this pull request Aug 9, 2026
…kupu (#9, #13)
#9 -- rejestr osiagalny wylacznie przez `manage.py shell` nie spelnial swojej
roli. To jego DOSTEPNOSC dla operatora byla calym uzasadnieniem zmiany decyzji
#14 planu ("nie robmy tego" -> "robmy, ale zostaw slad"). Slad, do ktorego nie
da sie zajrzec, sladem nie jest.
- `RekordPrzywroconyPrzezImportAdmin`, TYLKO DO ODCZYTU: trzy `has_*_permission`
zwracaja False, bo rejestr, w ktorym operator moze dopisac albo skasowac
wpis, przestaje byc dowodem. Samo `readonly_fields` by nie wystarczylo --
chowa pola, ale wciaz pozwala dodac i skasowac wiersz.
- Indeks `pbnint_przywr_ct_objid_idx` na `(content_type, object_id)`
(migracja `pbn_integrator/0002`). Istniejacy `(przywrocono DESC,
content_type)` obsluguje "co wrocilo ostatnio", ale NIE "czy TEN rekord
wrocil?" -- a to jedyne pytanie zadawane wprost o konkretna publikacje.
#13 -- `Oswiadczenie_Instytucji.get_bpp_publication` (INNY model niz
`Publication.get_bpp_publication`, ta sama nazwa metody) nie byl przy audycie
rozstrzygniety w ogole. Rozstrzygniecie: ZOSTAJE na `objects`, bo to akcesor,
a zagladanie do kosza jest decyzja importera. Nie jest to martwy przepis --
lancuch wolaczy realizuje wariant A w calosci: akcesor zwraca None ->
`statements.py:404` wola `importuj_publikacje_instytucji` ->
`znajdz_lub_wskrzes_rekord` wskrzesza i wpisuje do rejestru. Wolacz przyjmuje
oba ksztalty wyniku (`Rekord` przez `.original`, model konkretny wprost).
Gdyby akcesor sam zagladal do kosza, importer nigdy by sie nie odpalil.
Testy: 5 nowych (4 rejestr, 1 rejestr decyzji). Test rejestru decyzji przechodzi
od razu -- to przypiecie istniejacego zachowania -- wiec zweryfikowany
mutacyjnie (`objects` -> `global_objects`).
Zlapana wlasna slaba asercja: `"articles" in tresc` na changeliscie bylo
falszywie zielone, bo ten lancuch pojawia sie tez w bocznym `list_filter`.
Przechodzilo nawet po wyrzuceniu kolumny z `list_display`. Asercje ida teraz
po `class="field-<nazwa>"`, czyli po komorkach tabeli.
Refs #742
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G4vnLWzPinqUrj5GTjPRnh
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependenciesPull requests that update a dependency filepythonPull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@coveralls