Kivy 1.10.0 released

11,162 views
Skip to first unread message

Mathieu Virbel

unread,
May 7, 2017, 7:00:45 PM5/7/17
to kivy-...@googlegroups.com, kivy...@googlegroups.com, kivy-org

Hi everyone,


We are finally pleased to announce Kivy 1.10.0. It took much more time

than expected, but we finally managed to get this release done. We

apologize for the delay!


Kivy is a full featured framework for creating novel and performant

user interfaces, such as multitouch applications, released under the

MIT license. The framework works on Windows, macOS, Linux, Android,

iOS and Raspberry Pi.


This is the first release of Kivy with Python 3.5 and 3.6 support on

Windows.


Downloads and installation instructions are available on the Kivy website::


   https://kivy.org


Highlights

==========


Python 3.5/3.6+ support on Windows

----------------------------------


Python 3.5+ support is finally here for Windows using the same codebase! These versions are currently only supported with Visual Studio 2015. We also provide self-contained wheels for them. See https://kivy.org/docs/installation/installation-windows.html#installation.


Kivy Clock

----------


The Kivy Clock has been moved to cython to improve performance [#4412]. Even better, scheduling is now deterministic and will always execute callbacks in the order they were scheduled. Finally, all Clock scheduling and unscheduling is now thread-safe. To get the best out of this, the recommended pattern is to save Clock events and later call their cancel method instead of calling the inefficient Clock.unschedule() method. We also added multiple new Clock types for advanced users [#4436].


Graphics

--------


[#4343, #4385, #3906] The graphics backends have been refactored. Graphics modules now call the central `kivy.graphics.cgl` subpackage for all OpenGL calls instead of direct API calls. The `cgl` package can switch between multiple GL backends on each platform at startup-time based on the `KIVY_GL_BACKEND` variable (https://kivy.org/docs/api-kivy.graphics.cgl.html#module-kivy.graphics.cgl).


Available backends are (gl, sdl2) on unix and (glew, sdl2, angle_sdl2) on windows. When no GL is available, the mock backend which is a NOOP backend can be used to when compiling Kivy e.g. to run tests. Further, `KIVY_GL_DEBUG=1` is used to force all GL calls to be logged.


With the addition of the angle_sdl2 backend for windows, Kivy now supports environments with no or old OpenGL drivers as long as they have Direct3D 9+ support.


New Widgets

-----------


 - [#4108] RecycleView has been merged from garden and with new and improved API. It's now fully integrated with layouts and can be used in place of e.g. BoxLayout or GridLayout. See https://kivy.org/docs/api-kivy.uix.recycleview.html and the PR for examples.

 - [#3900] CoverBehavior, similar to CSS cover, has been added to be used with images. It ensures that the image is sized so that it is as small as possible while ensuring that both dimensions are greater than or equal to the corresponding size of the widget.


New features

------------


 - [#4617] Add size_hint_min/max to widgets. Widgets that use size hints can now specify the maximum and minimum size of the widget and it'll be respected by the layouts (https://kivy.org/docs/api-kivy.uix.widget.html#kivy.uix.widget.Widget.size_hint_min_x).

 - Many new Window features for sdl2, see that section below.


Deprecations

------------


In light of RecycleView being added, ListView and its associated adaptors are being deprecated and slated to be removed in the next release:


- AbstractView (kivy.uix.abstractview)

- Adapters (kivy.adapters)

- DictAdapter (kivy.adapters.dictadapter)

- ListAdapter (kivy.adapters.listadapter)

- List Item View Argument Converters (kivy.adapters.args_converter)

- ListView (kivy.uix.listview)

- SelectableDataItem (kivy.adapters.models)

- SelectableView (kivy.uix.selectableview)

- SimpleListAdapter (kivy.adapters.simplelistadapter)


Other:


- Interactive launcher (kivy.interactive)


Breaking changes

----------------


- [#3891] ButtonBehavior.always_release defaults to False, so by default a release outside the button is ignored.

- [#4132] ButtonBehavior.MIN_STATE_TIME was removed and instead has been added to the config. Each button and dropdown now has their own configurable min_state_time property that defaults to the config value.

- [#4168] kivy.metrics.metrics was removed, use kivy.metrics.Metrics instead.

- [#4211] TextInput.background_disabled_active was removed, the normal background is used instead.

- [#4254] kivy.utils.platform is now a string describing the platform and not a callable.

- [#4603] Made App.on_pause default to return True.

- [#4819] Remove kivy module extension support - it wasn't used.

- [#4224] Remove pygst (audio, video, camera), gi (audio, video) and videocapture (camera) providers. Use gstplayer or ffpyplayer instead (https://kivy.org/docs/guide/environment.html#restrict-core-to-specific-implementation)

- [#5011, #4828] added support for opencv 2 and 3 (camera)

- [#5033] Clock trigger call doesn’t return True (or anything) anymore, use `is_triggered` instead.

- [#5088] Change the auto scale option in BorderImage from bool to string with multiple scaling options.


Installation

------------


- To reduce the Kivy install size, the Kivy examples have been split from the main Windows wheels and should now be installed manually if desired using `pip install kivy_examples`.


- [#4392] Fallback with pkg-config to search both for gstreamer and sdl2 if frameworks are not installed on macOS.



Changelog - 1.10.0

==================


Core

----


 Audio


 - Add FLAC to GstPlayer extensions

 - [#4372] Added pitch shifting to audio using sdl2

 - [#4853] Add 'mp4' support to audio with gstplayer

 - [#4875] Added note that to seek, sound must be playing


 Clipboard


 - Detect correct Activity regardless of bootstrap (android)

 - [#3990] Store clipboard contents for gtk3 (ClipboardManager spec)

 - [#4093] Make clipboard_android work for both old and new toolchain

 - [#4371] Fix version warning for clipboard_gtk3

 - Fix Python 3.5-x64 Windows clipboard, see asweigart/pyperclip#25

 - [#5152] Fixed crash on python3, due to items not being subscriptable


 Image


 - Add JPE to supported sdl2 image extensions

 - [#3971] Fix stopping an image animation with value of -1 for anim_delay

 - [#4186] Accept data URIs for image filename

 - [#4708] Get actual image format instead of extension (imghdr)

 - [#4728] Use PILImage.frombytes when PILImage.fromstring gives an exception

 - [#4753, #4727] Image saving using 'save()' throws error

 - [#5155] Fix unicode image source in Python 2


 Text


 - [#3888] Fix PIL deprecated tostring() scrambling the text

 - [#3896] Add font rendering options - hinting, kerning, blending (sdl2)

 - [#3914] Add underline and strikethrough styling for Label and MarkupLabel

 - [#4265, #3816] Implement text outline for sdl2

 - [#4012] Fix label color handling

 - [#4047, #4043] Fix alpha rendering of text color for pygame

 - [#4063] Performance improved for comparing an entire string for Label

   halign and valign

 - Add 'center' as an alias of 'middle' for Label.valign

 - Register all /usr/share/fonts subfolders

 - [#4625] Add ellipsis styling for markup label

 - [#4813, #2412] Change default font to core.text.DEFAULT_FONT

 - [#4846] Allow skipping italic, bold and bolditalic for the default_font

   config option

 - [#4858, #4589, #3753] Add is_shortened to Label


 Video


 - [#4345] ffpyplayer provider was updated to work with the latest FFPyPlayer codebase.

 - [#5052] Fix ffpyplayer img.to_memoryview returning None


 Window


 - [#3890] turn Window.focus into a read-only property

 - set Window.focus to false when the window is started in a hidden state

 - [#3919] SDL2/Android: fixes pause/resume crash using sdl2 bootstrap on

   android

 - sdl2/android: redo fix on_pause/on_resume for SDL2 bootstrap. No more

   freeze on resume.

 - [#3947] release gil when polling for sdl events

 - [#4104] window_sdl2: fix title and icon_filename to accept bytes or str

 - [#4207] add map_key/unmap_key, automatically map android back key

 - [#4209] Add SDL2 window events

 - [#4217] Fix Window resizing for X11

 - [#4239] X11: honor borderless configuration

 - [#4310] X11: implement on_title

 - [#4316] Animate the window content based on `softinput_mode`, introducing

   keyboard_padding and keyboard_anim_args

 - [#4403, #4377] Take care to account for `density` for mouse_pos

 - [#4468] Prevent buffer crash on RPi if window was closed

 - [#4631, #4423] Fixes keycode typo

 - [#4665] Add softinput_mode handling for SDL2

 - [#4707] Add grab mouse in sdl2 window

 - [#4851] Add Window position manipulation

 - [#4919] Disable SDL2's accelerometer-as-joystick behaviour

 - [#4921] Add an allow_screensaver property for Window

 - [#4952] Add multiple joysticks support

 - [#5019] Add note for elevated use of on_dropfile

 - [#5048] Fix missing sys.stdout.encoding when piped or frozen


Data

----


 Keyboards


 - [#4334] Add German keyboard layout


 Style.kv


 - Fix disabled_color for markup

 - [#3925, #3922] Fix FileListEntry text alignment

 - [#3864] Avoid end-dev setting ColorWheel internal values

 - [#4176] Change TextInput images for selection handles

 - [#4364] Fix missing sp() in style.kv

 - [#4447, #4416] Fix filechooser size text align

 - Filechooser: Align size labels with the table header

 - [#4558] Separate image and button in Switch

 - [#4732] Hide Image if no app_icon in ActionPrevious


Base

----


 - [#3955] Deprecate the interactive launcher

 - [#4427, #4361] Fix multiprocessing.freeze_support()

 - [#4449] Store kivy_home_dir as a unicode string in python 2

 - Make gif loader last (Gif loader is slow and should be used if PIL or FFPY

   providers don't work)

 - Gst should be imported first since it cannot use sdl2's zlib but sdl2 can

   use gst's zlib

 - [#4737] Remove sdl2 presplash after initialised (needs android package)

 - [#4874] Add Include folder to get_includes()

 - [#4949] Normalize version


 Animation


 - [#4223, #4222] Implement cancel_property on animation's Sequence

 - [#4494] Update ClutterAlpha URL in AnimationTransition

 - [#4563] Draw animation every frame by default, use step=0 instead of

   1 / 60.0

 - [#4643] Animation object is passed with the event docs <<< REMOVE?

 - [#4696, #4695] Remove sequential animations from Animation._instances when

   complete


 App


 - [#4075] Fix missing path separator

 - [#4636, #4634] App.stop() clear window children only if window exists


 Compat


 - [#4617] Add isclose to compat based on py3.5 function


 Clock


 - [#3603] Add clock to compat

 - Include clock changes for freebsd

 - [#4531] Bump max_iteration to 20


 Config


 - [#4813] Add variable for default_font

 - [#4921] Add variable for allow_screensaver


 EventDispatcher


 - [#3736, #3118] Make widget kwargs passing higher priority than kv


 Factory


 - [#3975] Remove duplicate definition of SelectableView

 - [#4046] Register missing properties in factory

 - [#4108] Update factory registers (RecycleView, RecycleBoxLayout)


 Graphics


 - [#3866] Allow Line.points definition to be a mix of lists/tuples

 - [#3970] Fix upload uniform without calling useprogram

 - [#4208] Fix error in Line.rectangle documentation

 - [#4554] Allow requesting graphics instruction update

 - [#4556] Segmenats is 180 everywhere and in the docs

 - what is that? -> a37c8dd, 6dd8c5e

 - [#4700, #4683] Reactivate free calls in smoothline

 - [#4837] Restore gl/gles selection at compile-time

 - [#4873] path changes for config.pxi

 - [#4913, #4912] Fix missing 'return' in get method for Mesh `mode` property

 - [#5030] Fix BorderImage border ordering description

 - [#5091] Fix get_pixel_color for py3

 

 Lang


 - [#3909] Add apply_rules to BuilderBase

 - [#3984] Refactored lang.py - moved into its own module

 - Fix missing global_idmap in new kivy.lang refactor

 - [#4013] New ColorProperty and rgba function

 - [#4015] More robust kv string detection

 - [#4073, #4072] Split imports on all whitespace

 - [#4187] Fix Parser.execute_directive() not using resource_find() for

   including directive

 - [#4301] Fix parser not continuing after warning

 - [#4358] Allow spaces before colons for classes, properties

 - [#4583] Use consistent 'Lang' for logs instead of 'Warning'

 - [#4615] Fix profiling tool HTML output generation

 - Catch TypeError in dump_builder_stats

 - [#5054] Fix inconistent naming if kv files are not unloaded

 - [#5068] Unload matching rules

 - [#5153] Fix KV include for quoted paths


 Lib


 - [#4122] Add 'with oscLock' in sendBundle to always release lock

 - Correctly use oscLock in sendMsg

 - [#3695] Extend OSC library

 - Fix py2 print in OSC

 - [#4433] OSC - convert to bytes for python3

 - Ctypes supported on Android


 Loader


 - [#4359] Fix Exception on remote image

 - [#4545, #4366] Fix Asyncimage on error


 Logger


 - [#4057, #4039] Properly format log text

 - [#4375] Fix handling of PermissionError for logger.purge_logs

 - [#4400] Recognize {rxvt,rxvt-unicode}-256color as color capable

 - [#4404] Use a shorter field width for non-colored output

 - [#4538] Fix "no isatty() method" errors

 - [#5067] Replace hardcoded value `maxfiles` with config setting



 Multistroke


 - [#4803] Fix a silly multistroke crash


 Network


 - [#2772] Handle proxy servers in UrlRequest

 - [#4297] Fix py3 returning wrong results

 - [#4448] Fix url in UrlRequest


 Parser


 - [#4011] List supported input formats for parse_color

 - [#4021] Append alpha for 3 digit hex colors


 Properties


 - [#4013] New ColorProperty and rgba function

 - [#4304] AliasProperty should update when underlying prop changes even if

   cache is True

 - [#4314] Don't cache until first dispatch, otherwise it's never dispatched

   if read before the dispatch

 - [#4623] Fix grammar in exceptions

 - [#4627] Allow conversion from strings without trailing units

 - [#5135] Add py3 object.__init__() reference to properties


 Resources


 - [#4490] Return `abspath` in `resource_find`.


Input

-----


 - [#3915, #2701] Don't offset WM_TOUCH with caption size when fullscreen

 - [#4045, #4040] Late import window for wm_touch

 - [#4318, #4309] Fix touch scaling for WM_TOUCH

 - [#4468] Fix HIDinput to dispatch events from main thread and don't eat

   escape

 - [#4501] Add on_stop to recorder

 - [#4621] Fix mtdev provider max_touch_minor option

 - Fix MTDev crashing if 'x' and 'y' are not in args

 - Fix MTDev crashing if touch not in last_touches

 - [#4725, #4413, #4682] Catch permission errors in MTDev

 - [#4923] Prevent an attempt to import AndroidJoystick with SDL2  


Modules

-------


 - [#5143] Fix listing modules via `-m list`


 Monitor


 - [#4567] Fix monitor drawing issues after window resize

 - Code cleanup


 Screen


 - [#4396] Add a lot of new devices


 Touchring, Cursor


 - [#4721, #3097] Touchring and Cursor are now two modules


 WebDebugger


 - Use events size function instead of list comprehension


 Joycursor


 - [#5094] Add JoyCursor module


Storage

-------


 - [#4269] Fix clear() not syncing the storage file

 - [#4722] Add JSON dump indention and sort_keys option to JSONStorage


Widgets

-------


 - Deprecate ListView

 - [#4944] Deprecate modules pertaining to ListView (AbstractView, Adapters)

 - [#4108] Integrate Recycleview into Kivy

 - Add warnings about RecycleView being experimental

 - [#4617] Adds size_hint_min/max to widgets


 ActionBar


 - [#3128] Introduce ActionGroup.dropdown_width property

 - [#4347, #4119] Fix ActionView layout more dense/packed after increase of

   width

 - [#4441] Fix dismiss in ActionGroup

 - [#4891, #4867] Fix Actionview window maximize/minimize bug

 - [#5049] Fix ActionDropDown.on_touch_down


 AnchorLayout


 - [#4628] Fix asymmetric padding list


 Behaviors


 - [#3900] Add CoverBehavior

 - [#4258] Allow keeping direct ref in knspace, fix crash when child knspace

   attr is None but parent doesn't have attr

 - [#4509] Fix CompoundSelectionBehavior example

 - [#4598, #4593] Fix ToggleButton released with allow_no_selection=False in

   CompoundSelection

 - [#4599] Add text_entry_timeout to CompoundSelection

 - [#4600] Allow all chars that are not e.g. arrow, and fix holding down key

   in CompoundSelection

 - Don't return true when already selected in CompoundSelection

 - [#4782, #4484] Allow unselect an item when multiselect is False in

   CompoundSelection

 - [#4850, #4817] Add CompoundSelectionBehavior.touch_deselect_last property

 - [#4897, #4816] Make _get_focus_* methods public in FocusBehavior

 - [#4981, #4979] Fix typo in CompoundSelection


 Carousel


 - [#4081, #2087] Fix repeating addition of widget

 - Use is operator for identity comparison

 - [#4522] Fix carousel scrollview children touch_move

 

 CheckBox


 - [#4266] Add checkbox color


 CodeInput


 - [#3806] Add EmacsBehavior to CodeInput

 - [#3894] Rename active_key_bindings to key_bindings

 - [#3898] Remove CodeInput.key_binding


 Dropdown


 - [#4112, #4092] Convert absolute coordinates of the touch.pos to relative

   coordinates of self.attach_to(dropdown's button)

 - [#4511] Fix dropdown and spinner dismissing issue

 - [#4550, #4353] Rework of #4353 DropDown.max_height

 - [#4805, #4730] Fix first click in ActionGroup


 FileChooser


 - [#3710] Fix directory selection double-selecting

 - [#4200] Handle children's size_hints equal to zero

 - [#5010] Fix a crash when using a file as the path


 GestureSurface


 - [#3945] Remove line_width

 - [#4779] Fix collision check for on_touch_move

 - [#4034] Don't limit size to cols/rows_minimum, but treat it as real min.

 - [#4035] Respect size_hint in gridlayout


 Image


 - [#4510] Fix py2 ASCII error

 - [#4534] Removed long tracebacks

 - [#4545, #4549] Asyncimage on error


 Label


 - [#3946] Fix label rendering options

 - [#3963, #3959] Show disabled_color when disabled=True for markup label


 ListView


 - Include ListItemReprMixin

 - Add note about possible deprecation of ListView

 - [#2729] Don't require a text argument for CompositeListItems


 ModalView


 - [#4136] Fix model center not syncing with window center

 - [#4149, #4148] Fix modal background not resizing

 - [#4156] Fix incorrect ModalView position after window resize

 - [#4261] Don't return ModalView instance in open and dismiss methods


 PageLayout


 - [#4042] Fixed bug if zero or one widgets are in pagelayout

 - Code style improvement


 ScreenManager


 - [#4107] Fix Screen removal leaving screen.parent property != None

 - [#3924] Don't generate a new screen name for existing screens

 - [#4111, #4107, #2655] Remove the last screen and leave ScreenManager in

   a valid state

 - Don't check the Screen parent type, it can only be a ScreenManager

 - [#4464] Fix SwapTransition not scaling

 - Add missing import of Scale

 - [#5032] Add CardTransition to ScreenManager


 ScrollView


 - [#3926, #3783] Fix scroll distance bug

 - [#4014] Revert accidental non-pep8 scrollview changes

 - [#4032] Fix ScrollView not properly ignoring touch_up

 - [#4067] All touches that don't scroll should be skipped in touch move

 - [#4180] Scroll to touch pos if the touch is within the scrollbar but does

   not collide with the handle

 - [#4235] Make sure import does not load a window

 - [#4455, #4399] Focused widget inside ScrollView should unfocus on tap

 - [#4508, #4477] Always pop the touch

 - [#4565, #4564] Fix scrollview click registering on PC

 - [#4633] Postpone scroll_to if the viewport has pending layout operation

 - [#4646] Fix on_scroll_move to obey scroll_distance

 - [#4653] Add checks to start scroll if do_scroll enabled for axis

 - Add size_hint_min/max support to ScrollView

 - Use viewport's size_hint

 - Fix ScrollView ignoring scroll_y, scroll_x being set from outside


 Settings


 - Fix string_types double import

 - [#3625] Add show_hidden and dirselect to SettingPath


 Slider


 - [#4028] Fix Slider.value exceeding Slider.max

 - [#4127, #4124, #4125] Change use of dimension conversion in Slider

 - Add styling properties for Slider widget

 - Added value_track* properties


 Spinner


 - Ensure Spinner text is updated when text_autoupdate changes

 - Autoupdate spinner text only if the current text is not between the new

   values

 - [#4022] Add option to sync Spinner dropdown children heights

 - Update Spinner.text if empty, without comparing values

 - [#4511] Don't re add all widgets upon resize, it just lead to infinite size

   calc.

 - Fix type and don't used children directly since it could be modified

 - [#4547] Fixes opening for empty values


 StackLayout


 - [#4236] Fix stacklayout not sizing if children is empty

 - [#4579, #4504] Fix stackLayout children rearranging themselves unexpectedly

   when their parent's size changes


 TabbedPanel


 - [#4559] Fix scrolling in TabbedPanel

 - [#4601] Remove tab limit

 

 TextInput


 - [#3935] Altered get_cursor_from_xy to intuitively place cursor

 - [#3962] Add TextInput.password_mask to customize the password placeholder

 - [#4009] hint_text in TextInput shows when focused and no text entered

 - [#4024] Always show the textinput cursor at the moment of touch

 - [#4048] Use a trigger when resetting the textinput cursor state

 - [#4055] Implement wrapping of continuous text in textinput

 - [#4088, #4069] Fix disabled backspace

 - Fix infinite loop when width is negative

 - Don't reset focus when focus changes

 - [#4204] hint_text decode text by default

 - [#4227, #4169] Push flags correctly for linebreak in _split_smart

 - [#4367, #4244] Don't try to split lines shorter than 1px

 - [#4445] Prevent an infinite loop when trying to fit an overlong word

 - [#4453] Fix text going off-screen while wrapping

 - [#4560, #3765] Fix app crashing on do_cursor_movement('cursor_end') on

   empty text

 - [#4632, #4331] Clear selection_text directly

 - [#4712] Fixed space input under SDL2 for some Android keyboards

 - [#4745] Add cursor_width to TextInput

 - [#4762, #4736] Prevent setting suggestion_text crashes if text is empty

   string and canvas is not setup yet

 - [#4784] Made sure Selector gets on_touch_down only once

 - [#4836] Fix Bubble not reachable on Android when touch in textinput is near

   the borders

 - [#4844, #3961] Fix not working BubbleButton on_touch_up

 - [#5100] Fix TextInput crash when text, focus is set and enter pressed at same time


 TreeView


 - [#4561] Add TreeView.deselect_node()


 Video


 - [#4961] Fix on_duration_change typo


 Videoplayer


 - [#4920] Replace old video with CC0 licensed video


 VKeyboard


 - [#4900] Add font_size for key text size

 - [#5020] Fix file/kblayout opening


 Widget


 - [#4121, #3589] Check if canvas was found in parent canvas for export_to_png

 - [#3529] Rebind Widget.parent by default

 - [#4584, #4497] Avoid being behind parent's canvas when inserting a widget

   at last index


Tools

-----


 Highlighting


 - Update Emacs mode to modern way of enabling newline and indent


 Packaging


 - [#4840, #4811] Fixed get_deps_minimal crash in Python3


 PEP8checker


 - Add shebang again

 - [#4798] Update pep8.py to version 2.2.0

 - Add E402 to pep8 ignore list

 - Normalize paths excluded from style checks

 - Match start of folder paths during pep8 check

 - Ignore E741 and E731

 - Exclude dir kivy/tools/pep8checker

 - Delete sample_for_pep8.py

 - Remove stylereport target from Makefile

 - Print error count during style check instead of passing it as exit code

 - Ignore style issues in kivy/deps


 Report


 - Fix StringIO for py2, raw_input/input, crash if GL not available. Add more

   detailed platform checking. Warn the user the gist is pasted anonymously.

 - Made ConfigParser py2/3 compatible


Doc

---


 - [#4271, #2596] Fix docs build on Windows

 - [#4237] Add screenshots for widgets

 + Tons of doc fixes thanks to the awesome community

 + Special Thanks to ZenCODE for his awesome work on improving the doc


Examples

--------


 - [#3806] Add EmacsBehavior example

 - [#3866] Fix examples/canvas/lines.py example

 - [#4268] Fix takepicture requirements, use android.mActivity instead of autoclass

 - Add RecycleView example

 - [#4573] Add clipboard example

 - [#4513] Add an examples for Window.on_dropfile

 - [#4807] Add example for various color input

 - [#4862] Add joystick example

 - [#4883] Fix attribution in examples/widgets/lists

 - [#4925] Replace images with CC0

 - Fix KVrun example

 - Fix Settings example

 - Fix tabbed showcase example

 - [#5022] Revert SmoothLine in example

 - [#5027] Fix unicode error in KeyboardListener example

 - [#5035] Added KV example for CoverBehavior

 - Fix camera example - save image with extension

 - [#5079] Add shape collision example

 - Fix examples gallery

 - Fix SVG example - scale with only one value


 + [#5075, #4987] Split examples into separate wheel for windows


Unit Tests

----------


 - Adapt ListView selection test to new behavior

 - Add test for TextInput focused while being disabled

 - [#4223, #4222] Add a test for issue #4222

 - [#4227] Add test case for word break

 - [#4321, #4314] Internal alias property details should not be assumed and

   tested

 - [#4624] Fix test_wordbreak fail on Retina Mac

 - Add simple tests for JsonStore options

 - [#4821] Fix test_fonts file deleting

 - Use almost equal for float assert

 - Clipboard should only accept unicode

 - [#5115] Replace Pygame with SDL2 for image comparing test

 - [#5111] Add test for Fbo.get_pixel_color


Packaging

---------

Tons of more fixes that weren’t mentioned here, details of which can be

gathered from http://github.com/kivy/kivy



Migration

=========


 - [#3594] Remove KEX (extension) support

 - [#3891, #3312] ButtonBehavior.always_release default to False

 - [#4132] Include a min delay before dismissing

 - [#4168] Remove deprecated kivy.metrics.metrics

 - [#4211] Remove TextInput.background_disabled_active

 - [#4224] Remove deprecated video and audio providers: pygst, pyglet and pygi

 - [#4254] kivy.utils.platform is a string and it's not callable anymore

 - [#4603, #4796] Made on_pause default to True


Branching

---------


The new stable branch is now derived from the 1.10.0 tag. The oldest stable

branch has been renamed to stable-1.9.1. If you still want to compile on

android with this branch, use "kivy==stable-1.9.1" as requirement. We do not

support previous versions, so if things doesn't work anymore due to changes in python-for-android, please take time to update your application.



Thanks

======


A big thanks to all of the Contributors, especially those github

usernames mentioned here:


Alan-FGR, Albert Kurucz, AndiEcker, Andy Doucette, Bakterija, Cheaterman, Clarvel, DerThorsten, EdwardBetts, ErwinRieger, Fabian Schuetz, Fak3, FeralBytes, FermiParadox, FluxIX, Gagaro, JackAnderson5, JanMalte, John Mercouris, KeyWeeUsr, Kovak, Laspimon, Leva7, LogicalDash, RevengeComing, SynedraAcus, Zachary Spector, Zen-CODE, ZingBallyhoo, akshayaurora, ali65, amateusz, andong777, bhaveshAn, bionoid, bthyreau, cbenhagen, darkopevec, denys-duchier, dessant, devkral, doratoa, doriclazar, duelafn, ecdsa, eeue56, el-ethan, ericatkin, funnisimo, gebart, germn, gfyoung, gkanarek, ignus2, inclement, ismailof, janssen, jdla, jegger, kived, kwadrat, learnleapfly, llfkj, mahomahomaho, matham, nadaz, ngoonee, overfl0, phunsukwangdu, pptime, pythonic64, quobit, rafalo1333, rnixx, rogererens, rolfschr, russellb, saqib1707, saurabhiiit, sirpercival, souravbadami, thijstriemstra, tito, tony, toomanybrians, tshirtman, udiboy1209, vitorio, weihuang0908, werton, wsmith-nwfsc, wvlia5, xg-wang, yaki29, yashsharan, zeeMonkeez


Hope we mentioned them all.


--

Kivy Team

https://kivy.org/#aboutus


Bill Janssen

unread,
May 7, 2017, 9:08:14 PM5/7/17
to Kivy users support, kivy...@googlegroups.com, kivy...@googlegroups.com
Congrats!  Thanks for all your hard work!

Looking forward to playing with RecycleView and testing TextInput.

Bill

Jerry Asher

unread,
May 8, 2017, 12:06:19 AM5/8/17
to Kivy users support, kivy...@googlegroups.com, kivy...@googlegroups.com
Congrats and thanks!

So, I've spent the better part of a week being beaten up by kivy and buildozer installs on both Windows and Ubuntu (and in the VM, and using the unofficial docker image, ...)

Can you suggest a distribution and version of python that your installations were tested on, and are most likely to work on? 

Python XX for Ubuntu ZZ or?

Dave McCormick

unread,
May 8, 2017, 1:02:44 AM5/8/17
to kivy-...@googlegroups.com
Will the new version work with an Anaconda install ?

--
You received this message because you are subscribed to the Google Groups "Kivy users support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kivy-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Cyril Coelho

unread,
May 10, 2017, 11:36:52 AM5/10/17
to Kivy users support, kivy...@googlegroups.com, kivy...@googlegroups.com
Hello, I come to report a problem:
The SoundLoader of kivy is too long to process a mp3 file of 300Mo ie 20 hours.

Cordially.

Gabriel Pettier

unread,
May 11, 2017, 7:58:48 AM5/11/17
to kivy-...@googlegroups.com, kivy...@googlegroups.com, kivy...@googlegroups.com
Hi

Thanks for reporting, but this is not the right place for that.

Please go to https://github.com/kivy/kivy/issues and open the issue
there.

Make sure to give informations such as platform (hardware and software),
and if possible, to give an example file to test with.

Best regards.
>--
>You received this message because you are subscribed to the Google Groups "Kivy users support" group.
>To unsubscribe from this group and stop receiving emails from it, send an email to kivy-users+...@googlegroups.com.

Marcelo Pereira

unread,
May 14, 2017, 12:43:16 PM5/14/17
to Kivy users support, kivy...@googlegroups.com, kivy...@googlegroups.com
How to solve this:
Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 784, in install
    **kwargs
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 851, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 1064, in move_wheel_files
    isolated=self.isolated,
  File "/usr/local/lib/python2.7/dist-packages/pip/wheel.py", line 345, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/usr/local/lib/python2.7/dist-packages/pip/wheel.py", line 323, in clobber
    shutil.copyfile(srcfile, destfile)
  File "/usr/lib/python2.7/shutil.py", line 83, in copyfile
    with open(dst, 'wb') as fdst:
IOError: [Errno 13] Permissão negada: '/usr/local/lib/python2.7/dist-packages/cython.pyc'
 kivyinstall/bin/activate: Permissão negada

Mathieu Virbel

unread,
May 14, 2017, 1:19:49 PM5/14/17
to kivy-...@googlegroups.com, kivy...@googlegroups.com, kivy-org
Permission denied = use "sudo pip ..."

--
You received this message because you are subscribed to the Google Groups "Kivy users support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kivy-users+unsubscribe@googlegroups.com.

Tyler Liu

unread,
May 15, 2017, 11:54:35 PM5/15/17
to Kivy development, kivy-...@googlegroups.com, kivy...@googlegroups.com

Awesome,thanks for all your hard work!

Joey daniel darko

unread,
May 18, 2017, 11:43:53 PM5/18/17
to Kivy users support, kivy...@googlegroups.com, kivy...@googlegroups.com
thanks devs for this amazing upgrade

Tais Reis

unread,
May 20, 2017, 1:08:32 PM5/20/17
to kivy-...@googlegroups.com, kivy...@googlegroups.com, kivy...@googlegroups.com
Hello, congratulations...
I have an question about the suport to Direct 3D 9+. The Direct3d 9Ex is also support? Because I trying test in an computer that the DDI is 9Ex and I get the error OpenGL.

Matthew Einhorn

unread,
May 21, 2017, 6:17:52 PM5/21/17
to kivy-...@googlegroups.com
You can see the supported versions here: https://github.com/Microsoft/angle/wiki#whatversions.

We need es 2.0 support for kivy.

On May 20, 2017 1:08 PM, "Tais Reis" <taisrs...@gmail.com> wrote:
Hello, congratulations...
I have an question about the suport to Direct 3D 9+. The Direct3d 9Ex is also support? Because I trying test in an computer that the DDI is 9Ex and I get the error OpenGL.
Em domingo, 7 de maio de 2017 20:00:45 UTC-3, Mathieu Virbel escreveu:
...

Brent Picasso

unread,
May 22, 2017, 8:28:58 PM5/22/17
to Kivy users support, kivy...@googlegroups.com, kivy...@googlegroups.com
This is incredible. Congratulations on getting this done!


On Sunday, May 7, 2017 at 4:00:45 PM UTC-7, Mathieu Virbel wrote:

Jotham B

unread,
May 23, 2017, 2:22:01 AM5/23/17
to Kivy users support, kivy...@googlegroups.com, kivy...@googlegroups.com
It says get the lastest from kivy.org right?

I followed the instructions for ubuntu, added the repo, apt-get updated but 1.9.2 is the latest in the repo. Guess I'll have to get the latest version from github?

Matthew Einhorn

unread,
May 23, 2017, 1:26:12 PM5/23/17
to kivy-...@googlegroups.com
I believe the ubuntu ppa has not been updated, so yes, you'd need to get it from github.

On Tue, May 23, 2017 at 2:22 AM, Jotham B <jothamba...@gmail.com> wrote:
It says get the lastest from kivy.org right?

I followed the instructions for ubuntu, added the repo, apt-get updated but 1.9.2 is the latest in the repo. Guess I'll have to get the latest version from github?

--
You received this message because you are subscribed to the Google Groups "Kivy users support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kivy-users+unsubscribe@googlegroups.com.

Dave McCormick

unread,
May 23, 2017, 1:49:35 PM5/23/17
to kivy-...@googlegroups.com
I did a pip install and received the latest.

Tais Reis

unread,
May 24, 2017, 10:39:50 AM5/24/17
to Kivy users support
Sorry but i don't understand so much about hardware and APIs, so how I know that the machine have support the OpenGL ES 2? I though that the machine only needed the Direct3D 9+ how described here "Kivy now supports environments with no or old OpenGL drivers as long as they have Direct3D 9+ support", so I though that worked with Direct3D 9Ex with OpenGL 1.1. What I needed do to it to work?

Matthew Einhorn

unread,
May 25, 2017, 12:04:24 PM5/25/17
to kivy-...@googlegroups.com
I'm not sure either. That table tells you what your Direct3D requirements are. We need opengl es2, so you can see from that table what Direct3D would need to be to support that.

But the real test is if kivy.deps.angle doesn't work for you and you still get the opengl1.1 error then it means it's not supported. Just make sure kivy used the angle backend (KIVY_GL_BACKEND=angle_sdl2) when you test.

Mohammad javad Nikookar

unread,
Jun 3, 2017, 7:06:40 AM6/3/17
to Kivy users support, kivy...@googlegroups.com, kivy...@googlegroups.com
hi

i'm new in Kivy and pycharm

when i run my project i take this error

C:\python\python.exe E:/untitled/heloWorld/heloWorld.py
[INFO   ] [Logger      ] Record log in C:\Users\Sizan-co\.kivy\logs\kivy_17-06-03_8.txt
[INFO   ] [Kivy        ] v1.10.0
[INFO   ] [Python      ] v3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 32 bit (Intel)]
[INFO   ] [Factory     ] 194 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_gif (img_sdl2, img_pil, img_ffpyplayer ignored)
[CRITICAL] [Text        ] Unable to find any valuable Text provider.
sdl2 - ImportError: DLL load failed: The specified module could not be found.
  File "C:\python\lib\site-packages\kivy\core\__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "C:\python\lib\site-packages\kivy\core\text\text_sdl2.py", line 12, in <module>
    from kivy.core.text._text_sdl2 import (_SurfaceContainer, _get_extents,

pil - ModuleNotFoundError: No module named 'PIL'
  File "C:\python\lib\site-packages\kivy\core\__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "C:\python\lib\site-packages\kivy\core\text\text_pil.py", line 7, in <module>
    from PIL import Image, ImageFont, ImageDraw

[CRITICAL] [App         ] Unable to get a Text provider, abort.

Process finished with exit code 1



my kivy version is  1.10
my pycharm version 2017.1.1
 


anybody ca help me?

Matthew Einhorn

unread,
Jun 4, 2017, 1:30:49 AM6/4/17
to kivy-...@googlegroups.com
Seems like you need to install pillow (that how you get PIL). You can do it with `pip install pillow`.

--

Gabriel Pettier

unread,
Jun 22, 2017, 7:32:29 AM6/22/17
to kivy...@googlegroups.com, kivy-...@googlegroups.com, kivy...@googlegroups.com
Hello, just to announce that the kivy-stable ppa for ubuntu has been
updated with the 1.10.0 release, for technical reasons, packages have
been build for Xenial, Yakkety and Zesty only.

The kivy-daily ppa should come back soonish, after some issues with
required cython version are solved.

Thanks for your patience.
>--
>You received this message because you are subscribed to the Google Groups "Kivy organisation" group.
>To unsubscribe from this group and stop receiving emails from it, send an email to kivy-org+u...@googlegroups.com.
>For more options, visit https://groups.google.com/d/optout.

--

dakun skye

unread,
Jun 28, 2017, 1:51:15 AM6/28/17
to Kivy users support, kivy...@googlegroups.com, kivy...@googlegroups.com
Do we have an idea of when the Kivy launcher for android will be updated? 

Clemo Clemo

unread,
Jul 2, 2017, 3:00:25 AM7/2/17
to kivy-...@googlegroups.com, kivy...@googlegroups.com, kivy...@googlegroups.com
hello virbel can we now create android app on windows using kivy?


Clemo Clemo

unread,
Jul 2, 2017, 3:52:40 AM7/2/17
to kivy-...@googlegroups.com
pls is buildozer recomended for windows or kivy virtual machine?

On Sun, Jul 2, 2017 at 12:00 AM, Clemo Clemo <clemento...@gmail.com> wrote:
hello virbel can we now create android app on windows using kivy?

On Sunday, May 7, 2017 at 4:00:45 PM UTC-7, Mathieu Virbel wrote:

--
You received this message because you are subscribed to the Google Groups "Kivy users support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kivy-users+unsubscribe@googlegroups.com.

Cyril Coelho

unread,
Jul 6, 2017, 8:10:50 AM7/6/17
to kivy-...@googlegroups.com
Hello, how to disable corrector automatic in app kivy ?

--
You received this message because you are subscribed to a topic in the Google Groups "Kivy users support" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/kivy-users/2zusmq8NXPE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to kivy-users+unsubscribe@googlegroups.com.

Karla Muguerza

unread,
Jul 26, 2017, 1:28:37 PM7/26/17
to Kivy users support, kivy...@googlegroups.com, kivy...@googlegroups.com
Hi!

Are there any plans tu support TUIO 2.0?? Does this version supports it?

Jos Neelen

unread,
Nov 15, 2017, 3:53:44 PM11/15/17
to Kivy users support
Please look at my Post regarding Clock !

Op maandag 8 mei 2017 01:00:45 UTC+2 schreef Mathieu Virbel:

eD

unread,
Feb 5, 2018, 5:19:35 PM2/5/18
to Kivy users support
Amazing work, thanks all

conv...@gmail.com

unread,
Feb 9, 2018, 8:25:01 PM2/9/18
to Kivy users support
Jerry, have you found a recommendation yet?  I've only spent a day on this and I'm lost.  I tried first installing Kivy on a full fresh Raspbian install on an RPI but although time consuming I'm not even sure where the files even installed to.  Then I tried on Mac OS High Sierra and after installing HomeBrew and PIP, I got a bunch of errors installing Kivy.  The example python files threw errors.  I would love to see a tutorial on how to get this all working with specifics and a clear start to finish.  I want to code for a touchscreen on the RPI and the features of Kivy look amazing for those who've gotten it to work on YouTube.

I'm a dummy in search of Kivy for Dummies.

Jerry Asher

unread,
Feb 9, 2018, 8:33:23 PM2/9/18
to kivy-...@googlegroups.com
Sorry, no. It's been on a back burner for me, while I hope smarter more industrious people figure it out.

re: "where the files go", you probably already know this, but I rely heavily on running /etc/cron.daily/mlocate as su, and then using locate to find files.

--

bachi mjavanadze

unread,
Feb 12, 2018, 12:17:22 PM2/12/18
to Kivy users support
How about kivy designer? Are you going to launch a beta version?

ACHO RAUCHE

unread,
Apr 1, 2018, 8:25:41 AM4/1/18
to Kivy users support
hi every one i  love kivy and i want to ask this question :
does kivy dev will continuous  ? 

JYUN-FONG LIN

unread,
Apr 12, 2018, 10:45:36 PM4/12/18
to Kivy users support
lin @ Lin:〜$ sudo pip3安裝Kivy == 1.10.0
目錄'/home/lin/.cache/pip/http'或其父目錄不屬於當前用戶,並且緩存已被禁用。請檢查該目錄的權限和所有者。如果用sudo執行pip,你可能需要sudo的-H標誌。
目錄'/home/lin/.cache/pip'或其父目錄不屬於當前用戶,並且緩存輪已禁用。檢查該目錄的權限和所有者。如果用sudo執行pip,你可能需要sudo的-H標誌。
收集Kivy == 1.10.0
  正在下載Kivy-1.10.0.tar.gz(24.3MB)
    100%|████████████████████████████████| 24.3MB 54kB / s 
    完整的輸出從命令python setup.py egg_info:
    回溯(最近一次通話最後):
      在<module>中的文件“<string>”,第1行
      文件“/tmp/pip-build-cak18ul3/Kivy/setup.py”,第219行,位於<module>
        從Cython.Distutils導入build_ext
    ModuleNotFoundError:沒有名為'Cython'的模塊
    使用distutils
    
    Cython缺失,需要編譯kivy!
    
    
    
    ----------------------------------------
命令“python setup.py egg_info”失敗,錯誤代碼1在/ tmp / pip-build-cak18ul3 / Kivy /
林@林:〜$ cython -V
Cython版本0.25.2

------------------------------------------------------------------------
先謝謝你。
安裝Kivy == 1.10.0
說沒有安裝cython
但我已經安裝了它。

Thomas W Rackers

unread,
Apr 13, 2018, 10:40:08 AM4/13/18
to Kivy users support
Does this release fix the behaviors on Raspbian where (1) the app doesn't work in the Raspberry Pi desktop, (2) it goes unconditionally full-screen, and (3) there is no mouse cursor?
Message has been deleted

Quadri Ganiu

unread,
Apr 20, 2018, 8:25:25 AM4/20/18
to Kivy users support
Bugs issue on_keyboard EventLoop.
4 Observed bugs on kivy for Android.

Please help to solve it.

Main issue is on keyboard sample:

class KeyEvent(CodeInput):
def keyboard_on_key_down(self, window, keycode, text, modifiers):
print keycode, text, modifiers


When the above code is applied and run on android. When a key is pressed, I observed:
1) It invoke the on_key_down event as many as 53 times as if it's a loop.

2) keycode did not really match the pressed key.

3) keyboard_on_key_down is not invoke when volume keys are press.

4) when I touch on the CodeInput widget on_key_down is invoked.

M Dammer

unread,
May 26, 2018, 12:31:30 PM5/26/18
to Kivy users support
Are there any plans to provide stable packages for Ubuntu 18.04 "Bionic" soon ? I notice packages provided with Bionic are still 1.9 and the Kivy 'stable' PPA does not provide packages for 18.04. 

qua non

unread,
May 26, 2018, 3:18:58 PM5/26/18
to kivy-...@googlegroups.com
bionic is supported with the daily ppa 

On Sat, May 26, 2018 at 10:01 PM, 'M Dammer' via Kivy users support <kivy-...@googlegroups.com> wrote:
Are there any plans to provide stable packages for Ubuntu 18.04 "Bionic" soon ? I notice packages provided with Bionic are still 1.9 and the Kivy 'stable' PPA does not provide packages for 18.04. 

--
You received this message because you are subscribed to the Google Groups "Kivy users support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kivy-users+unsubscribe@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages