Kivy 1.9.1 released

4,851 views
Skip to first unread message

qua-non

unread,
Jan 1, 2016, 7:45:53 AM1/1/16
to Kivy users support
Happy New Year Folks

We are pleased to announce Kivy 1.9.1

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, OSX, Linux, Android and
iOS and RaspberryPi.

All downloads are available on the website:

    http://kivy.org/#download
    

highlights and new features:

Core
implement Window.show_cursor for pygame and sdl2
Make widget kwargs passing higher priority than kv
Adds kivy namespaces.
Add scrollleft / scrollright mouse events to x11 backend.
Fix no sound buttons bug on android
Made changes for SDL2 to work on Android
audio_sdl2: support sequenced formats
fix RPI touchscreen not working with KIVY_BCM_DISPMANX_ID=4
sdl2_audio: fix incorrect cdefs
audio_sdl2: support audio formats beyond wav
remove red dot appropriately, issue #3411
Fix KIVY_VIDEO provider list
core:Window Introduce `raise_window`
hid input: default is inverted now, also the invertion function was wrong
Refactor text rendering for modularity so it could be used externally more easily.
set font hinting to light 
Fix misalignment of multi-touch emu feedback (#3366)
Adding rotation to mtdev
fix cutbuffer log message
Record the last op of ListProperty
Make EventDispatcher forward kwargs when it doesn't use it.
Implement apply_property. Fixes #2860.
Fixes #3254: Setting multisamples in SDL2
warn if only one of the minimum window size properties is bigger than 0
clear the Window.canvas in setUp for GraphicUnitTest (partial fix for  #3130)
use coerceToText for android clipboard
Fbind rename and fixes
Fix property comparison for cython
do not set minimum size when the window is resized
add error logging for opengl
Adds minimum window size support for SDL
Resolve missing keyboard event for key 'o' on RPI
Added X11 window with EGL
fix probesysfs str error on py3
Replace bind with fast_bind where appropriate.
Changed 'except *' to 'except -1' for cython 0.22
pygame force initial window size
ProbeSysfs: ignore devices which look like they are used as pointers
Fix support for FreeBSD.
add xclip clipboard/cutbuffer implementation
Android camera provider
atlas: fix partial property rename
fix clipboard exception
add cutbuffer support with xsel
fix docstring and missing import in atlas
Original atlas textures are stored
update kivy app logo
Fixes iOS density.
add on_request_close check for sdl2 window
fix async exception and make async methods save
Release TouchInput handles in wm_touch
sdl2:Window: Introduce keycodes swaps for numpad keys
core/audio: new pure-python/pyobjus AVFoundation audio player
Use monotonic clock to avoid time change side-effects

kvlang
Only apply kv priority rules for root widget.
Allow spaces in lang class declaration. Fixes #3540.
Implements KEP003 - clearing of previous kv property definitions

graphics
graphics.Callback: Context has lr_shader, not l_shader
add depth+stencil buffer support to fbo
fix SmoothLine
add display_border property to BorderImage
Re-parse / re-render svg tree if default color is changed
SmoothLine not present in __init__.py graphics
Add Graphics RoundedRectangle
Add dot product or matrix multiply code which multiply 4x4 matrices fully
Graphics instructions: Make group public so we can set it from e.g. kv
introduce a gl error logging function that supports a user defined note
Added cython 'except -1' in scissor instructions
improve window matrix calculations
glScissors Instructions
Don't cache next callback in dispatch chain. Fixes #3305.
Make border image corner scaling optional

widgets
TextInput:  Add ability to undo/redo deleting by whole words
Fix scrollview issue when one do_scroll=False
Popup: fix wrong Available options in title_align
SandBox: add wraps decorator
fix potential crash in vkeyoard on multitouch screens
Multistroke: pop non-property item from kwargs
make scrollbar wider
console treeview: don't pass unused arg
Carousel: make sure negative widget insertions are possible
Fixed black frame when EffectWidget is resized
improve TextInput functionality (movements, selection, etc)
Change default font to Roboto
small fixes to codeinput themes
Re-added ActionLabel
improve actionbar layout
fix DropDown resize when window gets smaller, fix reloading of image with bad source
Recognise left and right control for select
[CodeInput Bug] Wrong bbcode with some themes - special chars fixes #3434
fix markup binding error
adjust videoplayer buttons to pixel density
bugfix ProgressBarContainer.kv
take into account the minimum_widths of all items of a dropdown
`below_target` option for softinput_mode
use internal caching for keyboard_height property
fix filechooser layout pos for relativelayout
only trigger texture update for color changes on markup labels
fix color for markup label
use relativelayout for filechoosercontroller
fix RstImage height for local images
US Keyboard-layout: Add missing minus sign
adds docs to scroll_to and improves arguments
add ScrollView.scroll_to
fix treeview minimum width, fix selected node removal

behaviors
Split behaviors into individual module files. 
deprecate MIN_STATE_TIME in favor of min_state_time
Add EmacsBehavior for basic Emacs commands
FocusBehavior: Add a focusable check to _on_focus
Small fixes to CompoundSelectionBehavior.

tools
Add tools/kviewer (auto-reload an on-disk kv file and displays the result)

docs
clean up the osx packaging guide
OS X: pip install kivy from git
update raspberry pi installation instructions
update OS X instructions
removed inaccurate reference to markup abilities
Fix python-for-android documentation URL
Fix PyEnchant URL
RPi: Add instructions for official touch display
Corrected on_frame in doc
tutorial: Line numbers in source code decription are corrected
Docs: New Linux install instructions for Virtualenv and SDL2
Use list instead of tuple in AliasProperty (for bind)
updates to FileChoose docs
fix cython link in installation-linux.rst
Fix several it's/its spelling errors in the docs.
Fix doc excepts/accepts spelling error in Guide/Widgets.
linux install instruction formatting
Fix final step in First Widget tutorial
update some data in documentation
Added "Sizing and text content" section to Label API documentation.
in kv lang, the '+' prefix support for classes was removed in 16bd02c
Sync with instructions provided by kivy-ios
improve floatlayout docs
Refering to a source line by its number
sphinx tag fixes
doc/sphinx fixes in WindowBase
Added a short text alignment section to the label doc
Fix pyinstaller docs and hook for sdl2
Resove issue #3293. Update link to Git Screencasts
Stooping to Stopping spelling fix

examples
filepath fix for colorpicker demo
Label example that demonstrates sizing to texture_size and wrapping with text_size.
add example of using kv ids from python

utils
OSC to allow binary data
Move colormap to utils.
oscApi: Variable id replaced with _id

network:
UrlRquest Fix breakage in Python < 2.7.9
Fix SSL verification
Added verify option to UrlRequests
UrlRequest Added ca_file argument for custom CA validation

unittests
ignore redis ConnectionError in RedisStore test
Layout and StackLayout coverage 100%

packaging
Give hidden import funcs better names.
Update pyinstaller docs and hook
OS X Packaging: Fix PyInstaller method
Update windows docs for wheels.
merge the additional libraries section into the main pyinstaller tutorial
clean up the osx packaging guide
Make kivy work with new wheels.
Update OS X packaging instructions, PyInstaller and Homebrew
remove unused env var from pyinstaller hooks
Update pyinstaller hooks to use proper api. Fixes #3622
Updated Ubuntu installation packages docs for 15.04
remove linux packaging files
remove legacy packaging scripts for osx and win
Allow multiprocessing to work correctly with pyinstaller
add a get_includes function for use with third party modules
only patch pyinstaller for pygame if pygame is used as a prov...
xml.etree.cElementTree and tesselator modules are needed for pyinstaller...
Remove Pygame specific hooks
Add KIVY_BINARY_DEPS and tests.
fix py3 builds
Syncing packaging files for Debian/Ubuntu for 1.9.0

modules
Fix postproc:calibration for on_touch_up
fix webdebugger
add some reference error checks to inspector
add widget tree to inspector

Pull Requests merges to master:
148f40d #3867 packaging: Give hidden import funcs better names.
03dc80c #3849 Update pyinstaller docs and hook
056dfa0 #3859 deprecate MIN_STATE_TIME in favor of min_state_time
bd131ee #3841 Spelling fixes
a1a639f #3834 Add on_cursor_enter and on_cursor_leave events for Window
851dfa2 #3825 implement Window.show_cursor for pygame and sdl2
6535be8 #3789 OS X Packaging: Fix PyInstaller method
d3d9838 #3802 Replace print on Logger.info
fb087f7 #3811 Update windows docs for wheels.
a80d7ee #3810 doc syntax fix
beb4b15 #3809 merge the additional libraries section into the main pyinstaller tutorial
a6c9c26 #3808 clean up the osx packaging guide
c68b630 #3804 Make kivy work with new wheels.
123c265 #3750 fix merge conflicts for loadidentity-fix
6186556 #3794 Add ability to undo/redo deleting by whole words
b2f9606 #3795 Only apply kv priority rules for root widget.
a337f34 #2906 Use monotonic clock to avoid time change side-effects
ed02470 #3767 Add EmacsBehavior for basic Emacs commands
ba7917e #3790 documentation's presentation fix for #3787
9d9b0e1 #3787 OS X Packaging: Fix labels and numbering
9919139 #3785 Update OS X packaging instructions, PyInstaller and Homebrew
1dc1a4a #3736 Make widget kwargs passing higher priority than kv
2d24c86 #3782 OS X: pip install kivy from git
5024e60 #3781 use travis for doc builds
2d7f97d #2537 Add tools/kviewer (auto-reload an on-disk kv file and displays the result)
92e3cf9 #3757 Adds kivy namespaces.
c080de7 #3722 OSC to allow binary data
fe2568d #3776 fix OS X link
8aa2196 #3772 Update OS X packaging docs
e5acc4a #3663 added comment for dealing with error messages about ffmpeg
c7fc20e #3756 Split behaviors into individual module files. Fixes #3331.
8d11257 #3748 remove old information about pip installs from faq
b11ec30 #3746 allow glsl files in examples (fixes #3716)
d1c69d1 #3720 doc: update raspberry pi installation instructions
4a49e7b #3741 Fix scrollview issue when one do_scroll=False
fa7c451 #3740 lang.rst rewording
af550de #3731 remove unused env var from pyinstaller hooks
296d71f #3711 Add scrollleft / scrollright mouse events to x11 backend.
7bd620e #3727 Fix postproc:calibration for on_touch_up
dd346ec #3724 convert tabs to spaces in example kv files
e00f321 #3679 Documentation: update OS X instructions
8e41789 #3704 doc: removed inaccurate reference to markup abilities
a0437b6 #3698 Fix no sound buttons bug on android #3690
f7f24b9 #3682 update MANIFEST.in to fix #3320
7436dfe #3681 Popup: fix wrong Available options in title_align
57ea052 #3676 filepath fix for colorpicker demo
862070d #3675 Fix python-for-android documentation URL
33d4ab1 #3673 FocusBehavior: Add a focusable check to _on_focus
eba9fc0 #3666 ignore redis ConnectionError in RedisStore test
ca5cb11 #3669 UrlRequest: Fix breakage in Python < 2.7.9
b488d60 #3665 remove python shebangs
e838560 #3619 fix #3618 - add wraps decorator
9add2d7 #3659 Fix SSL verification
de3f915 #3656 Added verify option to UrlRequests
2c47309 #3655 Fix PyEnchant URL
9881188 #3652 Update pyinstaller hooks to use proper api. Fixes #3622
c66d8b5 #3648 Made changes for SDL2 to work on Android
1ba560b #3647 RPi: Add instructions for official touch display
ce47593 #3636 audio_sdl2: support sequenced formats
95cdc39 #3641 fix potential crash in vkeyoard on multitouch screens
714f2f4 #3642 fix RPI touchscreen not working with KIVY_BCM_DISPMANX_ID=4
e2f97c0 #3639 Updated Ubuntu installation packages docs for 15.04
83971cb #3634 Corrected on_frame in doc
0ca33cf #3631 sdl2_audio: fix incorrect cdefs
129b82b #3628 Line numbers in source code decription are corrected
ff8bbd1 #3626 audio_sdl2: support audio formats beyond wav
f0213f8 #3627 Multistroke: pop non-property item from kwargs
66d84e4 #3519 Docs: New Linux install instructions for Virtualenv and SDL2
5e84f2f #3570 Allow spaces in lang class declaration. Fixes #3540.
158fcee #3573 remove red dot appropriately, issue #3411
04e4a5d #3598 remove linux packaging files
c7fdda1 #3592 remove legacy packaging scripts for osx and win
187e4b7 #3596 make scrollbar wider
853c158 #3595 console treeview: don't pass unused arg
46b5305 #3578 graphics.Calback: Context has lr_shader, not l_shader
4c2a288 #3580 make sure negative widget insertions are possible
7d708ad #3585  Fixed black frame when EffectWidget is resized
44ecc31 #3575 doc Use list instead of tuple in AliasProperty (for bind)
f20f704 #3499 UrlRequest Added ca_file argument for custom CA validation
900e3c2 #3520 add depth+stencil buffer support to fbo
2d55103 #3545 fix SmoothLine
991d5fe #3567 updates to FileChoose docs
645bbea #3566 Fix KIVY_VIDEO provider list
332bc89 #3564 core:Window Introduce `raise_window`
c271d87 #3555 Move colormap to utils.
8d66a19 #3179 improve TextInput functionality (movements, selection, etc)
7ec647e #3096 hid input: default is inverted now, also the invertion function was wrong
6a107fa #3501 Refactor text rendering for modularity so it could be used externally more easily.
66a9261 #3552 add display_border property to BorderImage
7f7f256 #3547 Change default font to Roboto
a26f427 #3546 set font hinting to light 
4c9e591 #3506 Fix misalignment of multi-touch emu feedback (#3366)
b2ff005 #3534 small fixes to codeinput themes
9536957 #3494 Adding rotation to mtdev
c5ba316 #3537 docs: fix cython link in installation-linux.rst
fceb6c4 #3541 doc corrections
7befb86 #3532 Re-added ActionLabel
5f7f809 #3497 fix cutbuffer log message
a115643 #3517 Small fixes to CompoundSelectionBehavior.
dcabae4 #3518 Re-parse / re-render svg tree if default color is changed
099ca85 #3514 Fix several it's/its spelling errors in the docs.
6bf0418 #3513 Fix doc excepts/accepts spelling error in Guide/Widgets.
c0355a9 #3511 SmoothLine not present in __init__.py graphics
14e2a11 #3508 linux install instruction formatting
9a0cec8 #3483 Record the last op of ListProperty
3a18b27 #3325  improve actionbar layout
573af44 #3469 Make EventDispatcher forward kwargs when it doesn't use it.
3f4922e #2918  Implement apply_property. Fixes #2860.
2c9d8a1 #3048  Add Graphics RoundedRectangle
f15283f #3050 Add dot product or matrix multiply code which multiply 4x4 matrices fully
cced479 #3443 fix DropDown resize when window gets smaller, fix reloading of image with bad source
fd54e81 #3357 Fixes #3254: Setting multisamples in SDL2
ac4bc0c #3432 Implements KEP003 - clearing of previous kv property definitions
b11b4e5 #3453 warn if only one of the minimum window size properties is bigger than 0
0393752 #3485 Allow multiprocessing to work correctly with pyinstaller
52b5e31 #3145 clear the Window.canvas in setUp for GraphicUnitTest (partial fix for  #3130)
3eb5b48 #3433 Graphics instructions: Make group public so we can set it from e.g. kv
5e77553 #3480 Fix final step in First Widget tutorial
1d3b903 #3424  add a get_includes function for use with third party modules
3215c8d #3482  Converted map objects to list in py3
8bb5432 #3467 use coerceToText for android clipboard
7da800e #3463 Fbind rename and fixes
49bcba5 #3458 Recognise left and right control for select
fe5395d #3447 Fix property comparison for cython
9a1db45 #3457 style issues fixed
4916a53 #3455 update some data in documentation
474cff8 #3452  do not set minimum size when the window is resized
59b768c #3451 [CodeInput Bug] Wrong bbcode with some themes - special chars fixes #3434
b5cf337 #3449 Label example that demonstrates sizing to texture_size and wrapping with text_size.
bdf4a0b #3448  Added "Sizing and text content" section to Label API documentation.
dd94005 #3423 add error logging for opengl Fix merge conflict with lang + removal.
178f706 #3414 Adds minimum window size support for SDL
232acd9 #3437 in kv lang, the '+' prefix support for classes was removed in 16bd02c
e2c76c0 #3445 fix markup binding error
8a981d4 #3440  adjust videoplayer buttons to pixel density
e982a8a #3393 Resolve missing keyboard event for key 'o' on RPI
a416b8e #3397 Added X11 window with EGL
a81c048 #3409 bugfix ProgressBarContainer.kv
0243842 #3420  introduce a gl error logging function that supports a user defined note
b2d8683 #3417 fix probesysfs str error on py3
13d37eb #3405 Added cython 'except -1' in scissor instructions
e4540ec #3402 Replace bind with fast_bind where appropriate.
df18e63 #3283 Changed 'except *' to 'except -1' for cython 0.22
2cbf08c #3387 take into account the minimum_widths of all items of a dropdown
3839fc7 #3388 `below_target` option for softinput_mode
582fb9f #3383  use internal caching for keyboard_height property
8c0c63f #3377 fix webdebugger
12c26f6 #3363 remove extra whitespace in pep8 error messages
71ff040 #3362 fix filechooser layout pos for relativelayout
b517ecf #2255 pygame force initial window size
1b5f417 #2819 ProbeSysfs: ignore devices which look like they are used as pointers
89bff4c #3077 Layout and StackLayout coverage 100%
692cebc #3178 Fix support for FreeBSD.
859c53a #3351 Sync with instructions provided by kivy-ios
bce4514 #3330 add xclip clipboard/cutbuffer implementation
1171cdb #3250 Android camera provider
dd00dce #3359 move kivy.require before other imports and convert tabs to space-tabs…
aeeac3e #3154 add example of using kv ids from python
8009ba9 #3355 only trigger texture update for color changes on markup labels
a5f7d0a #3354 add missing newline at the end of inputs.rst
2b57dee #3353 improve floatlayout docs
b5e9ca5 #3349 improve window matrix calculations
aa20bec #3348 fix color for markup label
c313f88 #3347 use relativelayout for filechoosercontroller
484cb00 #3346 add some reference error checks to inspector
a696b76 #3340 Refering to a source line by its number
8ceb504 #2395 glScissors Instructions
fcce004 #3329 atlas: fix partial property rename
261158a #3328 fix clipboard exception
f8ae73e #3176 add cutbuffer support with xsel
13d4dbe #3327 fix docstring and missing import in atlas
411b6d2 #3198 Original atlas textures are stored
11105c7 #3326 fix RstImage height for local images
4c3cf60 #3324 doc fix: theses -> these
9ffb318 #3323 sphinx tag fixes
10a8ddb #3322 doc/sphinx fixes in WindowBase
1444bdb #3299 oscApi: Variable id replaced with _id
43d2b0e #3315 US Keyboard-layout: Add missing minus sign
04691ad #3318 update kivy app logo
a168e3d #3317 update kivy logo
8b3ade4 #3307 Don't cache next callback in dispatch chain. Fixes #3305.
48cd55b #3304 packaging: only patch pyinstaller for pygame if pygame is used as a prov...
ea5a8f7 #3295 Added a short text alignment section to the label doc
1aa315e #3303 Fix pyinstaller docs and hook for sdl2
87a05db #3279 xml.etree.cElementTree and tesselator modules are needed for pyinstaller...
6893fbc #3278 Remove Pygame specific hooks
90117a5 #3282  Fixes iOS density.
7fb0ffc #3294 [Docs] Resove issue #3293. Update link to Git Screencasts
633262c #3289 add on_request_close check for sdl2 window
756a7bf #3288 Make border image corner scaling optional
1566e31 #3286 Stooping to Stopping spelling fix
a00ecdb #3285 Fix AttributeError in py3
dcbd800 #3273 fix async exception and make async methods save
0a32e45 #3268 adds docs to scroll_to and improves arguments
903396a #3267 add widget tree to inspector
5520e00 #3266 add ScrollView.scroll_to
035ecb6 #3265 fix treeview minimum width, fix selected node removal
7f3900c #3257 Release TouchInput handles in wm_touch
66d6082 #3214 Add KIVY_BINARY_DEPS and tests.
625c74a #3239 sdl2:Window: Introduce keycodes swaps for numpad keys
2b1cde3 #3232 fix py3 builds
e1fb25b #3153 core/audio: new pure-python/pyobjus AVFoundation audio player
3dfe820 #3219 Syncing packaging files for Debian/Ubuntu for 1.9.0


direct commits to master:
e95b307 ButtonBehavior:  initialise to kwargs if provided.
b86f417 Update button.py
8b3243b ButtonBehavior: use new property `min_state_time` in implementation and initialise it to `MIN_STATE_TIME` till it is removed.
2321507 remove the alias property `MIN_STATE_TIME` and to retain the original functionality
ff17850 fix #3861 and #3860
47c60f1 doc: fix missing quote string
ba32109 doc: fix missing qoute4 in uix/image.py
23d7188 winctypes, return list for Clipdoard.get_types, fix #3832
f9399f9 version tag for min_state_time
d4b7cc8 doc: reinstated color. references #a4d81b0b2bff8c805d7196ea809d612de9f6bc4a
a4d81b0 doc: removed unrequired color setting from uix/image.py
a98d1d3 doc: grammar corrections to uix/image.py
79d882f doc: grammar tweaks to core/image/__init__.py
e7061c4 doc: correced wording, concrete example in atlas.py
2d1b466 doc: made pretty link in audio/__init__.py
8e02046 doc: added note on eventloop in core/audio/__init__.py
f2ce06d Update setup.py
ab3c3fe FileListEntry take size of text inside.
ba9df9c FileChooserListViewLayout use `dp` not constant numbers
9387bfe install pyinstaller for doc duilds
abc940b exit for frameworks only on darwin
593fe7c fix compilation using frameworks on osx
0d4f258 Python3 fix for setup.py
a87d082 make cython a compile time dep
af9aaef grammar fixes
981debd Update README.md
2245693 update sister project list
835f1ae add package list update command
fe189fd Update clipboard_sdl2.py
f11a828 Update .travis.yml
a0bd35f Update win doc for installation
843faea Update packaging-osx.rst
aaaf4e9 doc: clarifications in source/guide/lang.py
c3c8134 doc: fix singular in sources/guide/lang.rst
16b0373 Update installation-windows.rst
ff01750 Update installation-windows.rst
0e50dcd Update installation-windows.rst
05bf18d examples: fixed unicode error in examples/keyboard.main.py
0c7e64c doc: fixed python REPL formatting in kivy/lang.py
6cfdd29 doc: fix typo in kivy/lang.py
8e762ec Rioboto -> Roboto
dba00ca core:Label Remove redundant test for file and pep8 fix
1360355 Core:LabelBase: recurse all dirs. closes #3270
7de66e6 doc: grammar tweaks to sources/guide/lang.rst
a182589 doc: fixed PEP8 link
c10db06 [doc] Win install fixes.
a06e325 pdf: call make pdf twice
fedd092 fix rsync error
d57d533 remove comment
d45af7b trigger build
3ce7bb9 Update setup.py
c83ee03 upgade from ubuntu 12.04 to 14.04 and publish pdf builds
d6decca setup: various fix for OS X / El Capitan
132be35 tests: add animation events tests, to try reproducing the on_anim2_progress traceback, but i cant. At least, we have a new test.
cf31ef7 clock: fix crash on android from recent merge. Closes #3797
4d6469f Fix doc code alignment.
722d009 packaging: pyinstaller-hook, cElementTree still needed
304fcd0 macosx -> osx
5ccf753 macosx -> osx
201d5c0 Update packaging-osx.rst
f063cfb bring back `mac_Create-the-spec-file` ref
ea46029 Update packaging-osx.rst
90d69e6 Update kviewer
49cef00 documentation and fixes for KViewer
9843bba add sphinx ref
0432b4a grammar fix
d48e0f4 pep8 fix and doc cleanup
5d22a28 list py3.5 in classifiers
571323a unix:TextInput Warning about `minimum_height`
ff15cee Document issues with setting max_fps to 0
62e9a78 fix windows message for bad opengl version
e92c408 Fix pyinstaller invalid packages.
aa63c68 declare password before text, fixes #2337
62e4756 Inlcude kivy.uix.behaviors in packages.
57e5eba video: fix setting volume before play to work the same on all video providers. Closes #3759
c9dee7a Update index.rst
03e3753 do not check for aberrated values
8a32d69 add a note about widget and property name requirements
3fd4f11 fix trailing whitespace
e77804c use correct path for VideoPlayerPreview.image_loading
85085cc add kivy.graphics.svg to hidden imports
93a977a remove duplicate include
5b6915b include audio_sdl2 in hidden imports
39b55f7 doc: added back space in core/text/markup.py
4da6ec8 Delete requirements.txt
1b1125e add cython to install_requires
1b8ead2 Update requirements.txt
8e7a1ac doc: reworded tag description for core/text.markup.py
d021c90 doc: fixed tag ordering in core.text.markup.py
048821a switch_to removes the previous screen, use .current
db62a57 fix dict_keys AttributeError
af77ba4 use explicit floor division, fixes #3694
67b0332 remove shebangs
bf2ffdd fix kv path issue and clean up container example
c3f3fbf doc: added direct links to 'uix.screenmanager.py'
0421a33 Create requirements.txt
234a4a5 upgrade from py3.4 to py3.5 for travis builds
3e06c0f update required garden version
0c27643 Update packaging-windows.rst
a22fa3d pyinstaller 3 released, remove experimental note
3b9add2 Update README.md
f859c66 Rename README to README.md
333c218 Update interactive.py
9718e75 list sdl2 as provider env var values
595adda fix pyenchant link
40e8acd pep8 fix
6003182 uix:image account for anim_delay being passed as kwargs
e1b126a add versionadded tag for ca_file and verify
b72d173 update pyinstaller branch link
75aa581 pep8
06bd284 doc: added reference to example in uix/settings.py
1af34a0 doc: made wording consistent with other example classes
8aaca89 doc: added settings example to examples listing
8083174 Added example of settings usage (custom panel, save and restore)
add1051 doc: revisions to uix/settings.py
0fea176 doc: added link to ini location in app.py
dde49a6 doc: added reference from config to application configuration
81c2196 doc: updated the wiki reference in gettingstarted/diving.rst
2453bce Fix offset when using `below_target` on desktops.
0647cd0 Rpi: add possibility to change the default display to use on the Raspberry Pi, via the KIVY_BCM_DISPMANX_ID environment token. Thanks to Gordon Hollingworth for the initial patch.
08d0410 doc: remove obsolete faq about gstreamer
c3828ca doc: fixed broken link in uix/settings.py
9482860 doc: standardized default value declarations in core/window/__init__.py
9f5d1e1 doc: revisions to window/__init__.py
39ed457 doc: grammer correction to core/window/__init__.py
30fbe2d remove landscape.io config
0bb7ee8 doc: added reference to the 'softinput_mode' property to uix/behaviors.py
92a710d doc: made StopIteration reference consistent in uix/behaviors.py
d03d56c doc: added link to parent propery in uix/behaviors.py
8c7c9f0 doc: revisions to uix/textinput.py
c5697bf Update .travis.yml
a06b3e0 Update .travis.yml
23c8299 remove unneeded deps from linux installation docs
fe79c34 doc: revisions to uix/textinput.py
8ab236d doc: revisions to uix/widget.py
9818a19 doc: corrected indentation levels in uix/widget.py
917e869 Core:Window do not allow negative value for target when using `below_target`
41c1c7e doc: elaborated on version change in core/window/__init__.py
1dc9bb1 doc: fixed unclosed string tag in uix/behaviors.py
e774b2a doc: revisions to core/window/__init__.py
1993c11 Update installation-linux.rst
7db1f14 doc: revisions to uix/settings.py
563e068 doc: fixed broken link in uix/settings.py
c6879fe fix pep8 issues
34bf7ef :fire: change EffectWidget background_color to (0, 0, 0, 0)
fd1cc26 doc: revisons to input/motionevent.py and input/providers/mouse.py
5452b8a doc: revisions to input/motionevent.py
b20b206 doc: clarified that touch events are provided by appropriate devices
cd586ac doc: revisions to input/providers/mouse.py
4d5d4c0 doc: spelling correction to input/providers/mouse.py
565404f fix ignored paths for landscape
ea5ae80 doc: revisions to input/provides/mouse.py
50691cd uix:TextInput avoid processing if no text.
cd1665f doc - TextInput.text is an AliasProperty
79d0558 doc: revisions to uix/carousel.py
60c43b8 doc: shortened property refernces in uix/gridlayout.py
8765cb5 doc: removed inaccuracies ('orientation'), revised uix.carousel.py
e6a8f4b doc: grammar corrections to uix/carousel.py
b93af7f doc: made example runnable, more obviously named in uix/carousel.py
6a3aa68 doc: revisions to uix/carousel.py
0c7cd9e fix py2 import
cc17597 clipboard:sdl2 fix for py3
5590b8c tests:clipboard, use unicode with 'UTF8_STRING'
55271f5 tests: add test for clipboard, closes #3360
4560012 doc: updated sources/guide/packaging-ios-prerequisites.rst
bbc9cc5 doc: revisions to sources/guide/packaging-ios.rst
846150c doc: removed outdated references for iOS compilation
86f416e doc: added kv styling in uix/widget.py
5a821fa doc: changed key/value syntax to key-value
1c0fafb doc: revision to app.py
f3f4d8e Revert "Merge pull request #3546 from kivy/light_hint"
41409b1 doc: grammar correction to uix/filechooser.py
e34e817 doc: fixed broken link, tweaked wording in  uix/filechooser.py
062a40a fixes for Cython 0.23
408ac30 Update README.md
8c8453b doc: changed key/value (either/or) to key-value syntax in storage/__init__.py
c203cda doc: addded example usage of FileChooser, removed unhelpful versionchanged in uix/filechooser.py
4b55296 doc: revisions to uix/filechooser.py
a0038cf tests: use density not dpi
17cd34f tests:Properties: Account for dpi.
96a5bc3 simplify utils test
96136ef Update utils.py
3481518 update stencilview doc (128 levels, not 8)
2e3f402 doc: grammar corrections to uic/textinput.py
92c83ef doc: revisions to storage/__init__.py
09eba4d doc: tweaks to storage/jsonstore.py
5982aab doc: corrected spelling of RedisStore module in storage/__init__.py
dd9c767 doc: added kv styling to code blocks in properties.pyx
de71836 doc: revisions to properties.pyx
a57b77e doc: separated explanations for ValueError handling in properties.pyx
85f6ef7 doc: added constructor example to uix/layout.py
2384fef doc: removed outdated warning from installation/installation-linux.rst
0173675 doc: revisions to uix/actionbar.py
d43a529 pep8 fixes to make travis happy
12a54b7 uix:DropDown: Resize dropdown height on window resize.
4aff492 Revert "Fix for problem: Height of a DropDown List (once opened) is not properly updated after window resize to smaller heights."
33f077c doc: revisions to config.py
33bc35f doc: expanded on Config definition in config.py
4732e4c doc: made note a proper note in config.py
49e6797 doc: changed note to a section in graphics/vertex_instructions.pyx
7b5c2e5 doc: revised Point property docs in graphics/vertex_instructions.pyx
0af6d8f doc: revised Point docs in graphics/vertex_instructions.pyx
a186f69 doc: removed repeated dot in graphics/vertex_instructions.pyx
5337121 doc: fixed inocrrect description for Point in graphics/vertex_instructions.pyx
8286231 doc: revisions to behaviors.py
307f9de doc: revisions to uix/behaviors.py
13ebc9f fix style issues
57ffa2d doc: added options required for SpinnerOption to docs
42d2727 doc: revisions to uix/behavior.py
43f62cc doc: revisions to uix/behaviours.py
f79f1a7 Grammer corrections.
f87b325 doc: revisions to uix/behaviors.py
77f98ef Include docs for official Packaging method on osx.
a2f01dd doc: revisions to uix/behaviors.py
f7891c8 doc: added explanations/syntax highlighting to uix/behaviors.py
ca12b87 doc: added links to Image in uix.behaviors.py
2052b2b Update installation-macosx.rst
9c85b37 doc: revisions to uix/widget.py
02bbf60 doc: added examples to uix/behaviors.py
9b026c8 sdl2: rework support for pause/resume on iOS / Android
0bed799 sdl2: fix typo on enter foreground
d9ae83c ios/android: fixes SDL2 pause/resume by correctly handling app event from SDL2 + add event for memorywarning. Closes #3202
81f8803 doc: revisions to uix/widgets.py
429beca pep8 fixes
bccd9e0 Update installation-macosx.rst
c3b7cde include missing quote
6627002 pep8 fixes
2414b1d Update hook-kivy.py
49854d7 Update vertex_instructions.pyx
4e881c9 Update transformation.pyx
47bfc3b Update _event.pyx
aa6f70a Closes # 3139
c96a9c2 Update packaging-macosx.rst
7bcd09f For now notify travis on start.
91f4a97 Update travis webhooks.
616be48 core:Window: Ensure window cursor respects config. Closes #3441
47e4ff8 Don't clear the ffmpyplayer log callback.
1c0ec47 Possibly fix failing audio tests.
32a3880 doc: added kv example for uix/effectwidet.py
0ca77b4 doc: revisions to uix/effectwidget.py
0ca77b4 doc: revisions to uix/effectwidget.py
5aeb17d update coveralls badge [ci skip]
369c4dc do not install deps on pep8 check and enable coveralls reporting for travis builds
f589b72 irc notify on successful build if the previous build failed
d3585a4 add travis badge to README
f2cbc73 irc notify only on failure
70d6fc0 fix `make test` for travis :boom:
204f0f9 enable travis builds
db871d2 use pillow instead of pil for travis
b1687d8 --use-mirrors has been deprecated, removing it
c509ce2 update python versions for travis
c37bd0f Console: new kivy module that aim to replace the old inspector, and give the possibility to be extended by the user in the app
a45b909 doc: changed 'C language' reference to Cython
cd07bd3 doc: revised text in kivy/__init__py docs. Pep8
2219de0 do not overwrite config options which were already set
e64e902 fix doc for window.minimum_width/height and update config
a7eaa86 Document `right: root.right` issues.
80463d1 doc: added naming convention details
7243612 fix bad doc in core.text
e5abe83 list sdl2 as a supported provider for in-memory image loading
6651080 Update __init__.py
7c5f948 fix config doc line wrapping
1590dff Fix fbind typo.
4ba8de8 doc: fixed versionadded tag in DropDown
14988f4 use int not void to match new signature for cython
395710a doc: added explanation for touch dispatching
31825a8 fix bad kv
323e2a6 Improve doc for softinput_mode `below_target`
034c471 README revision
c4424f4 update font licensing in README
a6ea61b fixes #3368, rounded_rectangle ignored in Line.__init__
52b2b42 don't eat on_touch_up events outside filechooser
a1b70dc Update label.py
00528f3 doc: fix VideoPlayer.state default
dffd000 Remove pygame pyinstaller hook workaround and add to docs instead.
a5f0c9a doc: fix length, tags in core/window/__init__.py
03e8535 doc: claried SDL2 implications in core/window.__init__.py
709b7f7 Update rt-hook-kivy.py
a2d356c core:clipboard_android: remove `toString` not needed any more cause of changes in pyjnius
3849c9f Language/80 cols tweaks to kivy/tools/packaging/win32/README.txt
5ce4035 Language fixes to kivy/tools/packaging/README.txt
d30962f update gsoc mentors
ac2c719 doc: added explanation of the Image.texture
9951e07 Examples: Update unicode_textinput.py to use sdl2
15f7060 Revert "Examples: update unicode_textinput to work with sdl2"
0b72d0d Examples: update unicode_textinput to work with sdl2
13c7fe6 fix touch issues for retina closes #3245
9807444 When importing from setuptools, Extension also need be import from there.
5474ea1 doc: tweaks to examples/demo/touchdtracer/main.py
509f160 doc: tweaks to examples/demo/showcase/main.py
4fb96f0 doc: tweaks to examples/demo/pictures/main.py
240ce42 doc: tweaks to examples/demo/multistroke/main.py
3403110 No need to have python3-pygame installed


Special thanks to all the following people, who contributed to this release:
Akshay Arora, Alan, Alexander Taylor, Anders Högqvist, Andres Vargas, ankit baruah, Arlo White, Aron Bordin, azixMcAze, Ben Hagen, Brendan Jurd, Brent icasso, Charl P. Botha, Cheaterman, CreamyCookie, Davide Depau, David Naylor, Denys Duchier, Derek Stavis, dessant, Dimitris Xenakis, Dominique B,Dylan Jeffers,el-ethan, Ernst Sjöstrand, Fabian Schuetz, Gabriel Pettier, Ivlev Denis, janssen, Jason Xun Xu, jehutting, Kanji Origin, Kevin Ndung'u, kopias, Kovak, Larissa Feng, leonardo lontra, Lipi, Mark Skelton, Mathieu Virbel, Matthew Einhorn, Meet Udeshi, Michael Howitz, Mihály Mirk, Nathan Hyde, Ng Oon-Ee, Oleksandr Orlov, Oliver Marks, picibucor, RA-dim, rekom, Richard Baumann, Richard Larkin, Robert Niederreiter, Ronnie Andrew Magatti, Ryan essa, sanctusgee, seales, shyam saini, SpootDev, Stuart Axon, stuartmarsden, Terje Skjaeveland, Thomas-Karl Pietrowski, Tim Henning, Timur Pulathaneli, Tony, Tony Narlock, victor-rene, Vyacheslav Shevchenko, Yuval Langer, Zachary Spector
Message has been deleted

qua-non

unread,
Jan 1, 2016, 8:07:30 AM1/1/16
to Kivy users support
The list above is by no means complete. 
For a complete list of commits and changes you can look at http://github.com/kivy/kivy repository.

Mark Melvin

unread,
Jan 2, 2016, 2:24:23 PM1/2/16
to Kivy users support
Thanks for all the hard work, and Happy New Year!

--
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.
For more options, visit https://groups.google.com/d/optout.

Mark Melvin

unread,
Jan 3, 2016, 12:57:08 PM1/3/16
to Kivy users support
Hi Guys,

Installation with pip on Windows went fine, but installing on the Lubuntu VM into Python 2.7.6 I only get Kivy 1.9.0 from the stable PPA.  What do I need to do to get 1.9.1?

Also, is the Python3 runtime support for Android integrated into 1.9.1, or is this yet to come?

Thanks,
Mark.


On Fri, Jan 1, 2016 at 7:45 AM, qua-non <akshay...@gmail.com> wrote:

--

Alexander Taylor

unread,
Jan 4, 2016, 7:30:11 AM1/4/16
to Kivy users support
Python3 for Android isn't yet merged into python-for-android, but it won't be long. It isn't coupled to Kivy internally, any version that supports python3.5 should work.
...

qua non

unread,
Jan 4, 2016, 11:55:31 AM1/4/16
to kivy-...@googlegroups.com
I just tried installing through pip and it does install 1.9.1

If you have kivy already installed through pip you might need to pass --upgrade option

Mark Melvin

unread,
Jan 4, 2016, 12:56:20 PM1/4/16
to Kivy users support
I was following the Linux instructions on the website using apt-get.  
I'll try pip as that seemed to work on Windows.

Mark.

Brent Picasso

unread,
Jan 11, 2016, 3:56:16 PM1/11/16
to Kivy users support
Just saw this. Congratulations on the 1.9.1 release! We''ll get it incorporated into our RaceCapture app asap. :)
...
Message has been deleted
Message has been deleted

Jacob G

unread,
Feb 2, 2016, 10:49:50 AM2/2/16
to Kivy users support
Please provide Windows installation method other than PIP, otherwise developer count is reduced to those who want to hack a framework. Most people just want to run an installer then start programming. Please keep in mind that most people in the world still have Windows, and executable/msi installers, regardless of their issues, are the package system for Windows.
...

Oon-Ee Ng

unread,
Feb 5, 2016, 11:57:42 PM2/5/16
to kivy-...@googlegroups.com

Uh, download able windows packages are available on the website, I've used them myself. You just extract them, click on the right file, and start programming. If the issue is that you prefer an exe and extracting a zip is hacking, then.....

--

Jacob G

unread,
Feb 7, 2016, 8:54:23 PM2/7/16
to Kivy users support
You are mistaken that there is a zip file, but you may not realize that since it is a recent change. The only installation method available for Windows on http://kivy.org/#download is via pip & wheel on the command line, and for that you have to have python in your path, which isn't even done automatically by the windows python installers.

I have made a repack of 1.8.0 which optionally elevates itself and installs to a folder on C:\, and creates a SendTo shortcut ( http://www.expertmultimedia.com/downloads/ ).
I offered the script to the kivy team here: https://groups.google.com/forum/#!searchin/kivy-users/vbscript/kivy-users/Oj9Y8P08Ub4/pE3mvdZ658EJ but have not heard back. I am working on a script that installs 1.9.1 via pip & wheel. I do say installing it is hacking a framework because I don't know how to install Kivy. I consider this hacking a framework not only because it requires manual steps and several commands in the command line to install, but also since if it is like 1.8.0 it breaks pygame support (kivy's python cannot import pygame though it uses much from pygame internally). In fact, that zip is not that easy when it comes to some editors, since for example, I have two Geany installations so one executes py files using a standard python installation with pygame, and the other can execute py files using kivy.bat (has to be copied to python.bat for Ninja-IDE to recognize it as a python executable). Please correct me if 1.9.1 does not have the same problem with pygame. It has so far forced me to have a separate copy of python just for pygame and separate installation of Geany.

The zip was easier than the current method but still not great in more ways than I mentioned so far. Linux installation is much simpler. On Windows you must unzip a file and use the right executable, but there are more steps required for actually getting work done, such as choosing the right executable in your IDE or editor, copying kivy.bat to python.bat if you use Ninja-IDE, creating a desktop shortcut or SendTo shortcut, and/or various other manual steps like copying it to C: with administrator permissions if you want more than one user to be able to use it. This kind of stuff may be doable, and sure, I know how to do it. But it is far more work and requires far more knowledge than installing and using on linux via a package. On Kivy 1.7.2 I tried setting all the environment variables for my system as recommended somewhere but it broke other python programs. PIP or ZIP is discouraging to new developers, especially students I know who have tried it (zip method) and failed, even the most savvy students, before I made the repack of 1.8.0 that includes my installer script. Also, keep in mind that even some experienced developers are not good at managing systems believe it or not (like Linus Torvalds https://www.youtube.com/watch?v=qHGTs1NSB1s ).

Oon-Ee Ng

unread,
Feb 8, 2016, 4:19:14 PM2/8/16
to kivy-...@googlegroups.com
I see. The zip file was certainly available prior to 1.9.1, as I have
a project using it on 1.9.0 at the least.

I think all of what you're raising is more of an issue with python
than specific to Kivy. Furthermore I think that in its current state
python development on windows won't (can't?) be a one-click process.
The flexibility that 'we' (in general) value is a handicap on Windows,
which doesn't play by the same rules Linux distros do.

I have no comment on pygame as I don't use it and haven't before.
However from the Linux perspective, the only reason it's easier is
that work is put into packaging. Mostly by other people than the Kivy
dev team.

The best way to bring this to the attention of the devs is through the
issue reporter, I'd think. My personal opinion is that packaging is a
separate concern, but perhaps they view things differently.

Jacob G

unread,
Feb 9, 2016, 9:40:02 PM2/9/16
to Kivy users support
Setting up systemwide environment variables on that older Kivy on Windows also prevented Tk applications from running when double-clicked. Can anyone verify whether Pygame and Tk programs will work if run via python.exe or pythonw.exe with Kivy 1.9.1 installed in the system's default python using pip&wheel installation?

Jacob G

unread,
Feb 18, 2016, 4:29:13 PM2/18/16
to Kivy users support
Also, since Windows doesn't have proper dependancy management, why not write an installer that lets you choose a python installation (since python does not add itself to path nowadays), then uses pip? This seems reasonable. It would not take much work and would draw in more Windows developers which expect the (kivy) framework installation to work at least as easily as it does in Linux.
Message has been deleted

Daniel Cohen

unread,
Mar 12, 2016, 6:54:29 AM3/12/16
to Kivy users support
Hi All,

I'm really new to Kivy and am running into a problem with my setup.  For some reason, after I installed Kivy on my Windows 7 box and ran the simple example, kivy shows the initial screen and then freezes up.  Button clicks do not work or anything. 

Here is the simple example:

from kivy.app import App

from kivy.uix.button import Button
from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout

class TestApp(App):
    def build(self):
        return Button(text='Hello World', background_color=(0,0,1,1), font_size=150)

TestApp().run()


When I click away from the window I see:

 Traceback (most recent call last):
   File "_ctypes/callbacks.c", line 313, in 'calling callback function'
   File "c:\Python27\lib\site-packages\kivy\input\providers\wm_touch.py", line 207, in _touch_wndProc
     lParam)
 WindowsError: exception: access violation writing 0x00000000000000FF

Here is the output to the screen:

[INFO              ] [Logger      ] Record log in C:\Users\dcohen\.kivy\logs\kivy_16-03-12_15.txt
[INFO              ] [Kivy        ] v1.9.1
[INFO              ] [Python      ] v2.7 (r27:82525, Jul  4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)]
[INFO              ] [Factory     ] 179 symbols loaded
[INFO              ] [Image       ] Providers: img_tex, img_dds, img_gif, img_sdl2 (img_pil, img_ffpyplayer ignored)
[INFO              ] [Text        ] Provider: sdl2
[INFO              ] [OSC         ] using <thread> for socket
[INFO              ] [Window      ] Provider: sdl2
[INFO              ] [GL          ] GLEW initialization succeeded
[INFO              ] [GL          ] OpenGL version <4.3.0 - Build 10.18.14.4280>
[INFO              ] [GL          ] OpenGL vendor <Intel>
[INFO              ] [GL          ] OpenGL renderer <Intel(R) HD Graphics 4400>
[INFO              ] [GL          ] OpenGL parsed version: 4, 3
[INFO              ] [GL          ] Shading version <4.30 - Build 10.18.14.4280>
[INFO              ] [GL          ] Texture max size <16384>
[INFO              ] [GL          ] Texture max units <32>
[INFO              ] [Window      ] auto add sdl2 input provider
[INFO              ] [Window      ] virtual keyboard not allowed, single mode, not docked
[INFO              ] [Base        ] Start application main loop
[INFO              ] [GL          ] NPOT texture support is available
 Traceback (most recent call last):
   File "_ctypes/callbacks.c", line 313, in 'calling callback function'
   File "c:\Python27\lib\site-packages\kivy\input\providers\wm_touch.py", line 207, in _touch_wndProc
     lParam)
 WindowsError: exception: access violation writing 0x00000000000000FF
[INFO              ] [Base        ] Leaving application in progress...
 Traceback (most recent call last):

Here are the Kivy components I installed.
Kivy (1.9.1)
Kivy-Garden (0.1.4)
kivy.deps.glew (0.1.4)
kivy.deps.gstreamer (0.1.5)
kivy.deps.sdl2 (0.1.12)

Is there anything I'm doing wrong?  How can I debug this issue further?

Thank You in advance!

Daniel Cohen

unread,
Mar 12, 2016, 1:17:32 PM3/12/16
to Kivy users support
Hi All,

I was successful in getting Kivy to work on my laptop with Python 3.4 but not Python 2.7.  What could be the issue here? Any help would be appreciated.

Thank You,
Daniel
Message has been deleted

qua non

unread,
Jun 20, 2016, 6:03:30 PM6/20/16
to kivy-...@googlegroups.com
Thomas, we have the whole process done on travis, you can look at the travis build script here https://github.com/kivy/kivy/blob/master/.travis.yml#L49

Best of luck on your endeavors.

On Tue, Jun 21, 2016 at 3:06 AM, Thomas Chen <tkc...@gmail.com> wrote:
Qua-non,

Do you have any documentation on the configure flags you use to build the embedded python3 interpreter? I need to recompile it using the --with-framework flag because I'm building a c++ extension that links against it, which will be used in gui. I want to keep the python binary as close as possible to the official distribution.


On Friday, January 1, 2016 at 5:07:30 AM UTC-8, qua-non wrote:
The list above is by no means complete. 
For a complete list of commits and changes you can look at http://github.com/kivy/kivy repository.

--

Thomas Chen

unread,
Jun 20, 2016, 6:09:04 PM6/20/16
to Kivy users support
Yes, I found it, Thanks! That's the reason my comment was deleted, but thanks for taking time to respond!

root root

unread,
Jul 22, 2016, 9:16:14 PM7/22/16
to Kivy users support
Thank you!
Message has been deleted

Merphy Kabeya

unread,
Aug 20, 2016, 8:21:24 AM8/20/16
to Kivy users support
hi please some helps. i tried to work with kivy but it is always giving me the error : OpenGL version detected: 1.1

Version: b'1.1.0'
Vendor: b'Microsoft Corporation'
Renderer: b'GDI Generic'

Try upgrading your graphics drivers and/or your graphics hardware in case of problems.

The application will leave now.   but i have updated my drivers but it still showing me the same error. thanks looking forward to hear from you again
Reply all
Reply to author
Forward
0 new messages