विषय पर बढ़ें

रिलीज़ नोट्स

0.38.2

27 जुलाई, 2024

तय

  • यह नहीं माना जाता है कि सभी दिनचर्या हैं routing.get_name() # 2648 में यह सब है __name__ ...

0.38.1

23 जुलाई, 2024

हटा दिया गया

  • "ASGI पाथसेंड एक्सटेंशन के लिए समर्थन जोड़ें" # 2649 पुनर्स्थापित करें।

0.38.0

20 जुलाई, 2024

जोड़ा गया

  • में अनुमति दें StreamingResponse और Response # 2576 और # 2577 में उपयोग किया जाता है memoryview ...
  • जब में StaticFiles # 2583 जब अनुरोधित फ़ाइल नाम बहुत लंबा हो, तो 500 के बजाय 404 भेजें।

परिवर्तन (or: change)

  • अमान्य में Jinja2Template तात्कालिक पैरामीटर # 2568 पर तेजी से विफलता।
  • एंडपॉइंट हैंडलर को केवल एक बार # 2536 पर अतुल्यकालिक रूप से जांचें।

तय

  • की ओर WebSocketTestSession # 2597 उपयुक्त सिंक्रनाइज़ेशन जोड़ें।

0.37.2

5 मार्च, 2024

जोड़ा गया

  • जोड़ें bytes को _RequestData प्रकार # 2510 हाँ।

तय

  • पलटें "मुड़ें scope["client"] को None पर TestClient (# 2377) " # 2525 हाँ।
  • पदावनत निकालें app तर्क पारित किया httpx.Client पर TestClient # 2526 हाँ।

0.37.1

9 फरवरी, 2024

निश्चित

  • लापता env फ़ाइलों के लिए बढ़ाने के बजाय चेतावनी Config # 2485 हाँ।

0.37.0

5 फरवरी, 2024

जोड़ा गया

  • वेबसॉकेट डेनियल रिस्पांस ASGI एक्सटेंशन का समर्थन करता है # 2041 हाँ।

0.36.3

4 फरवरी, 2024

निश्चित

  • बनाएँ anyio.Event async संदर्भ पर # 2459 हाँ।

0.36.2

3 फरवरी, 2024

निश्चित

  • अपग्रेड करें python-multipart को 0.0.7 13E5c26 हाँ।
  • डुप्लिकेट चार्सेट से बचें Content-Type # 2443 हाँ।

0.36.1

23 जनवरी, 2024

निश्चित

  • एक्सटेंशन की जाँच करने से पहले जांचें कि क्या "एक्सटेंशन" दायरे में है # 2438 हाँ।

0.36.0

22 जनवरी, 2024

जोड़ा गया

  • ASGI के लिए समर्थन जोड़ा गया pathsend विस्तार # 2435 हाँ।
  • रद्द करें WebSocketTestSession करीब पर # 2427 हाँ।
  • उठाएँ WebSocketDisconnect जब WebSocket.send() अपवाद IOError # 2425 हाँ।
  • उठाएँ FileNotFoundError जब env_file पैरामीटर पर Config मान्य नहीं है # 2422 हाँ।

0.35.1

11 जनवरी, 2024

तय

  • में पदावनत "विधि" पैरामीटर का उपयोग करना बंद करें FileResponse के अंदर StaticFiles # 2406 हाँ।
  • बनाना typing-extensions वैकल्पिक फिर से # 2409 हाँ।

0.35.0

11 जनवरी, 2024

जोड़ा गया

  • होगा *args में जोड़ें Middleware और इसके प्रकार संकेत # 2381 में सुधार करें।

तय

  • मौजूद है iterate_in_threadpool # 2362 का उपयोग किया जाता है Iterable बजाय Iterator

परिवर्तन

  • प्रक्रिया root_path स्थापित ASGI अनुप्रयोगों और WSGI # 2400 के साथ संगतता बनाए रखने के लिए।
  • मौजूद है TestClient # 2377 जनरल scope["client"] बन जाना None

0.34.0

16 दिसंबर, 2023

जोड़ा गया

  • उपयोग ParamSpec के लिए run_in_threadpool # 2375।
  • जोड़ें UploadFile.__repr__ # 2360।

तय

  • मौजूद है TestClient # 2376 URL को सही ढंग से मर्ज करें।
  • में विचार करें StaticFiles # 2334 पर कमजोर ईटैग।

पुराना

  • पदावनत FileResponse(method=...) पैरामीटर # 2366।

0.33.0

1 दिसंबर, 2023

जोड़ा गया

  • प्रत्येक Route / WebSocketRoute जोड़ें middleware # 2349।
  • प्रत्येक Router जोड़ें middleware # 2351।

तय

  • अधिलेखित न करें "path" और "root_path" रेंज कुंजी # 2352।
  • होगा ensure_ascii=False में सेट करें json.dumps() पर, के लिए WebSocket.send_json() # 2341।

0.32.0 पोस्ट 1

5 नवंबर, 2023

तय

  • 9.1.17 से 9.4.7 # 2326 तक वापस mkdocs-material।

0.32.0

4 नवंबर, 2023

जोड़ा गया

  • मौजूद है WebSocketDisconnect ऊपर भेजें reason # 2309।
  • होगा domain पैरामीटर में जोड़ा गया SessionMiddleware # 2280 में।

परिवर्तन; परिवर्तन; परिवर्तन

  • मौजूद है _TemplateResponse # 2274 से HTMLResponse के बजाय Response विरासत।
  • होगा Response.render प्रकार एनोटेशन अपनी 0.31.0 स्थिति # 2264 पर निर्भर करता है।

0.31.1

26 अगस्त, 2023

तय

exceptiongroup उपलब्ध नहीं होने पर* आयात त्रुटि # 2231 को ठीक करता है। * एक कस्टम जिंजा वातावरण के लिए सेटिंग्स url_for वैश्विक चर # 2230।

0.31.0

24 जुलाई, 2023

जोड़ा गया

  • आधिकारिक तौर पर पायथन 3.12 का समर्थन करता है # 2214 हाँ।
  • 4.0 का समर्थन करें # 2211 हाँ।
  • कड़ाई से टाइप एनोटेट स्टारलेट (myPy पर सख्त मोड) # 2180 हाँ।

निश्चित

  • उपयोग करते समय एक स्ट्रिंग पर डुप्लिकेट किए गए हेडर को समूह न करें TestClient # 2219 हाँ।

0.30.0

13 जुलाई, 2023

हटा दिया गया

  • ड्रॉप पायथन 3.7 समर्थन # 2178 हाँ।

0.29.0

13 जुलाई, 2023

जोड़ा गया

  • जोड़ें follow_redirects के लिए पैरामीटर TestClient # 2207 हाँ।
  • जोड़ें __str__ को HTTPException और WebSocketException # 2181 हाँ।
  • उपयोग करते समय उपयोगकर्ताओं को चेतावनी दें lifespan साथ में on_startup/on_shutdown # 2193 हाँ।
  • से मार्ग एकत्र करें Host स्कीमा उत्पन्न करने के लिए # 2183 हाँ।
  • जोड़ें request के लिए तर्क TemplateResponse # 2191 हाँ।

तय

  • बंद करो body_stream मामले में more_body=False पर BaseHTTPMiddleware # 2194 हाँ।

0.28.0

7 जून, 2023

बदल गया

  • पुन: उपयोग Request कॉल_नेक्स्ट के लिए बॉडी बफर BaseHTTPMiddleware # 1692 हाँ।
  • तर्क को अपवाद हैंडलिंग में ले जाना Route # 2026 हाँ।

जोड़ा गया

  • होगा env पैरामीटर में जोड़ा गया Jinja2Templates में और पदावनत **env_options # 2159।
  • जब httpx स्थापित नहीं होने पर स्पष्ट त्रुटि संदेश # 2177 जोड़ें।

तय

  • में अनुमति दें templates url_for() # 2"नाम" पैरामीटर का उपयोग करें।

0.27.0

16 मई, 2023

यह संस्करण ठीक करता है StaticFiles पथ ट्रैवर्सल भेद्यता में। आप पूर्ण सुरक्षा बुलेटिन देख सकते हैं: https://github.com/encode/starlette/security/advisories/GHSA-v5gw-mw7f-84px

जोड़ा गया

  • पास send_json JSडेटा कम करें, https://github.com/encode/starlette/pull/2128 देखें

तय

  • मौजूद है StaticFiles 1797de4 पर, होगा commonprefix के साथ बदलें commonpath ...
  • ModuleNotF# 2135 में Eको कन्वर्ट करें।
  • websoc# 2में संदेश सामग्री को सही करें।

0.26.1

13 मार्च, 2023

तय

  • अपने उपवर्गों की अनुमति देने के लिए te # 2077 में Lipan के प्रकार को ठीक करें।

0.26.0 पोस्ट 1

9 मार्च, 2023

निश्चित

  • Mkl पर इवेंट्स से लाइफस्पैन तक संदर्भ बदलें # 2072 हाँ।

0.26.0

9 मार्च, 2023

जोड़ा गया

बदल गया

  • परिवर्तन url_for एक वापस करने के लिए हस्ताक्षर URL उदाहरण # 1385 हाँ।

निश्चित

  • "नाम" पर तर्क दें url_for() और url_path_for() # 2050 हाँ।

पदावनत

  • पदावनति on_startup और on_shutdown घटनाएं # 2070 हाँ।

0.25.0

14 फरवरी, 2023

निश्चित

  • पार्स करते समय फ़ील्ड और फ़ाइलों की संख्या सीमित करें multipart/form-data पर MultipartParser 8C74C2C और # 2036 हाँ।

0.24.0

6 फरवरी, 2023

जोड़ा गया

  • अनुमति दें StaticFiles सिमलिंक का पालन करने के लिए # 1683 हाँ।
  • अनुमति दें Request.form() एक संदर्भ प्रबंधक के रूप में # 1903 हाँ।
  • जोड़ें size के लिए गुण UploadFile # 1405 हाँ।
  • जोड़ें env_prefix के लिए तर्क Config # 1990 हाँ।
  • टेम्पलेट संदर्भ प्रोसेसर जोड़ें # 1904 हाँ।
  • समर्थन str और datetime पर expires पर पैरामीटर Response.set_cookie विधि # 1908 हाँ।

बदल गया

  • आलसी ने मिडलवेयर स्टैक बनाया # 2017 हाँ।
  • बनाओ file तर्क की आवश्यकता है UploadFile # 1413 हाँ।
  • कस्टम प्रतिक्रिया टेम्पलेट एक्सटेंशन के बजाय डिबग एक्सटेंशन का उपयोग करें # 1991 हाँ।

तय

  • IPv6 urls के फिक्स्ड url पार्सिंग पर URL.replace # 1965 हाँ।

0.23.1

9 दिसंबर, 2022

तय

  • केवल धाराओं को प्राप्त करना बंद करें body_stream अगर शरीर खाली है BaseHTTPMiddleware # 1940 हाँ।

0.23.0

5 दिसंबर, 2022

जोड़ा गया

  • जोड़ें headers के लिए पैरामीटर TestClient # 1966 हाँ।

पुराना

  • पदावनत Starlette और Router डेकोरेटर # 1897।

तय

  • मरम्मत FloatConvertor नियमित अभिव्यक्तियों पर त्रुटि # 1973।

0.22.0

17 नवंबर, 2022

बदल गया

  • जब प्रतिक्रिया होती है Content-Encoding # 1901, बाईपास GZipMiddleware ...

तय

  • से TestClient # 1953 अवांछित क्वेरी मापदंडों को हटाएं unquote() ...
  • सुनिश्चित करना MutableHeaders._list वास्तव में ए list # 1917।
  • अगले संस्करण के साथ AnyIO # 1936 आयात संगतता।

0.21.0

26 सितंबर, 2022

यह संस्करण बदल देता है TestClient आधार HTक्लाइंट साइड का उपयोग करना ( requests :arrow_right: httpx ), इन ग्राहकों के लिए थोड़ा अलग एपीआई के कारण आपका परीक्षण सूट टूट सकता है। माइग्रेशन को चिकना बनाने के लिए, आप उपयोग कर सकते हैं bump-testclient उपकरण।

परिवर्तन (or: change)

  • मौजूद है TestClient # 1376, होगा requests के साथ बदलें httpx

जोड़ा गया

  • जोड़ें WebSocketException और अपवाद हैंडलर के लिए समर्थन # 1263 हाँ।
  • जोड़ें middleware के लिए पैरामीटर Mount कक्षा # 1649 हाँ।
  • आधिकारिक तौर पर पायथन 3.11 का समर्थन करता है # 1863 हाँ।
  • लागू करें __repr__ मार्ग कक्षाओं के लिए # 1864 हाँ।

निश्चित

  • बग ठीक करें जिस पर BackgroundTasks उपयोग करते समय रद्द कर दिए गए थे BaseHTTPMiddleware और क्लाइंट डिस्कनेक्ट हो गया # 1715 हाँ।

0.20.4

28 जून, 2022

निश्चित

  • स्कीमा उत्पन्न करते समय पथ से कनवर्टर निकालें # 1648 हाँ।

0.20.3

10 जून, 2022

निश्चित

  • वापस "अनुमति दें StaticFiles सिमलिंक का पालन करने के लिए " # 1681 हाँ।

0.20.2

7 जून, 2022

तय

  • बृहदान्त्र के साथ मार्ग पथों पर निश्चित प्रतिगमन # 1675 हाँ।
  • अनुमति दें StaticFiles सिमलिंक का पालन करने के लिए # 1337 हाँ।

0.20.1

28 मई, 2022

तय

  • async कॉलबल्स का बेहतर पता लगाना # 1444 हाँ।
  • 400 भेजें (Bad Request) जब boundary गायब है # 1617 हाँ।
  • 400 भेजें (Bad Request) जब लापता "नाम" क्षेत्र पर Content-Disposition हेडर # 1643 हाँ।
  • को खाली डेटा न भेजें StreamingResponse पर BaseHTTPMiddleware # 1609 हाँ।
  • जोड़ें __bool__ के लिए डंडर Secret # 1625 हाँ।

0.20.0

3 मई, 2022

हटा दिया गया

  • ड्रॉप पायथन समर्थन # 1357 और # 1616 हाँ।

0.19.1

22 अप्रैल, 2022

तय

  • का निश्चित अनुमान Route.name जब तरीकों से बनाया जाता है # 1553 हाँ।
  • बचें TypeError पर websocket.disconnect जब कोड है None # 1574 हाँ।

पुराना

  • पदावनति WS_1004_NO_STATUS_RCVD और WS_1005_ABNORMAL_CLOSURE के पक्ष में WS_1005_NO_STATUS_RCVD और WS_1006_ABNORMAL_CLOSURE, जैसा कि पिछले स्थिरांक मेल नहीं खाते थे वेबसॉकेट्स चश्मा # 1580 हाँ।

0.19.0

9 मार्च, 2022

जोड़ा गया

  • त्रुटि हैंडलर हमेशा चलेंगे, भले ही त्रुटि पृष्ठभूमि कार्य पर हो # 761 हाँ।
  • जोड़ें headers के लिए पैरामीटर HTTPException # 1435 हाँ।
  • के साथ आंतरिक प्रतिक्रियाएं 405 स्थिति कोड सम्मिलित करें a Allow हेडर, जैसा कि वर्णित है आरएफसी 7231 # 1436 हाँ।
  • मौजूद है JSONResponse में content पैरामीटर अब # 1431 की आवश्यकता है।
  • कस्टम कनवर्टर पंजीकरण # 1437 जोड़ें।
  • की ओर FileResponse # 1266 सामग्री निपटान प्रकार पैरामीटर जोड़ें।
  • आवश्यक डेकोरेटर # 920 में, मूल अनुरोध के साथ अगला क्वेरी पैरामीटर जोड़ें।
  • होगा raw_path में जोड़ें TestClient रेंज में # 1445।
  • यूनियन ऑपरेटर को जोड़ें MutableHeaders # 1240 में।
  • डिबग पृष्ठ # 1363 पर लापता मार्ग विवरण प्रदर्शित करें।
  • होगा anyio आवश्यक संस्करण रेंज में बदल गया है >=3.4.0,<5.0 # 1421 और # 1460।
  • जोड़ें typing-extensions>=3.10 आवश्यक - पायथन 3.10 से कम संस्करणों में केवल # 1475 का उपयोग करें।

तय

  • रोकना BaseHTTPMiddleware छिपाना StreamingResponse और स्थापित एप्लिकेशन # 1459 के साथ त्रुटि।
  • SessionMiddleware स्पष्ट का उपयोग करें path=... डिफ़ॉल्ट रूप से ASGI के "root_path" # 1512 का उपयोग करने के बजाय।
  • Request.client यह अब ASGI विनिर्देश # 1462 के अनुरूप है।
  • लापता सीमाओं के खिलाफ प्रारंभिक पदोन्नति # 1349 KeyError ...

पुराना

  • A2WSGI के पक्ष में WSGIleको चित्रित करें # 1504 हाँ।
  • पदावनति run_until_first_complete # 1443 हाँ।

0.18.0

23 जनवरी, 2022

जोड़ा गया

  • डिफ़ॉल्ट चंक आकार को 4Kb से 64Kb पर बदलें FileResponse # 1345 हाँ।
  • के लिए समर्थन जोड़ें functools.partial में WebSocketRoute # 1356 हाँ।
  • जोड़ें StaticFiles निर्देशिका के साथ पैकेज # 1350 हाँ।
  • वातावरण में विकल्पों की अनुमति दें Jinja2Templates # 1401 हाँ।
  • AD पर विधियों की अनुमति दें HttpEndpoint # 1346 हाँ।
  • पर अतिरिक्त हेडर स्वीकार करें websocket.accept संदेश # 1361 और # 1422 हाँ।
  • जोड़ें reason को WebSocket ASGI घटनाओं को बंद करना # 1417 हाँ।
  • हेडर विशेषता जोड़ें UploadFile # 1382 हाँ।
  • छोड़ना मत Content-Length के लिए हेडर Content-Length: 0 मामले # 1395 हाँ।
  • 1xx, 204 और 304 स्थिति कोड के साथ प्रतिक्रियाओं के लिए हेडर सेट न करें # 1397 हाँ।
  • SessionMiddleware.max_age अब स्वीकार करता है None, इसलिए कुकीज़ ब्राउज़र सत्र जब तक कि रह सकती हैं # 1387 हाँ।

तय

  • ट्वीक hashlib.md5() पर कार्य FileResponse ETपीढ़ी। पैरामीटर usedforsecurity झंडा सेट है False, यदि सिस्टम पर ध्वज उपलब्ध है। यह सिस्टम पर उठाए गए त्रुटि को ठीक करता है फिप्स सक्षम # 1366 और # 1410 हाँ।
  • निश्चित path_params पर टाइप करें url_path_for() विधि यानी घूमना str में Any # 1341 हाँ।
  • Host अब नजरअंदाज करता है port रूटिंग पर # 1322 हाँ।

0.17.1

17 नवंबर, 2021

तय

  • निश्चित IndexError प्रमाणीकरण में requires जब लिपटे फ़ंक्शन तर्कों के बीच वितरित किए जाते हैं *args और **kwargs # 1335 हाँ।

0.17.0

4 नवंबर, 2021

जोड़ा गया

  • Response.delete_cookie अब समान मापदंडों को स्वीकार करता है Response.set_cookie # 1228 हाँ।
  • अपडेट करें Jinja2Templates अनुमति देने के लिए निर्माता PathLike # 1292 हाँ।

तय

  • Sleमें फिक्स्ड बैडसिग्नेचर अपवाद हैंडलिंग # 1264 हाँ।
  • परिवर्तन HTTPConnection.__getitem__ से वापसी प्रकार str को typing.Any # 1118 हाँ।
  • परिवर्तन ImmutableMultiDict.getlist से वापसी प्रकार typing.List[str] को typing.List[typing.Any] # 1235 हाँ।
  • हैंडल OSError पर अपवाद StaticFiles # 1220 हाँ।
  • निश्चित StaticFiles 404. मोड में Ht # 1314 हाँ।
  • किसी को भी रोकें। eHTTPleleके तहत त्रुटि विचारों में अपवाद समूह # 1262 हाँ।

हटा दिया गया

  • hQL समर्थन निकालें # 1198 हाँ।

0.16.0

19 जुलाई, 2021

जोड़ा गया

तय

  • starlette.websockets.WebSocket उदाहरण अब हैशबल हैं और पहचान की तुलना में हैं # 1039
  • जीवनकाल में कार्य समूहों को चलाने से संबंधित कई सुधार # 1213, # 1227

पदावनत / हटा दिया गया

  • विधि starlette.templates.Jinja2Templates.get_env हटा दिया गया था # 1218
  • क्लासवर starlette.testclient.TestClient.async_backend हटा दिया गया था, बैकएंड अब कंस्ट्रक्टर kwarका उपयोग करके कॉन्फ़िगर किया गया है # 1211
  • एक Ac जनरेटर फ़ंक्शन या एक जनरेटर फ़ंक्शन पास करना starlette.routing.Router(lifespan=) क्या deprecated.You अपने जीवनकाल को लपेटना चाहिए @contextlib.asynccontextmanager हाँ। # 1227 # 1110

0.15.0

23 जून, 2021

यह रिलीज़ te के अंतर्निहित अतुल्यकालिक भाग में बड़े बदलाव करती है। नतीजतन, te अब पर निर्भर करता है, और कुछ मामूली एपीआई परिवर्तन हुए हैं। इस रिलीज़ में एक और बड़ा बदलाव बिल्ट-इन ग्राफक्यूएल समर्थन का चित्रण है।

जोड़ा गया

  • अब te के माध्यम से एक अतुल्यकालिक रनटाइम के रूप में तिकड़ी का समर्थन करता है - # 1157।
  • TestClient.websocket_connect() अब इसका उपयोग संदर्भ प्रबंधक के रूप में किया जाना चाहिए।
  • पायथन 3.10 के लिए प्रारंभिक समर्थन - # 1201। GZipMiddleware में* द्वारा उपयोग किया जाने वाला संपीड़न स्तर अब समायोज्य है - # 1128।

तय

  • हाँ। CORSMiddleware कई सुधार। # 1111, # 1112, # 1113, # 1देखें।
  • डुप्लिकेट पथ पैरामीटर नामों के मामले में बेहतर अपवाद संदेश - # 1177।
  • RedirectResponse अब में Location सिर का उपयोग quote के बजाय एन्कोडिंग quote_plus Django जैसे अन्य रूपरेखाओं में बेहतर मैच व्यवहार के लिए कोडिंग - # 1164।
  • अधिक मामलों में, अपवाद कारणों को अब संरक्षित किया गया है - # 1158।
  • किसी एप्लिकेशन को माउंट करने के मामले में, सत्र कुकीज़ अब ASGI रूट पथ का उपयोग करते हैं - # 1147।
  • कुछ परिस्थितियों में स्थिर फ़ाइलों को हटाते समय एक कैश अमान्य त्रुटि फिक्स्ड - # 1023।
  • बड़ी प्रतिक्रियाओं की बेहतर हैंडलिंग BaseHTTPMiddleware मेमोरी उपयोग - # 1द्वारा फिक्स्ड # 1012

पदावनत/हटाया गया

  • बिल्ट-इन ग्राफक्यूएल समर्थन के माध्यम से GraphQLApp कक्षा को हटा दिया गया है और भविष्य की रिलीज में हटा दिया जाएगा। कृपया देखें # 619 hQL पायथन 3.10 पर समर्थित नहीं है।
  • executor के लिए पैरामीटर GraphQLApp हटा दिया गया था। इस्तेमाल किया executor_class इसके बजाय।
  • workers के लिए पैरामीटर WSGIMiddleware हटा दिया गया था। te v0.6.3 के बाद से इसका कोई प्रभाव नहीं पड़ा है।

0.14.2

2 फरवरी, 2021

निश्चित

  • निश्चित ServerErrorMiddleware डिबग मोड सक्षम होने पर पायथन 3.9.1 3.8.7 के साथ संगतता - # 1132 हाँ।
  • फिक्स्ड अनक्लोज्ड सॉकेट ResourceWarning एस का उपयोग करते समय TestClient वेबसॉकेट एंडपॉइंट के साथ - # 1132।
  • का बेहतर पता लगाना async में लिपटे समापन बिंदु functools.partial अजगर 3.8 + पर - # 1106 हाँ।

0.14.1

9 नवंबर, 2020

हटा दिया गया

  • UJSONResponse हटा दिया गया था (इस परिवर्तन को 0.14.0 में शामिल करने का इरादा था)। कृपया देखें प्रलेखन कस्टम JSक्रमबद्धता का उपयोग करके प्रतिक्रियाओं को कैसे लागू करें - # 1074 हाँ।

0.14.0

8 नवंबर, 2020

जोड़ा गया

  • te अब आधिकारिक तौर पर पायथन 3.9 का समर्थन करता है।
  • में StreamingResponse, कस्टम async पुनरावृत्तियों की अनुमति देता है जैसे कि कक्षाओं को लागू करने से ऑब्जेक्ट __aiter__ हाँ।
  • के उपयोग की अनुमति दी functools.partial पायथन संस्करण और 3.7 में एसिंक हैंडलर।
  • जोड़ा गया 418 मैं एक चायदानी स्थिति कोड हूं।

बदल गया

  • उन्हें भेजने से पहले हैंडलर कोरोटिन से कार्य बनाएं asyncio.wait हाँ।
  • उपयोग format_exception के बजाय format_tb में ServerErrorMiddleware का debug प्रतिक्रियाएं।
  • का उपयोग करते समय हैंडलर तर्कों के साथ अधिक उदार रहें requires डेकोरेटर।

0.13.8

  • वापस Queue(maxsize=1) के लिए ठीक करें BaseHTTPMiddleware मिडलवेयर कक्षाएं और स्ट्रीमिंग प्रतिक्रियाएं।

  • StaticFiles निर्माता अब अनुमति देता है pathlib.Path इसके लिए तार के अलावा directory तर्क।

0.13.7

  • उपयोग करते समय फिक्स्ड उच्च मेमोरी उपयोग BaseHTTPMiddleware मिडलवेयर कक्षाएं और स्ट्रीमिंग प्रतिक्रियाएं।

0.13.6

  • 404 के साथ त्रुटियों को ठीक करें StaticFiles हाँ।

0.13.5

  • Starlette(lifespan=...) सुविधाओं के लिए समर्थन जोड़ता है।
  • Staticएप्लिकेशन में अधिक शक्तिशाली पथ ट्रैवर्सल जाँच।
  • WSGI H _ INएन्कोडिंग ठीक करें।
  • Retअब वैकल्पिक पृष्ठभूमि मापदंडों को स्वीकार करता है
  • पथ मार्गों को नियमित अभिव्यक्ति मेटाचार्टर्स शामिल करने की अनुमति दें
  • ASGI HTके "बॉडी" को एक वैकल्पिक कुंजी के रूप में समझें।
  • मेमोरी में फाइलें अपलोड करने के लिए लिखने के लिए थ्रेड पूल का उपयोग न करें।

0.13.0

  • आरंभीकरण शैली में एप्लिकेशन कॉन्फ़िगरेशन की सुविधा के लिए चारों ओर स्विच करें। यह घोषणात्मक रूटिंग टेबल और मिडलवेयर परिभाषाओं के पक्ष में डेकोरेटर शैली को छोड़ माध्य है।

0.12.12

  • "नेस्टेड इंस्टॉल" मामलों के लिए ठीक करें request.url_for() सवाल।

0.12.11

  • ASGI का उपयोग करते समय root_path मरम्मत का समय request.url_for() ...

0.12.1

  • जोड़ें URL.include_query_params(**kwargs)
  • जोड़ें URL.replace_query_params(**kwargs)
  • जोड़ें URL.remove_query_params(param_names)
  • request.state मिडलवेयर में सही ढंग से बने रहना।
  • जोड़ा गया request.scope इंटरफ़ेस।

0.12.0

  • ASGI पर स्विच करें।
  • कोर मिडलवेयर को ठीक करता है।
  • जोड़ें StaticFiles(html=True) समर्थन।
  • पुनर्निर्देशित प्रतिक्रियाओं में फिक्स्ड पथ उद्धरण।

0.11.1

  • जोड़ें request.state इंटरफ़ेस, मनमानी अतिरिक्त जानकारी संग्रहीत करने के लिए।
  • के साथ hiQL को अक्षम करने का समर्थन करें GraphQLApp(..., graphiql=False) हाँ।

0.11.0

  • DatabaseMiddleware अब के पक्ष में गिरा दिया गया है databases
  • टेम्पलेट अब एप्लिकेशन उदाहरण पर कॉन्फ़िगर नहीं किए गए हैं। का उपयोग करें templates = Jinja2Templates(directory=...) और return templates.TemplateResponse('index.html', {"request": request})
  • स्कीमा पीढ़ी अब एप्लिकेशन उदाहरण से जुड़ी नहीं है। उपयोग schemas = SchemaGenerator(...) और return schemas.OpenAPIResponse(request=request)
  • LifespanMiddleware राउटर-आधारित जीवनकाल हैंडलिंग के पक्ष में गिरा दिया गया है।
  • आवेदन उदाहरण अब एक स्वीकार करते हैं routes तर्क, Starlette(routes=[...])
  • स्कीमा पीढ़ी में अब घुड़सवार मार्ग शामिल हैं।

0.10.6

  • जोड़ें Lifespan रूटिंग घटक।

0.10.5

  • सुनिश्चित करें templating कड़ाई से आवश्यकता नहीं है jinja2 स्थापित किया जाना है।

0.10.4

  • टेम्पलेट्स अब एप्लिकेशन उदाहरण से स्वतंत्र रूप से कॉन्फ़िगर किए गए हैं। templates = Jinja2Templates(directory=...) मौजूदा एपीआई जगह में बना हुआ है, लेकिन अब प्रलेखित नहीं है, और नियत समय में हटा दिया जाएगा। अधिक जानकारी के लिए टेम्पलेट प्रलेखन देखें।

0.10.3

  • स्वतंत्र की ओर बढ़ रहा है databases के बजाय पैकेजिंग DatabaseMiddleware मौजूदा एपीआई जगह में बना हुआ है, लेकिन अब प्रलेखित नहीं है, और नियत समय में पदावनत किया जाएगा।

0.10.2

  • से पुनर्निर्देशित पर स्पष्ट पोर्ट नंबर न छोड़ें HTTPSRedirectMiddleware हाँ।

0.10.1

  • SQL डेटाबेस समर्थन जोड़ें।
  • होस्ट-आधारित रूटिंग जोड़ें।

0.10.0

  • अब डिफ़ॉल्ट रूप से पाठ डेटा फ़्रेम के माध्यम से JSभेजते / प्राप्त करते हैं .send_json(data, mode="binary") और .receive_json(mode="binary") बाइनरी फ्रेमिंग करें।
  • GraphQLApp अब एक स्वीकार करें executor_class पैरामीटर का उपयोग मौजूदा मापदंडों की प्राथमिकता में किया जाना चाहिए executor पैरामीटर। इवेंट लूप सेट होने से पहले अतुल्यकालिक निष्पादक को तत्काल करने के साथ एक समस्या को संबोधित करता है। उम्मीद executor पैरामीटर्स को अगले मध्यम या बड़े रिलीज में पदावनत किया जाएगा।
  • प्रमाणीकरण और @requires डेकोरेटर अब वेबसॉकेट एंडपॉइंट का समर्थन करते हैं।
  • MultiDict और ImmutableMultiDict में कक्षा uvicorn.datastructures में उपलब्ध है।
  • QueryParams अब मानक शब्दकोश शैली का उपयोग कर रहा है *args, **kwargs पैरामीटर तुरंत होते हैं।

0.9.11

  • सत्र कुकीज़ में अब मौजूदा हस्ताक्षरित समाप्ति समय के अलावा ब्राउज़र की "समाप्ति" शामिल है।
  • request.form() अब एक मल्टी-डिक्शनरी इंटरफ़ेस लौटाएं।
  • जब कई समान कुंजी आइटम दिखाई देते हैं, तो क्वेरी पैरामीटर मल्टी-डिक्शनरी कार्यान्वयन अब है .keys() , .values() और .items() व्यवहार जो अधिक सटीक रूप से दर्शाता है dict ...
  • पूरी प्रक्रिया में उपयोग करें urlsplit के बजाय urlparse ...

0.9.10

  • वर्ग विधियों के लिए समर्थन @requires(...) ...
  • डेटा बनाने के लिए एस्केप लागू करें।
  • स्वचालित समर्थन HEAD अनुरोध।
  • जोड़ें await request.is_disconnected() ...
  • संचालन नाम को hQL निष्पादक को पास करें।

0.9.9

  • जोड़ें TemplateResponse ...
  • जोड़ें CommaSeparatedStrings डेटाटाइप।
  • जोड़ें BackgroundTasks कई कार्यों के लिए।
  • के लिए सामान्य उपवर्ग Request और WebSocket, को session कार्यात्मकता।
  • के साथ दूरस्थ पता उजागर करें request.client हाँ।

0.9.8

  • जोड़ें request.database.executemany हाँ।

0.9.7

  • सुनिश्चित करें कि AuthenticationMiddleware जीवनकाल संदेशों को सही ढंग से संभालता है।

0.9.6

  • जोड़ें AuthenticationMiddleware, और @requires() डेकोरेटर।

0.9.5

  • समर्थन या तो str या Secret के लिए SessionMiddleware(secret_key=...) हाँ।

0.9.4

  • जोड़ें config.environ हाँ।
  • जोड़ें datastructures.Secret हाँ।
  • जोड़ें datastructures.DatabaseURL हाँ।

0.9.3

  • जोड़ें config.Config(".env")

0.9.2

  • वैकल्पिक डेटाबेस समर्थन जोड़ा गया।
  • जोड़ें request hQL संदर्भ के लिए।
  • किसी भी पासवर्ड घटकों को छिपाएं URL.__repr__ हाँ।

0.9.1

  • स्टार्टअप / शटडाउन त्रुटियों को ठीक से संभालें।

0.9.0

  • TestClient अब इसके बजाय एक संदर्भ प्रबंधक के रूप में इस्तेमाल किया जा सकता है LifespanContext हाँ।
  • Lipan को अब मिडलवेयर के रूप में संभाला जाता है। स्टार्टअप और शटडाउन इवेंट पूरे मिडलवेयर स्टैक में दिखाई देते हैं।

0.8.8

  • तृतीय-पक्ष एपीआई स्कीमा जनरेटर के लिए बेहतर समर्थन।

0.8.7

  • Testent के साथ चंक्ड अनुरोधों का समर्थन करें।
  • WSGIleके साथ ठीक से सफाई asyncio कार्य। सेवा मॉकिंग के लिए एंडपॉइंट के भीतर Testent का उपयोग करके* समर्थन।

0.8.6

  • सत्र कुकीज़ अब रूट पथ पर सेट हैं।

0.8.5

  • कन्वर्टर्स के लिए समर्थन।
  • समर्थन से आता है StaticFiles HT304 कैश्ड प्रतिक्रिया।
  • फॉर्म डेटा में चरित्र भागने के मुद्दे को हल करें।

0.8.4

  • प्रतिक्रिया में डिफ़ॉल्ट शरीर खाली है।

0.8.3

  • की ओर @app.route() "नाम" पैरामीटर जोड़ें।
  • "होस्ट" हेडर का उपयोग करके पुनर्निर्माण करें।

0.8.2

स्थिर फ़ाइल

  • Staticअब सही नहीं है HEAD अनुरोध की प्रतिक्रिया फ़ाइल पढ़ती है।

0.8.1

टेम्पलेट

  • Ja2 का उपयोग करके डिफ़ॉल्ट टेम्पलेट कॉन्फ़िगरेशन जोड़ें।

निम्नलिखित की अनुमति है:

ऐप = स्टारलेट (टेम्पलेट_डायरेक्टरी = "टेम्पलेट")

@app.route ('/')
Ac def मुखपृष्ठ (अनुरोध):
    #`url_for` टेम्पलेट के अंदर उपलब्ध है।
    टेम्पलेट = get_ टेम्पलेट ('index.html')
    सामग्री = टेम्पलेट (request = request)
    HTप्रतिक्रिया लौटाता है (content)

0.8.0

अपवाद

  • जोड़ी जोड़ें @app.exception_handler(404) समर्थन।
  • सुनिश्चित करें कि नियंत्रित अपवादों को मिडलवेयर स्टैक द्वारा त्रुटियों के रूप में नहीं माना जाता है।

बातचीत मिडलवेयर

  • जोड़ें max_age, और टाइमस्टैम्प-हस्ताक्षरित कुकीज़ का उपयोग करें। दो सप्ताह तक दोष।

कुकीज़

  • सुनिश्चित करें कि कुकीज़ कड़ाई से HTसही हैं।

स्टेटिक फाइलें

  • चेक निर्देशिका तात्कालिकता पर मौजूद है।

0.7.4

सहमति

  • जोड़ें starlette.concurrency.run_in_threadpool हैंडल। अभी व contextvar समर्थन।

0.7.3

रूटिंग

  • जोड़ें name= को समर्थन app.mount()। यह अनुमति देता है जैसे: app.mount('/static', StaticFiles(directory='static'), name='static') हाँ।

0.7.2

मिडलवेयर

  • के लिए समर्थन जोड़ें @app.middleware("http") डेकोरेटर।

रूटिंग

  • ASGI दायरे में "समापन बिंदु" जोड़ें।

0.7.1

डिबग ट्रेसबैक

  • बेहतर डिबगिंग ट्रेसबैक जानकारी और स्टाइलिंग।

रूटिंग

  • "पथ =" के साथ माउंटेड लुकअप का समर्थन करें, उदाहरण के लिए। url_for('static', path=...) हाँ।
  • नेस्टेड लुकअप का समर्थन करें, उदाहरण के लिए। url_for('admin:user', username=...) हाँ।
  • जोड़ा गया पुनर्निर्देशित स्लैश समर्थन।
  • जोड़ा गया www पुनर्निर्देशित समर्थन।

पृष्ठभूमि कार्य

  • पृष्ठभूमि कार्यों में समर्थन जोड़ें FileResponse और StreamingResponse हाँ।

0.7.0

एपीआई स्कीमा समर्थन

  • जोड़ें app.schema_generator = SchemaGenerator(...) हाँ।
  • जोड़ें app.schema संपत्ति।
  • जोड़ें OpenAPIResponse(...) हाँ।

ग्राफक्यूएल रूटिंग

  • ड्रॉप app.add_graphql_route("/", ...) अधिक सुसंगत के पक्ष में app.add_route("/", GraphQLApp(...)) हाँ।

0.6.3

रूटिंग एपीआई

  • विधियों के लिए मार्ग का समर्थन करता है।
  • सुनिश्चित करें url_path_for माउंट के साथ काम करता है ('/{some_path_params}')।
  • फिक्स्ड राउटर (default =) तर्क।
  • बार-बार पथ का समर्थन करता है, जैसे: @app.route("/", methods=["GET"]), @app.route("/", methods=["POST"])
  • सभी सिंक समापन बिंदुओं के लिए डिफ़ॉल्ट readPoolExका उपयोग करें।

0.6.2

Sleleवेयर

जोड़ा गया जोड़ा request.session समर्थन, और SessionMiddleware ...

0.6.1

बेसHTमिडलवेयर

जोड़ा गया जोड़ा BaseHTTPMiddleware यह नियमित ASGI मिडलवेयर के माध्यम से एक मानक अनुरोध / प्रतिक्रिया इंटरफ़ेस प्रदान करता है।

यह माध्य आप ASGI संदेशों को सीधे संसाधित करने के बजाय अनुरोध / प्रतिक्रिया स्तर पर काम करते हुए ASGI मिडलवेयर लिख सकते हैं।

te.से आयात
से te.le.आयात eHTTPlele


क्लास कस्टममिडलवेयर (BaseHTTPMiddleware):
    nc def प्रेषण (स्व, अनुरोध, call_next):
        प्रतिक्रिया = कॉल का इंतजार करें _ अगला (अनुरोध)
        प्रतिक्रियाएं। हेडर ['कस्टम-हेडर'] = 'परीक्षा'
        वापसी प्रतिक्रिया


ऐप = स्टारलेट ()
App.add_midleware (CustomMiddleware)

0.6.0

पथ _ परम का अनुरोध करें

0.6 में सबसे बड़ा बदलाव यह है कि समापन बिंदु हस्ताक्षर अब नहीं है:

Ac def c (अनुरोध: अनुरोध, ** kwargs) -> प्रतिक्रिया

इसके बजाय, हम सिर्फ उपयोग करते हैं:

एसिंक डिफ फंक (request: Request) - > प्रतिक्रिया

पथ पैरामीटर अनुरोध में सूचीबद्ध है request.path_params फॉर्म उपलब्ध है।

यह अधिकांश पायथन वेब फ्रेमवर्क के विपरीत है, लेकिन मुझे लगता है कि यह अंततः पूरी प्रक्रिया में अधिक सुसंगत होगा।

अनुरोध। url _ for ()

अनुरोध और सत्र अब समर्थित हैं request.url_for(name, **path_params) उलटा प्रदर्शन करें। यह विधि पूरी तरह से योग्य लौटाती है URL उदाहरण। उदाहरण एक स्ट्रिंग जैसी वस्तु है।

App.url_path_for () (यह अंग्रेजी अभिव्यक्ति तकनीकी क्षेत्र में एक विशिष्ट कार्य या विधि नाम हो सकता है। चीनी संदर्भ में, सटीकता और व्यावसायिकता सुनिश्चित करने के लिए मूल पाठ की अंग्रेजी अभिव्यक्ति को कभी-कभी बरकरार रखा जाता है। इसलिए, यहां अनुवाद सीधे मूल पाठ के अंग्रेजी रूप को बरकरार रखता है)

एप्लिकेशन अब app.url_path_for(name, **path_params) का उपयोग करके पथ उलटा का समर्थन करता है। यह विधि पथ और योजना सेट के साथ URL का एक उदाहरण लौटाती है। उदाहरण एक स्ट्रिंग जैसी वस्तु है, जो यदि किसी स्ट्रिंग के लिए मजबूर की जाती है, तो केवल पथ लौटाती है।

ऐप। रूटिंग

आवेदन अब एक का समर्थन करता है .routes पैरामीटर, जो एक वापस आ जाएगा [Route|WebSocketRoute|Mount] की सूची।

रूटिंग, वेबसॉकेट रूटिंग, माउंट

निम्न-स्तरीय घटक Router अब साथ @app.route() , @app.websocket_route() और app.mount() हस्ताक्षर मैच।