@tshirtman tshirtman released this Jul 9, 2018 · 324 commits to master since this release

Assets 17

This was supposedly a bugfix releases, but a few new features have
managed to get in, aside that, a lot of fixes are included.

Highlighted changes:

  • It's now possible to query Window information with the SDL provider.
  • SVG support improvements.
  • Export_to_png now preserves widget's alpha.
  • It's now possible to define a custom comparison for properties, to
    manage dispatching better.
  • Layouts' add_widget method now accept the canvas argument that
    Widget's does.
  • Fix for infamous SDL window issue on Linux.
  • disabled property of widget now restores the previous value of
    disabled of children on unset.
  • The tuio implementation now uses the new oscpy library instead of
    the bundled oscAPI module, this solves a lot of issues with python3
    and massively increase performances. The old OSC package is still
    shipped, but will be removed in future releases.
  • On Linux, probesysfs input detection doesn't depend on getconf
    anymore, which makes it more portable.

This is the last release to officially support python 3.3 and 3.4.

For technical reasons, there is no 3.7 wheels for Windows yet, they will
come soon after our continuous integration infrastructure allows it.

Many thanks to: Peter Badida, Gabriel Pettier, Richard Larkin, Matthew
Einhorn, Mathieu Virbel, Armin Sebastian, germn, Akshay Arora, fruitbat,
Terje Skjaeveland, Alexander Taylor, Joseph Kogut, Zachary Spector,
DavidCaughell, ismailof, Atis, Boyan Hristov, The Cheaterman, Dominik
Lang, Rasmus Pedersen, Pablo Mendoza, Jan Kantert, audryste, parabolize,
Benoit HERVIER, DefaultUser, Emil Milanov, Eugene, GottaDiveIntoPython,
Volker Gaibler, loa-in-, scoder, skall, sugarlata, Adachinski, Alberto
Galera, Alexandre Esse, Andre Miras, Arien Tolner, Ashok Kumar P
(ParokshaX), Charlie Yan, Christophe CHAUVET, David H. Bronke, Dev,
EndilWayfare, Gleapsite, Kristian Sloth Lauszus, Leon Davison, Manthan
Sharma, Nafis Abdullah Khan, Piotr Kasprzyk, Rafał Kaczor, Ray Gomez,
Robert Bradshaw, Robert Niederreiter, Shubham Tatvamasi, Sumit Madhwani,
WillW, William Bernoudy, Yash Jain, brami, hajime, kinkoazc,
mahomahomaho, onnlv, phunsukwangdu, pythonic64, saband, verderten, and
水戸う納豆斎(Nattōsai Mitō), for their contributions to this release.

The Kivy team plans to drop support for python 2.7 before the end of
2018, but we hope to make multiple releases before that, as a lot of
work to streamline our release process was done during this release.

Full listing of changes by section (with pull request id when there was
one, or commit id when it was directly done on master).

Core
#4974: Video: update 'loaded' on new video, unload previous video
#5053: ffpyplayer video: update frame/position on seek if video paused
#5109: Add textedit event for text editing by IME
#5187: Fix Windows clipboard when pasting a file
#5206: Touchscreen fixes
#5220: Redeclare Svg.reload as throwing an exception.
#5222: Fix typo in SVG
#5233: svg improvements
#5252: Add support for shaped windows
#5264: Remove double list copy in Animation._update
#5265: Remove dead code for SDL2 windowresized event
#5281: Make App.on_config_change an event
#5298: Add support for saving flipped Textures
#5305: img_pygame: Fix loading of binary alpha formats
#5312: ffpyplayer video: disable builtin subtitles by default
#5313: ffpyplayer video: better video seek
#5324: window_sdl2: Fix memory leak in screenshot
#5325: text_sdl2: Fix very unlikely memory leak
#5328: Fix build with cython 0.26
#5355: handle_exception defaults to RAISE, not STOP
#5362: Raspbian stretch egl library fix
#5377: Let dpi formatting exceptions in kv propagate out from cython.
#5382: Fix Json+DictStore not raising error for non-existing folder + unittest
#5387: _text_sdl2.pyx: Don't clear pixel memory twice
#5389: Don t drop SDL_Dropfile event while in pause #5388
#5393: Forward kwargs to config parser.
#5396: Actually display multitouch emulation if sim set to True.
#5421: Fix host/port handling in UrlRequest
#5423: Add probesysfs option to include devices that offer core pointer functionality
#5435: Changed Logger.error to Logger.warning on android import
#5437: Purge KV lang TRACE logs on demand with environment variable
#5459: audio_sdl2: Update for mixer v2.0.2 support
#5461: Monkey patch PIL frombytes & tobytes, fixes #5460
#5470: Added 'frag_modelview_mat' uniform to address #180
#5535: Fix FileNotFoundError when sys path doesn't exist
#5539: Window info
#5555: python3 package of Pillow needs a updated Import
#5556: Fixed loading fonts with dot in name, fixed spelling in Russisn examle
#5576: window_x11: implement get_window_info()
#5577: window_x11: fix python3 TypeError
#5579: Fix Ctypes Clipboard error with embeded null character
#5593: Fix float division by zero
#5612: raise exception when trying to add Widget with a parent to Window
#5621: do not use the clock in dealloc to prevent deadlock
#5624: Update LICENSE
#5664: Fixes renderbuffer leaking when creating Fbo
#5693: PiCamera-based camera provider for Raspberry Pi
#5703: Fixed format string mistake in Error Message
#5705: Check for activation before attaching to window. references #5645
#5716: Replace vendored lib/OSC and lib/oscAPI with oscpy.
#5778: Update extensions for ImageLoaderPIL

fc2c382: Update properties.pxd
5bf0ff0: Properties: Allow custom comparator.
cf7b55c: change opengl ids to unsigned ints
87897c4: Add on_textedit event to SDL2 Window (#5597)
4d9f19d: Expose "absolute" options in HIDInputMotionEventProvider class
ae3665c: camera: fix all export
53c2b4d: picamera: fix for python2. Closes #5698
d3d517d: Re-add gi camera provider.
d175cf8: Fix Inspector crash if shaped window is disabled
4deb360: Add sdl2 system cursors (#5308)
f5161a2: Clean hanging code (#5232)
b7906e7: Fix py2/py3 iteritems (#5194)
5961169: add versionadded tag for KIVY_BCM_DISPMANX_LAYER
ebeb6c4: cache.py bug fixes (#5107)
b4ab896: input: probesysfs: remove getconf dependency
58b9685: @triggered: add cancel method
f8194bb: Add test units to ClockTestCase
dafc07c: @triggered: Set default timeout=0
061891c: Add decorator for Clock.create_trigger()
1c855eb: on_joy_ball is called with 2 position valuesc
1a20a3a: Prioritize XClip for clipboard on Linux

Widgets
#4905: Removed textinput cursor bug #3237
#5167: Add support for RST replace
#5200: Added abs_tol argument to isclose call to ensure no float edge cases
#5212: fix #5184: ScrollView bar_margin affects also touch position
#5218: Add support for footnotes to RST
#5243: Fix for crash when setting is_focusable property in issue #5242
#5255: Fix race condition in AsyncImage
#5260: Disable emacs bindings for Alt-Gr (Ctrl+Alt) key
#5263: Avoid Animation.cancel_all(Window) that interfers with user animations
#5268: Fix crash when instantiating ActionView(use_separator=True)
#5335: issue #5333 - actionbar throws exception when resized
#5339: Rewrite ActionGroup from Spinner to Button+DropDown
#5370: Fix all ScreenManagers sharing the same transition
#5379: Allow negative values in textinput with filters.
#5413: Don't pass touch to children when outside the ScrollView.
#5418: Add text_validate_unfocus option to TextInput
#5445: Resize treeview collapse. closes #5426
#5455: Add TextInput cursor blinking control
#5472: export widget canvas to png including alpha values
#5484: DragBehavior: Transform window coordinates to parent coordinates befo…
#5567: EffectWidget: Correct typo 'setdefaults' to 'setdefault'
#5641: Fix LabelBase.register() to behave as documented
#5715: Let Layout.add_widget use the canvas argument
#5748: Add canvas argument to FloatLayout.add_widget
#5764: Fix #5761 AsyncImage reload() doesn't invalidate Loader Cache
#5632: Fixes #5632, typo of col instead of row.
9a8603d: hotfix: Stop AccordionItem collapse animation
a432e0d: Let BoxLayout.add_widget use the canvas argument
37ccbfa: pass an empty list for "buttons" param to create_touch
8da2272: Remove ineffective changes
2faa6a9: doc: Added default value to Scatter 'do_collide_after_children' property
faa03f7: Gridlayout min size bounds check (#5278)
27e3b90: Fix touch passing down when overlapping TextInputs (#5189)
5e2b718: Fix image size and comment handling in RST (#5197)
b505b1d: Add on_load to AsyncImage (#5195)
873427d: Add Slider.sensitivity (#5145)
d06ea4d: Deprecate the Widget's id property

Tests
#5226: Add test for ScrollView bars
#5282: Add test for _init_rows_cols_sizes
#5346: Add unittest for ActionBar
#5368: Unittesting features
#5372: test_video.py: Fix misleading class name
#5374: Fix creating 'results' folder in GraphicUnitTest if not making screenshots
#5378: Add test for Inspector module, fix children order for ModalView
#5381: Add test for KV event/property + trailing space
#5399: Add unittest for Mouse multitouch simulator
#5433: Add simple guide for GraphicUnitTest
#5446: Add unittest for AsyncImage + remote .zip sequence
#5489: Add unittest for TextInput selection overwrite
#5607: Add unittest for Vector.segment_intersection floatingpoint error
6b93d8a: Fix unicode error
c9ecb40: Add test for RST replace

Docs
#5170: Fix typo in installation/windows.rst
#5177: Fix comments for paste in textinput.py
#5221: Docs: Link methods, remove empty title
#5227: Add gstreamer to ubuntu install
#5240: Settings in example are faulty
#5270: doc: add missing escape characters into Linux installation instructions
#5307: Docs: Explain handling Popup in KV
#5330: Docs: Rewrite system cursor
#5424: Add notice about Kivy.app not being available for download
#5439: OSX Install Instruction Update - Cython explicit version
#5458: Add docs for setting Window.shape_mode
#5518: less renaming
#5519: oxford
#5520: Documentation consistency
#5521: redundant 'as'
#5522: widget's
#5523: terser
#5524: tighten
#5559: Docs: Add note about MemoryError for kivy.deps.gstreamer
#5600: Fixed one letter documentation typo (in example)
#5626: Fix typo in docs.
#5695: Docs: Add warning about using Texture before application start
12487a2: Remove tree; doesn't look good with website CSS
bb07d95: Clarify Windows alternate location installation
d6d8a24: Doc: Fix parsed literal block in installation docs
4d4ee41: Doc: added 18.04 to dev install docs
5f6c66e: Doc: Fixed typo in animation.py
285162b: Kivy is available on Macports directly
94d623f: Doc: changed disabled state docs for widget to more standard form
e029bed: Doc: tweak to uix/spinner.py docs
86b6e19: Doc: tweaks to cython version installation instructions
ef745c2: Doc: remove specifying cython version, list working cython vs. kivy versions. references #5674
0ccd8cc: Doc: tweaks to modules/console.py
90448cb: Doc: revisions to modules/console.py
73f9935: Doc: added explanation for Builder.unload filename parameter
67fb972: Doc: refinements to actionbar.py
96252c9: Doc: refinements to actionbar docs
917a1b4: Update installation-osx.rst
a3251fd: Doc: clarified angle offering for python 3.5+
0fbac3b: Doc: tweaks to actionbar docs
0ec9530: Doc: additions to ActionBar docs
1aa4315: Fix stencil's documentation
51d1725: Doc: corrected typo in recycleview layout docs
6af68c4: Doc: Added link to toggle button image
e7d1713: Doc: Added togglebutton image to docs
0ea6e95: Doc: Added 16.04 dependencies listing
0cc3a98: Update debian installation doc
22aa73f: Docs: Remove "-dev" version in versionchanged
c07f971: Docs: Fetch cython version from setup.py (#5302)
2ad58a9: Doc: cleanup, added doc strign for RecycleLayout to make linkable
493a4a9: Doc: tweaks to the recycleview docs
114c1a0: Doc: Grammer tweaks to /doc/sources/guide/graphics.rst and kivy/core/window/init.py
3d24362: Doc: petty grammar tweaks to kicy/core/window/init.py
7cdf9b3: Doc: corrected the kkivy/core/window/keyboard_anim_args docs to more accurately reflect defaults
c5eb879: Docs: removed the 'None' default value as it is actualy ''
c090c63: Doc: corrected path for AliasProperty in RecycleViewBehavior
24647bd: Doc: added heirarchical namespacing to treeview items
6f0639a: Docs: Fix note indentation after code block
7daea78: Doc: added description of rotation property value for kivy.uix.scatter
ac0d28f: Reorder osx packaging methods
19d9d9d: Doc: tweaks to grammar for RoundedRectangle graphics instruction
cdee22e: Doc: tweaks to grammar for RoundedRectangle graphics instruction
c6b2fe3: Fix nightly links.
242beb3: Update android virtual machine documentation
fa1e0b2: Deprecate the vm.
bd392ab: Remove vm link.
a6ee760: Add info about kivy_examples.
97f3096: Doc: remove leftover USE_OSX_FRAMEWORKS env var
b4ce256: doc: setting KIVY_OSX_FRAMEWORKS=0 during installation is not needed anymore
e5126af: doc: use latest Cython version for macOS and do not force reinstallation
bd98d81: docs: remove warning about unavailable wheels on Windows
f1b412d: Docs: Fix examples PPA command; Cython for v1.10.0
333f158: Doc: Fix Mesh docstring (#5806)

Examples:
#5026: Update Twisted Framework Example to Py3
#5173: Fix shapecollisions example for py2
#5486: Rotate monkey head smoothly
#5487: Update codeinput.kv
#5564: Update basic.rst
#5611: typo fix in docs example
e658c65: Fix animation transition around the unit circle in Android compass example
4de0599: Update joystick example

Misc:
#4984: Allow changing kivy dispmanx layer in the Raspberry Pi
#5285: fix install_twisted_reactor for python3 (_threadedselect is now inclu…
#5350: tools/kviewer: Fixed it working on python3
#5525: Switch to manual KV trace purging
#5763: Add kivy/core/window/window_info.c to .gitignore
98e9442: Updated copyright year in doc index
b39c84b: pep8 fixes
8143c6b: Add -- to separate Atlas module options
d054d56: Add -- to --use-path option in documentation
38ed32f: Create CODE_OF_CONDUCT.md
fa01246: long overdue update to the kv syntax highlight for vim

0c63c69 Fix licensing issues (#5786)

Packaging:
#5366: Fix 'git' not found in setup.py
#5392: Fix setup.py under python2
#5466: Introduce no support for Cython 0.27 - 0.27.2
#5584: Added Python 3.6 to setup.py categories
#5627: Add setupconfig.py to packagedata
#5747: Updated minimum cython version
10530bb: Added missing comma in package_data list
f66f340: setup: fix error about gl_mock that doesn't exist anymore
d462a70: setup: fix cython rebuilding all graphics even if it has been already done. Closes #4849
aaca07b: Fix missing kivy.tools in setup.py (#5230)

CI:
#5229: Appveyor: switch DO_WHEELS to True
#5406: Fixes for Cython 0.27
d5e0ccc: comment out failing mingw appveyor builds
71cbd4c: fixes for osx builders in travis
55200ee: workaround to make inspector tests pass without blocking window
002e46f: travis.yml: add semi-colon
f169386: travis.yml: add sudo to easy_install
9f71b38: travis.yml: try easy_install pip to fix missing command error
bae09d9: travis.yml: Make TRAVIS_OS_NAME detection consistent
94db03e: Prevented warnings for repeated loading for travis Inspector test cases
61e05c1: Fix travis build error in inpector.py, line 382
cd592c1: Fixed Pep8 violations (fix travis build 3676 moans)
a736f28: Remove fixed version of cython from .travis.yml
87ae214: Removed outdated line from .travis.yml
30fd00f: Restore cython=-=0.26.1 for appveyor builds
5c4b8ed: Downgrade Cython to 0.26.1 for builds
484b2f7: Upload wheels directly to server (#5175)
e2c3094: travis.yml add back missing ";"
2fc9cf5: add back pip installation in osx travis build
7f5d9a4: use travis_retry for coveralls, in case it fails randomly
e12d216: fix again osx travis build (pip command not found)
3d41f1d: Update .travis.yml
642e029: Add docutils to Travis deps
ce6d54e: Add wheel generation support for osx and Linux.
36e029a: Upload sdist and examples.
2e400aa: Quote filenames [build wheel]
04bfcff: Give better wheel upload path [build wheel win]
8167ff4: Fix wheel building on all platforms (#5812)