This repository has been archived by the owner on May 30, 2023. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==9.2.0
->==9.5.0
v1.0
->v2.0
==0.81.0
->==0.95.2
==2.21.2
->==2.30.0
==0.6.6
->==0.6.12
==1.2.7
->==1.7.1
==4.6.0.66
->==4.7.0.72
==1.4.3
->==2.0.2
==2.0.4
->==2.0.6
3.8.13-slim
->3.11.3-slim
==2.0.0
->==2.4.0
==0.19.3
->==0.20.0
==1.9.1
->==1.10.1
==0.3.2
->==0.9.2
==0.13.0+cu116
->==0.15.2
==0.13.0+cpu
->==0.15.2
==0.8.2+cpu
->==0.15.2
Release Notes
python-pillow/Pillow
v9.5.0
Compare Source
Added ImageSourceData to TAGS_V2 #7053
[radarhere]
Clear PPM half token after use #7052
[radarhere]
Removed absolute path to ldconfig #7044
[radarhere]
Support custom comments and PLT markers when saving JPEG2000 images #6903
[joshware, radarhere, hugovk]
Load before getting size in array_interface #7034
[radarhere]
Support creating BGR;15, BGR;16 and BGR;24 images, but drop support for BGR;32 #7010
[radarhere]
Consider transparency when applying APNG blend mask #7018
[radarhere]
Round duration when saving animated WebP images #6996
[radarhere]
Added reading of JPEG2000 comments #6909
[radarhere]
Decrement reference count #7003
[radarhere, nulano]
Allow libtiff_support_custom_tags to be missing #7020
[radarhere]
Improved I;16N support #6834
[radarhere]
Added QOI reading #6852
[radarhere, hugovk]
Added saving RGBA images as PDFs #6925
[radarhere]
Do not raise an error if os.environ does not contain PATH #6935
[radarhere, hugovk]
Close OleFileIO instance when closing or exiting FPX or MIC #7005
[radarhere]
Added int to IFDRational for Python >= 3.11 #6998
[radarhere]
Added memoryview support to Dib.frombytes() #6988
[radarhere, nulano]
Close file pointer copy in the libtiff encoder if still open #6986
[fcarron, radarhere]
Raise an error if ImageDraw co-ordinates are incorrectly ordered #6978
[radarhere]
Added "corners" argument to ImageDraw rounded_rectangle() #6954
[radarhere]
Added memoryview support to frombytes() #6974
[radarhere]
Allow comments in FITS images #6973
[radarhere]
Support saving PDF with different X and Y resolutions #6961
[jvanderneutstulen, radarhere, hugovk]
Fixed writing int as UNDEFINED tag #6950
[radarhere]
Raise an error if EXIF data is too long when saving JPEG #6939
[radarhere]
Handle more than one directory returned by pkg-config #6896
[sebastic, radarhere]
Do not retry past formats when loading all formats for the first time #6902
[radarhere]
Do not retry specified formats if they failed when opening #6893
[radarhere]
Do not unintentionally load TIFF format at first #6892
[radarhere]
Stop reading when EPS line becomes too long #6897
[radarhere]
Allow writing IFDRational to BYTE tag #6890
[radarhere]
Raise ValueError for BoxBlur filter with negative radius #6874
[hugovk, radarhere]
Support arbitrary number of loaded modules on Windows #6761
[javidcf, radarhere, nulano]
v9.4.0
Compare Source
Fixed null pointer dereference crash with malformed font #6846
[wiredfool, radarhere]
Return from ImagingFill early if image has a zero dimension #6842
[radarhere]
Reversed deprecations for Image constants, except for duplicate Resampling attributes #6830
[radarhere]
Improve exception traceback readability #6836
[hugovk, radarhere]
Do not attempt to read IFD1 if absent #6840
[radarhere]
Fixed writing int as ASCII tag #6800
[radarhere]
If available, use wl-paste or xclip for grabclipboard() on Linux #6783
[radarhere]
Added signed option when saving JPEG2000 images #6709
[radarhere]
Patch OpenJPEG to include ARM64 fix #6718
[radarhere]
Added support for I;16 modes in putdata() #6825
[radarhere]
Added conversion from RGBa to RGB #6708
[radarhere]
Added DDS support for uncompressed L and LA images #6820
[radarhere, REDxEYE]
Added LightSource tag values to ExifTags #6749
[radarhere]
Fixed PyAccess after changing ICO size #6821
[radarhere]
Do not use EXIF from info when saving PNG images #6819
[radarhere]
Fixed saving EXIF data to MPO #6817
[radarhere]
Added Exif hide_offsets() #6762
[radarhere]
Only compare to previous frame when checking for duplicate GIF frames while saving #6787
[radarhere]
Always initialize all plugins in registered_extensions() #6811
[radarhere]
Ignore non-opaque WebP background when saving as GIF #6792
[radarhere]
Only set tile in ImageFile setstate #6793
[radarhere]
When reading BLP, do not trust JPEG decoder to determine image is CMYK #6767
[radarhere]
Added IFD enum to ExifTags #6748
[radarhere]
Fixed bug combining GIF frame durations #6779
[radarhere]
Support saving JPEG comments #6774
[smason, radarhere]
Added getxmp() to WebPImagePlugin #6758
[radarhere]
Added "exact" option when saving WebP #6747
[ashafaei, radarhere]
Use fractional coordinates when drawing text #6722
[radarhere]
Fixed writing int as BYTE tag #6740
[radarhere]
Added MP Format Version when saving MPO #6735
[radarhere]
Added Interop to ExifTags #6724
[radarhere]
CVE-2007-4559 patch when building on Windows #6704
[TrellixVulnTeam, nulano, radarhere]
Fix compiler warning: accessing 64 bytes in a region of size 48 #6714
[wiredfool]
Use verbose flag for pip install #6713
[wiredfool, radarhere]
v9.3.0
Compare Source
Limit SAMPLESPERPIXEL to avoid runtime DOS #6700
[wiredfool]
Initialize libtiff buffer when saving #6699
[radarhere]
Inline fname2char to fix memory leak #6329
[nulano]
Fix memory leaks related to text features #6330
[nulano]
Use double quotes for version check on old CPython on Windows #6695
[hugovk]
Remove backup implementation of Round for Windows platforms #6693
[cgohlke]
Fixed set_variation_by_name offset #6445
[radarhere]
Fix malloc in _imagingft.c:font_setvaraxes #6690
[cgohlke]
Release Python GIL when converting images using matrix operations #6418
[hmaarrfk]
Added ExifTags enums #6630
[radarhere]
Do not modify previous frame when calculating delta in PNG #6683
[radarhere]
Added support for reading BMP images with RLE4 compression #6674
[npjg, radarhere]
Decode JPEG compressed BLP1 data in original mode #6678
[radarhere]
Added GPS TIFF tag info #6661
[radarhere]
Added conversion between RGB/RGBA/RGBX and LAB #6647
[radarhere]
Do not attempt normalization if mode is already normal #6644
[radarhere]
Fixed seeking to an L frame in a GIF #6576
[radarhere]
Consider all frames when selecting mode for PNG save_all #6610
[radarhere]
Don't reassign crc on ChunkStream close #6627
[wiredfool, radarhere]
Raise a warning if NumPy failed to raise an error during conversion #6594
[radarhere]
Show all frames in ImageShow #6611
[radarhere]
Allow FLI palette chunk to not be first #6626
[radarhere]
If first GIF frame has transparency for RGB_ALWAYS loading strategy, use RGBA mode #6592
[radarhere]
Round box position to integer when pasting embedded color #6517
[radarhere, nulano]
Removed EXIF prefix when saving WebP #6582
[radarhere]
Pad IM palette to 768 bytes when saving #6579
[radarhere]
Added DDS BC6H reading #6449
[ShadelessFox, REDxEYE, radarhere]
Added support for opening WhiteIsZero 16-bit integer TIFF images #6642
[JayWiz, radarhere]
Raise an error when allocating translucent color to RGB palette #6654
[jsbueno, radarhere]
Added reading of TIFF child images #6569
[radarhere]
Improved ImageOps palette handling #6596
[PososikTeam, radarhere]
Defer parsing of palette into colors #6567
[radarhere]
Apply transparency to P images in ImageTk.PhotoImage #6559
[radarhere]
Use rounding in ImageOps contain() and pad() #6522
[bibinhashley, radarhere]
Fixed GIF remapping to palette with duplicate entries #6548
[radarhere]
Allow remap_palette() to return an image with less than 256 palette entries #6543
[radarhere]
Corrected BMP and TGA palette size when saving #6500
[radarhere]
Do not call load() before draft() in Image.thumbnail #6539
[radarhere]
Copy palette when converting from P to PA #6497
[radarhere]
Allow RGB and RGBA values for PA image putpixel #6504
[radarhere]
Removed support for tkinter in PyPy before Python 3.6 #6551
[nulano]
Do not use CCITTFaxDecode filter if libtiff is not available #6518
[radarhere]
Fallback to not using mmap if buffer is not large enough #6510
[radarhere]
Fixed writing bytes as ASCII tag #6493
[radarhere]
Open 1 bit EPS in mode 1 #6499
[radarhere]
Removed support for tkinter before Python 1.5.2 #6549
[radarhere]
Allow default ImageDraw font to be set #6484
[radarhere, hugovk]
Save 1 mode PDF using CCITTFaxDecode filter #6470
[radarhere]
Added support for RGBA PSD images #6481
[radarhere]
Parse orientation from XMP tag contents #6463
[bigcat88, radarhere]
Added support for reading ATI1/ATI2 (BC4/BC5) DDS images #6457
[REDxEYE, radarhere]
Do not clear GIF tile when checking number of frames #6455
[radarhere]
Support saving multiple MPO frames #6444
[radarhere]
Do not double quote Pillow version for setuptools >= 60 #6450
[radarhere]
Added ABGR BMP mask mode #6436
[radarhere]
Fixed PSDraw rectangle #6429
[radarhere]
Raise ValueError if PNG sRGB chunk is truncated #6431
[radarhere]
Handle missing Python executable in ImageShow on macOS #6416
[bryant1410, radarhere]
codespell-project/actions-codespell
v2.0
Compare Source
What's Changed
New Contributors
Full Changelog: codespell-project/actions-codespell@v1...v2.0
tiangolo/fastapi
v0.95.2
Compare Source
>=0.27.0
for a security release. PR #9541 by @tiangolo. Details on Starlette's security advisory.Translations
docs/pt/docs/advanced/events.md
. PR #9326 by @oandersonmagalhaes.docs/ru/docs/deployment/manually.md
. PR #9417 by @Xewus.docs/ru/docs/tutorial/testing.md
. PR #9403 by @Xewus.docs/ru/docs/deployment/https.md
. PR #9428 by @Xewus.docs/fr/docs/advanced/response-directly.md
. PR #9415 by @axel584.docs/pt/docs/index.md
. PR #9337 by @lucasbalieiro.docs/ru/docs/tutorial/response-status-code.md
. PR #9370 by @nadia3373.Internal
flask.escape
warning for internal tests. PR #9468 by @samuelcolvin.v0.95.1
Compare Source
Fixes
Annotated
in routers or path operations decorated multiple times. PR #9315 by @sharonyogev.Docs
Annotated
. PR #9298 by @grdworkin.docs/en/docs/advanced/behind-a-proxy.md
. PR #5681 by @Leommjr.docs/fa/docs/index.md
. PR #6083 by @Kimiaattaei.docs/en/docs/help-fastapi.md
. PR #9249 by @armgabrielyan.docs/en/docs/tutorial/query-params-str-validations.md
. PR #9272 by @nicornk.docs/en/docs/tutorial/query-params-str-validations.md
. PR #9273 by @tim-habitat.docs/en/docs/tutorial/path-params-numeric-validations.md
. PR #9282 by @aadarsh977.docs/en/docs/tutorial/query-params-str-validations.md
. PR #9380 by @dasstyxx.Translations
docs/fr/docs/advanced/index.md
. PR #5673 by @axel584.docs/pt/docs/tutorial/body-nested-models.md
. PR #4053 by @luccasmmg.docs/ru/docs/alternatives.md
. PR #5994 by @Xewus.docs/pt/docs/tutorial/extra-models.md
. PR #5912 by @LorhanSohaky.docs/pt/docs/tutorial/path-operation-configuration.md
. PR #5936 by @LorhanSohaky.docs/ru/docs/contributing.md
. PR #6002 by @stigsanek.docs/tutorial/dependencies/classes-as-dependencies.md
. PR #9176 by @sehwan505.docs/ru/docs/project-generation.md
. PR #9243 by @Xewus.docs/fr/docs/index.md
. PR #9265 by @frabc.docs/ru/docs/tutorial/query-params-str-validations.md
. PR #9267 by @dedkot01.docs/ru/docs/benchmarks.md
. PR #9271 by @Xewus.Internal
v0.95.0
Compare Source
Highlights
This release adds support for dependencies and parameters using
Annotated
and recommends its usage. ✨This has several benefits, one of the main ones is that now the parameters of your functions with
Annotated
would not be affected at all.If you call those functions in other places in your code, the actual default values will be kept, your editor will help you notice missing required arguments, Python will require you to pass required arguments at runtime, you will be able to use the same functions for different things and with different libraries (e.g. Typer will soon support
Annotated
too, then you could use the same function for an API and a CLI), etc.Because
Annotated
is standard Python, you still get all the benefits from editors and tools, like autocompletion, inline errors, etc.One of the biggest benefits is that now you can create
Annotated
dependencies that are then shared by multiple path operation functions, this will allow you to reduce a lot of code duplication in your codebase, while keeping all the support from editors and tools.For example, you could have code like this:
There's a bit of code duplication for the dependency:
...the bigger the codebase, the more noticeable it is.
Now you can create an annotated dependency once, like this:
And then you can reuse this
Annotated
dependency:...and
CurrentUser
has all the typing information asUser
, so your editor will work as expected (autocompletion and everything), and FastAPI will be able to understand the dependency defined inAnnotated
. 😎Roughly all the docs have been rewritten to use
Annotated
as the main way to declare parameters and dependencies. All the examples in the docs now include a version withAnnotated
and a version without it, for each of the specific Python versions (when there are small differences/improvements in more recent versions). There were around 23K new lines added between docs, examples, and tests. 🚀The key updated docs are:
Annotated
Annotated
Annotated
dependenciesSpecial thanks to @nzig for the core implementation and to @adriangb for the inspiration and idea with Xpresso! 🚀
Features
Annotated
for specifying dependencies and parameters. PR #4871 by @nzig.Docs
Annotated
in docs. PR #9270 by @tiangolo.Annotated
as the main recommendation, with new examples and tests. PR #9268 by @tiangolo.v0.94.1
Compare Source
Fixes
v0.94.0
Compare Source
Upgrades
lifespan
with state. PR #9239 by @tiangolo.Docs
Translations
docs/ru/docs/history-design-future.md
. PR #5986 by @Xewus.Internal
pydantic
to PyPI classifiers. PR #5914 by @yezz123.v0.93.0
Compare Source
Features
lifespan
async context managers (supersedingstartup
andshutdown
events). Initial PR #2944 by @uSpike.Now, instead of using independent
startup
andshutdown
events, you can define that logic in a single function withyield
decorated with@asynccontextmanager
(an async context manager).For example:
Note: This is the recommended way going forward, instead of using
startup
andshutdown
events.Read more about it in the new docs: Advanced User Guide: Lifespan Events.
Docs
docs/en/docs/tutorial/metadata.md
forReDoc
. PR #6005 by @eykamp.Translations
docs/fr/docs/advanced/path-operation-advanced-configuration.md
. PR #9221 by @axel584.docs/tutorial/debugging.md
. PR #9175 by @frabc.deployment/manually.md
. PR #3693 by @rjNemo.Internal
v0.92.0
Compare Source
🚨 This is a security fix. Please upgrade as soon as possible.
Upgrades
v0.91.0
Compare Source
Upgrades
0.24.0
and refactor internals for compatibility. PR #5985 by @tiangolo.0.24.0
, a new instance of each middleware class would be created when a new middleware was added. That normally was not a problem, unless the middleware class expected to be created only once, with only one instance, that happened in some cases. This upgrade would solve those cases (thanks @adriangb! Starlette PR #2017). Now the middleware class instances are created once, right before the first request (the first time the app is called).v0.90.1
Compare Source
Upgrades
Docs
docs/en/docs/project-generation.md
. PR #5930 by @chandra-deb.Translations
docs/ru/docs/tutorial/cookie-params.md
. PR #5890 by @bnzone.Internal
zip-docs.sh
internal script, remove extra space. PR #5931 by @JuanPerdomo00.v0.90.0
Compare Source
Upgrades
Docs
Translations
docs/ru/docs/tutorial/body-fields.md
. PR #5898 by @simatheone.docs/ru/docs/help-fastapi.md
. PR #5970 by @tiangolo.docs/pt/docs/tutorial/static-files.md
. PR #5858 by @batlopes.docs/pt/docs/tutorial/encoder.md
. PR #5525 by @felipebpl.docs/ru/docs/contributing.md
. PR #5870 by @Xewus.Internal
Configuration
📅 Schedule: Branch creation - "before 3am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate. View repository job log here.