From 68115335e1fc219ed8bfd9135565923b0a70aa96 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 15:18:33 +0000 Subject: [PATCH 1/3] Initial plan From f38320a8bdba981c7856277e87a107bea856a76a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 15:22:22 +0000 Subject: [PATCH 2/3] Add tests and fix for preserving New Contributors section with grouping Co-authored-by: barredterra <14891507+barredterra@users.noreply.github.com> --- .coverage | Bin 0 -> 53248 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 773 bytes .../__pycache__/api.cpython-312.pyc | Bin 0 -> 8263 bytes .../__pycache__/database.cpython-312.pyc | Bin 0 -> 9233 bytes .../__pycache__/generator.cpython-312.pyc | Bin 0 -> 13609 bytes .../__pycache__/github_client.cpython-312.pyc | Bin 0 -> 10116 bytes .../__pycache__/openai_client.cpython-312.pyc | Bin 0 -> 1590 bytes .../core/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 252 bytes .../core/__pycache__/config.cpython-312.pyc | Bin 0 -> 4931 bytes .../__pycache__/execution.cpython-312.pyc | Bin 0 -> 4000 bytes .../__pycache__/interfaces.cpython-312.pyc | Bin 0 -> 2171 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 534 bytes .../models/__pycache__/_utils.cpython-312.pyc | Bin 0 -> 1010 bytes .../models/__pycache__/change.cpython-312.pyc | Bin 0 -> 1948 bytes .../models/__pycache__/commit.cpython-312.pyc | Bin 0 -> 3561 bytes .../models/__pycache__/issue.cpython-312.pyc | Bin 0 -> 1011 bytes .../__pycache__/pull_request.cpython-312.pyc | Bin 0 -> 10393 bytes .../__pycache__/release_notes.cpython-312.pyc | Bin 0 -> 10617 bytes .../release_notes_line.cpython-312.pyc | Bin 0 -> 1844 bytes .../__pycache__/repository.cpython-312.pyc | Bin 0 -> 1018 bytes pretty_release_notes/models/release_notes.py | 13 +++ tests/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 174 bytes ...release_notes.cpython-312-pytest-9.0.2.pyc | Bin 0 -> 24800 bytes tests/test_release_notes.py | 105 ++++++++++++++++++ 24 files changed, 118 insertions(+) create mode 100644 .coverage create mode 100644 pretty_release_notes/__pycache__/__init__.cpython-312.pyc create mode 100644 pretty_release_notes/__pycache__/api.cpython-312.pyc create mode 100644 pretty_release_notes/__pycache__/database.cpython-312.pyc create mode 100644 pretty_release_notes/__pycache__/generator.cpython-312.pyc create mode 100644 pretty_release_notes/__pycache__/github_client.cpython-312.pyc create mode 100644 pretty_release_notes/__pycache__/openai_client.cpython-312.pyc create mode 100644 pretty_release_notes/core/__pycache__/__init__.cpython-312.pyc create mode 100644 pretty_release_notes/core/__pycache__/config.cpython-312.pyc create mode 100644 pretty_release_notes/core/__pycache__/execution.cpython-312.pyc create mode 100644 pretty_release_notes/core/__pycache__/interfaces.cpython-312.pyc create mode 100644 pretty_release_notes/models/__pycache__/__init__.cpython-312.pyc create mode 100644 pretty_release_notes/models/__pycache__/_utils.cpython-312.pyc create mode 100644 pretty_release_notes/models/__pycache__/change.cpython-312.pyc create mode 100644 pretty_release_notes/models/__pycache__/commit.cpython-312.pyc create mode 100644 pretty_release_notes/models/__pycache__/issue.cpython-312.pyc create mode 100644 pretty_release_notes/models/__pycache__/pull_request.cpython-312.pyc create mode 100644 pretty_release_notes/models/__pycache__/release_notes.cpython-312.pyc create mode 100644 pretty_release_notes/models/__pycache__/release_notes_line.cpython-312.pyc create mode 100644 pretty_release_notes/models/__pycache__/repository.cpython-312.pyc create mode 100644 tests/__pycache__/__init__.cpython-312.pyc create mode 100644 tests/__pycache__/test_release_notes.cpython-312-pytest-9.0.2.pyc diff --git a/.coverage b/.coverage new file mode 100644 index 0000000000000000000000000000000000000000..0d409ac66f56c085e99541c779ba106c8b376905 GIT binary patch literal 53248 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 hfRflxskLClGt5Lm%kblF5oy2@){X?iM5S6G* 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 X^)oNcgJwf<8+0FvMHmMKedqrH5&Jm^ literal 0 HcmV?d00001 diff --git a/pretty_release_notes/__pycache__/generator.cpython-312.pyc b/pretty_release_notes/__pycache__/generator.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3bf07817c3a3650c15287d86025e3344757b6fd8 GIT binary patch literal 13609 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 literal 0 HcmV?d00001 diff --git a/pretty_release_notes/__pycache__/github_client.cpython-312.pyc b/pretty_release_notes/__pycache__/github_client.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4bda129917df690fdc4c79de6f1cec588a4f8961 GIT binary patch literal 10116 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 Q`c68=dwRYl2-&Xx2P7Hn3;+NC literal 0 HcmV?d00001 diff --git a/pretty_release_notes/__pycache__/openai_client.cpython-312.pyc b/pretty_release_notes/__pycache__/openai_client.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2f474cc42c30267befb416fe84f20f694b789dd9 GIT binary patch literal 1590 zcmb7E&2Jk;6rb7eUE4`qhXhM$nerjwiX@Hsh?-UvsR%TsG!;dFd|6iBakB1yShM3a zjvOhfxFB(WQ#inhOHlF$^iM$IVk?mxtw5>-mvC|#BqSdYGrL|@2`Aoa-n{o_X5a69 z%>0te8GzBB`NvL90^oP9q@)jp(@iGq02|oQ1s<$G$YsG5Jh38rQbqFQiVVRTu*Dx? zMG*iN*^q6?miLuCA^8ilNVd8M6K!8h?Y53p+h8NZMi#3z&CY!(?G0U5wAM&z^q6ZU z7%3|a>@O~t#7HKXl2&vfq(Q^9Y7`UGq7-`#8cja39BLBFw*$|_8;!unK6NbjrpkUY zkXIXY`t5-lPcw6=P#&nkThpH7I|CzLIwSj*A4Ed%<}pWqe1n4#B9ZN8%-T3s5`)AY zM-qn=snx)z%x@%nfsNfrwHl835VsfR97meiK&ac88v zlG)aZOsHqiTDevq`LAtDZp+&lnon13J+1#^NDHa8EvME8pk!?R@ByaCLe({kB7#F! zzYwDu2|Sckf5tHMk1Z#};ew&-OB+?(pibZ~pyk?d2U@(pjH;IFqMGHnA&UD0aXs!D zH0+d+9sksFn|O(kfSf;{)G0)~r&?%OPD5XfQKPTlEeT|j$&pGO4+l+F_-2R+>kEkl zE+#MVHL2#}jYzVZG+;fec{mKMRUDEDzL;g(*PSXhse=jOb=|z2L>S{w{A2qpfRaIY zg(8WkC(2XP(`ZHcRm|{kP$>{H%>ZQB2)|)$8~pVm$mGA9 z+*9ll)d z7Rz6)KT-O5FkU_d`nb6LQhx$mzS=|cT{Qm$cF{r)-Rh!SJ#?pw?sQ=ONE+`*Q@?5# zI)!%*wE2!O|A&_8WTy_aiye6Jlwkt*N_wOup(I7r*b8A*9oi!N1{0Yxo=5U3XRmX{ zqxuPu87{xU*g(6%9+akwZ;~=o`AZQxjP*qb;cuY$w;(~`1Tgk23&y{I9WZvH0730$ zU)hDb^M96-i&h7^V2A!g|z%4g@U5gl9I~!qSTz!#NyQWy!?{XVm&`i##`+1@hSPq@$oAeK7&mBm8hSQ zpPQ;*RGOEUTBKi|UzDwnO)m+8$v_9`$H!;pWtPOp>lIY~;;_lhPbtkwwJTx++6eMU TF~}1im>C%vZ!s7au>d&$_QXw& literal 0 HcmV?d00001 diff --git a/pretty_release_notes/core/__pycache__/config.cpython-312.pyc b/pretty_release_notes/core/__pycache__/config.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..111f993ad47b2497bf5d54ba082df84118985903 GIT binary patch literal 4931 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 literal 0 HcmV?d00001 diff --git a/pretty_release_notes/core/__pycache__/interfaces.cpython-312.pyc b/pretty_release_notes/core/__pycache__/interfaces.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..eefba60c18e3aeddc300be12e8057160c0880584 GIT binary patch literal 2171 zcmb7F&2Jk;6rYdv?%Iw+zew{5n-5V8s)JB^t6EBn;6j8zTr8p0#yd{7tar`K8e}U- zfu;ha9>OX46B^}D;gU)qg_SChIKj!SgOGaSy;<8$(gcY)ym|9x-n{pI^P8EUN~HpU z_SgAugIP|i7*&>pZLZm z@pF4D+hec4Rn^jSCd^ra?m2qSwVcu5dP%5`NCqNRo()Dmfe zx=VT>$+OzxTHFwevK2)_E`Alu&lj6gBuU$qA{3qyE^H#y|1j2KDHek$5wh;pgsL># z(uPP{U}QB9;y(G^D%_hmD3tC^AIx9b82^50i*J3hW&dzv=gy;|^E167FAltpfj=bG zYcTyBe8GJRpfaD=0oqMtNSK_4_}l>Ek3}<=)=xTWhZn{ot9vV;OxNK7RIavC*^nIVKhZ^10c?A8r59eD4Xe}*fU4;m!t!&z2`F1Iw%aCL{E6FfqZz9p5idYJ1yd_QB%DSoOoC=8hN!Dbnjf5i zI>vA$sAf3wXq&9lb>f1SwKkCsXk{uFuw!xxI;|f?AK#)N3KG}t%$=EBWv~VzQF#z> z5*Md87VcLvsPKeNApw$5=l209kRQ1V{mFKRdJ1P`$T=kB%uceuu=MEFYdzrO zOxI*=GJ60fk)klla7X9maxvxJN=;(H`hiJ{!;eoWi5Dj|;WrARRsCsX3F-XwmC$J% ze~F&i*RyZwhP(>ycmnD}5M53w{f*2&CbN&p7(8^W_z&Z7hX@FGlUT8f!^07ST3hOn ZKzBF_Vt?w*{=lY_`_5Z`6XbF5Qk?ke=oU!r;S)x2qI~W4Cmvt0}-YnflJ7|N0N>@KOVlK6Jny=lTwJhL2^#( zx@8FAdCU2f-L$OM{n3x;+VA=-FZ4(-WmQ?{O)0zBl{T)Hjt*aktHaY_ zVNBvkxpN~mwQ_RpHA8Atp__bOJrN%NOD`s>!gybX*!geSFSYwXo@mpyiO?1i@c$9zv`C$AvRmij^qY9 k^^dN%G2SggNDo^*Z1%9*!(I;uJ?wngUO2e(hm&Dj;VmcO^niXfRh|{7tns9mDF1SGgv_g#Bv2s(N zXWbizA6Q#Qb!2l6S4ZWOm?jXRt>bwKQIFBAI%@e;eRJ$P2xC)!>$J@Lp02-)C9ckq z3w5q6oW>xe@-5wRTC1vhTNXc77(n7xlgz~}b{VK66VO1hK{iYZ_J3^Z zrV5%Jmn*cS*@Kqjb`^liC!?3W=*d}TAm}+sv$l+Wb|B%*XQ90jM4`wt=ZUkrxO{%! z-?qlD-dTIRGR}_ng-d%v|BleVd2LsSFL!?J;MxIArC0}&xg?e^EJ-eaaZEk2Y z!`dN}MPk795pdgbrf#vciT4}2JPWb;`uB*OV;iJ{wWH7t=Dec82` txUWd~)*IV+^rrl}ye;0_?UlAscO%%z4R6>D#HP3QX69Y(m$z(6{s#K5|K0!q literal 0 HcmV?d00001 diff --git a/pretty_release_notes/models/__pycache__/change.cpython-312.pyc b/pretty_release_notes/models/__pycache__/change.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2b14c0e033a16268d3b2cf5b4b8046da043bf40c GIT binary patch literal 1948 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 literal 0 HcmV?d00001 diff --git a/pretty_release_notes/models/__pycache__/pull_request.cpython-312.pyc b/pretty_release_notes/models/__pycache__/pull_request.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6e5d313d57fc545de2fdfcdd079b939b494b0dd2 GIT binary patch literal 10393 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 literal 0 HcmV?d00001 diff --git a/pretty_release_notes/models/release_notes.py b/pretty_release_notes/models/release_notes.py index 8131ffd..6d3d41f 100644 --- a/pretty_release_notes/models/release_notes.py +++ b/pretty_release_notes/models/release_notes.py @@ -113,8 +113,14 @@ def is_reverted_or_revert(change): # Group lines by type grouped_lines: dict[str, list[ReleaseNotesLine]] = {} other_lines: list[ReleaseNotesLine] = [] + new_contributor_lines: list[ReleaseNotesLine] = [] for line in self.lines: + # Preserve new contributor lines + if line.is_new_contributor: + new_contributor_lines.append(line) + continue + # Skip filtered lines if line.change and ( is_exluded_type(line.change) @@ -164,6 +170,13 @@ def is_reverted_or_revert(change): sections.append(str(line)) sections.append("") + # Add new contributors section if needed + if new_contributor_lines: + sections.append("## New Contributors") + for line in new_contributor_lines: + sections.append(str(line)) + sections.append("") + # Join sections, removing trailing empty line lines = "\n".join(sections) else: diff --git a/tests/__pycache__/__init__.cpython-312.pyc b/tests/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..28b7ff4825939c8d44590e6dc10ca329cf29b28c GIT binary patch literal 174 zcmX@j%ge<81g`{}GC}lX5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!^3~7C&rQ`YD$UDF zEz&Q~FUr<0C`v6Usf;g5%}GrxPL0pYFG(%NE(nw;Db|mV&&5r~UHjE~HWjEqIhKo$Ux87`Ip literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_release_notes.cpython-312-pytest-9.0.2.pyc b/tests/__pycache__/test_release_notes.cpython-312-pytest-9.0.2.pyc new file mode 100644 index 0000000000000000000000000000000000000000..11026ebd65598f79d0b594e134f7e9033f34722f GIT binary patch literal 24800 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 XR feat_idx, "New Contributors should come after change sections" + + +def test_new_contributors_without_grouping(): + """Test that New Contributors lines work correctly without grouping.""" + github = GitHubClient("test_token") + repo = Repository( + owner="test_org", + name="test_repo", + url="https://api.github.com/repos/test_org/test_repo", + html_url="https://github.com/test_org/test_repo", + ) + + feat_pr = PullRequest( + github=github, + repository=repo, + id=1, + title="feat: add feature", + body="", + html_url="https://github.com/test_org/test_repo/pull/1", + ) + + lines = [ + ReleaseNotesLine(original_line="", change=feat_pr, sentence="Added feature"), + ReleaseNotesLine( + original_line="* @newuser made their first contribution in https://github.com/test_org/test_repo/pull/1", + is_new_contributor=True, + ), + ] + + release_notes = ReleaseNotes(lines=lines) + + # Test without grouping + output = release_notes.serialize() + + # Should preserve new contributor line in flat list + assert "Added feature" in output + assert "@newuser made their first contribution" in output From 9cb0e878daf0242af54eb2498d2cc7426d0e6093 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 15:22:42 +0000 Subject: [PATCH 3/3] Update .gitignore to exclude cache and test artifacts Co-authored-by: barredterra <14891507+barredterra@users.noreply.github.com> --- .coverage | Bin 53248 -> 0 bytes .gitignore | 7 ++++++- .../__pycache__/__init__.cpython-312.pyc | Bin 773 -> 0 bytes .../__pycache__/api.cpython-312.pyc | Bin 8263 -> 0 bytes .../__pycache__/database.cpython-312.pyc | Bin 9233 -> 0 bytes .../__pycache__/generator.cpython-312.pyc | Bin 13609 -> 0 bytes .../__pycache__/github_client.cpython-312.pyc | Bin 10116 -> 0 bytes .../__pycache__/openai_client.cpython-312.pyc | Bin 1590 -> 0 bytes .../core/__pycache__/__init__.cpython-312.pyc | Bin 252 -> 0 bytes .../core/__pycache__/config.cpython-312.pyc | Bin 4931 -> 0 bytes .../core/__pycache__/execution.cpython-312.pyc | Bin 4000 -> 0 bytes .../core/__pycache__/interfaces.cpython-312.pyc | Bin 2171 -> 0 bytes .../models/__pycache__/__init__.cpython-312.pyc | Bin 534 -> 0 bytes .../models/__pycache__/_utils.cpython-312.pyc | Bin 1010 -> 0 bytes .../models/__pycache__/change.cpython-312.pyc | Bin 1948 -> 0 bytes .../models/__pycache__/commit.cpython-312.pyc | Bin 3561 -> 0 bytes .../models/__pycache__/issue.cpython-312.pyc | Bin 1011 -> 0 bytes .../__pycache__/pull_request.cpython-312.pyc | Bin 10393 -> 0 bytes .../__pycache__/release_notes.cpython-312.pyc | Bin 10617 -> 0 bytes .../release_notes_line.cpython-312.pyc | Bin 1844 -> 0 bytes .../__pycache__/repository.cpython-312.pyc | Bin 1018 -> 0 bytes tests/__pycache__/__init__.cpython-312.pyc | Bin 174 -> 0 bytes ...t_release_notes.cpython-312-pytest-9.0.2.pyc | Bin 24800 -> 0 bytes 23 files changed, 6 insertions(+), 1 deletion(-) delete mode 100644 .coverage delete mode 100644 pretty_release_notes/__pycache__/__init__.cpython-312.pyc delete mode 100644 pretty_release_notes/__pycache__/api.cpython-312.pyc delete mode 100644 pretty_release_notes/__pycache__/database.cpython-312.pyc delete mode 100644 pretty_release_notes/__pycache__/generator.cpython-312.pyc delete mode 100644 pretty_release_notes/__pycache__/github_client.cpython-312.pyc delete mode 100644 pretty_release_notes/__pycache__/openai_client.cpython-312.pyc delete mode 100644 pretty_release_notes/core/__pycache__/__init__.cpython-312.pyc delete mode 100644 pretty_release_notes/core/__pycache__/config.cpython-312.pyc delete mode 100644 pretty_release_notes/core/__pycache__/execution.cpython-312.pyc delete mode 100644 pretty_release_notes/core/__pycache__/interfaces.cpython-312.pyc delete mode 100644 pretty_release_notes/models/__pycache__/__init__.cpython-312.pyc delete mode 100644 pretty_release_notes/models/__pycache__/_utils.cpython-312.pyc delete mode 100644 pretty_release_notes/models/__pycache__/change.cpython-312.pyc delete mode 100644 pretty_release_notes/models/__pycache__/commit.cpython-312.pyc delete mode 100644 pretty_release_notes/models/__pycache__/issue.cpython-312.pyc delete mode 100644 pretty_release_notes/models/__pycache__/pull_request.cpython-312.pyc delete mode 100644 pretty_release_notes/models/__pycache__/release_notes.cpython-312.pyc delete mode 100644 pretty_release_notes/models/__pycache__/release_notes_line.cpython-312.pyc delete mode 100644 pretty_release_notes/models/__pycache__/repository.cpython-312.pyc delete mode 100644 tests/__pycache__/__init__.cpython-312.pyc delete mode 100644 tests/__pycache__/test_release_notes.cpython-312-pytest-9.0.2.pyc diff --git a/.coverage b/.coverage deleted file mode 100644 index 0d409ac66f56c085e99541c779ba106c8b376905..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53248 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 hfRflxskLClGt5Lm%kblF5oy2@){X?iM5S6G* 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 X^)oNcgJwf<8+0FvMHmMKedqrH5&Jm^ diff --git a/pretty_release_notes/__pycache__/generator.cpython-312.pyc b/pretty_release_notes/__pycache__/generator.cpython-312.pyc deleted file mode 100644 index 3bf07817c3a3650c15287d86025e3344757b6fd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13609 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 diff --git a/pretty_release_notes/__pycache__/github_client.cpython-312.pyc b/pretty_release_notes/__pycache__/github_client.cpython-312.pyc deleted file mode 100644 index 4bda129917df690fdc4c79de6f1cec588a4f8961..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10116 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 Q`c68=dwRYl2-&Xx2P7Hn3;+NC diff --git a/pretty_release_notes/__pycache__/openai_client.cpython-312.pyc b/pretty_release_notes/__pycache__/openai_client.cpython-312.pyc deleted file mode 100644 index 2f474cc42c30267befb416fe84f20f694b789dd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1590 zcmb7E&2Jk;6rb7eUE4`qhXhM$nerjwiX@Hsh?-UvsR%TsG!;dFd|6iBakB1yShM3a zjvOhfxFB(WQ#inhOHlF$^iM$IVk?mxtw5>-mvC|#BqSdYGrL|@2`Aoa-n{o_X5a69 z%>0te8GzBB`NvL90^oP9q@)jp(@iGq02|oQ1s<$G$YsG5Jh38rQbqFQiVVRTu*Dx? zMG*iN*^q6?miLuCA^8ilNVd8M6K!8h?Y53p+h8NZMi#3z&CY!(?G0U5wAM&z^q6ZU z7%3|a>@O~t#7HKXl2&vfq(Q^9Y7`UGq7-`#8cja39BLBFw*$|_8;!unK6NbjrpkUY zkXIXY`t5-lPcw6=P#&nkThpH7I|CzLIwSj*A4Ed%<}pWqe1n4#B9ZN8%-T3s5`)AY zM-qn=snx)z%x@%nfsNfrwHl835VsfR97meiK&ac88v zlG)aZOsHqiTDevq`LAtDZp+&lnon13J+1#^NDHa8EvME8pk!?R@ByaCLe({kB7#F! zzYwDu2|Sckf5tHMk1Z#};ew&-OB+?(pibZ~pyk?d2U@(pjH;IFqMGHnA&UD0aXs!D zH0+d+9sksFn|O(kfSf;{)G0)~r&?%OPD5XfQKPTlEeT|j$&pGO4+l+F_-2R+>kEkl zE+#MVHL2#}jYzVZG+;fec{mKMRUDEDzL;g(*PSXhse=jOb=|z2L>S{w{A2qpfRaIY zg(8WkC(2XP(`ZHcRm|{kP$>{H%>ZQB2)|)$8~pVm$mGA9 z+*9ll)d z7Rz6)KT-O5FkU_d`nb6LQhx$mzS=|cT{Qm$cF{r)-Rh!SJ#?pw?sQ=ONE+`*Q@?5# zI)!%*wE2!O|A&_8WTy_aiye6Jlwkt*N_wOup(I7r*b8A*9oi!N1{0Yxo=5U3XRmX{ zqxuPu87{xU*g(6%9+akwZ;~=o`AZQxjP*qb;cuY$w;(~`1Tgk23&y{I9WZvH0730$ zU)hDb^M96-i&h7^V2A!g|z%4g@U5gl9I~!qSTz!#NyQWy!?{XVm&`i##`+1@hSPq@$oAeK7&mBm8hSQ zpPQ;*RGOEUTBKi|UzDwnO)m+8$v_9`$H!;pWtPOp>lIY~;;_lhPbtkwwJTx++6eMU TF~}1im>C%vZ!s7au>d&$_QXw& diff --git a/pretty_release_notes/core/__pycache__/config.cpython-312.pyc b/pretty_release_notes/core/__pycache__/config.cpython-312.pyc deleted file mode 100644 index 111f993ad47b2497bf5d54ba082df84118985903..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4931 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 diff --git a/pretty_release_notes/core/__pycache__/interfaces.cpython-312.pyc b/pretty_release_notes/core/__pycache__/interfaces.cpython-312.pyc deleted file mode 100644 index eefba60c18e3aeddc300be12e8057160c0880584..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2171 zcmb7F&2Jk;6rYdv?%Iw+zew{5n-5V8s)JB^t6EBn;6j8zTr8p0#yd{7tar`K8e}U- zfu;ha9>OX46B^}D;gU)qg_SChIKj!SgOGaSy;<8$(gcY)ym|9x-n{pI^P8EUN~HpU z_SgAugIP|i7*&>pZLZm z@pF4D+hec4Rn^jSCd^ra?m2qSwVcu5dP%5`NCqNRo()Dmfe zx=VT>$+OzxTHFwevK2)_E`Alu&lj6gBuU$qA{3qyE^H#y|1j2KDHek$5wh;pgsL># z(uPP{U}QB9;y(G^D%_hmD3tC^AIx9b82^50i*J3hW&dzv=gy;|^E167FAltpfj=bG zYcTyBe8GJRpfaD=0oqMtNSK_4_}l>Ek3}<=)=xTWhZn{ot9vV;OxNK7RIavC*^nIVKhZ^10c?A8r59eD4Xe}*fU4;m!t!&z2`F1Iw%aCL{E6FfqZz9p5idYJ1yd_QB%DSoOoC=8hN!Dbnjf5i zI>vA$sAf3wXq&9lb>f1SwKkCsXk{uFuw!xxI;|f?AK#)N3KG}t%$=EBWv~VzQF#z> z5*Md87VcLvsPKeNApw$5=l209kRQ1V{mFKRdJ1P`$T=kB%uceuu=MEFYdzrO zOxI*=GJ60fk)klla7X9maxvxJN=;(H`hiJ{!;eoWi5Dj|;WrARRsCsX3F-XwmC$J% ze~F&i*RyZwhP(>ycmnD}5M53w{f*2&CbN&p7(8^W_z&Z7hX@FGlUT8f!^07ST3hOn ZKzBF_Vt?w*{=lY_`_5Z`6XbF5Qk?ke=oU!r;S)x2qI~W4Cmvt0}-YnflJ7|N0N>@KOVlK6Jny=lTwJhL2^#( zx@8FAdCU2f-L$OM{n3x;+VA=-FZ4(-WmQ?{O)0zBl{T)Hjt*aktHaY_ zVNBvkxpN~mwQ_RpHA8Atp__bOJrN%NOD`s>!gybX*!geSFSYwXo@mpyiO?1i@c$9zv`C$AvRmij^qY9 k^^dN%G2SggNDo^*Z1%9*!(I;uJ?wngUO2e(hm&Dj;VmcO^niXfRh|{7tns9mDF1SGgv_g#Bv2s(N zXWbizA6Q#Qb!2l6S4ZWOm?jXRt>bwKQIFBAI%@e;eRJ$P2xC)!>$J@Lp02-)C9ckq z3w5q6oW>xe@-5wRTC1vhTNXc77(n7xlgz~}b{VK66VO1hK{iYZ_J3^Z zrV5%Jmn*cS*@Kqjb`^liC!?3W=*d}TAm}+sv$l+Wb|B%*XQ90jM4`wt=ZUkrxO{%! z-?qlD-dTIRGR}_ng-d%v|BleVd2LsSFL!?J;MxIArC0}&xg?e^EJ-eaaZEk2Y z!`dN}MPk795pdgbrf#vciT4}2JPWb;`uB*OV;iJ{wWH7t=Dec82` txUWd~)*IV+^rrl}ye;0_?UlAscO%%z4R6>D#HP3QX69Y(m$z(6{s#K5|K0!q diff --git a/pretty_release_notes/models/__pycache__/change.cpython-312.pyc b/pretty_release_notes/models/__pycache__/change.cpython-312.pyc deleted file mode 100644 index 2b14c0e033a16268d3b2cf5b4b8046da043bf40c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1948 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 diff --git a/pretty_release_notes/models/__pycache__/pull_request.cpython-312.pyc b/pretty_release_notes/models/__pycache__/pull_request.cpython-312.pyc deleted file mode 100644 index 6e5d313d57fc545de2fdfcdd079b939b494b0dd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10393 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 diff --git a/tests/__pycache__/__init__.cpython-312.pyc b/tests/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 28b7ff4825939c8d44590e6dc10ca329cf29b28c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmX@j%ge<81g`{}GC}lX5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!^3~7C&rQ`YD$UDF zEz&Q~FUr<0C`v6Usf;g5%}GrxPL0pYFG(%NE(nw;Db|mV&&5r~UHjE~HWjEqIhKo$Ux87`Ip diff --git a/tests/__pycache__/test_release_notes.cpython-312-pytest-9.0.2.pyc b/tests/__pycache__/test_release_notes.cpython-312-pytest-9.0.2.pyc deleted file mode 100644 index 11026ebd65598f79d0b594e134f7e9033f34722f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24800 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 XR