From 5346db6ba83b17eefd76d6009876cfd85907f687 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 7 Sep 2026 16:54:04 +0000 Subject: [PATCH 1/2] Prepare release 3.18.1 --- docs/community/release-notes.md | 25 ++++++++++++++++++ rest_framework/__init__.py | 2 +- .../locale/es/LC_MESSAGES/django.mo | Bin 12902 -> 12878 bytes .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 9915 -> 10287 bytes 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/docs/community/release-notes.md b/docs/community/release-notes.md index 1ba6b4ed04..a107e31c87 100644 --- a/docs/community/release-notes.md +++ b/docs/community/release-notes.md @@ -59,6 +59,31 @@ You can determine your currently installed version using `pip show`: ## 3.18.x series +### 3.18.1 + +**Date**: 7th September 2026 + +#### Bug fixes + +* Fix duplicate validation errors for GenericIPAddressField with protocol by [@browniebroke](https://github.com/browniebroke) in [#10011](https://github.com/encode/django-rest-framework/pull/10011) +* Fix int64 format detection for negative `IntegerField` minimums in Open API schema definition by [@zainnadeem786](https://github.com/zainnadeem786) in [#9989](https://github.com/encode/django-rest-framework/pull/9989) +* Fix list serializer on unique constraint validator by [@MehrazRumman](https://github.com/MehrazRumman) in [#10033](https://github.com/encode/django-rest-framework/pull/10033) +* Reject non-finite values (nan, inf) in FloatField by [@winklemad](https://github.com/winklemad) in [#9998](https://github.com/encode/django-rest-framework/pull/9998) + +#### Other changes + +* Add a compatibility setting for `ListSerializer` error formats by [@Kub-AT](https://github.com/Kub-AT) in [#10027](https://github.com/encode/django-rest-framework/pull/10027) +* Expand deprecation classes and review deprecation policy by [@browniebroke](https://github.com/browniebroke) in [#10034](https://github.com/encode/django-rest-framework/pull/10034) + +#### New Contributors + +* [@abidaliamanat9](https://github.com/abidaliamanat9) made their first contribution in [#10028](https://github.com/encode/django-rest-framework/pull/10028) +* [@epuronta](https://github.com/epuronta) made their first contribution in [#10030](https://github.com/encode/django-rest-framework/pull/10030) +* [@Kub-AT](https://github.com/Kub-AT) made their first contribution in [#10027](https://github.com/encode/django-rest-framework/pull/10027) +* [@winklemad](https://github.com/winklemad) made their first contribution in [#9998](https://github.com/encode/django-rest-framework/pull/9998) + +**Full Changelog**: [3.18.0...3.18.1](https://github.com/encode/django-rest-framework/compare/3.18.0...3.18.1) + ### 3.18.0 **Date**: 7th August 2026 diff --git a/rest_framework/__init__.py b/rest_framework/__init__.py index d9de0a460e..83e2120e56 100644 --- a/rest_framework/__init__.py +++ b/rest_framework/__init__.py @@ -8,7 +8,7 @@ """ __title__ = 'Django REST framework' -__version__ = '3.18.0' +__version__ = '3.18.1' __author__ = 'Tom Christie' __license__ = 'BSD-3-Clause' __copyright__ = 'Copyright 2011-2023 Encode OSS Ltd' diff --git a/rest_framework/locale/es/LC_MESSAGES/django.mo b/rest_framework/locale/es/LC_MESSAGES/django.mo index 77fe3faec35adc2320fb594953a1770dc60040ed..f88032286db1de348190268f519bc2f79af6b17e 100644 GIT binary patch delta 999 zcmXZbOGs346vy#jL`~sP`6yH8Hn%iOn;yn6(qM(Dg)kH&r8pKfK9WER91>>Z#f6Yi zPz=&0Y3C-02D6nA^jHMZDpZ1GR&iJ_MUE% zGIdg;q)JCRhH-4iTUdk7@G!o|gZKl(ShY`zU=*t{jZw_v8GMcvxQ0P?~TPFA&e-IsA$(=#uV9?7^KljRBm+BRGd=@dIAM?UZu>`_XQ`h+SBA zNZN%-?7%^ffn_p}aV+2otfSsdm_RGxgzpU6{3mD|ETdJbmdTwshIT+6ZT%ZR{*IRD zA7qJ|nt3MldKlP;k7x(~#4Xs!Y^tjWx_A*ocn53nKGFu7M=q^*e*6vjX&a3}^%cbc z_Mxr2jyo`mM>${j7+9vSFo*>#!*%4Dw1HdEVYW3{16l>z@H9@K&3lR0a1~vQ(aBU@ zeYh7Vk=N8?w8WRNmGkw5L5vR-G(szOqczDCS_S6NHhPU#p(0+!Y67d&7+QkkXo+Xh z5}QVQ(zkdO|Dsi5fQGXDhp_yA*D~M_phw7Ml}Br~HM9-O34-Y09&GmG_Jx_iud3XG eP%4;6-yXf29vz9hBbi(=6v-u>@Itra?EVKF)OV!- delta 1019 zcmXZbO-NKx6u|M*$2g13n(&jx=9!is<40+uHK?JEN-$`KMruJ1-b-{bLo-HL;3E*E z0$~t}7D7RbT1bIOJ2ycvkgf&-t3?pG%Lvk0MgQZx)$g7=_uYH$xo0-4pVr&V0q6Zb zk>qia(;^Zq7iq*R*o6)4Bx)gni65_|BT!$31x!!Ty?47O13TC`A0xZwH%b^SZk4Su0ks+q+RoI^bzjr#qj z8y~F8C0c}hB3(Fx&Xhax1NGp;T*rf*NOdKG2HrwH&SM$AMA|{tkW0%~H{MS}FcbrM z1&N{;ptNP{EY?< z@ZeNk;#i7Lkk^zqsEKE=jq~LXgH|T$XoNO2QJdr$Y6VtNH~NfPp?^4xO$1u0In)Fn zp(dU}O>7DENx$HAET)mP5=qqk@1t+8YZ>qdkk`oNC5_r_JE$Ah5@=;YSd86nJi7AG zyIYtaHDeQZ%n3Ve*vUo5Kfbu-50+eO=(l5b!kmsL!p7yeZB0%aEsd=!zVeQu|KGHJ AOaK4? diff --git a/rest_framework/locale/zh_CN/LC_MESSAGES/django.mo b/rest_framework/locale/zh_CN/LC_MESSAGES/django.mo index 3bd1fd3efa65ee170719887e0f0eff038e4accb8..5917a68deec7330ba2854bf9b2a2195d38a1fa5f 100644 GIT binary patch delta 2322 zcmYk-eN0t#9LMpWT;N_W5UGH0O}j_|8czvYpmpeAO*VPRXp3w+8_KFV zXLfU1TTfdnwHmEkjU=+Q=2o+{9=7Tq-P*n3R@#alhnu}W=lojzw(oiUe&_t|Ilt#S z(K6QNT%4PH+>pA7n}{l(F;8G~Di_jVz?d*TfVbjPn2Y16`d{Dzyox~#&NikLv#|v0 z(2s+-4j;z5aKh6uN&IR9HyUvb9>Wg&67RqzX~rzaE?kKxuo}O@Cd^1TrUpAv^`FLO zynqFmmto9YtVK1r4RycI)!~C=^x}6=ANmE=;-VY89+#s&(2jTFlNiBIunuQu8dHWX z$Sw0Is@`EN#*Z-{ui#S5ypcv@4OZ}d(?CWq7{*3Cg|+xA>V*|^j0s@`Ro;f`K`*LD zM^Hn1#+I+x=Rvyd<9-=x1eS4Gg!QQR?LnuAj6)^|U&Szffb;MYCgU_R8|E)8M;{NF zZc}Mph5CIxYT0bZ`PhvWcmOrUucI3L8)`)6WEsb;SefNLXhJQfy|@Aoq2_eLmZwoI zUz+XJtH&_qE>y!tP$Tgcrr__W2F>7Ym_#dY$1?21T{(=udU%!_d3X-hv+r#Adt65O z8nR$bIo;AoRO2hNj9HJGiXYh$?%eVcb)W_{)E&0`5V9W4F?;`cETlZ?kkO0dxEinG zdMu@zcjJE4T9`yNWCm5QjIU_X_E}F`6V`mjxt-@bP*V`I#&H|v?1kR;bOy<2KR<_> zlXtNczqO{)4ei$|yax}U8vH4${@2)mf1rjwaZjjCVB%3?N51l91J$Schw zxEf!;RJ@3eG6^zTy+5J0+k6g%E!c{B{xYgTuc7AtGt>*ev0g*f%V$DmG0wtvVkNzG?e=2{}bPFQwLWqI!zPn%bjnH%o;*#Ly7h4?j+?) z2(5ah?Swk3^TPeU=1%j$|A{*d>X}j{GoG0!a-HS>(?>Q~aPNIuQA(X;IrZP6|Mjx?*2ogFw z3JLu~YWLhvR1%ws6$DGgv=PoKE=t;3Tix7$mk3!7KC{@~(yC7;3T$~Ta-O(J>qbdu zN41;t{slLZZ?xqNsDC~s9mAwpQ6S)p{u#^(^z7^D>**hQFnTGN8!b<(ivAo7V90MD z#5Sd+2eS9{b`SLq^mpwa4)=8phx-SH!n=E78|Ov+(Nm#CDWeCc-hMH9G?W*Ohl-+~ zhbp~0G5>-O0}IbR6CXd5c;iH3bUbl%?DE0M`1p|@PL55TK0Ed7q1Z}v53oyHRywsK8WImUBnk5xFDhiZNI;JPsBg@-_JRB?sC?f({-2T zc@KMK9x$Sb?61r)+ag08h~ltW3`=k*&cS~8J?i?M7{wFV9e>9%`~yp|6SJ`R6SJup z$Cf2rYD5_^?P(8YZ8p;>0p2!V;Ux*o; z-+&r{A8{b=Mm_Ho7U6a5gHO?mQ3!E$9u{FHRw1Kq)i?@kk!iGz&aJ2i>_#n<B4%{ zYE3%-#0Kiwyj?@R+PNQ>Qoo9&IFNDXomPuljNf1xwmQ$DwxRbgg)b?T3>ldIH&}upTBq}I)C=dk`hNVJ`We(NxQ(noyN7B(2Qs*pH#iu%GK^~f zuk;IS7t{?0Q4jbT_2M>Ei!Y*9`%~vD)DXXO^*$^RHGBY$!7(@kzeQcw=Dgma(bR#Rz+$nD#nxQfEv?8t|H4x z!ZSW%eyHbskZd`**gq2-^u^L%))Z(<#z=)$`wVgc$)@n{Dzxpi!dH-)B&*n;ExGa%O0DG=5%JI XDk7~}$+yv>)QbL>!>OvFFVp`AQ+B Date: Mon, 7 Sep 2026 23:00:46 +0600 Subject: [PATCH 2/2] Fix int64 format detection in OpenAPI schema Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- docs/community/release-notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/community/release-notes.md b/docs/community/release-notes.md index a107e31c87..be43da98cb 100644 --- a/docs/community/release-notes.md +++ b/docs/community/release-notes.md @@ -66,7 +66,7 @@ You can determine your currently installed version using `pip show`: #### Bug fixes * Fix duplicate validation errors for GenericIPAddressField with protocol by [@browniebroke](https://github.com/browniebroke) in [#10011](https://github.com/encode/django-rest-framework/pull/10011) -* Fix int64 format detection for negative `IntegerField` minimums in Open API schema definition by [@zainnadeem786](https://github.com/zainnadeem786) in [#9989](https://github.com/encode/django-rest-framework/pull/9989) +* Fix int64 format detection for negative `IntegerField` minimums in OpenAPI schema definition by [@zainnadeem786](https://github.com/zainnadeem786) in [#9989](https://github.com/encode/django-rest-framework/pull/9989) * Fix list serializer on unique constraint validator by [@MehrazRumman](https://github.com/MehrazRumman) in [#10033](https://github.com/encode/django-rest-framework/pull/10033) * Reject non-finite values (nan, inf) in FloatField by [@winklemad](https://github.com/winklemad) in [#9998](https://github.com/encode/django-rest-framework/pull/9998)