python3-Pillow-8.4.0-bp155.3.9.1<>,?fzI%z WzQh̢bw2}$4Ϥ1 /x Si`[ ~ԅPf]8ny;@2)^G# 2Vh09voQTeo a_fiNFTaPB,rz)=3 e8>՞L<."Tq*z];}lzqR)Ey}?| `}4?Yb8.Ѩnc/dPii{ b jԮ;$'×? n|Zo5Fɭ3`K,:Y$USD|G2r2j6o_"2ZqG`Y]{I8gJMzkET6rn2H.l#< TP<'#4t_D2k ?{]`49FGN RIG|ruSp`bh9U2~x>UoUQxc~e--JU>A ? d # A (CIP%% .%  x%  % X1% YX%]%c%i^i%nnTnq(q8q;9r;:x;B FG0%H%IX%XπYόZϸ[ϼ\%]X%^b7cdeflu%v<wP%x%yxJz     Cpython3-Pillow8.4.0bp155.3.9.1Python Imaging Library (Fork)Pillow is the "friendly" PIL fork by Alex Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and Contributors.fzi04-ch2c(x"SUSE Linux Enterprise 15openSUSEHPNDhttp://bugs.opensuse.orgUnspecifiedhttps://python-pillow.org/linuxx86_64 87% Ca3.$   v -L*F)ܯ" vR?)7]OCP:= R(n0; / /?R#_t_%%?J;*N ~ ) ))<<   CCaa  V v,, m mBaBa 99>>00$c$ciiUU~e~e,,UsUs 88DD44 f f ? ?=>A>99^^ s sttFFTT  9  kk!9!9oo   ffLLsgsg EE++nnzz&&  NN 5 5ee)) kktt# # S0. g2r$ ZIA큤A큤큤큤A큤A큤A큤fOfOaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaifJaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaifJaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaifOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOaifNfBfBfBfBaiaiaifBaifOfOfOaiffOaiffxai#aifxaiae266aae4fa1c99aa1e5fd59d19c228b774a7f112c07286ef5c53d20e0c5f8d68519d280564e2224e059f2486911d14295384ca568936137d4a258eac6d93f079ae78cbca2d0ad2fdbd3cd9a82d16c9119f3842a31b8e1325f75700e6e70cdd8ed775b84f01c5c363ddced2b1e0f2881c173e459a11751bd64a9aecc6e20236766aeb41b072a4094e6649ac0f4442af7842f62936ac18bd0cc7a2387853b483cd54d79cd45e358ef2e58af8cc82a7ae8487b76340453ea147820e806a7b036407abfdb237575133972d107c526ad1f64c946c2b0f98b30eeb7017516b3b088c06df1122d38e2f467aba88e2862ccb9a1317244c96bda68d2b17ce963d22e2ec971448650dc7fb1fe5416bcb230bace7f5bc9408331f46c2831fbafc73dc1835598a891c9587935c5fd308d41c81ce59d2075bbcc71fe45fb43fc1c6a57199016d184682b23303da6d639966055e2cbea695a1a36d981f17ecfc5ae51ce886dbd17d349b2ba3e3b2c4a9adf522c17a6c792d9682a855c87a30556d963d9ee50f0a46782d4923a779c5d616461b0acf4ff7c9e17318823f8d86d084960da3a9fb62e441c6f052ed42e1fa243276e0f9aa3d92ca76457fac69a3d189efb3daba47e9ca1a2a316b90b4abd5fdaaf6b7b7f86d455ff78d741c1647255714c4692bac9ac73646577e1176d62de4972941aa8f2726b226e354f17422c78afd198306dbdbbd90e21d07160c46b5df5df23019ccf4bb2befc4d442c0edd4d7171f6b9d53e24559252cb06d73d6bf3ce0642d05b6774fbba13c5e1c0d74ae5b772d81fdd359375f562eb24523bed1dbac9d7cc49ac011233e3035441f491c79217eeee8c3b1b40a54668d11c82685349e61be3feb607a12c7662a798b4ad8e3ee698c9edb7ff05af366078d007d0d4ce6c4f1a1861738c0295908e2eebaee6ea6617ddd5d5b1206b4e2b1372e9ee0b459c490e3fe799d5eae16f2c243424b49deb6760511cce3b453d921c564597bd844f9c7a30e9703d9049448bbef6c3b3c54ae12a9aae957caef34b830c2225b721660ae4e154bce3194eebed59e375c44796024e540c86bbb75aeeeca16a1197e0862aced6bf5e056de887bf1bff9791e4495b272b7d4451724651494d5bad8be4d9f725aca8feef249c9d817d4c0ba9a3630c1dc3ed6b7415af73359117c8f36b62397b29c89bf06cbef7d9f77e28064660466bb5c91ce1929ee53811c09b75e5331063e6e78cdec29a475967b5d972f238b2cf802c9f1f26c01a0df67a51c33ef2e5f84f766fe316197bc11b4873007c44f5c069cad9ef717ced3c4ba69f533a1a854233c8c37c449710b0ccfd13ddab1671217cfd571f6cb98c1aa99fa6cf9249405b894c58bc8b1fb3f8b5c7c9f60e384922d157a01869053661c776dde03d2cf04da40e307381385190353f4c4ffdf3b979d3590899c2a2e8819b13767c4d315bb9bfb8c741a9c9be169d12debb87864ca06a5e333a430c89f2780349c4b868f93d79095d67d46fa3021377edc2716c455b10cb481757eff2aa18a14e2715e3bfd51ce6050fd4b92f43eafed9c6e246d717a1e3e831d285f30270862862cc2b92d89965ee7f2c560f488153fe623800f571b99cda8d5a034fef3fe29e449b09b48c58862eb5c822b893f2a187a347403ec73b642b0515f3db9014199a5cf3d8e47a931796c3bfb1fe11ed7bc9b79d6a47e8cf44c2806019ca824f9c93912e72356272b2de1a68b752319b0fa4fa170e09eaa3a328bdbce37c207cbc973ce5842674d746fc927dba51ae54ea03fd0cd63e71b83d3322d618c7706bee5be020e5741469459ca85b0f430acb19ce93e02a160b51cf30245e315e848fd1af6a55f2005a288ca07ccf83d5922817d79dcb7eb93651a5955987d7e9427744b2ac5a2aca196cb40156da226e0b5e1f3dc5bc89ec2fc424a1914d027b64018c536d2f7d8d4f05e8bf54d7953cc43b4d53440665d75732c9ddd8c0eef0c7eb069f4c66ede1efe53e5561cb64da29f752ac0d574389fe5287b29b923fa39bab27ea0bfb2dbab09c6606c6c02aac0bda64a82c79a331c4103b3e27908b8e2644713a8e877b36aba3c06afa5829edb99b8d1a60b6cfd3daa03657697ab6c8e6ca630817b1d004c236d543e7e2696271aaeb9b8345dca6b3be2ad4c401252eed56b43323d8cdd2799e35e16921aabc7d7adaf644287079221713727eb496a5159cada887fb0fa8f04e46bfeb678cee17fe8553457de88021f16cf91641514a1d1dc179c0b29a9d6d4cc498fb71b2cea71e4bbd7aa6d2f0ccdb657c2e6a54dee41b3f5ac3217c3f41042395c554e3c90d474982edee5568432d1915fc4fd76662daab9a476b76770f88444bd7d30ae777116f2ef18e8de3070fd3ea75675ff1fc780f193bb00e56f914c7c80437a41f23ccca9d5ea8775e9781612eb3f99c0ee5f08406dd6865308d17b3c7c65d8fee7fa2039b3342111977b46c121f78be34eead76249a6dbb861a28c8d9bd364596c95c4ff0dab8b6134b57a69f5e9981dcbc1dc7e47b5ea5430656b39dcf66ae0103f3b13c230f0e45bada7cd82d3bff4f86d177a966725135200aa773acf2dfeaa37d8dd96aae32899747d245d41bd5ee7e28359d5b2fb731485c8539717fd4cf832c366b138db7fbd64541c6627a19552f0e6d520b742e52961d78d7c6bbd95804b5f59dd0adf7ab4e6dc7b372adb03b98e52d3830a0f28972b78886e2386cd5f4fbc20d4a4e40723bcaa7953570c123c5ad0f883c5194f3f81108c6752dbef772e56143e9e4c75434a2a7727066ff129ca4b193ea167c40a6a2f54a748191113316708435e5d6142d066d9e38606e5b234957084d5cf50e959d1258a098980f321e674e4ff30c35964e2927e3e6d9006de478b839b3de5c39dcf3b5fb9e5d616ed4c6ab2e2c4e8bfab6e8e46ded55886e47fd67e8de52447539511a3a58a37e96009626c77d23b83bf2fb4a164573f891d13ecdcc0e382a82ed703211cc0a03158d1113ec42fe2070ff5de4c31caeb4a156be75d5029ebcad7388ac899f45a5968916431061b3c356b6d69b7b3cd8a72927f6b09eca7818aac541ddbeef3cba9eaed2cd4b1d1939ed070550dc02a7787ba6c10af22d29dcff775555d4073f7ff2d515cd45ac213bb1e874b5291f744c3efbeebabe506ee0e03dcbbcec439cb8808213861c858baa2b4f4a49a1acd9913892387e7726e9000e7f3a0e30ba103a7742d33ca2bcb766877df69aaa62d06e1a88acd69891e4db658a674a06aac8257133600dfa781fc4be1823809238a5e1fb6b184d356dfb027f62c5e145018a281e1e0365260fa2d5e741fa6e78e7545463bc0a421f5402d45f477b29e809ee40664df06b5b4e84fbc7cca513fa6303193dc077b35d4b91ffdf658b24815df2682f6c23cdd3437f4835853a8dfedc20754b0aaae0c6b57a4514e1d15887e6faf6df4f10a88d24fc22f647018fa2176f47f0231b02712f2f86bba0565eaab1ded20fbd7a2e343dd165273d33b3db0eac8c710dd652822d3a61d6a56d93a7fe9f15d468795764d98370780c488c935d44b2236c4b0f929908758da7e96952b43cf5b6d5504bbcb70c913ba93556408d60946825df305d3e091b7d4217872b8e33dfba83af0c7f35a38bea275cd9d0e10145bcfae79b5e60496c8f130c96a92b8f68714ae8b3585b5140e598efce667c67807c2abe8d39d52a4a2a56f7f5f998a88b04bb3ec31bcf4518359743a0812dfeeab028a53a94b4bf215170123a2dc04d45238fc81d49f1ffa525fe09d4406dfa0ebbf29d00d0d5ce931abbb0633c7729a77833071d09b027301bae5c36796907291203b748780ea4eda1ca0f68a4beb08a86989e615bfb522795a3296b147b3cef87b57a7ea34ac184a231b34c1aae4d2b05f6832210085aab56528e5f8e0af54a82c21a2685352bf4fdc50281bed0669a85c196ea7f54865684feeb5f8e0af54a82c21a2685352bf4fdc50281bed0669a85c196ea7f54865684feeb42a17d2791c2474782eb89b6829e1be6c483b4fa87a923485d8d900225811a1b42a17d2791c2474782eb89b6829e1be6c483b4fa87a923485d8d900225811a1b65ab2e562c9c553c158e0fe27802458fe3d42b7955ad94fb12de85715b02d38365ab2e562c9c553c158e0fe27802458fe3d42b7955ad94fb12de85715b02d383938390f880310b8dee17c35b4cb1ce93287628e38548197c482237cb710afa4d938390f880310b8dee17c35b4cb1ce93287628e38548197c482237cb710afa4dc1206c9493739ec8fa8a1b023b6aa9610f8c7c2c2d0758d2287c1a2a3d683598c1206c9493739ec8fa8a1b023b6aa9610f8c7c2c2d0758d2287c1a2a3d68359880e4cf007be75d2c610dbd65de359860a5a2a3e09d27e095733786921a01908e80e4cf007be75d2c610dbd65de359860a5a2a3e09d27e095733786921a01908e4c5c68651a66c27e52956e822479e353db31577af44ea83c9235a3df38e533404c5c68651a66c27e52956e822479e353db31577af44ea83c9235a3df38e53340da7d6b154378dac2fb112f507aa25432471b91050b81af834212eab6865b5140da7d6b154378dac2fb112f507aa25432471b91050b81af834212eab6865b51400c93c1b222b600597c29c776a1a0645bb0ea9b248bbedf9071ea797ff8f85dc60c93c1b222b600597c29c776a1a0645bb0ea9b248bbedf9071ea797ff8f85dc6cf371971fe1e5c0beaa1be26138d48be8e50620694518d535b47ea500f36470fcf371971fe1e5c0beaa1be26138d48be8e50620694518d535b47ea500f36470ffef16ea3b4ea0b8a1966df5a6042cef9470576e412539c1ec7318974179c4d2afef16ea3b4ea0b8a1966df5a6042cef9470576e412539c1ec7318974179c4d2a27ff562ff3160dcbe8fc040bad49036b033d37eca77ca4602a4450a20e4ae0e327ff562ff3160dcbe8fc040bad49036b033d37eca77ca4602a4450a20e4ae0e3df0cd21dfdab175dba9e49a01b09020fa610fb6e619ff6b1e9a0760e6d77f6ffdf0cd21dfdab175dba9e49a01b09020fa610fb6e619ff6b1e9a0760e6d77f6ff7b5486657df37437c0723b8517340f81bc8cf61f7ce10f810bace439769e1aa07b5486657df37437c0723b8517340f81bc8cf61f7ce10f810bace439769e1aa06bd108684ee7527f6264f59c591780c349937a668e8c4aa43f23011bb93087e20e468a1c5dd8685ff02a9a757735ee6fbe26761fb139b825865f0732c9e215508753f2e28b8321314febd14e8cba563671add167bbe7c603df71883f2d2155b78753f2e28b8321314febd14e8cba563671add167bbe7c603df71883f2d2155b7d532810d234361e27b505fa73cfefcede6f59080e7c6d541669543eca40715d7d532810d234361e27b505fa73cfefcede6f59080e7c6d541669543eca40715d7feed2ac87de9c50289e5d85338fce3836f41ddd190ae7d59b2e4b3fb91bf2194feed2ac87de9c50289e5d85338fce3836f41ddd190ae7d59b2e4b3fb91bf2194de3b76ffde9c9506bb7ec69c43b310b54a3c67dd6831031f2a5a150204260ddade3b76ffde9c9506bb7ec69c43b310b54a3c67dd6831031f2a5a150204260ddab565e36d4bdf638df2e56499f2b7da52de7d578ca0322c2705015c1e25c636e4b565e36d4bdf638df2e56499f2b7da52de7d578ca0322c2705015c1e25c636e47e5fca1e5dd0e21624dbf491fe6d7dbb976741e92bfcf577ee0e5a920ef890447e5fca1e5dd0e21624dbf491fe6d7dbb976741e92bfcf577ee0e5a920ef890443d5bc57e5aeeee46563341bbee474d1860be9589350706c840d69768bc861c9e3d5bc57e5aeeee46563341bbee474d1860be9589350706c840d69768bc861c9eef4cc5802b2e5382ce0356bf2dd569f9c81ac768d522e47af630ebff6a6541a6ef4cc5802b2e5382ce0356bf2dd569f9c81ac768d522e47af630ebff6a6541a66853b5928359b3efcf58a6fdfdbd96ecad42cdb00d0f87d990868ed2b076c8906853b5928359b3efcf58a6fdfdbd96ecad42cdb00d0f87d990868ed2b076c890b4258e0d20767c8fa684f4ecc14c72d4b29c6dbabf82cef94c8dacb40625c2cdb4258e0d20767c8fa684f4ecc14c72d4b29c6dbabf82cef94c8dacb40625c2cd45199fb4327d7ca9ab267d31a3fa75246dcb4fca8cfc85cb2503735575be44bba5fc83db73d1f32dfc46c4c7a19d523e4cbde4345c93ec21b12dd61a87c3f2bf9e78b607cd282ce3df230a25650b45d6e5d975b22e22964c43b5b80f5e99265d9e78b607cd282ce3df230a25650b45d6e5d975b22e22964c43b5b80f5e99265d591b59264a63067f2a6bfb10fc066dc97601aea75435d62ad4b815fdd7ff90ff591b59264a63067f2a6bfb10fc066dc97601aea75435d62ad4b815fdd7ff90ff984f25332020313fd1f5a5ac211c6323b723abb8e27afb85a99681915c0a4e5f984f25332020313fd1f5a5ac211c6323b723abb8e27afb85a99681915c0a4e5fe45e2fac595239af18b6e543065000e5bcf5ca317b1c4f7bacba57496e30e0a6e45e2fac595239af18b6e543065000e5bcf5ca317b1c4f7bacba57496e30e0a6386bb9bd540c8f4a9dd0b7ac6343a9b73be68be082bbad108197691e5728dcc1386bb9bd540c8f4a9dd0b7ac6343a9b73be68be082bbad108197691e5728dcc190d73d7d40a2c042c3457ab5f5b98c255757101a29ad28bd604f1e174490382590d73d7d40a2c042c3457ab5f5b98c255757101a29ad28bd604f1e1744903825ceec2ac65919061d22e5725ac3194d39d2ed70f61ad066d71604c096d0e27616685dac8bd7eefafbe8bc934ed15ef3b81992745daf457e73ca38f3b1e77a597ad9f7e77958b175e6ede6390418fe1e6fa08d3604733bba1f7de8c33c72493aa1d9f7e77958b175e6ede6390418fe1e6fa08d3604733bba1f7de8c33c72493aa1b2a4d23fb2d8833320d40a587618fad713acd18044bec40273ec859cee59a1c7b2a4d23fb2d8833320d40a587618fad713acd18044bec40273ec859cee59a1c7657342ca93019b3e0476ed18403059a21a71c14e47e2df92509713f198fc954f657342ca93019b3e0476ed18403059a21a71c14e47e2df92509713f198fc954f646a2305123a62ad0d6d8468c9d116c10e9bfbb7ea535275c71bbdeaf2457afa646a2305123a62ad0d6d8468c9d116c10e9bfbb7ea535275c71bbdeaf2457afa86a2aeba4d6e1e86febabeb37d01447b61e1ddc503784076d0318a7560a476b686a2aeba4d6e1e86febabeb37d01447b61e1ddc503784076d0318a7560a476b6c1c0c141c37d8f080b1391b414a1d5bdfce006dc4bf7f73c3f20090ff1f82acb7171d199f80a7a843e2306bf36c07ceabd4253f4b343287477428e1b74330f548526384ac7cd19a2be90d2fa06b557a51125444191737ad379b0ad998e56cb37851e20997089f53150519314c6d3d71fb885135164d93b80f5bd03db4c41e17b5e2c4c7d11bf74f0c3232ff0d40c8ac7fd32ed439f653c3a6ed084102e9e29b05e2c4c7d11bf74f0c3232ff0d40c8ac7fd32ed439f653c3a6ed084102e9e29b0cb9c1adc4956f4cc137faa184b713549a7a62edc0d37849702c240d6c6c6669dcb9c1adc4956f4cc137faa184b713549a7a62edc0d37849702c240d6c6c6669d140bb2c78fdb1bb84b767264f3edf37b719f61770b8678ab471af38c5e88a543140bb2c78fdb1bb84b767264f3edf37b719f61770b8678ab471af38c5e88a5434d460b2e5bc5d75d7017f1dd958e20f9f3bb4da53768d9b4fc30713b23ba2af04d460b2e5bc5d75d7017f1dd958e20f9f3bb4da53768d9b4fc30713b23ba2af08632462afcd44a5eb718fcf7c281745e89e7ee83551009a8f7205d5a22e5fdd88632462afcd44a5eb718fcf7c281745e89e7ee83551009a8f7205d5a22e5fdd84797d2e9f04edc265265f0467bc5df27907e30a7d8478e867883f1b92e32c1244797d2e9f04edc265265f0467bc5df27907e30a7d8478e867883f1b92e32c124ef84a925055ed52a8b78a3f2c2622a5c5bf07ab19a7e9123aa936e6d50db786def84a925055ed52a8b78a3f2c2622a5c5bf07ab19a7e9123aa936e6d50db786dd5600574cc652b4675690dcb5b993168d1b70fb3dcd51f7cb53b2c6289fe52acd5600574cc652b4675690dcb5b993168d1b70fb3dcd51f7cb53b2c6289fe52ac26eda9cd8a35aa565c8202336fb64fd1c289e239a87eaae3045977a7d6ac52b226eda9cd8a35aa565c8202336fb64fd1c289e239a87eaae3045977a7d6ac52b20f0818126b7302a66598ca551b0c33914f55cec87a4085f5d67f2ae23d6f8cd70f0818126b7302a66598ca551b0c33914f55cec87a4085f5d67f2ae23d6f8cd7827ed5e012ec459e05fc3164f1a1eb1d710c3532bddb69171f94f8b089921c49827ed5e012ec459e05fc3164f1a1eb1d710c3532bddb69171f94f8b089921c49a4dad1754768f2b751e3c9abdefa11e6f44adc6ac00c70376ff9162c6987dda4a4dad1754768f2b751e3c9abdefa11e6f44adc6ac00c70376ff9162c6987dda4fb2b66c73974a1c5910722613f45b4b075646899ebc9b2b2e9b79a979301829bfb2b66c73974a1c5910722613f45b4b075646899ebc9b2b2e9b79a979301829b2f14609ab0baf6e4b834c65d6d0787d50d88330703a84af704b9c4a09207a3172f14609ab0baf6e4b834c65d6d0787d50d88330703a84af704b9c4a09207a317f36ac82e8293b92c1df4889ffa89594c78dfaccee4077185042313b66d4f5ff7f36ac82e8293b92c1df4889ffa89594c78dfaccee4077185042313b66d4f5ff7b61342bc67a44427548d30648c700ee37d5c5c7e06139968741932a2b5e99e73b61342bc67a44427548d30648c700ee37d5c5c7e06139968741932a2b5e99e73b58ad546df9185b4dc38398ac4fc2f7c4db76ca26d95db1eb3c2c8d4cf60012f5bf3fa0989e695c18e14cea76939a7b8c9920f456fca6706c84796e29ef75c230bdd4ba771cce641181a8634875117526db1e17ad51188b45cc9911024f90e8c0bdd4ba771cce641181a8634875117526db1e17ad51188b45cc9911024f90e8ca2942900cba978fcb7d5c592ad589b947b09f80ec304fa168077be5d4e5453d0a2942900cba978fcb7d5c592ad589b947b09f80ec304fa168077be5d4e5453d0376b42b9857c2aa6f6c568c264dbc69b915e3cd6bf15c4d050fd488a0ffd2422376b42b9857c2aa6f6c568c264dbc69b915e3cd6bf15c4d050fd488a0ffd2422d3116a4a56c72d665dc31264b736b14475d92019fc3bdf8098b3926e5cac24ded3116a4a56c72d665dc31264b736b14475d92019fc3bdf8098b3926e5cac24de8ea84b0298959d6f2da123f4a37b8662dc36a260a6b8810c5b6d1d4aff8be4c48ea84b0298959d6f2da123f4a37b8662dc36a260a6b8810c5b6d1d4aff8be4c4765414b8ee3d9045d6e78f324301ad2eb8fca7b529369805c44dcde495be2591765414b8ee3d9045d6e78f324301ad2eb8fca7b529369805c44dcde495be2591dd6f78c2b8f6306f5b6d07e3d240b0d55ae3dd87281132dfa9b3391ae419037a14e78e5a58e2e96d4ce018fa780f673b07108394e795a54ca3850a32ca60bc83caf9b549fb8f509fb511c9655ce9652bdfbf734ec2d26200b6cadbe20f78597acaf9b549fb8f509fb511c9655ce9652bdfbf734ec2d26200b6cadbe20f78597af3f9b9e12f98bcf5218afe0d5a8d874c2ea21b77c67db71f2453c66e9c52c246f3f9b9e12f98bcf5218afe0d5a8d874c2ea21b77c67db71f2453c66e9c52c246b2707e290988a7eb46376a3936016ea38c45b3a704e6a2ab1f6a5ead7261ee76b2707e290988a7eb46376a3936016ea38c45b3a704e6a2ab1f6a5ead7261ee76b23385de67c0bd6e691ab860dce7facf43dba10a79f3ffb93056e33353cee1a7b23385de67c0bd6e691ab860dce7facf43dba10a79f3ffb93056e33353cee1a786334247f3a155cf87022ac01e3d9c5ee42bf676af5a328f99db9077331bebc786334247f3a155cf87022ac01e3d9c5ee42bf676af5a328f99db9077331bebc7e14582f540c56b7fbe1c202dfe0c03c35b53a6076e6f12405f8de12ff5a18087e14582f540c56b7fbe1c202dfe0c03c35b53a6076e6f12405f8de12ff5a18087ac46ec6d2085c9793d5c900df84542d8c60a5eaf83a42d0e0e1a5ca28fb67499ac46ec6d2085c9793d5c900df84542d8c60a5eaf83a42d0e0e1a5ca28fb67499b7776d8faed9ae57a3d0085b9682c94560ff0066ae74dd8246226ac02fc319d9b7776d8faed9ae57a3d0085b9682c94560ff0066ae74dd8246226ac02fc319d978287353b99f443d6af5c3ee3a2f1d3f85883f56a468a49cc549e9de947e8b3978287353b99f443d6af5c3ee3a2f1d3f85883f56a468a49cc549e9de947e8b3908b42f2660a2452e159838ddc1874f1a48c103aec207954d600ccacb5efd9d2108b42f2660a2452e159838ddc1874f1a48c103aec207954d600ccacb5efd9d21d66e800dcab2ad02298621b7cd160e7d0d09d4cf8dfa65d6a50870aa26df26f1d66e800dcab2ad02298621b7cd160e7d0d09d4cf8dfa65d6a50870aa26df26f16a9712aeafd2ea449f8085777b7e3aecaaeaa9c62546035ef8b06ae1b8518fd96a9712aeafd2ea449f8085777b7e3aecaaeaa9c62546035ef8b06ae1b8518fd9a74ed357c1b4ab63bd66990c4fa59a83ee659530bc4a1a2fcbf0c7844d60ac29a74ed357c1b4ab63bd66990c4fa59a83ee659530bc4a1a2fcbf0c7844d60ac294ca28f8b672362629ebd4fa3d814accfe2bb93871b93c408e841f68604d5d3f74ca28f8b672362629ebd4fa3d814accfe2bb93871b93c408e841f68604d5d3f7f744064089c2ebae6d6bf646742cb1e26a844fac0511a5bdf20128263fa49a8df744064089c2ebae6d6bf646742cb1e26a844fac0511a5bdf20128263fa49a8dc265174110b999c7f9388f9b0250493a2a09d7ce15cfdf755304f499f9e77962c265174110b999c7f9388f9b0250493a2a09d7ce15cfdf755304f499f9e779621789f25f305e0d04ce84c590b0cbf220130f20cb6b855994612f8c331c9bca3b1789f25f305e0d04ce84c590b0cbf220130f20cb6b855994612f8c331c9bca3b570c7ccd73bbd8d5a66cb8aa5efb0e4b92abf8a6c6c939a98aeb430c5adac937570c7ccd73bbd8d5a66cb8aa5efb0e4b92abf8a6c6c939a98aeb430c5adac937cdf2220744eaea9488edd5c75465f2307e0ae447a90c10541908719d900a482fcdf2220744eaea9488edd5c75465f2307e0ae447a90c10541908719d900a482fe0f8097967167e01572c06b5d9ea262b625053d506a5e9f3005977469c8c6088e0f8097967167e01572c06b5d9ea262b625053d506a5e9f3005977469c8c6088223f4697ada746b36cd1c75c290369f9b434e516d05c2f91bcb49efbbf1d4732223f4697ada746b36cd1c75c290369f9b434e516d05c2f91bcb49efbbf1d4732bb9abed1fd90d038cf2c62eaf50f2759f07eff6bc09287ddbcf3afcae997d15dbb9abed1fd90d038cf2c62eaf50f2759f07eff6bc09287ddbcf3afcae997d15d9118fec59825a2c35108470bd6857c66bc52fa3ef34802a0b445506ad1dedb4f9118fec59825a2c35108470bd6857c66bc52fa3ef34802a0b445506ad1dedb4fd8a460dbb3960d0bbd9fb531018577f076efe2a2782252d3f2d11f159d2a9518d8a460dbb3960d0bbd9fb531018577f076efe2a2782252d3f2d11f159d2a9518838ee2bf74a7e82e93ed806349462aa2b2148adaeeabb450253b92088fdf0cbc838ee2bf74a7e82e93ed806349462aa2b2148adaeeabb450253b92088fdf0cbcfaf115f522765b01ea3009a29b2e81cb5bef082e83cfd00d6d1f0cbab2943855faf115f522765b01ea3009a29b2e81cb5bef082e83cfd00d6d1f0cbab2943855f9070d15a95306d4c62cf858f1b11096411a31e0de1d526787ff18c8aaaa4fb6f9070d15a95306d4c62cf858f1b11096411a31e0de1d526787ff18c8aaaa4fb6139aa1c4d27b8616c4a2abb498e0ce5c74fccfe1434528571b78d3261b0375ab212eafb434b118abbabd7443612221c82bb987bf15bb2e9fef99eed4ebb4f8f15deb7b5ac9a394cd374ef5e492b2b83d0551f6ae1c772bc919778fe8a56332b129106c9ded886425082a3ad7d8563db112cb4a21018bee361f1da00b3181ee63b0004d77c63fc96b3cc74ec290704ded2f672ee319dd3806c275da8a0a655483fe31823d90f7ac2444cf9b15edd3ab0642432c826dbe145a7e33c21b7519ba52f97ef16dad473baea91b52b929235fe18a3678e4701535dca05b47b2698d11c4a5b8d7e4a6355b6a19c98542e1313d6a2d8f7eb259ac0b0ee61027cff24c79ebcfe56e0386c6b414180913b252d824318f34922f570166e2713eef288593bbcefdd1733458597b1e818082fa9c36d9a73f46aa633769169fba4c63788d979b818f62d3eafefc70759b47ccfc3956801886c9588f81b3ada97e20758b57e68a73868319c2a2f86af1781740dc3d8a71610ace48f2bc92b3ab8dccf7791c3475b7ad500ac3609a56dfdc8c7d6f5d5b469ad077a2fd14102e8206683f84f121beac01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546bae266aae4fa1c99aa1e5fd59d19c228b774a7f112c07286ef5c53d20e0c5f8d601ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546bffd6b6fac223a202ba6d6c94912297f3b9a0df629caea102076091a273c51f293db54d268f5b265849a9421f164e00655d042a24ad7e49b45b10743665c506b65bb11d96b393a698df70018069a986248021f286344c437a13f299c3daf1dfd4rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-Pillow-8.4.0-bp155.3.9.1.src.rpmpython3-Pillowpython3-Pillow(x86-64)python3-imaging@@@@@@@@@@@@@@@@@@@@@@     libc.so.6()(64bit)libc.so.6(GLIBC_2.11)(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libfreetype.so.6()(64bit)libimagequant.so.0()(64bit)libjpeg.so.8()(64bit)libjpeg.so.8(LIBJPEG_8.0)(64bit)liblcms2.so.2()(64bit)libopenjp2.so.7()(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libpython3.6m.so.1.0()(64bit)libtiff.so.5()(64bit)libwebp.so.7()(64bit)libwebpdemux.so.2()(64bit)libwebpmux.so.3()(64bit)libxcb.so.1()(64bit)libz.so.1()(64bit)python(abi)python3-olefilerpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.63.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3fJfE@fBa}3a4@`@``i@`F`?z@`@` a@_k_@_@_=@_*@_ ^^v^]X](] @]\\\C@\1\ @[F[:ZȲZ\ZX@ZV@YY@YJY@XXX}@W@WA@VV@VՄ@V2VHVHsVf@U@U@U|@U7@U6;TԬTq@Tk4Daniel Garcia Daniel Garcia Daniel Garcia Dirk Müller Arun Persaud Michael Ströder Arun Persaud Arun Persaud Dirk Müller Adrian Schröter Oliver Kurz Dirk Müller pgajdos@suse.comArun Persaud Callum Farmer Tomáš Chvátal Matej Cepl Arun Persaud Tomáš Chvátal Arun Persaud Arun Persaud Tomáš Chvátal Tomáš Chvátal Arun Persaud Oliver Kurz Matej Cepl Oliver Kurz Tomáš Chvátal Arun Persaud Tomáš Chvátal Arun Persaud arun@gmx.dearun@gmx.detchvatal@suse.comidonmez@suse.comtchvatal@suse.comtbechtold@suse.comtbechtold@suse.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comjmatejek@suse.combadshah400@gmail.comro@suse.dedmueller@suse.comnormand@linux.vnet.ibm.commichael@stroeder.comtoddrme2178@gmail.comopensuse@cboltz.dearun@gmx.dejacobwinski@gmail.comseife+obs@b1-systems.comdmueller@suse.commcihar@suse.cztbechtold@suse.comhpj@urpla.nettbechtold@suse.comtoddrme2178@gmail.com- Add upstream patch CVE-2022-45198.patch, added GIF decompression bomb check. Also add new test files as new source: - decompression_bomb_extents.gif (bsc#1205416, CVE-2022-45198, gh#python-pillow/Pillow#6402/commits/c9f1b35e981075110a23487a8d4a6cbb59a588ea)- Add upstream patch CVE-2022-22815.patch, Fixed ImagePath.Path array handling (bsc#1194551, bsc#1194552, CVE-2022-22815, CVE-2022-22816, gh#python-pillow/Pillow#5920/commits/c48271ab354db49cdbd740bc45e13be4f0f7993c)- Add CVE-2023-50447-environment-keys-filtering.patch: * Filter out builtins from the environment. (CVE-2023-50447, bsc#1219048)- update to 8.4.0: - Prefer global transparency in GIF when replacing with background color #5756 - Added "exif" keyword argument to TIFF saving #5575 - Copy Python palette to new image in quantize() #5696 - Read ICO AND mask from end #5667 - Actually check the framesize in FliDecode.c #5659 - Determine JPEG2000 mode purely from ihdr header box #5654 - Fixed using info dictionary when writing multiple APNG frames #5611 - Allow saving 1 and L mode TIFF with PhotometricInterpretation 0 #5655 - For GIF save_all with palette, do not include palette with each frame #5603 - Keep transparency when converting from P to LA or PA #5606 - Copy palette to new image in transform() #5647 - Added "transparency" argument to EpsImagePlugin load() #5620 - Corrected pathlib.Path detection when saving #5633 - Added WalImageFile class #5618 - Consider I;16 pixel size when drawing text #5598 - If default conversion from P is RGB with transparency, convert to RGBA #5594 - Speed up rotating square images by 90 or 270 degrees #5646 - Add support for reading DPI information from JPEG2000 images - Catch TypeError from corrupted DPI value in EXIF #5639 - Do not close file pointer when saving SGI images #5645 - Deprecate ImagePalette size parameter #5641 - Prefer command line tools SDK on macOS #5624- update to version 8.3.2: * CVE-2021-23437 Raise ValueError if color specifier is too long [hugovk, radarhere] * Fix 6-byte OOB read in FliDecode [wiredfool] * Add support for Python 3.10 #5569, #5570 [hugovk, radarhere] * Ensure TIFF RowsPerStrip is multiple of 8 for JPEG compression [#5588] [kmilos, radarhere] * Updates for ImagePalette channel order #5599 [radarhere] * Hide FriBiDi shim symbols to avoid conflict with real FriBiDi library #5651 [nulano]- update to version 8.3.1: * Catch OSError when checking if fp is sys.stdout #5585 [radarhere] * Handle removing orientation from alternate types of EXIF data #5584 [radarhere] * Make Image.__array__ take optional dtype argument #5572 [t-vi, radarhere]- update to version 8.3.0: * Use snprintf instead of sprintf. CVE-2021-34552 #5567 [radarhere] * Limit TIFF strip size when saving with LibTIFF #5514 [kmilos] * Allow ICNS save on all operating systems #4526 [baletu, radarhere, newpanjing, hugovk] * De-zigzag JPEG's DQT when loading; deprecate convert_dict_qtables [#4989] [gofr, radarhere] * Replaced xml.etree.ElementTree #5565 [radarhere] * Moved CVE image to pillow-depends #5561 [radarhere] * Added tag data for IFD groups #5554 [radarhere] * Improved ImagePalette #5552 [radarhere] * Add DDS saving #5402 [radarhere] * Improved getxmp() #5455 [radarhere] * Convert to float for comparison with float in IFDRational __eq__ [#5412] [radarhere] * Allow getexif() to access TIFF tag_v2 data #5416 [radarhere] * Read FITS image mode and size #5405 [radarhere] * Merge parallel horizontal edges in ImagingDrawPolygon #5347 [radarhere, hrdrq] * Use transparency behind first GIF frame and when disposing to background #5557 [radarhere, zewt] * Avoid unstable nature of qsort in Quant.c #5367 [radarhere] * Copy palette to new images in ImageOps expand #5551 [radarhere] * Ensure palette string matches RGB mode #5549 [radarhere] * Do not modify EXIF of original image instance in exif_transpose() [#5547] [radarhere] * Fixed default numresolution for small JPEG2000 images #5540 [radarhere] * Added DDS BC5 reading #5501 [radarhere] * Raise an error if ImageDraw.textbbox is used without a TrueType font #5510 [radarhere] * Added ICO saving in BMP format #5513 [radarhere] * Ensure PNG seeks to end of previous chunk at start of load_end [#5493] [radarhere] * Do not allow TIFF to seek to a past frame #5473 [radarhere] * Avoid race condition when displaying images with eog #5507 [mconst] * Added specific error messages when ink has incorrect number of bands #5504 [radarhere] * Allow converting an image to a numpy array to raise errors #5379 [radarhere] * Removed DPI rounding from BMP, JPEG, PNG and WMF loading #5476, [#5470] [radarhere] * Remove spikes when drawing thin pieslices #5460 [xtsm] * Updated default value for SAMPLESPERPIXEL TIFF tag #5452 [radarhere] * Removed TIFF DPI rounding #5446 [radarhere, hugovk] * Include code in WebP error #5471 [radarhere] * Do not alter pixels outside mask when drawing text on an image with transparency #5434 [radarhere] * Reset handle when seeking backwards in TIFF #5443 [radarhere] * Replace sys.stdout with sys.stdout.buffer when saving #5437 [radarhere] * Fixed UNDEFINED TIFF tag of length 0 being changed in roundtrip [#5426] [radarhere] * Fixed bug when checking FreeType2 version if it is not installed [#5445] [radarhere] * Do not round dimensions when saving PDF #5459 [radarhere] * Added ImageOps contain() #5417 [radarhere, hugovk] * Changed WebP default "method" value to 4 #5450 [radarhere] * Switched to saving 1-bit PDFs with DCTDecode #5430 [radarhere] * Use bpp from ICO header #5429 [radarhere] * Corrected JPEG APP14 transform value #5408 [radarhere] * Changed TIFF tag 33723 length to 1 #5425 [radarhere] * Changed ImageMorph incorrect mode errors to ValueError #5414 [radarhere] * Add EXIF tags specified in EXIF 2.32 #5419 [gladiusglad] * Treat previous contents of first GIF frame as transparent #5391 [radarhere] * For special image modes, revert default resize resampling to NEAREST #5411 [radarhere] * JPEG2000: Support decoding subsampled RGB and YCbCr images #4996 [nulano, radarhere] * Stop decoding BC1 punchthrough alpha in BC2&3 #4144 [jansol] * Use zero if GIF background color index is missing #5390 [radarhere] * Fixed ensuring that GIF previous frame was loaded #5386 [radarhere] * Valgrind fixes #5397 [wiredfool] * Round down the radius in rounded_rectangle #5382 [radarhere] * Fixed reading uncompressed RGB data from DDS #5383 [radarhere]- update to version 8.2.0: * Added getxmp() method #5144 [UrielMaD, radarhere] * Add ImageShow support for GraphicsMagick #5349 [latosha-maltba, radarhere] * Do not load transparent pixels from subsequent GIF frames #5333 [zewt, radarhere] * Use LZW encoding when saving GIF images #5291 [raygard] * Set all transparent colors to be equal in quantize() #5282 [radarhere] * Allow PixelAccess to use Python __int__ when parsing x and y #5206 [radarhere] * Removed Image._MODEINFO #5316 [radarhere] * Add preserve_tone option to autocontrast #5350 [elejke, radarhere] * Fixed linear_gradient and radial_gradient I and F modes #5274 [radarhere] * Add support for reading TIFFs with PlanarConfiguration=2 #5364 [kkopachev, wiredfool, nulano] * Deprecated categories #5351 [radarhere] * Do not premultiply alpha when resizing with Image.NEAREST resampling #5304 [nulano] * Dynamically link FriBiDi instead of Raqm #5062 [nulano] * Allow fewer PNG palette entries than the bit depth maximum when saving #5330 [radarhere] * Use duration from info dictionary when saving WebP #5338 [radarhere] * Stop flattening EXIF IFD into getexif() #4947 [radarhere, kkopachev] * Replaced tiff_deflate with tiff_adobe_deflate compression when saving TIFF images #5343 [radarhere] * Save ICC profile from TIFF encoderinfo #5321 [radarhere] * Moved RGB fix inside ImageQt class #5268 [radarhere] * Allow alpha_composite destination to be negative #5313 [radarhere] * Ensure file is closed if it is opened by ImageQt.ImageQt #5260 [radarhere] * Added ImageDraw rounded_rectangle method #5208 [radarhere] * Added IPythonViewer #5289 [radarhere, Kipkurui-mutai] * Only draw each rectangle outline pixel once #5183 [radarhere] * Use mmap instead of built-in Win32 mapper #5224 [radarhere, cgohlke] * Handle PCX images with an odd stride #5214 [radarhere] * Only read different sizes for "Large Thumbnail" MPO frames #5168 [radarhere] * Added PyQt6 support #5258 [radarhere] * Changed Image.open formats parameter to be case-insensitive #5250 [Piolie, radarhere] * Deprecate Tk/Tcl 8.4, to be removed in Pillow 10 (2023-01-02) [#5216] [radarhere] * Added tk version to pilinfo #5226 [radarhere, nulano] * Support for ignoring tests when running valgrind #5150 [wiredfool, radarhere, hugovk] * OSS-Fuzz support #5189 [wiredfool, radarhere]- update to 8.1.2: - Fix Memory DOS in BLP (CVE-2021-27921), ICNS (CVE-2021-27922) and ICO (CVE-2021-27923) Image Plugins- Update to 8.1.1 Security * CVE-2021-25289: The previous fix for CVE-2020-35654 was insufficent due to incorrect error checking in TiffDecode.c. * CVE-2021-25290: In TiffDecode.c, there is a negative-offset memcpy with an invalid size * CVE-2021-25291: In TiffDecode.c, invalid tile boundaries could lead to an OOB Read in TiffReadRGBATile * CVE-2021-25292: The PDF parser has a catastrophic backtracking regex that could be used as a DOS attack. * CVE-2021-25293: There is an Out of Bounds Read in SGIRleDecode.c, since pillow 4.3.0. There is an Exhaustion of Memory DOS in the ICNS, ICO, and BLP container formats where Pillow did not properly check the reported size of the contained image. These images could cause arbitrariliy large memory allocations. This was reported by Jiayi Lin, Luke Shaffer, Xinran Xie, and Akshay Ajayan of ASU.edu. Other Changes A crash with the feature flags for LibJpeg and Webp on unreleased Python 3.10 has been fixed- Fix rpmlint warning about duplicate file definition - Fix package build by relying on %python_subpackages for Obsoletes/Conflicts (bsc#1181281)- update to 8.1.0 (bsc#1180833, bsc#1180834, bsc#1180832): * Fix TIFF OOB Write error. CVE-2020-35654 * Fix for Read Overflow in PCX Decoding. CVE-2020-35653 * Fix for SGI Decode buffer overrun. CVE-2020-35655 * Fix OOB Read when saving GIF of xsize=1 * Makefile updates * Add support for PySide6 * Use disposal settings from previous frame in APNG * Added exception explaining that _repr_png_ saves to PNG * Use previous disposal method in GIF load_end * Allow putpalette to accept 1024 integers to include alpha values * Fix OOB Read when writing TIFF with custom Metadata * Added append_images support for ICO * Block TIFFTAG_SUBIFD * Fixed dereferencing potential null pointers * Deprecate FreeType 2.7 * Moved warning to end of execution * Removed unused fromstring and tostring C methods * init() if one of the formats is unrecognised * Moved string_dimension CVE image to pillow-depends * Support raw rgba8888 for DDS - drop patches python-Pillow-tiff-4.2.0.patch python-Pillow-tiff-fix-oob-read.patch (upstream)- fix build with libtiff 4.2.0 - added patches fix https://github.com/python-pillow/Pillow/pull/5153 + python-Pillow-tiff-4.2.0.patch fix https://github.com/python-pillow/Pillow/commit/416f12e772d2b3cb920b18b3625e8b1419d7519e + python-Pillow-tiff-fix-oob-read.patch- specfile: * README.rst -> README.md - update to version 8.0.1: * Update FreeType used in binary wheels to 2.10.4 to fix CVE-2020-15999. [radarhere] * Moved string_dimension image to pillow-depends #4993 [radarhere] - changes from version 8.0.0: * Drop support for EOL Python 3.5 #4746, #4794 [hugovk, radarhere, nulano] * Drop support for PyPy3 < 7.2.0 #4964 [nulano] * Remove ImageCms.CmsProfile attributes deprecated since 3.2.0 #4768 [hugovk, radarhere] * Remove long-deprecated Image.py functions #4798 [hugovk, nulano, radarhere] * Add support for 16-bit precision JPEG quantization values #4918 [gofr] * Added reading of IFD tag type #4979 [radarhere] * Initialize offset memory for PyImagingPhotoPut #4806 [nqbit] * Fix TiffDecode comparison warnings #4756 [nulano] * Docs: Add dark mode #4968 [hugovk, nulano] * Added macOS SDK install path to library and include directories [#4974] [radarhere, fxcoudert] * Imaging.h: prevent confusion with system #4923 [ax3l, ,radarhere] * Avoid using pkg_resources in PIL.features.pilinfo #4975 [nulano] * Add getlength and getbbox functions for TrueType fonts #4959 [nulano, radarhere, hugovk] * Allow tuples with one item to give single color value in getink [#4927] [radarhere, nulano] * Add support for CBDT and COLR fonts #4955 [nulano, hugovk] * Removed OSError in favour of DecompressionBombError for BMP #4966 [radarhere] * Implemented another ellipse drawing algorithm #4523 [xtsm, radarhere] * Removed unused JpegImagePlugin._fixup_dict function #4957 [radarhere] * Added reading and writing of private PNG chunks #4292 [radarhere] * Implement anchor for TrueType fonts #4930 [nulano, hugovk] * Fixed bug in Exif __delitem__ #4942 [radarhere] * Fix crash in ImageTk.PhotoImage on MinGW 64-bit #4946 [nulano] * Moved CVE images to pillow-depends #4929 [radarhere] * Refactor font_getsize and font_render #4910 [nulano] * Fixed loading profile with non-ASCII path on Windows #4914 [radarhere] * Fixed effect_spread bug for zero distance #4908 [radarhere, hugovk] * Added formats parameter to Image.open #4837 [nulano, radarhere] * Added regular_polygon draw method #4846 [comhar] * Raise proper TypeError in putpixel #4882 [nulano, hugovk] * Added writing of subIFDs #4862 [radarhere] * Fix IFDRational __eq__ bug #4888 [luphord, radarhere] * Fixed duplicate variable name #4885 [liZe, radarhere] * Added homebrew zlib include directory #4842 [radarhere] * Corrected inverted PDF CMYK colors #4866 [radarhere] * Do not try to close file pointer if file pointer is empty #4823 [radarhere] * ImageOps.autocontrast: add mask parameter #4843 [navneeth, hugovk] * Read EXIF data tEXt chunk into info as bytes instead of string [#4828] [radarhere] * Replaced distutils with setuptools #4797, #4809, #4814, #4817, [#4829], #4890 [hugovk, radarhere] * Add MIME type to PsdImagePlugin #4788 [samamorgan] * Allow ImageOps.autocontrast to specify low and high cutoffs separately #4749 [millionhz, radarhere]- Fix build with RPM 4.16: error: bare words are no longer supported, please use "...": no == yes.- Fix build on Leap- Remove dependency on pytest-runner as it is unnecessary- update to version 7.2.0: * Do not convert I;16 images when showing PNGs #4744 [radarhere] * Fixed ICNS file pointer saving #4741 [radarhere] * Fixed loading non-RGBA mode APNGs with dispose background #4742 [radarhere] * Deprecated _showxv #4714 [radarhere] * Deprecate Image.show(command="...") #4646 [nulano, hugovk, radarhere] * Updated JPEG magic number #4707 [Cykooz, radarhere] * Change STRIPBYTECOUNTS to LONG if necessary when saving #4626 [radarhere, hugovk] * Write JFIF header when saving JPEG #4639 [radarhere] * Replaced tiff_jpeg with jpeg compression when saving TIFF images [#4627] [radarhere] * Writing TIFF tags: improved BYTE, added UNDEFINED #4605 [radarhere] * Consider transparency when pasting text on an RGBA image #4566 [radarhere] * Added method argument to single frame WebP saving #4547 [radarhere] * Use ImageFileDirectory_v2 in Image.Exif #4637 [radarhere] * Corrected reading EXIF metadata without prefix #4677 [radarhere] * Fixed drawing a jointed line with a sequence of numeric values [#4580] [radarhere] * Added support for 1-D NumPy arrays #4608 [radarhere] * Parse orientation from XMP tags #4560 [radarhere] * Speed up text layout by not rendering glyphs #4652 [nulano] * Fixed ZeroDivisionError in Image.thumbnail #4625 [radarhere] * Replaced TiffImagePlugin DEBUG with logging #4550 [radarhere] * Fix repeatedly loading .gbr #4620 [ElinksFr, radarhere] * JPEG: Truncate icclist instead of setting to None #4613 [homm] * Fixes default offset for Exif #4594 [rodrigob, radarhere] * Fixed bug when unpickling TIFF images #4565 [radarhere] * Fix pickling WebP #4561 [hugovk, radarhere] * Replace IOError and WindowsError aliases with OSError #4536 [hugovk, radarhere]- Update to 7.1.2: * This fixes a regression introduced in 7.1.0 when adding support for APNG files. * When calling seek(n) on a regular PNG where n > 0, it failed to raise an EOFError as it should have done- update to version 7.1.1: * Fix regression seeking and telling PNGs #4512 #4514 [hugovk, radarhere] - changes from version 7.1.0: * Fix multiple OOB reads in FLI decoding #4503 [wiredfool] * Fix buffer overflow in SGI-RLE decoding #4504 [wiredfool, hugovk] * Fix bounds overflow in JPEG 2000 decoding #4505 [wiredfool] * Fix bounds overflow in PCX decoding #4506 [wiredfool] * Fix 2 buffer overflows in TIFF decoding #4507 [wiredfool] * Add APNG support #4243 [pmrowla, radarhere, hugovk] * ImageGrab.grab() for Linux with XCB #4260 [nulano, radarhere] * Added three new channel operations #4230 [dwastberg, radarhere] * Prevent masking of Image reduce method in Jpeg2KImagePlugin #4474 [radarhere, homm] * Added reading of earlier ImageMagick PNG EXIF data #4471 [radarhere] * Fixed endian handling for I;16 getextrema #4457 [radarhere] * Release buffer if function returns prematurely #4381 [radarhere] * Add JPEG comment to info dictionary #4455 [radarhere] * Fix size calculation of Image.thumbnail() #4404 [orlnub123] * Fixed stroke on FreeType < 2.9 #4401 [radarhere] * If present, only use alpha channel for bounding box #4454 [radarhere] * Warn if an unknown feature is passed to features.check() #4438 [jdufresne] * Fix Name field length when saving IM images #4424 [hugovk, radarhere] * Allow saving of zero quality JPEG images #4440 [radarhere] * Allow explicit zero width to hide outline #4334 [radarhere] * Change ContainerIO return type to match file object mode #4297 [jdufresne, radarhere] * Only draw each polygon pixel once #4333 [radarhere] * Add support for shooting situation Exif IFD tags #4398 [alexagv] * Handle multiple and malformed JPEG APP13 markers #4370 [homm] * Depends: Update libwebp to 1.1.0 #4342, libjpeg to 9d #4352 [radarhere]- specfile: * update copyright year * drop python2 support - update to version 7.0.0: * Drop support for EOL Python 2.7 #4109 [hugovk, radarhere, jdufresne] * Fix rounding error on RGB to L conversion #4320 [homm] * Exif writing fixes: Rational boundaries and signed/unsigned types [#3980] [kkopachev, radarhere] * Allow loading of WMF images at a given DPI #4311 [radarhere] * Added reduce operation #4251 [homm] * Raise ValueError for io.StringIO in Image.open #4302 [radarhere, hugovk] * Fix thumbnail geometry when DCT scaling is used #4231 [homm, radarhere] * Use default DPI when exif provides invalid x_resolution #4147 [beipang2, radarhere] * Change default resize resampling filter from NEAREST to BICUBIC [#4255] [homm] * Fixed black lines on upscaled images with the BOX filter #4278 [homm] * Better thumbnail aspect ratio preservation #4256 [homm] * Add La mode packing and unpacking #4248 [homm] * Include tests in coverage reports #4173 [hugovk] * Handle broken Photoshop data #4239 [radarhere] * Raise a specific exception if no data is found for an MPO frame [#4240] [radarhere] * Fix Unicode support for PyPy #4145 [nulano] * Added UnidentifiedImageError #4182 [radarhere, hugovk] * Remove deprecated __version__ from plugins #4197 [hugovk, radarhere] * Fixed freeing unallocated pointer when resizing with height too large #4116 [radarhere] * Copy info in Image.transform #4128 [radarhere] * Corrected DdsImagePlugin setting info gamma #4171 [radarhere] * Depends: Update libtiff to 4.1.0 #4195, Tk Tcl to 8.6.10 #4229, libimagequant to 2.12.6 #4318 [radarhere] * Improve handling of file resources #3577 [jdufresne] * Removed CI testing of Fedora 29 #4165 [hugovk] * Added pypy3 to tox envlist #4137 [jdufresne] * Drop support for EOL PyQt4 and PySide #4108 [hugovk, radarhere] * Removed deprecated setting of TIFF image sizes #4114 [radarhere] * Removed deprecated PILLOW_VERSION #4107 [hugovk] * Changed default frombuffer raw decoder args #1730 [radarhere]- Update to 6.2.1: * Pillow 6.2.1 supports Python 3.8. - Skip stroke tests as they both fail- Update to 6.2.0: * text stroking * image grab on multi-monitor windows * Full notes: https://pillow.readthedocs.io/en/stable/releasenotes/6.2.0.html- update to version 6.1.0: * Deprecate Image.__del__ #3929 [jdufresne] * Tiff: Add support for JPEG quality #3886 [olt] * Respect the PKG_CONFIG environment variable when building #3928 [chewi] * Use explicit memcpy() to avoid unaligned memory accesses #3225 [DerDakon] * Improve encoding of TIFF tags #3861 [olt] * Update Py_UNICODE to Py_UCS4 #3780 [nulano] * Consider I;16 pixel size when drawing #3899 [radarhere] * Add TIFFTAG_SAMPLEFORMAT to blocklist #3926 [cgohlke, radarhere] * Create GIF deltas from background colour of GIF frames if disposal mode is 2 #3708 [sircinnamon, radarhere] * Added ImageSequence all_frames #3778 [radarhere] * Use unsigned int to store TIFF IFD offsets #3923 [cgohlke] * Include CPPFLAGS when searching for libraries #3819 [jefferyto] * Updated TIFF tile descriptors to match current decoding functionality #3795 [dmnisson] * Added an image.entropy() method (second revision) #3608 [fish2000] * Pass the correct types to PyArg_ParseTuple #3880 [QuLogic] * Fixed crash when loading non-font bytes #3912 [radarhere] * Fix SPARC memory alignment issues in Pack/Unpack functions #3858 [kulikjak] * Added CMYK;16B and CMYK;16N unpackers #3913 [radarhere] * Fixed bugs in calculating text size #3864 [radarhere] * Add __main__.py to output basic format and support information [#3870] [jdufresne] * Added variation font support #3802 [radarhere] * Do not down-convert if image is LA when showing with PNG format [#3869] [radarhere] * Improve handling of PSD frames #3759 [radarhere] * Improved ICO and ICNS loading #3897 [radarhere] * Changed Preview application path so that it is no longer static [#3896] [radarhere] * Corrected ttb text positioning #3856 [radarhere] * Handle unexpected ICO image sizes #3836 [radarhere] * Fixed bits value for RGB;16N unpackers #3837 [kkopachev] * Travis CI: Add Fedora 30, remove Fedora 28 #3821 [hugovk] * Added reading of CMYK;16L TIFF images #3817 [radarhere] * Fixed dimensions of 1-bit PDFs #3827 [radarhere] * Fixed opening mmap image through Path on Windows #3825 [radarhere] * Fixed ImageDraw arc gaps #3824 [radarhere] * Expand GIF to include frames with extents outside the image size [#3822] [radarhere] * Fixed ImageTk getimage #3814 [radarhere] * Fixed bug in decoding large images #3791 [radarhere] * Fixed reading APP13 marker without Photoshop data #3771 [radarhere] * Added option to include layered windows in ImageGrab.grab on Windows #3808 [radarhere] * Detect libimagequant when installed by pacman on MingW #3812 [radarhere] * Fixed raqm layout bug #3787 [radarhere] * Fixed loading font with non-Unicode path on Windows #3785 [radarhere] * Travis CI: Upgrade PyPy from 6.0.0 to 7.1.1 #3783 [hugovk, johnthagen] * Depends: Updated openjpeg to 2.3.1 #3794, raqm to 0.7.0 #3877, libimagequant to 2.12.3 #3889 [radarhere] * Fix numpy bool bug #3790 [radarhere]- Exclude the tests completely on s390x segfault on known and referenced issue- Fix if/else for arch check (skip some tests on some architectures).- Fix if/else for arch checkcheck- Update to 6.0.0: * Python 2.7 support will be removed in Pillow 7.0.0 #3682 [hugovk] * Add EXIF class #3625 [radarhere] * Add ImageOps exif_transpose method #3687 [radarhere] * Added warnings to deprecated CMSProfile attributes #3615 [hugovk] * Documented reading TIFF multiframe images #3720 [akuchling] * Improved speed of opening an MPO file #3658 [Glandos] * Update palette in quantize #3721 [radarhere] * Improvements to TIFF is_animated and n_frames #3714 [radarhere] * Fixed incompatible pointer type warnings #3754 [radarhere] * Improvements to PA and LA conversion and palette operations #3728 [radarhere] * Consistent DPI rounding #3709 [radarhere] * Change size of MPO image to match frame #3588 [radarhere] * Read Photoshop resolution data #3701 [radarhere] * Ensure image is mutable before saving #3724 [radarhere] * Correct remap_palette documentation #3740 [radarhere] * Promote P images to PA in putalpha #3726 [radarhere] * Allow RGB and RGBA values for new P images #3719 [radarhere] * Fixed TIFF bug when seeking backwards and then forwards #3713 [radarhere] * Cache EXIF information #3498 [Glandos] * Added transparency for all PNG greyscale modes #3744 [radarhere] * Fix deprecation warnings in Python 3.8 #3749 [radarhere] * Fixed GIF bug when rewinding to a non-zero frame #3716 [radarhere] * Only close original fp in __del__ and __exit__ if original fp is exclusive #3683 [radarhere] * Fix BytesWarning in Tests/test_numpy.py #3725 [jdufresne] * Add missing MIME types and extensions #3520 [pirate486743186] * Add I;16 PNG save #3566 [radarhere] * Add support for BMP RGBA bitfield compression #3705 [radarhere] * Added ability to set language for text rendering #3693 [iwsfutcmd] * Only close exclusive fp on Image __exit__ #3698 [radarhere] * Changed EPS subprocess stdout from devnull to None #3635 [radarhere] * Add reading old-JPEG compressed TIFFs #3489 [kkopachev] * Add EXIF support for PNG #3674 [radarhere] * Add option to set dither param on quantize #3699 [glasnt] * Add reading of DDS uncompressed RGB data #3673 [radarhere] * Correct length of Tiff BYTE tags #3672 [radarhere] * Add DIB saving and loading through Image open #3691 [radarhere] * Removed deprecated VERSION #3624 [hugovk] * Fix 'BytesWarning: Comparison between bytes and string' in PdfDict #3580 [jdufresne] * Do not resize in Image.thumbnail if already the destination size #3632 [radarhere] * Replace .seek() magic numbers with io.SEEK_* constants #3572 [jdufresne] * Make ContainerIO.isatty() return a bool, not int #3568 [jdufresne] * Add support to all transpose operations for I;16 modes #3563, #3741 [radarhere] * Deprecate support for PyQt4 and PySide #3655 [hugovk, radarhere] * Add TIFF compression codecs: LZMA, Zstd, WebP #3555 [cgohlke] * Fixed pickling of iTXt class with protocol > 1 #3537 [radarhere] * _util.isPath returns True for pathlib.Path objects #3616 [wbadart] * Remove unnecessary unittest.main() boilerplate from test files #3631 [jdufresne] * Exif: Seek to IFD offset #3584 [radarhere] * Deprecate PIL.*ImagePlugin.__version__ attributes #3628 [jdufresne] * Docs: Add note about ImageDraw operations that exceed image bounds #3620 [radarhere] * Allow for unknown PNG chunks after image data #3558 [radarhere] * Changed EPS subprocess stdin from devnull to None #3611 [radarhere] * Fix possible integer overflow #3609 [cgohlke] * Catch BaseException for resource cleanup handlers #3574 [jdufresne] * Improve pytest configuration to allow specific tests as CLI args #3579 [jdufresne] * Drop support for Python 3.4 #3596 [hugovk] * Remove deprecated PIL.OleFileIO #3598 [hugovk] * Remove deprecated ImageOps undocumented functions #3599 [hugovk] * Depends: Update libwebp to 1.0.2 #3602 [radarhere] * Detect MIME types #3525 [radarhere] - Add dependency on libimagequant - Fix fdupes- specfile: * update copyright year - update to version 5.4.1: * File closing: Only close __fp if not fp #3540 [radarhere] * Fix build for Termux #3529 [pslacerda] * PNG: Detect MIME types #3525 [radarhere] * PNG: Handle IDAT chunks after image end #3532 [radarhere] - changes from version 5.4.0: * Docs: Improved ImageChops documentation #3522 [radarhere] * Allow RGB and RGBA values for P image putpixel #3519 [radarhere] * Add APNG extension to PNG plugin #3501 [pirate486743186, radarhere] * Lookup ld.so.cache instead of hardcoding search paths #3245 [pslacerda] * Added custom string TIFF tags #3513 [radarhere] * Improve setup.py configuration #3395 [diorcety] * Read textual chunks located after IDAT chunks for PNG #3506 [radarhere] * Performance: Don't try to hash value if enum is empty #3503 [Glandos] * Added custom int and float TIFF tags #3350 [radarhere] * Fixes for issues reported by static code analysis #3393 [frenzymadness] * GIF: Wait until mode is normalized to copy im.info into encoderinfo #3187 [radarhere] * Docs: Add page of deprecations and removals #3486 [hugovk] * Travis CI: Upgrade PyPy from 5.8.0 to 6.0 #3488 [hugovk] * Travis CI: Allow lint job to fail #3467 [hugovk] * Resolve __fp when closing and deleting #3261 [radarhere] * Close exclusive fp before discarding #3461 [radarhere] * Updated open files documentation #3490 [radarhere] * Added libjpeg_turbo to check_feature #3493 [radarhere] * Change color table index background to tuple when saving as WebP [#3471] [radarhere] * Allow arbitrary number of comment extension subblocks #3479 [radarhere] * Ensure previous FLI frame is loaded before seeking to the next [#3478] [radarhere] * ImageShow improvements #3450 [radarhere] * Depends: Update libimagequant to 2.12.2 #3442, libtiff to 4.0.10 [#3458], libwebp to 1.0.1 #3468, Tk Tcl to 8.6.9 #3465 [radarhere] * Check quality_layers type #3464 [radarhere] * Add context manager, __del__ and close methods to TarIO #3455 [radarhere] * Test: Do not play sound when running screencapture command #3454 [radarhere] * Close exclusive fp on open exception #3456 [radarhere] * Only close existing fp in WebP if fp is exclusive #3418 [radarhere] * Docs: Re-add the downloads badge #3443 [hugovk] * Added negative index to PixelAccess #3406 [Nazime] * Change tuple background to global color table index when saving as GIF #3385 [radarhere] * Test: Improved ImageGrab tests #3424 [radarhere] * Flake8 fixes #3422, #3440 [radarhere, hugovk] * Only ask for YCbCr->RGB libtiff conversion for jpeg-compressed tiffs #3417 [kkopachev] * Optimise ImageOps.fit by combining resize and crop #3409 [homm]- Fix fdupes call - Fix some version conditionals- update to version 5.3.0: * Changed Image size property to be read-only by default #3203 [radarhere] * Add warnings if image file identification fails due to lack of WebP support #3169 [radarhere, hugovk] * Hide the Ghostscript progress dialog popup on Windows #3378 [hugovk] * Adding support to reading tiled and YcbCr jpeg tiffs through libtiff #3227 [kkopachev] * Fixed None as TIFF compression argument #3310 [radarhere] * Changed GIF seek to remove previous info items #3324 [radarhere] * Improved PDF document info #3274 [radarhere] * Add line width parameter to rectangle and ellipse-based shapes [#3094] [hugovk, radarhere] * Fixed decompression bomb check in _crop #3313 [dinkolubina, hugovk] * Added support to ImageDraw.floodfill for non-RGB colors #3377 [radarhere] * Tests: Avoid catching unexpected exceptions in tests #2203 [jdufresne] * Use TextIOWrapper.detach() instead of NoCloseStream #2214 [jdufresne] * Added transparency to matrix conversion #3205 [radarhere] * Added ImageOps pad method #3364 [radarhere] * Give correct extrema for I;16 format images #3359 [bz2] * Added PySide2 #3279 [radarhere] * Corrected TIFF tags #3369 [radarhere] * CI: Install CFFI and pycparser without any PYTHONOPTIMIZE #3374 [hugovk] * Read/Save RGB webp as RGB (instead of RGBX) #3298 [kkopachev] * ImageDraw: Add line joints #3250 [radarhere] * Improved performance of ImageDraw floodfill method #3294 [yo1995] * Fix builds with --parallel #3272 [hsoft] * Add more raw Tiff modes (RGBaX, RGBaXX, RGBAX, RGBAXX) #3335 [homm] * Close existing WebP fp before setting new fp #3341 [radarhere] * Add orientation, compression and id_section as TGA save keyword arguments #3327 [radarhere] * Convert int values of RATIONAL TIFF tags to floats #3338 [radarhere, wiredfool] * Fix code for PYTHONOPTIMIZE #3233 [hugovk] * Changed ImageFilter.Kernel to subclass ImageFilter.BuiltinFilter, instead of the other way around #3273 [radarhere] * Remove unused draw.draw_line, draw.draw_point and font.getabc methods #3232 [hugovk] * Tests: Added ImageFilter tests #3295 [radarhere] * Tests: Added ImageChops tests #3230 [hugovk, radarhere] * AppVeyor: Download lib if not present in pillow-depends #3316 [radarhere] * Travis CI: Add Python 3.7 and Xenial #3234 [hugovk] * Docs: Added documentation for NumPy conversion #3301 [radarhere] * Depends: Update libimagequant to 2.12.1 #3281 [radarhere] * Add three-color support to ImageOps.colorize #3242 [tsennott] * Tests: Add LA to TGA test modes #3222 [danpla] * Skip outline if the draw operation fills with the same colour [#2922] [radarhere] * Flake8 fixes #3173, #3380 [radarhere] * Avoid deprecated 'U' mode when opening files #2187 [jdufresne]- update to version 5.2.0: * Fixed saving a multiframe image as a single frame PDF #3137 [radarhere] * If a Qt version is already imported, attempt to use it first #3143 [radarhere] * Fix transform fill color for alpha images #3147 [fozcode] * TGA: Add support for writing RLE data #3186 [danpla] * TGA: Read and write LA data #3178 [danpla] * QuantOctree.c: Remove erroneous attempt to average over an empty range #3196 [tkoeppe] * Changed ICNS format tests to pass on OS X 10.11 #3202 [radarhere] * Fixed bug in ImageDraw.multiline_textsize() #3114 [tianyu139] * Added getsize_multiline support for PIL.ImageFont #3113 [tianyu139] * Added ImageFile get_format_mimetype method #3190 [radarhere] * Changed mmap file pointer to use context manager #3216 [radarhere] * Changed ellipse point calculations to be more evenly distributed [#3142] [radarhere] * Only extract first Exif segment #2946 [hugovk] * Tests: Test ImageDraw2, WalImageFile #3135, #2989 [hugovk] * Remove unnecessary '#if 0' code #3075 [hugovk] * Tests: Added GD tests #1817 [radarhere] * Fix collections ABCs DeprecationWarning in Python 3.7 #3123 [hugovk] * unpack_from is faster than unpack of slice #3201 [landfillbaby] * Docs: Add coordinate system links and file handling links in documentation #3204, #3214 [radarhere] * Tests: TestFilePng: Fix test_save_l_transparency() #3182 [danpla] * Docs: Correct argument name #3171 [radarhere] * Docs: Update CMake download URL #3166 [radarhere] * Docs: Improve Image.transform documentation #3164 [radarhere] * Fix transform fillcolor argument when image mode is RGBA or LA [#3163] [radarhere] * Tests: More specific Exception testing #3158 [radarhere] * Add getrgb HSB/HSV color strings #3148 [radarhere] * Allow float values in getrgb HSL color string #3146 [radarhere] * AppVeyor: Upgrade to Python 2.7.15 and 3.4.4 #3140 [radarhere] * AppVeyor: Upgrade to PyPy 6.0.0 #3133 [hugovk] * Deprecate PILLOW_VERSION and VERSION #3090 [hugovk] * Support Python 3.7 #3076 [hugovk] * Depends: Update freetype to 2.9.1, libjpeg to 9c, libwebp to 1.0.0 [#3121], #3136, #3108 [radarhere] * Build macOS wheels with Xcode 6.4, supporting older macOS versions [#3068] [wiredfool] * Fix _i2f compilation on some GCC versions #3067 [homm] * Changed encoderinfo to have priority over info when saving GIF images #3086 [radarhere] * Rename PIL.version to PIL._version and remove it from module #3083 [homm] * Enable background colour parameter on rotate #3057 [storesource] * Remove unnecessary #if 1 directive #3072 [jdufresne] * Remove unused Python class, Path #3070 [jdufresne] * Fix dereferencing type-punned pointer will break strict-aliasing [#3069] [jdufresne]- removed freetype-2.9.patch, included upstream - removed freetype-2.9-and-2.10.patch, included upstream - removed pillow-non-iterable.patch, included upstream - update to version 5.1.0: * Close fp before return in ImagingSavePPM #3061 [kathryndavies] * Added documentation for ICNS append_images #3051 [radarhere] * Docs: Move intro text below its header #3021 [hugovk] * CI: Rename appveyor.yml as .appveyor.yml #2978 [hugovk] * Fix TypeError for JPEG2000 parser feed #3042 [hugovk] * Certain corrupted jpegs can result in no data read #3023 [kkopachev] * Add support for BLP file format #3007 [jleclanche] * Simplify version checks #2998 [hugovk] * Fix "invalid escape sequence" warning on Python 3.6+ #2996 [timgraham] * Allow append_images to set .icns scaled images #3005 [radarhere] * Support appending to existing PDFs #2965 [vashek] * Fix and improve efficient saving of ICNS on macOS #3004 [radarhere] * Build: Enable pip cache in AppVeyor build #3009 [thijstriemstra] * Trim trailing whitespace #2985 [Metallicow] * Docs: Correct reference to Image.new method #3000 [radarhere] * Rearrange ImageFilter classes into alphabetical order #2990 [radarhere] * Test: Remove duplicate line #2983 [radarhere] * Build: Update AppVeyor PyPy version #3003 [radarhere] * Tiff: Open 8 bit Tiffs with 5 or 6 channels, discarding extra channels #2938 [homm] * Readme: Added Twitter badge #2930 [hugovk] * Removed __main__ code from ImageCms #2942 [radarhere] * Test: Changed assert statements to unittest calls #2961 [radarhere] * Depends: Update libimagequant to 2.11.10, raqm to 0.5.0, freetype to 2.9 #3036, #3017, #2957 [radarhere] * Remove _imaging.crc32 in favor of builtin Python crc32 implementation #2935 [wiredfool] * Move Tk directory to src directory #2928 [hugovk] * Enable pip cache in Travis CI #2933 [jdufresne] * Remove unused and duplicate imports #2927 [radarhere] * Docs: Changed documentation references to 2.x to 2.7 #2921 [radarhere] * Fix memory leak when opening webp files #2974 [wiredfool] * Setup: Fix "TypeError: 'NoneType' object is not iterable" for PPC and CRUX #2951 [hugovk] * Setup: Add libdirs for ppc64le and armv7l #2968 [nehaljwani]- Fix build fails on i586 and ppc and others: * pillow-non-iterable.patch- Add freetype-2.9.patch to fix tests with FreeType 2.9 gh#2954- Remove other distro conditions as they can't use singlespec really - Version update to 5.0.0: * Docs: Added docstrings from documentation #2914 [radarhere] * Test: Switch from nose to pytest #2815 [hugovk] * Rework Source directory layout, preventing accidental import of PIL. #2911 [wiredfool] * Dynamically link libraqm #2753 [wiredfool] * Removed scripts directory #2901 [wiredfool] * TIFF: Run all compressed tiffs through libtiff decoder #2899 [wiredfool] * GIF: Add disposal option when saving GIFs #2902 [linnil1, wiredfool] * EPS: Allow for an empty line in EPS header data #2903 [radarhere] * PNG: Add support for sRGB and cHRM chunks, permit sRGB when no iCCP chunk present #2898 [wiredfool] * Dependencies: Update Tk Tcl to 8.6.8 #2905 [radarhere] * Decompression bomb error now raised for images 2x larger than a decompression bomb warning #2583 [wiredfool] * Test: avoid random failure in test_effect_noise #2894 [hugovk] * Increased epsilon for test_file_eps.py:test_showpage due to Arch update. #2896 [wiredfool] * Removed check parameter from _save in BmpImagePlugin, PngImagePlugin, ImImagePlugin, PalmImagePlugin, and PcxImagePlugin. #2873 [radarhere] * Make PngImagePlugin.add_text() zip argument type bool #2890 [jdufresne] * Depends: Updated libwebp to 0.6.1 #2880 [radarhere] * Remove unnecessary bool() calls in Image.registered_extensions and skipKnownBadTests #2891 [jdufresne] * Fix count of BITSPERSAMPLE items in broken TIFF files #2883 [homm] * Fillcolor parameter for Image.Transform #2852 [wiredfool] * Test: Display differences for test failures #2862 [wiredfool] * Added executable flag to file with shebang line #2884 [radarhere] * Setup: Specify compatible Python versions for pip #2877 [hugovk] * Dependencies: Updated libimagequant to 2.11.4 #2878 [radarhere] * Setup: Warn if trying to install for Py3.7 on Windows #2855 [hugovk] * Doc: Fonts can be loaded from a file-like object, not just filename #2861 [robin-norwood] * Add eog support for Ubuntu Image Viewer #2864 [NafisFaysal] * Test: Test on 3.7-dev on Travis.ci #2870 [hugovk] * Dependencies: Update libtiff to 4.0.9 #2871 [radarhere] * Setup: Replace deprecated platform.dist with file existence check #2869 [wiredfool] * Build: Fix setup.py on Debian #2853 [wiredfool] * Docs: Correct error in ImageDraw documentation #2858 [meribold] * Test: Drop Ubuntu Precise, Fedora 24, Fedora 25, add Fedora 27, Centos 7, Amazon v2 CI Support #2854, #2843, #2895, #2897 [wiredfool] * Dependencies: Updated libimagequant to 2.11.3 #2849 [radarhere] * Test: Fix test_image.py to use tempfile #2841 [radarhere] * Replace PIL.OleFileIO deprecation warning with descriptive ImportError #2833 [hugovk] * WebP: Add support for animated WebP files #2761 [jd20] * PDF: Set encoderinfo for images when saving multi-page PDF. Fixes #2804. #2805 [ixio] * Allow the olefile dependency to be optional #2789 [jdufresne] * GIF: Permit LZW code lengths up to 12 bits in GIF decode #2813 [wiredfool] * Fix unterminiated string and unchecked exception in _font_text_asBytes. #2825 [wiredfool] * PPM: Use fixed list of whitespace, rather relying on locale, fixes #272. #2831 [markmiscavage] * Added support for generators when using append_images #2829, #2835 [radarhere] * Doc: Correct PixelAccess.rst #2824 [hasahmed] * Depends: Update raqm to 0.3.0 #2822 [radarhere] * Docs: Link to maintained version of aggdraw #2809 [hugovk] * Include license file in the generated wheel packages #2801 [jdufresne] * Depends: Update openjpeg to 2.3.0 #2791 [radarhere] * Add option to Makefile to build and install with C coverage #2781 [hugovk] * Add context manager support to ImageFile.Parser and PngImagePlugin.ChunkStream #2793 [radarhere] * ImageDraw.textsize: fix zero length error #2788 [wiredfool, hugovk] * Fix warning on pointer cast in isblock #2775, #2778 [cgohlke] * Doc: Added macOS High Sierra tested Pillow version #2777 [radarhere] * Use correct Windows handle type on 64 bit in imagingcms #2774 [cgohlke] * 64 Bit Windows fix for block storage #2773 [cgohlke] * Fix "expression result unused" warning #2764 [radarhere] * Add 16bit Read/Write and RLE read support to SgiImageFile #2769 [jbltx, wiredfool] * Block & array hybrid storage #2738 [homm] * Common seek frame position check #1849 [radarhere] * Doc: Add note about aspect ratio to Image thumbnail script #2281 [wilsonge] * Fix ValueError: invalid version number '1.0.0rc1' in scipy release candidate #2771 [cgohlke] * Unfreeze requirements.txt #2766 [hugovk] * Test: ResourceWarning tests #2756 [hugovk] * Use n_frames to determine is_animated if possible #2315 [radarhere] * Doc: Corrected parameters in documentation #2768 [radarhere] * Avoid unnecessary Image operations #1891 [radarhere] * Added register_extensions method #1860 [radarhere] * Fix TIFF support for I;16S, I;16BS, and I;32BS rawmodes #2748 [wiredfool] * Fixed doc syntax in ImageDraw #2752 [radarhere] * Fixed support for building on Windows/msys2. Added Appveyor CI coverage for python3 on msys2 #2476 [wiredfool] * Fix ValueError in Exif/Tiff IFD #2719 [wiredfool] * Use pathlib2 for Path objects on Python < 3.4 #2291 [asergi] * Export only required properties in unsafe_ptrs #2740 [homm] * Alpha composite fixes #2709 [homm] * Faster Transpose operations, added 'Transverse' option #2730 [homm] * Deprecate ImageOps undocumented functions gaussian_blur, gblur, unsharp_mask, usm and box_blur in favor of ImageFilter implementations #2735 [homm] * Dependencies: Updated freetype to 2.8.1 #2741 [radarhere] * Bug: Player skipped first image #2742 [radarhere] * Faster filter operations for Kernel, Gaussian, and Unsharp Mask filters #2679 [homm] * EPS: Add showpage to force rendering of some EPS images #2636 [kaplun] * DOC: Fix type of palette parameter in Image.quantize. #2703 [kkopachev] * DOC: Fix Ico docs to match code #2712 [hugovk] * Added file pointer save to SpiderImagePlugin #2647 [radarhere] * Add targa version 2 footer #2713 [jhultgre] * Removed redundant lines #2714 [radarhere] * Travis CI: Use default pypy/pypy3 #2721 [hugovk] * Fix for SystemError when rendering an empty string, added in 4.2.0 #2706 [wiredfool] * Fix for memory leaks in font handling added in 4.2.0 #2634 [wiredfool] * Tests: cleanup, more tests. Fixed WMF save handler #2689 [radarhere] * Removed debugging interface for Image.core.grabclipboard #2708 [radarhere] * Doc syntax fix #2710 [radarhere] * Faster packing and unpacking for RGB, LA, and related storage modes #2693 [homm] * Use RGBX rawmode for RGB JPEG images where possible #1989 [homm] * Remove palettes from non-palette modes in _new #2702 [wiredfool] * Delete transparency info when convert'ing RGB/L to RGBA #2633 [olt] * Code tweaks to ease type annotations #2687 [neiljp] * Fixed incorrect use of 's#' to byteslike object #2691 [wiredfool] * Fix JPEG subsampling labels for subsampling=2 #2698 [homm] * Region of interest (box) for resampling #2254 [homm] * Basic support for Termux (android) in setup.py #2684 [wiredfool] * Bug: Fix Image.fromarray for numpy.bool type. #2683 [wiredfool] * CI: Add Fedora 24 and 26 to Docker tests [wiredfool] * JPEG: Fix ZeroDivisionError when EXIF contains invalid DPI (0/0). #2667 [vytisb] * Depends: Updated openjpeg to 2.2.0 #2669 [radarhere] * Depends: Updated Tk Tcl to 8.6.7 #2668 [radarhere] * Depends: Updated libimagequant to 2.10.2 #2660 [radarhere] * Test: Added test for ImImagePlugin tell() #2675 [radarhere] * Test: Additional tests for SGIImagePlugin #2659 [radarhere] * New Image.getchannel method #2661 [homm] * Remove unused im.copy2 and core.copy methods #2657 [homm] * Fast Image.merge() #2677 [homm] * Fast Image.split() #2676 [homm] * Fast image allocation #2655 [homm] * Storage cleanup #2654 [homm] * FLI: Use frame count from FLI header #2674 [radarhere] * Test: Test animated FLI file #2650 [hugovk] * Bug: Fixed uninitialized memory in bc5 decoding #2648 [ifeherva] * Moved SgiImagePlugin save error to before the start of write operations #2646 [radarhere] * Move createfontdatachunk.py so isn't installed globally #2645 [hugovk] * Bug: Fix unexpected keyword argument 'align' #2641 [hugovk] * Add newlines to error message for clarity #2640 [hugovk] * Docs: Updated redirected URL #2637 [radarhere] * Bug: Fix JPEG DPI when EXIF is invalid #2632 [wiredfool] * Bug: Fix for font getsize on empty string #2624 [radarhere] * Docs: Improved ImageDraw documentation #2626 [radarhere] * Docs: Corrected alpha_composite args documentation #2627 [radarhere] * Docs: added the description of the filename attribute to images.rst #2621 [dasdachs] * Dependencies: Updated libimagequant to 2.10.1 #2616 [radarhere] * PDF: Renamed parameter to not shadow built-in dict #2612 [kijeong]- fix conditional build with tk (bsc#1054719)- update to 4.2.1: - CI: Fix version specification and test on CI for PyPy/Windows #2608 - Doc: Clarified Image.save:append_images documentation #2604 - CI: Amazon Linux and Centos6 docker images added to TravisCI #2585 - Image.alpha_composite added #2595 - Complex Text Support #2576 - Added threshold parameter to ImageDraw.floodfill #2599 - Added dBATCH parameter to ghostscript command #2588 - JPEG: Adjust buffer size when icc_profile > MAXBLOCK #2596 - Specify Pillow Version in one place #2517 - CI: Change the owner of the TRAVIS_BUILD_DIR, fixing broken docker runs #2587 - Fix truncated PNG loading for some images, Fix memory leak on truncated PNG images. #2541, #2598 - Add decompression bomb check to Image.crop #2410 - ImageFile: Ensure that the `err_code` variable is initialized in case of exception. #2363 - Tiff: Support append_images for saving multipage TIFFs #2406 - Doc: Clarify that draft is only implemented for JPEG and PCD #2409 - Test: MicImagePlugin #2447 - Use round() instead of floor() to eliminate zero coefficients in resample #2558 - Remove deprecated code #2549 - Added append_images to PDF saving #2526 - Remove unused function core image function new_array #2548 - Remove unnecessary calls to dict.keys() #2551 - Add more ImageDraw.py tests and remove unused Draw.c code #2533 - Test: More tests for ImageMorph #2554 - Test: McIDAS area file #2552 - Update Feature Detection #2520 - CI: Update pypy on TravisCI #2573 - ImageMorph: Fix wrong expected size of MRLs read from disk #2561 - Docs: Update install docs for FreeBSD #2546 - Build: Ignore OpenJpeg 1.5 on FreeBSD #2544 - Remove 'not yet implemented' methods from PIL 1.1.4 #2538 - Dependencies: Update FreeType to 2.8, LibTIFF to 4.0.8 and libimagequant to 2.9.1 #2535 #2537 #2540 - Raise TypeError and not also UnboundLocalError in ImageFile.Parser() #2525 - Test: Use Codecov for coverage #2528 - Use PNG for Image.show() #2527 - Remove WITH_DEBUG compilation flag #2522 - Fix return value on parameter parse error in _webp.c #2521 - Set executable flag on scripts with shebang line #2295 - Flake8 #2460 - Doc: Release Process Changes #2516 - CI: Added region for s3 deployment on appveyor #2515 - Doc: Updated references to point to existing files #2507 - Return copy on Image crop if crop dimensions match the image #2471 - Test: Optimize CI speed #2464, #2466 - Undef PySlice_GetIndicesEx, see https://bugs.python.org/issue29943 #2493 - Fix for file with DPI in EXIF but not metadata, and XResolution is an int rather than tuple #2484 - Docs: Removed broken download counter badge #2487 - Docs: Fixed rst syntax error #2477- Improve TK handling. - Fix self-obsoletes- python(3)-tk does not exist on SLE- Fix download URL.- Update to 4.1.0 * Close files after loading if possible #2330 * Fix Image Access to be reloadable when embedding the Python interpreter [#2296] * Fetch DPI from EXIF if not specified in JPEG header #2449, #2472 * Removed winbuild checksum verification #2468 * Git: Set ContainerIO test file as binary #2469 * Remove superfluous import of FixTk #2455 * Fix import of tkinter/Tkinter #2456 * Pure Python Decoders, including Python decoder to fix for MSP images #1938 * Reorganized GifImagePlugin, fixes #2314. #2374 * Doc: Reordered operating systems in Compatibility Matrix #2436 * Test: Additional tests for BurfStub, Eps, Container, GribStub, IPTC, Wmf, XVThumb, ImageDraw, ImageMorph ImageShow #2425 * Health fixes #2437 * Test: Correctness tests ContainerIO, XVThumbImagePlugin, BufrStubImagePlugin, GribStubImagePlugin, FitsStubImagePlugin, Hdf5StubImagePlugin, PixarImageFile, PsdImageFile #2443, #2442, #2441, #2440, [#2431], #2430, #2428, #2427 * Remove unused imports #1822 * Replaced KeyError catch with dictionary get method #2424 * Test: Removed unrunnable code in test_image_toqimage #2415 * Removed use of spaces in TIFF kwargs names, deprecated in 2.7 #1390 * Removed deprecated ImageDraw setink, setfill, setfont methods #2220 * Send unwanted subprocess output to /dev/null #2253 * Fix division by zero when creating 0x0 image from numpy array #2419 * Test: Added matrix convert tests #2381 * Replaced broken URL to partners.adobe.com #2413 * Removed unused private functions in setup.py and build_dep.py #2414 * Test: Fixed Qt tests for QT5 and saving 1 bit PNG #2394 * Test: docker builds for Arch and Debian Stretch #2394 * Updated libwebp to 0.6.0 on appveyor #2395 * More explicit error message when saving to a file with invalid extension [#2399] * Docs: Update some http urls to https #2403 * Preserve aux/alpha channels when performing Imagecms transforms #2355 * Test linear and radial gradient effects #2382 * Test ImageDraw.Outline and and ImageDraw.Shape #2389 * Added PySide to ImageQt documentation #2392 * BUG: Empty image mode no longer causes a crash #2380 * Exclude .travis and contents from manifest #2386 * Remove 'MIT-like' from license #2145 * Tests: Add tests for several Image operations #2379 * PNG: Moved iCCP chunk before PLTE chunk when saving as PNG, restricted chunks known value/ordering #2347 * Default to inch-interpretation for missing ResolutionUnit in TiffImagePlugin #2365 * Bug: Fixed segfault when using ImagingTk on pypy Issue #2376, #2359. * Bug: Fixed Integer overflow using ImagingTk on 32 bit platforms #2359 * Tests: Added docker images for testing alternate platforms. See also https://github.com/python-pillow/docker-images. #2368 * Removed PIL 1.0 era TK readme that concerns Windows 95/NT #2360 * Prevent `nose -v` printing docstrings #2369 * Replaced absolute PIL imports with relative imports #2349 * Added context managers for file handling #2307 * Expose registered file extensions in Image #2343 * Make mode descriptor cache initialization thread-safe. #2351 * Updated Windows test dependencies: Freetype 2.7.1, zlib 1.2.11 #2331, [#2332], #2357 * Followed upstream pngquant packaging reorg to libimagquant #2354 * Fix invalid string escapes #2352 * Add test for crop operation with no argument #2333 - update to version 4.0.0: * Refactor out postprocessing hack to load_end in PcdImageFile [wiredfool] * Add center and translate option to Image.rotate. #2328 [lambdafu] * Test: Relax WMF test condition, fixes #2323 [wiredfool] * Allow 0 size images, Fixes #2259, Reverts to pre-3.4 behavior. [wiredfool] * SGI: Save uncompressed SGI/BW/RGB/RGBA files #2325 [jbltx] * Depends: Updated pngquant to 2.8.2 #2319 [radarhere] * Test: Added correctness tests for opening SGI images #2324 [wiredfool] * Allow passing a list or tuple of individual frame durations when saving a GIF #2298 [Xdynix] * Unified different GIF optimize conditions #2196 [radarhere] * Build: Refactor dependency installation #2305 [hugovk] * Test: Add python 3.6 to travis, tox #2304 [hugovk] * Test: Fix coveralls coverage for Python+C #2300 [hugovk] * Remove executable bit and shebang from OleFileIO.py #2308 [jwilk, radarhere] * PyPy: Buffer interface workaround #2294 [wiredfool] * Test: Switch to Ubuntu Trusty 14.04 on Travis CI #2294 * Remove vendored version of olefile Python package in favor of upstream #2199 [jdufresne] * Updated comments to use print as a function #2234 [radarhere] * Set executable flag on selftest.py, setup.py and added shebang line #2282, #2277 [radarhere, homm] * Test: Increase epsilon for FreeType 2.7 as rendering is slightly different. #2286 [hugovk] * Test: Faster assert_image_similar #2279 [homm] * Removed depreciated internal "stretch" method #2276 [homm] * Removed the handles_eof flag in decode.c #2223 [wiredfool] * Tiff: Fix for writing Tiff to BytesIO using libtiff #2263 [wiredfool] * Doc: Design docs #2269 [wiredfool] * Test: Move tests requiring libtiff to test_file_libtiff #2273 [wiredfool] * Update Maxblock heuristic #2275 [wiredfool] * Fix for 2-bit palette corruption #2274 [pdknsk, wiredfool] * Tiff: Update info.icc_profile when using libtiff reader. #2193 [lambdafu] * Test: Fix bug in test_ifd_rational_save when libtiff is not available #2270 [ChristopherHogan] * ICO: Only save relevant sizes #2267 [hugovk] * ICO: Allow saving .ico files of 256x256 instead of 255x255 #2265 [hugovk] * Fix TIFFImagePlugin ICC color profile saving. #2087 [cskau] * Doc: Improved description of ImageOps.deform resample parameter [#2256] [radarhere] * EMF: support negative bounding box coordinates #2249 [glexey] * Close file if opened in WalImageFile #2216 [radarhere] * Use Image._new() instead of _makeself() #2248 [homm] * SunImagePlugin fixes #2241 [wiredfool] * Use minimal scale for jpeg drafts #2240 [homm] * Updated dependency scripts to use FreeType 2.7, OpenJpeg 2.1.2, WebP 0.5.2 and Tcl/Tk 8.6.6 #2235, #2236, #2237, #2290, #2302 [radarhere] * Fix "invalid escape sequence" bytestring warnings in Python 3.6 [#2186] [timgraham] * Removed support for Python 2.6 and Python 3.2 #2192 [jdufresne] * Setup: Raise custom exceptions when required/requested dependencies are not found #2213 [wiredfool] * Use a context manager in FontFile.save() to ensure file is always closed #2226 [jdufresne] * Fixed bug in saving to fp-objects in Python >= 3.4 #2227 [radarhere] * Use a context manager in ImageFont._load_pilfont() to ensure file is always closed #2232 [jdufresne] * Use generator expressions instead of list comprehension #2225 [jdufresne] * Close file after reading in ImagePalette.load() #2215 [jdufresne] * Changed behaviour of default box argument for paste method to match docs #2211 [radarhere] * Add support for another BMP bitfield #2221 [jmerdich] * Added missing top-level test __main__ #2222 [radarhere] * Replaced range(len()) #2197 [radarhere] * Fix for ImageQt Segfault, fixes #1370 #2182 [wiredfool] * Setup: Close file in setup.py after finished reading #2208 [jdufresne] * Setup: optionally use pkg-config (when present) to detect dependencies #2074 [garbas] * Search for tkinter first in builtins #2210 [matthew-brett] * Tests: Replace try/except/fail pattern with TestCase.assertRaises() #2200 [jdufresne] * Tests: Remove unused, open files at top level of tests #2188 [jdufresne] * Replace type() equality checks with isinstance #2184 [jdufresne] * Doc: Move ICO out of the list of read-only file formats #2180 [alexwlchan] * Doc: Fix formatting, too-short title underlines and malformed table #2175 [hugovk] * Fix BytesWarnings #2172 [jdufresne] * Use Integer division to eliminate deprecation warning. #2168 [mastermatt] * Doc: Update compatibility matrix [daavve, wiredfool] - update to version 3.4.2: * Fix Resample coefficient calculation #2161 [homm] - update to version 3.4.1: * Allow lists as arguments for Image.new() #2149 [homm] * Fix fix for map.c overflow #2151 (also in 3.3.3) [wiredfool] - update to version 3.4.0: * Removed Image.core.open_ppm, added negative image size checks in Image.py. #2146 [wiredfool] * Windows build: fetch dependencies from pillow-depends #2095 [hugovk] * Add TIFF save_all writer. #2140 [lambdafu, vashek] * Move libtiff fd duplication to _load_libtiff #2141 [sekrause] * Speed up GIF save optimization step, fixes #2093. #2133 [wiredfool] * Fix for ImageCms Segfault, Issue #2037. #2131 [wiredfool] * Make Image.crop an immediate operation, not lazy. #2138 [wiredfool] * Skip empty values in ImageFileDirectory #2024 [homm] * Force reloading palette when using mmap in ImageFile. #2139 [lambdafu] * Fix "invalid escape sequence" warning in Python 3.6 #2136 [timgraham] * Update documentation about drafts #2137 [radarhere] * Converted documentation parameter format, comments to docstrings [#2021] [radarhere] * Fixed typos #2128 #2142 [radarhere] * Renamed references to OS X to macOS #2125 2130 [radarhere] * Use truth value when checking for progressive and optimize option on save #2115, #2129 [radarhere] * Convert DPI to ints when saving as JPEG #2102 [radarhere] * Added append_images parameter to GIF saving #2103 [radarhere] * Speedup paste with masks up to 80% #2015 [homm] * Rewrite DDS decoders in C, add DXT3 and BC7 decoders #2068 [Mischanix] * Fix PyArg_ParseTuple format in getink() #2070 [arjennienhuis] * Fix saving originally missing TIFF tags. #2111 [anntzer] * Allow pathlib.Path in Image.open on Python 2.7 #2110 [patricksnape] * Use modern base64 interface over deprecated #2121 [hugovk] * ImageColor.getrgb hexadecimal RGBA #2114 [homm] * Test fix for bigendian machines #2092 [wiredfool] * Resampling lookups, trailing empty coefficients, precision #2008 [homm] * Add (un)packing between RGBA and BGRa #2057 [arjennienhuis] * Added return for J2k (and fpx) Load to return a pixel access object #2061 [wiredfool] * Skip failing numpy tests on Pypy <= 5.3.1 #2090 [arjennienhuis] * Show warning when trying to save RGBA image as JPEG #2010 [homm] * Respect pixel centers during transform #2022 [homm] * TOC for supported file formats #2056 [polarize] * Fix conversion of bit images to numpy arrays Fixes #350, #2058 [matthew-brett] * Add ImageOps.scale to expand or contract a PIL image by a factor [#2011] [vlmath] * Flake8 fixes #2050 [hugovk] * Updated freetype to 2.6.5 on Appveyor builds #2035 [radarhere] * PCX encoder fixes #2023, pr #2041 [homm] * Docs: Windows console prompts are > #2031 [techtonik] * Expose Pillow package version as PIL.__version__ #2027 [techtonik] * Add Box and Hamming filters for resampling #1959 [homm] * Retain a reference to core image object in PyAccess #2009 [homm] - update to version 3.3.3: * Fix fix for map.c overflow #2151 [wiredfool] - update to version 3.3.2: * Fix negative image sizes in Storage.c #2105 [wiredfool] * Fix integer overflow in map.c #2105 [wiredfool] - update to version 3.3.1: * Fix C90 compilation error for Tcl / Tk rewrite #2033 [matthew-brett] * Fix image loading when rotating by 0 deg #2052 [homm] - update to version 3.3.0: * Fixed enums for Resolution Unit and Predictor in TiffTags.py #1998 [wiredfool] * Fix issue converting P mode to LA #1986 [didrix] * Moved test_j2k_overflow to check_j2k_overflow, prevent DOS of our 32bit testing machines #1995 [wiredfool] * Skip CRC checks in PNG files when LOAD_TRUNCATED_IMAGES is enabled [#1991] [kkopachev] * Added CMYK mode for opening EPS files #1826 [radarhere] * Docs: OSX build instruction clarification #1994 [wiredfool] * Docs: Filter comparison table #1993 [homm] * Removal of pthread based Incremental.c, new interface for file decoders/encoders to access the python file. Fixes assorted J2k Hangs. #1934 [wiredfool] * Skip unnecessary passes when resizing #1954 [homm] * Removed duplicate code in ImagePalette #1832 [radarhere] * test_imagecms: Reduce precision of extended info due to 32 bit machine precision #1990 [AbdealiJK] * Binary Tiff Metadata/ICC profile. #1988 [wiredfool] * Ignore large text blocks in PNG if LOAD_TRUNCATED_IMAGES is enabled #1970 [homm] * Replace index = index+1 in docs with +=1 [cclauss] * Skip extra 0xff00 in jpeg #1977 [kkopachev] * Use bytearray for palette mutable storage #1985 [radarhere, wiredfool] * Added additional uint modes for Image.fromarray, more extensive tests of fromarray #1984 [mairsbw, wiredfool] * Fix for program importing PyQt4 when PyQt5 also installed #1942 [hugovk] * Changed depends/install_*.sh urls to point to github pillow-depends repo #1983 [wiredfool] * Allow ICC profile from encoderinfo while saving PNGs #1909 [homm] * Fix integer overflow on ILP32 systems (32-bit Linux). #1975 [lambdafu] * Change function declaration to match Tcl_CmdProc type #1966 [homm] * Integer overflow checks on all calls to *alloc #1781 [wiredfool] * Change equals method on Image so it short circuits #1967 [mattBoros] * Runtime loading of TCL/TK libraries, eliminating build time dependency. #1932 [matthew-brett] * Cleanup of transform methods #1941 [homm] * Fix "Fatal Python error: UNREF invalid object" in debug builds [#1936] [wiredfool] * Setup fixes for Alpine linux #1937 [wiredfool] * Split resample into horizontal + vertical passes #1933 [homm] * Box blur with premultiplied alpha #1914 [homm] * Add libimagequant support in quantize() #1889 [rr-] * Added internal Premultiplied luminosity (La) mode #1912 [homm] * Fixed point integer resample #1881 [homm] * Removed docs/BUILDME script #1924 [radarhere] * Moved comments to docstrings #1926 [hugovk] * Include Python.h before wchar.h so _GNU_SOURCE is set consistently [#1906] [hugovk] * Updated example decoder in documentation #1899 [radarhere] * Added support for GIF comment extension #1896 [radarhere] * Removed support for pre- 1.5.2 list form of Image info in Image.new #1897 [radarhere] * Fix typos in TIFF tags #1918 [radarhere] * Skip tests that require libtiff if it is not installed, fixes [#1866] [wiredfool] * Skip test when icc profile is not available, fixes #1887 [doko42] * Make deprecated functions raise NotImplementedError instead of Exception. #1862, #1890 [daniel-leicht, radarhere] * Replaced os.system with subprocess.call in setup.py #1879 [radarhere] * Corrected Image show documentation #1886 [radarhere] * Added check for executable permissions to ImageShow #1880 [radarhere] * Fixed tutorial code and added explanation #1877 [radarhere] * Added OS X support for ImageGrab grabclipboard #1837 [radarhere] * Combined duplicate code in ImageTk #1856 [radarhere] * Added --disable-platform-guessing option to setup.py build extension, #1861 [angeloc] * Fixed loading Transparent PNGs with a transparent black color [#1840] [olt] * Add support for LA mode in Image.fromarray #1865 [pierriko] * Make ImageFile load images in read-only mode #1864 [hdante] * Added _accept hook for XVThumbImagePlugin #1853 [radarhere] * Test TIFF with LZW compression #1855, TGA RLE file #1854 [hugovk] * Improved SpiderImagePlugin help text #1863 [radarhere] * Updated Sphinx project description #1870 [radarhere] * Remove support for Python 3.0 from _imaging.c #1851 [radarhere] * Jpeg qtables are unsigned chars #1814, #1921 [thebostik] * Added additional EXIF tags #1841, TIFF Tags #1821 [radarhere] * Changed documentation to refer to ImageSequence Iterator #1833 [radarhere] * Fix Fedora prerequisites in installation docs, depends script [#1842] [living180] * Added _accept hook for PixarImagePlugin #1843 [radarhere] * Removed outdated scanner classifier #1823 [radarhere] * Combined identical error messages in _imaging #1825 [radarhere] * Added debug option for setup.py to trace header and library finding #1790 [wiredfool] * Fix doc building on travis #1820, #1844 [wiredfool] * Fix for DIB/BMP images #1813, #1847 [wiredfool] * Add PixarImagePlugin file extension #1809 [radarhere] * Catch struct.errors when verifying png files #1805 [wiredfool] * SpiderImagePlugin: raise an error when seeking in a non-stack file [#1794] [radarhere, jmichalon] * Added Support for 2/4 bpp Tiff Grayscale Images #1789 [zwhfly] * Removed unused variable from selftest #1788 [radarhere] * Added warning for as_dict method (deprecated in 3.0.0) #1799 [radarhere] * Removed powf support for older Python versions #1784 [radarhere] * Health fixes #1625 #1903 [radarhere] - update to version 3.2.0: * Added install docs for Fedora 23 and FreeBSD #1729, #1739, #1792 [koobs, zandermartin, wiredfool] * Fixed TIFF multiframe load when the frames have different compression types #1782 [radarhere, geka000] * Added __copy__ method to Image #1772 [radarhere] * Updated dates in PIL license in OleFileIO README #1787 [radarhere] * Corrected Tiff tag names #1786 [radarhere] * Fixed documented name of JPEG property #1783 [radarhere] * Fixed UnboundLocalError when loading a corrupt jpeg2k file #1780 [wiredfool] * Fixed integer overflow in path.c #1773 [wiredfool, nedwill] * Added debug to command line help text for pilprint #1766 [radarhere] * Expose many more fields in ICC Profiles #1756 [lambdafu] * Documentation changes, URL update, transpose, release checklist [radarhere] * Fixed saving to nonexistant files specified by pathlib.Path objects, fixes #1747 [radarhere] * Round Image.crop arguments to the nearest integer, fixes #1744 [hugovk] * Fix uninitialized variable warning in _imaging.c:getink, fixes [#486] [wiredfool] * Disable multiprocessing install on cygwin, fixes #1690 [wiredfool] * Fix the error reported when libz is not found #1764 [wiredfool] * More general error check to avoid Symbol not found: _PyUnicodeUCS2_AsLatin1String on OS X #1761 [wiredfool] * Added py35 to tox envlist #1724 [radarhere] * Fix EXIF tag name typos #1736 [zarlant, radarhere] * Updated freetype to 2.6.3, Tk/Tcl to 8.6.5 and 8.5.19 [radarhere] * Add a loader for the FTEX format from Independence War 2: Edge of Chaos #1688 [jleclanche] * Improved alpha_composite documentation #1698 [radarhere] * Extend ImageDraw.text method to pass on multiline_text method specific arguments #1647 [radarhere] * Allow ImageSequence to seek to zero #1686 [radarhere] * ImageSequence Iterator is now an iterator #1649 [radarhere] * Updated windows test builds to jpeg9b [radarhere] * Fixed support for .gbr version 1 images, added support for version 2 in GbrImagePlugin #1653 [wiredfool] * Clarified which YCbCr format is used #1677 [radarhere] * Added TiffTags documentation, Moved windows build documentation to winbuild/ #1667 [wiredfool] * Add tests for OLE file based formats #1678 [radarhere] * Add TIFF IFD test #1671 [radarhere] * Add a basic DDS image plugin with more tests #1654 [jleclanche, hugovk, wiredfool] * Fix incorrect conditional in encode.c #1638 [manisandro] - update to version 3.1.2: * Fixed an integer overflow in Jpeg2KEncode.c causing a buffer overflow. CVE-2016-3076 [wiredfool] - removed patch python3-Pillow-tests-update-epsilon-for-freetype27.patch, fixed upstream - require python3-olefile- update for singlespec - drop update-alternatives - add fdupes - actually build in %build section- Add python-Pillow-tests-update-epsilon-for-freetype27.patch: Fix buildfailures against freetype 2.7 by increasing the epsilon (gh#python-pillow/Pillow#2116); this seems to be the recommended solution by upstream.- ignore make check errors on all bigendian archs (adding ppc s390 s390x)- add LICENSE- ignore make check errors ppc64 architecture as upstream issue https://github.com/python-pillow/Pillow/issues/1204- update to version 3.1.1 with security fixes: * Fixed an integer overflow in Resample.c causing writes in the Python heap. * Fixed a buffer overflow in PcdDecode.c causing a segfault when opening PhotoCD files. CVE-2016-TBD * Fixed a buffer overflow in FliDecode.c causing a segfault when opening FLI files. CVE-2016-0775 (fixes bsc#965582) * Fixed a buffer overflow in TiffDecode.c causing an arbitrary amount of memory to be overwritten when opening a specially crafted invalid TIFF file. CVE-2016-0740 (fixes bsc#965579)- update to version 3.1.0: * Fixing test failures on Python 2.6/Windows #1633 [wiredfool] * Limit metadata tags when writing using libtiff #1620 [wiredfool] * Rolling back exif support to pre-3.0 format #1627 [wiredfool] * Fix Divide by zero in Exif, add IFDRational class #1531 [wiredfool] * Catch the IFD error near the source #1622 [wiredfool] * Added release notes for 3.1.0 #1623 [radarhere] * Updated spacing to be consistent between multiline methods #1624 [radarhere] * Let EditorConfig take care of some basic formatting #1489 [hugovk] * Restore gpsexif data to the v1 form [wiredfool] * Add /usr/local include and library directories for freebsd #1613 [leforestier] * Updated installation docs for new versions of dependencies #1611 [radarhere] * Removed unrunnable test file #1610 [radarhere] * Changed register calls to use format property #1608 [radarhere] * Added field type constants to TiffTags #1596 [radarhere] * Allow saving RowsPerStrip with libtiff #1594 [wiredfool] * Enabled conversion to numpy array for HSV images #1578 [cartisan] * Changed some urls in the docs to use https #1580 [hugovk] * Removed logger.exception from ImageFile.py #1590 [radarhere] * Removed warnings module check #1587 [radarhere] * Changed arcs, chords and pie slices to use floats #1577 [radarhere] * Update unit test asserts #1584, #1598 [radarhere] * Fix command to invoke ghostscript for eps files #1478 [baumatron, radarhere] * Consistent multiline text spacing #1574 [wiredfool, hugovk] * Removed unused lines in BDFFontFile #1530 [radarhere] * Changed ImageQt import of Image #1560 [radarhere, ericfrederich] * Throw TypeError if no cursors were found in .cur file #1556 [radarhere] * Fix crash in ImageTk.PhotoImage on win-amd64 #1553 [cgohlke] * ExtraSamples tag should be a SHORT, not a BYTE #1555 [Nexuapex] * Docs and code health fixes #1565 #1566 #1581 #1586 #1591 #1621 [radarhere] * Updated freetype to 2.6.2 #1564 [radarhere] * Updated WebP to 0.5.0 for Travis #1515 #1609 [radarhere] * Fix missing 'version' key value in __array_interface__ #1519 [mattip] * Replaced os.popen with subprocess.Popen to pilprint script #1523 [radarhere] * Catch OverflowError in SpiderImagePlugin #1545 [radarhere, MrShark] * Fix the definition of icc_profile in TiffTags #1539 [wiredfool] * Remove old _imagingtiff.c and pilplus stuff #1499 [hugovk] * Fix Exception when requiring jpeg #1501 [hansmosh] * Dependency scripts for Debian and Ubuntu #1486 [wiredfool] * Added Usage message to painter script #1482 [radarhere] * Add tag info for iccprofile, fixes #1462. #1465 [wiredfool] * Added some requirements for make release-test #1451 [wiredfool] * Flatten tiff metadata value SAMPLEFORMAT to initial value, fixes [#1466] [wiredfool] * Fix handling of pathlib in Image.save. Fixes #1460 [wiredfool] * Make tests more robust #1469 [hugovk] * Use correctly sized pointers for windows handle types. #1458 [nu744]- fix wrong macro name in %post - it's %{py_ver}, not %{py-ver}- specfile: * added new binary files as update alternatives * cleaned up update alternatives * removed build command, since it will be rebuild during install anyway (taken from python3 spec file) - update to version 3.0.0: * Check flush method existence for file-like object #1398 [mrTable, radarhere] * Added PDF multipage saving #1445 [radarhere] * Removed deprecated code, Image.tostring, Image.fromstring, Image.offset, ImageDraw.setink, ImageDraw.setfill, ImageFileIO, ImageFont.FreeTypeFont and ImageFont.truetype file kwarg, ImagePalette private _make functions, ImageWin.fromstring and ImageWin.tostring #1343 [radarhere] * Load more broken images #1428 [homm] * Require zlib and libjpeg #1439 [wiredfool] * Preserve alpha when converting from a QImage to a Pillow Image by using png instead of ppm #1429 [ericfrederich] * Qt needs 32 bit aligned image data #1430 [ericfrederich] * Tiff ImageFileDirectory rewrite #1419 [anntzer, wiredfool, homm] * Removed spammy debug logging #1423 [wiredfool] * Save as GiF89a with support for animation parameters #1384 [radarhere] * Correct convert matrix docs #1426 [wiredfool] * Catch TypeError in _getexif #1414 [radarhere, wiredfool] * Fix for UnicodeDecodeError in TiffImagePlugin #1416 [bogdan199, wiredfool] * Dedup code in image.open #1415 [wiredfool] * Skip any number extraneous chars at the end of JPEG chunks #1337 [homm] * Single threaded build for pypy3, refactor #1413 [wiredfool] * Fix loading of truncated images with LOAD_TRUNCATED_IMAGES enabled [#1366] [homm] * Documentation update for concepts: bands [merriam] * Add Solaris/SmartOS include and library directories #1356 [njones11] * Improved handling of getink color #1387 [radarhere] * Disable compiler optimizations for topalette and tobilevel functions for all msvc versions, fixes #1357 [cgohlke] * Skip ImageFont_bitmap test if _imagingft C module is not installed [#1409] [homm] * Add param documentation to ImagePalette #1381 [bwrsandman] * Corrected scripts path #1407 [radarhere] * Updated libtiff to 4.0.6 #1405, #1421 [radarhere] * Updated Platform Support for Yosemite #1403 [radarhere] * Fixed infinite loop on truncated file #1401 [radarhere] * Check that images are L mode in ImageMorph methods #1400 [radarhere] * In tutorial of pasting images, add to mask text #1389 [merriam] * Style/health fixes #1391, #1397, #1417, #1418 [radarhere] * Test on Python 3.5 dev and 3.6 nightly #1361 [hugovk] * Fix fast rotate operations #1373 [radarhere] * Added support for pathlib Path objects to open and save #1372 [radarhere] * Changed register calls to use format property #1333 [radarhere] * Added support for ImageGrab.grab to OS X #1367, #1443 [radarhere, hugovk] * Fixed PSDraw stdout Python 3 compatibility #1365 [radarhere] * Added Python 3.3 to AppVeyor #1363 [radarhere] * Treat MPO with unknown header as base JPEG file #1350 [hugovk, radarhere] * Added various tests #1330, #1344 [radarhere] * More ImageFont tests #1327 [hugovk] * Use logging instead of print #1207 [anntzer]- Update to 2.9.0: * Added test for GimpPaletteFile #1324 * Fixed ValueError in Python 2.6 #1315 #1316 * Fixed tox test script path #1308 * Added width and height properties #1304 * Update tiff and tk tcl 8.5 versions #1303 * Add functions to convert: Image <-> QImage; Image <-> QPixmap #1217 * Remove duplicate code in gifmaker script #1294 * Multiline text in ImageDraw #1177 * Automated Windows CI/build support #1278 * Removed support for Tk versions earlier than 8.4 #1288 * Fixed polygon edge drawing #1255 (fixes #1252) * Check prefix length in _accept methods #1267 * Register MIME type for BMP #1277 * Adjusted ImageQt use of unicode() for 2/3 compatibility #1218 * Identify XBM file created with filename including underscore #1230 (fixes #1229) * Copy image when saving in GifImagePlugin #1231 (fixes #718) * Removed support for FreeType 2.0 #1247 * Added background saving to GifImagePlugin #1273 * Provide n_frames attribute to multi-frame formats #1261 * Add duration and loop set to GifImagePlugin #1172, #1269 * Ico files are little endian #1232 * Upgrade olefile from 0.30 to 0.42b #1226 * Setting transparency value to 0 when the tRNS contains only null byte(s) #1239 * Separated out feature checking from selftest #1233 * Style/health fixes * Update WebP from 0.4.1 to 0.4.3 #1235 * Release GIL during image load (decode) #1224 * Added icns save #1185 * Fix putdata memory leak #1196 * Keep user-specified ordering of icon sizes #1193 * Tiff: allow writing floating point tag values #1113 - Update to 2.8.2: * Bug fix: Fixed Tiff handling of bad EXIF data - Remove 0001-Ico-files-are-little-endian-ref-1204.patch: merged upstream - Remove fix-textsize-equal.patch: merged upstream- fix build and dependencies for RHEL/CentOS 7- add 0001-Ico-files-are-little-endian-ref-1204.patch: fix for s390x- Update to 2.8.1: - Bug fix: Catch struct.error on invalid JPEG, fixes #1163 - Fix 32-bit BMP loading (RGBA or RGBX) - Fix UnboundLocalError in ImageFile #1131 - Re-enable test image caching - Fix: Cannot identify EPS images, fixes #1104 - Configure setuptools to run nosetests, fixes #729 - Style/health fixes - Add support for HTTP response objects to Image.open() - Improve reference docs for PIL.ImageDraw.Draw.pieslice() #1145 - Added copy method font_variant() and accessible properties to truetype() #1123 - Fix ImagingEffectNoise #1128 - Remove unreachable code - Let Python do the endian stuff + tests #1121 - Fix webp decode memory leak #1114 - Fast path for opaque pixels in RGBa unpacker #1088 - Enable basic support for 'RGBa' raw encoding/decoding #1096 - Remove Pillow-fixtests.patch, merged upstream- Add fix-textsize-equal.patch. Fixes testsuite on SLE11SP3- fix test for lossy webp alpha deviation of earlier lib versions * Add Pillow-fixtests.patch- update to version 2.7.0: - Look for OSX and Linux fonts in common places. #1054 - Fix potential PNG decompression DOS #1060 - Use underscores, not spaces, in TIFF tag kwargs. #1044, #1058 - Update PSDraw for Python3, add tests. #1055 - Use Bicubic filtering by default for thumbnails. Don't use Jpeg Draft mode for thumbnails. #1029 - Fix MSVC compiler error: Use Py_ssize_t instead of ssize_t #1051 - Fix compiler error: MSVC needs varaibles defined at the start of the block #1048 - The GIF Palette optimization algorithm is only applicable to mode='P' or 'L' #993 - Use PySide as an alernative to PyQt4/5. - Replace affine-based im.resize implementation with convolution-based im.stretch #997 - Replace Gaussian Blur implementation with iterated fast box blur. #961 Note: Radius parameter is interpreted differently than before. - Better docs explaining import _imaging failure #1016, build #1017, mode #1018, PyAccess, PixelAccess objects #1019 Image.quantize #1020 and Image.save #1021 - Fix for saving TIFF image into an io.BytesIO buffer #1011 - Fix antialias compilation on debug versions of Python #1010 - Fix for Image.putdata segfault #1009 - Ico save, additional tests #1007 - Use PyQt4 if it has already been imported, otherwise prefer PyQt5. #1003 - Speedup resample implementation up to 2.5 times. #977 - Speed up rotation by using cache aware loops, added transpose to rotations. #994 - Fix Bicubic interpolation #970 - Support for 4-bit greyscale TIFF images #980 - Updated manifest #957 - Fix PyPy 2.4 regression #952 - Webp Metadata Skip Test comments #954 - Fixes for things rpmlint complains about #942 - update to version 2.6.2: - Fix potential PNG decompression DOS #1060 - Fix Regression in PyPy 2.4 in streamio #958- Update to 2.6.1 - Fix SciPy regression for in Image.resize - Fix manifest to include all test files - Update to 2.6.0 - Relax precision of ImageDraw tests for x86, GimpGradient for PPC - Use redistributable image for testing - Use redistributable ICC profiles for testing, skip if not available - Additional documentation for JPEG info and save options - Fix JPEG Encoding memory leak when exif or qtables were specified - Image.tobytes() and Image.tostring() documentation update - On Windows, do not execute convert.exe without specifying path - Fix msvc build error - Fix for handling P + transparency -> RGBA conversions - Retain alpha in ImageEnhance operations - Jpeg2k Decode/encode memory leak fix - EpsFilePlugin Speed improvements - Don't resize if already the right size - Fix for reading multipage TIFFs - Correctly handle saving gray and CMYK JPEGs with quality=keep - Correct duplicate Tiff Metadata and Exif tag values - Windows fixes - Fix TGA files with image ID field - Fixed wrong P-mode of small, unoptimized L-mode GIF - Fixed CVE-2014-3598, a DOS in the Jpeg2KImagePlugin - Fixed CVE-2014-3589, a DOS in the IcnsImagePlugin - setup.py: Close open file handle before deleting - Return Profile with Transformed Images - Changed docstring to refer to the correct function - Adding coverage support for C code tests - PyPy performance improvements - Added support for reading MPO files - Added support for encoding and decoding iTXt chunks - HSV Support - Removed unusable ImagePalette.new() - Fix Scrambled XPM - Doc cleanup - Fix `ImageStat` docs - Added docs for ExifTags - More tests for CurImagePlugin, DcxImagePlugin, Effects.c, GimpGradientFile, ImageFont, ImageMath, ImagePalette, IptcImagePlugin, SpiderImagePlugin, SgiImagePlugin, XpmImagePlugin and _util - Fix return value of FreeTypeFont.textsize() does not include font offsets - Fix dispose calculations for animated GIFs - Added class checking to Image __eq__ function - Test PalmImagePlugin and method to skip known bad tests - Update to 2.5.3 - Fixed CVE-2014-3598, a DOS in the Jpeg2KImagePlugin (backport) - Update to 2.5.2 - Fixed CVE-2014-3589, a DOS in the IcnsImagePlugin (backport)python3-imagingi04-ch2c 1723722874  !"#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\^^``bbddffhhjjllnnpprrttvvxyzz||~~     !"#$%&&)*+,-8.4.0-bp155.3.9.18.4.0-bp155.3.9.18.4.08.4.0PILPIL.pthBdfFontFile.pyBlpImagePlugin.pyBmpImagePlugin.pyBufrStubImagePlugin.pyContainerIO.pyCurImagePlugin.pyDcxImagePlugin.pyDdsImagePlugin.pyEpsImagePlugin.pyExifTags.pyFitsStubImagePlugin.pyFliImagePlugin.pyFontFile.pyFpxImagePlugin.pyFtexImagePlugin.pyGbrImagePlugin.pyGdImageFile.pyGifImagePlugin.pyGimpGradientFile.pyGimpPaletteFile.pyGribStubImagePlugin.pyHdf5StubImagePlugin.pyIcnsImagePlugin.pyIcoImagePlugin.pyImImagePlugin.pyImage.pyImageChops.pyImageCms.pyImageColor.pyImageDraw.pyImageDraw2.pyImageEnhance.pyImageFile.pyImageFilter.pyImageFont.pyImageGrab.pyImageMath.pyImageMode.pyImageMorph.pyImageOps.pyImagePalette.pyImagePath.pyImageQt.pyImageSequence.pyImageShow.pyImageStat.pyImageTransform.pyImageWin.pyImtImagePlugin.pyIptcImagePlugin.pyJpeg2KImagePlugin.pyJpegImagePlugin.pyJpegPresets.pyMcIdasImagePlugin.pyMicImagePlugin.pyMpegImagePlugin.pyMpoImagePlugin.pyMspImagePlugin.pyPSDraw.pyPaletteFile.pyPalmImagePlugin.pyPcdImagePlugin.pyPcfFontFile.pyPcxImagePlugin.pyPdfImagePlugin.pyPdfParser.pyPixarImagePlugin.pyPngImagePlugin.pyPpmImagePlugin.pyPsdImagePlugin.pyPyAccess.pySgiImagePlugin.pySpiderImagePlugin.pySunImagePlugin.pyTarIO.pyTgaImagePlugin.pyTiffImagePlugin.pyTiffTags.pyWalImageFile.pyWebPImagePlugin.pyWmfImagePlugin.pyXVThumbImagePlugin.pyXbmImagePlugin.pyXpmImagePlugin.py__init__.py__main__.py__pycache__BdfFontFile.cpython-36.opt-1.pycBdfFontFile.cpython-36.pycBlpImagePlugin.cpython-36.opt-1.pycBlpImagePlugin.cpython-36.pycBmpImagePlugin.cpython-36.opt-1.pycBmpImagePlugin.cpython-36.pycBufrStubImagePlugin.cpython-36.opt-1.pycBufrStubImagePlugin.cpython-36.pycContainerIO.cpython-36.opt-1.pycContainerIO.cpython-36.pycCurImagePlugin.cpython-36.opt-1.pycCurImagePlugin.cpython-36.pycDcxImagePlugin.cpython-36.opt-1.pycDcxImagePlugin.cpython-36.pycDdsImagePlugin.cpython-36.opt-1.pycDdsImagePlugin.cpython-36.pycEpsImagePlugin.cpython-36.opt-1.pycEpsImagePlugin.cpython-36.pycExifTags.cpython-36.opt-1.pycExifTags.cpython-36.pycFitsStubImagePlugin.cpython-36.opt-1.pycFitsStubImagePlugin.cpython-36.pycFliImagePlugin.cpython-36.opt-1.pycFliImagePlugin.cpython-36.pycFontFile.cpython-36.opt-1.pycFontFile.cpython-36.pycFpxImagePlugin.cpython-36.opt-1.pycFpxImagePlugin.cpython-36.pycFtexImagePlugin.cpython-36.opt-1.pycFtexImagePlugin.cpython-36.pycGbrImagePlugin.cpython-36.opt-1.pycGbrImagePlugin.cpython-36.pycGdImageFile.cpython-36.opt-1.pycGdImageFile.cpython-36.pycGifImagePlugin.cpython-36.opt-1.pycGifImagePlugin.cpython-36.pycGimpGradientFile.cpython-36.opt-1.pycGimpGradientFile.cpython-36.pycGimpPaletteFile.cpython-36.opt-1.pycGimpPaletteFile.cpython-36.pycGribStubImagePlugin.cpython-36.opt-1.pycGribStubImagePlugin.cpython-36.pycHdf5StubImagePlugin.cpython-36.opt-1.pycHdf5StubImagePlugin.cpython-36.pycIcnsImagePlugin.cpython-36.opt-1.pycIcnsImagePlugin.cpython-36.pycIcoImagePlugin.cpython-36.opt-1.pycIcoImagePlugin.cpython-36.pycImImagePlugin.cpython-36.opt-1.pycImImagePlugin.cpython-36.pycImage.cpython-36.opt-1.pycImage.cpython-36.pycImageChops.cpython-36.opt-1.pycImageChops.cpython-36.pycImageCms.cpython-36.opt-1.pycImageCms.cpython-36.pycImageColor.cpython-36.opt-1.pycImageColor.cpython-36.pycImageDraw.cpython-36.opt-1.pycImageDraw.cpython-36.pycImageDraw2.cpython-36.opt-1.pycImageDraw2.cpython-36.pycImageEnhance.cpython-36.opt-1.pycImageEnhance.cpython-36.pycImageFile.cpython-36.opt-1.pycImageFile.cpython-36.pycImageFilter.cpython-36.opt-1.pycImageFilter.cpython-36.pycImageFont.cpython-36.opt-1.pycImageFont.cpython-36.pycImageGrab.cpython-36.opt-1.pycImageGrab.cpython-36.pycImageMath.cpython-36.opt-1.pycImageMath.cpython-36.pycImageMode.cpython-36.opt-1.pycImageMode.cpython-36.pycImageMorph.cpython-36.opt-1.pycImageMorph.cpython-36.pycImageOps.cpython-36.opt-1.pycImageOps.cpython-36.pycImagePalette.cpython-36.opt-1.pycImagePalette.cpython-36.pycImagePath.cpython-36.opt-1.pycImagePath.cpython-36.pycImageQt.cpython-36.opt-1.pycImageQt.cpython-36.pycImageSequence.cpython-36.opt-1.pycImageSequence.cpython-36.pycImageShow.cpython-36.opt-1.pycImageShow.cpython-36.pycImageStat.cpython-36.opt-1.pycImageStat.cpython-36.pycImageTransform.cpython-36.opt-1.pycImageTransform.cpython-36.pycImageWin.cpython-36.opt-1.pycImageWin.cpython-36.pycImtImagePlugin.cpython-36.opt-1.pycImtImagePlugin.cpython-36.pycIptcImagePlugin.cpython-36.opt-1.pycIptcImagePlugin.cpython-36.pycJpeg2KImagePlugin.cpython-36.opt-1.pycJpeg2KImagePlugin.cpython-36.pycJpegImagePlugin.cpython-36.opt-1.pycJpegImagePlugin.cpython-36.pycJpegPresets.cpython-36.opt-1.pycJpegPresets.cpython-36.pycMcIdasImagePlugin.cpython-36.opt-1.pycMcIdasImagePlugin.cpython-36.pycMicImagePlugin.cpython-36.opt-1.pycMicImagePlugin.cpython-36.pycMpegImagePlugin.cpython-36.opt-1.pycMpegImagePlugin.cpython-36.pycMpoImagePlugin.cpython-36.opt-1.pycMpoImagePlugin.cpython-36.pycMspImagePlugin.cpython-36.opt-1.pycMspImagePlugin.cpython-36.pycPSDraw.cpython-36.opt-1.pycPSDraw.cpython-36.pycPaletteFile.cpython-36.opt-1.pycPaletteFile.cpython-36.pycPalmImagePlugin.cpython-36.opt-1.pycPalmImagePlugin.cpython-36.pycPcdImagePlugin.cpython-36.opt-1.pycPcdImagePlugin.cpython-36.pycPcfFontFile.cpython-36.opt-1.pycPcfFontFile.cpython-36.pycPcxImagePlugin.cpython-36.opt-1.pycPcxImagePlugin.cpython-36.pycPdfImagePlugin.cpython-36.opt-1.pycPdfImagePlugin.cpython-36.pycPdfParser.cpython-36.opt-1.pycPdfParser.cpython-36.pycPixarImagePlugin.cpython-36.opt-1.pycPixarImagePlugin.cpython-36.pycPngImagePlugin.cpython-36.opt-1.pycPngImagePlugin.cpython-36.pycPpmImagePlugin.cpython-36.opt-1.pycPpmImagePlugin.cpython-36.pycPsdImagePlugin.cpython-36.opt-1.pycPsdImagePlugin.cpython-36.pycPyAccess.cpython-36.opt-1.pycPyAccess.cpython-36.pycSgiImagePlugin.cpython-36.opt-1.pycSgiImagePlugin.cpython-36.pycSpiderImagePlugin.cpython-36.opt-1.pycSpiderImagePlugin.cpython-36.pycSunImagePlugin.cpython-36.opt-1.pycSunImagePlugin.cpython-36.pycTarIO.cpython-36.opt-1.pycTarIO.cpython-36.pycTgaImagePlugin.cpython-36.opt-1.pycTgaImagePlugin.cpython-36.pycTiffImagePlugin.cpython-36.opt-1.pycTiffImagePlugin.cpython-36.pycTiffTags.cpython-36.opt-1.pycTiffTags.cpython-36.pycWalImageFile.cpython-36.opt-1.pycWalImageFile.cpython-36.pycWebPImagePlugin.cpython-36.opt-1.pycWebPImagePlugin.cpython-36.pycWmfImagePlugin.cpython-36.opt-1.pycWmfImagePlugin.cpython-36.pycXVThumbImagePlugin.cpython-36.opt-1.pycXVThumbImagePlugin.cpython-36.pycXbmImagePlugin.cpython-36.opt-1.pycXbmImagePlugin.cpython-36.pycXpmImagePlugin.cpython-36.opt-1.pycXpmImagePlugin.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc__main__.cpython-36.opt-1.pyc__main__.cpython-36.pyc_binary.cpython-36.opt-1.pyc_binary.cpython-36.pyc_tkinter_finder.cpython-36.opt-1.pyc_tkinter_finder.cpython-36.pyc_util.cpython-36.opt-1.pyc_util.cpython-36.pyc_version.cpython-36.opt-1.pyc_version.cpython-36.pycfeatures.cpython-36.opt-1.pycfeatures.cpython-36.pyc_binary.py_imaging.cpython-36m-x86_64-linux-gnu.so_imagingcms.cpython-36m-x86_64-linux-gnu.so_imagingft.cpython-36m-x86_64-linux-gnu.so_imagingmath.cpython-36m-x86_64-linux-gnu.so_imagingmorph.cpython-36m-x86_64-linux-gnu.so_tkinter_finder.py_util.py_version.py_webp.cpython-36m-x86_64-linux-gnu.sofeatures.pyPillow-8.4.0-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txttop_level.txtzip-safepython3-PillowCHANGES.rstREADME.mdpython3-PillowLICENSE/usr/lib64/python3.6/site-packages//usr/lib64/python3.6/site-packages/PIL//usr/lib64/python3.6/site-packages/PIL/__pycache__//usr/lib64/python3.6/site-packages/Pillow-8.4.0-py3.6.egg-info//usr/share/doc/packages//usr/share/doc/packages/python3-Pillow//usr/share/licenses//usr/share/licenses/python3-Pillow/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protectionobs://build.opensuse.org/openSUSE:Maintenance:18518/openSUSE_Backports_SLE-15-SP5_Update/39c5630de6447386e78645d8cf63bdce-python-Pillow.openSUSE_Backports_SLE-15-SP5_Updatedrpmxz5x86_64-suse-linux     directoryASCII textPython script, ASCII text executablePython script, UTF-8 Unicode text executablepython 3.6 byte-compiledELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4abac02061795c6148354f2a2950b58a7f8b232e, not strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a300b043e47b90fe02ca2112c107abfbb1f50a51, not strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=94c702c3eac7eed31be7a410e73f2bc0cd2115d2, not strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d712bc33b5c006ff5a37e86404521826afc9036e, not strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=8300c584f80486645067ec6e81191baec9051a4d, not strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4b852e2170638db1810745b82fa26d841ce9bf8a, not strippedHTML document, ASCII textUTF-8 Unicode text  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     &.5;<=>I RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRRRRR RR RRRRRR RRRRRR RR RRRRRRRR RRRRR RR RRRRRR RRRRRRRRRRRRRR RRsS~gX7Dɪpu h#+ YT <\Z΀=|#G.ZPݻ?Dtc5y{7R`z?;B̆/ vAg/妥nV;L$f9Ჶ,p H~A\ c^Ʀwa.RkZtqbw*z/2\Ŕ_/HR]jsWk4.=X-^{7y|=0B|e? ÛO8bFE/~dssD6OM̪N$q |QK]5`1D^$I~_l sؤ(5Rtʲ3/ %-MmFQ)u†Fw~A;{$ vzdz]&:/ҿ qkّAKȒ`vBEQĨwuVԘ E$Ո)wak!;ԒOSvL~E%8t57 >iD0N&Sxkjt:!dU;J:1_a<4멼%#}_4z (FA*=m70۠ sJwǥy32Ro$srDS>y=8z*{X6-)qs\T ʿى^W *<Z#X3moktYk;jyDq9O態dd-nF3g+ut BBݿW%bY&ʼz6CfzG4u|0F /j+T<hy4<_jzqM#:A*>Mt(r"[n@íiM@Y']S$+g_ A1WcA-ҞʗӘx6KoF_{ʥĖ|_JԮ}?bѕ9wl DEWG{ o?,&ז<HsЦG,-Dlg1G4Z~ڤrfe 7^#%DzٗdΩ rQWXFV6o"d8SZ[_GLs(3-&򎟀Ћ~#i %]BgHe" 5sIvWg*^r?Tv3wDC#e*Q aشXe8RPy;7e".‡ 9ZUjR({@Lr7xn&~zieWeIze5x9btnG'9hl&ɀݘ/Ñiagӎ0:fopO, ՗ƀL~/BMІt"0^5] Qo M*@ ~wDDC ::iTsx6קd!J‰V" P:J*2T1~EP)>h0zMڡ3*]04ly9 cϹ\FQB34& +Z B{=\KY<1gϹF('-㩝HR9vrEYU3:$T9$O&2+64ܣg\7 n7j-oĕN (eX N 7Qp5TPHH'41u+Wɜh:|x•)H5 ` w\=|Dl[:,3"il_x`zbob$A|"xT/'vHKAM06hsN op| 4 :bǥ %g-\_t֮1m):QչӮh`O8Ȭ!3fv4BN.rO|$ pr<֗oO^ܨGSY\vQъFha8${aOЀDY#WT{hf~R7BaxLξ~Ҥت1y^>>e#~Qhh#A02ͳ1ڒK`[iUTR HN; AL+4 =M  $Vp-.e' _Sfwl'Yk;uy;LŲ=k=ЁR?Ѭ E uBԕ )%$!eKZ6EJi6'ԒGϱ1Z:*J R:ƕQ-[J&uO}TpAwL+---x1sg}=yy #'vDf5yǤᜏxTHVx+$(.dž%WMea!eqU ?Z7V̩J [/Ï.Ue; eQkqd6o<@i>6xRv1ʤrme3C'E%@ 7I pHem`Խ d[4etu?9K:,YJvݔ9rn F>*moyp%H<ԙkO쐶Nh1kźN)waϯa3^ {`3ә MΞ^"[tKAw[ ϯMPj"Q5qu(lfy.F'{m7y^ &N^5%%\ چ|%6gMvh鍠o~7@Q# HsB<R-xupb'ٸ# l;16i\Uvs5y$<"jd?UI O:Hg_zG+QojQճTp-G}s"2bZvb1)zK dtˀg]P; rM,}@z\ .8Ns;AߠjhG_P:AQ=a{RlCgKx9Ỏ c۶ A4OkDSW!uPzDT~55MrQB ҈YNoCf-! (GW_ja"CN[m2:d4s܇.^o$!}p 4<YpI+M<4F$,u4m)x.]5kƔ;!%`a#{ڭLy0Mɇ& =o] H2-kpJ?nV}}H'$)\1Kş)$zq?B. dP1x |sǬT_,$cJm,)`FnqR.=Nr-s-a|qUk$Sʰ."*{V_\޴®Dtdz=Zcy=T[˰ojyuuUa?4 MZȶ7ؔq._ ߎ*y#Xρừn){WߧC@e aauzeJ2Ek&V+""!ؽ Ze}$^p:xslZ(4SBJIl8sB֪K$7nøPgfOՍ{a^I.=2 0D|ד=2O@/W/^%9UW05>S;luM[k>Id>&CM3΅Bq!,a)vzDO0u=^/:l=Y(𽝀z&Ii"uk]wu*M]+lyӭH.Wwy~/ *993 Oi맇r: aQ"^OY|GyUS' d@@"; ϶̩UqE࠺Եq62c+K|'=B>"8ưͳ |y<WGE%ƚ^rajg ,{߄WN %&jmG)O?AR ]%i4 Lic׽m`m <6RΫwT=;Jrm gȻRkeGhNNS20Jf/:GbЀ"c^\%x虫5rmR:=Ϥվ1q7iؓޱ`9l7X^w!Z¿= ܸ).'S4KRFvD>)Zz;檌W12RFʁǎ $}%ʕ/r!6 ȵknY_\a'ۣT'J> z =PwڠԋC`%r'MZFu9-BJfi,d6cB@,i3 UO6T%f6i/XM$M ߘC1G.ӕEk^,g'h.#moL}/\l#./^+g@ dh~&FQd0T}7<::)W\qs'P0N$I,q=?Sҧukꡩs40quCz>+%[MEW:YľiXb/;>IakqY V2-OʑX8Hu,dޱvGQ8 '#^rXE ߃PmGEO)'!9(vZ\o˂|Bas۽nk[T PĻ]M\^-i66$ i[TH椼SZzV,v7 |MR~09>t ..1\`Ԯcsܮ^?(i$뉤€npfn;J6g KY.jm瑈+S >0hhs^ 1:mu#fP 3>`M'; "YSn_1XoiYhwD{VInNNvپߍ+qd&zIFDmeUFlՍ88E`5˓ȹ; \QL$MOoLeaArEh4 &I_'eF;Dl NڑE`!H[KՆ>ϋ7G.0%4(5Z%e{XD65JsB apAڦ(bX n#iYy!;e!DV/j[05A ;PzDqo=ĆMQ(Si kB98urO"+FkA(>NqWP >A6|d<o,RԌ胬asF'd-I @5:f{~&n:9 q}_e2$CKKwhm'rE#0V?Y=u3cb)e҃^Q{ZjCmx@s#8oݹvS:ϫ1~ꎤs嗀5d?ۄڂ2+g?ux5ӿ%[QF]8mtFI`TxBl)r8NSh[;3vPKʦGձ2JjzG!1u?^[6&vfC :m1<2o2l9Gp"!?$ڨ7Fz6cW^ >xZ|0) S2w3<3Ě!2x&P;OD)pm$o#B5T]|En}0?sՍV0BiC&BYs]Otw&^9/<"101e찬Ӫ!O?nNtW˚$]ޑ>׵+#vzxMճ%2z\go|!? ϖv8S - ~"VM8j)F'qU5us$wШ7mP~A[Pvw}F[ZC;_=yQ>,Anl QsiQ] ;<ٶsx͓dww2~JS]2b  wr2@U52`X$Rn<-nm]U+w6*pp;xz֒0OA龴h}ZNQ:!%5hP]% dԛ$Up U`s^> x3,<Ü-ĔVJZHR85V>e/}'0uX|r*\`| 9Gp$xN.BTedf/RqKዦۛ0M|)dq8q *BJ v08 L񜾕 a`9#2YCi'ʦ@C`Hxax{4ph :f69RׯRc3 ܹp9vT<@\coZV 3~G}TdGR$C t dakͮ/%myr2'5V5`wDYa V :䗕cEvmsβG[X%s"Mfr`Ef~$8~pHP|3H+ 'ݛ̽T޵k qr#_:E[e .P+#q !黀iXiƽH0J6fx!lNqe^yys_%6sup܊/7 `0'OB*՛7ɠSK&5h=?jC|d ]35ָ>!Gp hőnH7EB;NCS8$7b#.6CTPo}fRҥtmne1aG_g>rmrPcM"4)`W`Vi5A}+.3i1I_A1"t{I&XyPLZbIbmؚGMž(VO9YHՐKp;.&|Xd̍7$3W,շ7W=Vɧ媾#r,zR4V^-oӏ[ *;/3^>q͍1eZꠧ زTOuJ(n\6>i\ Oµ$#h fK!z%]GҰ]cz z  }FON|r*qw~/^~k!i&%WuwA)ӹ_4*0_̇-S YZ