Hi everyone,
We are pleased to announce Kivy 1.5.0.
Kivy is a full featured framework for creating novel and performant
user interfaces, such as multitouch applications, under the LGPL 3
license. The framework works on Windows, OSX, Linux, Android and iOS.
All downloads are available on the website:
http://kivy.org
What's new in this release?
- DPI support improvements. We now have a kivy.metrics module with
various converters. We removed the invalid calculation in the
Label.font_size for simulating DPI. It was something we had from
the first Kivy release, and must now be removed to correctly
handle DPI. All your labels will be 33% smaller now, if you
specified font_size in pixels (or without units). All our widget
dimensions are now using DPI-related units.
The preferred way to specify font_size value is to use "sp" units:
Scale-independent Pixels. To specify any other dimension use "dp"
units: Device-independent Pixels.
Both notations came from the Android world, and are explained in
the kivy.metrics module:
http://kivy.org/docs/api-kivy.metrics.html.
- New "screen" module. With this module, you can simulate how your app would
render on different devices like::
python main.py -m screen:droid2
python main.py -m screen:onex,portrait
python main.py -m screen:ipad
- New ListView widget. This widget provides a scrollable/pannable viewport
that will load and display only the item instances that are clipped in the
current view. This way, you can display thousands of items, minimizing
UI lag.
This isn't just a simple widget; it has a separation between the View and
the data source through use of adapters that perform creation and
management of list item views. We have adapters for different kind of data
sources. ListView also supports selection (single, multiple), configurable
views (via kv template or custom widget), and custom data converters, which
convert source data items to arguments for their list item widgets.
Check the extensive documentation at:
http://kivy.org/docs/api-kivy.uix.listview.html
- New CodeInput widget. This is a TextInput that support syntax
coloration, via pygments.
- iOS branch is merged to master. Now iOS will follow master
revision, same as python-for-android.
- PPA for Ubuntu and COBS packages for Meego are now available!
As usual, any issues / features should be reported at:
http://github.com/kivy/kivy/issues
Changelog - 1.4.0
=================
Core
----
- [#731] BoundedNumericProperty can have float bounds
- [#755] Fix SetWindowLongPtr on 32/64 Windows
- [#768] Fix AsyncImage loader on iOS
- [#778] Prevent the Pygame parachute if we don't have the required
GL version. Instead, show a msgbox.
- [#779] Better DPI support, with new sp and dp units
- [#783] New screen module for simulating different DPI devices
- [#789] Fix on_resize dispatch on Windows and OSX
- Allow multiple providers in Kivy env variables
- Fix line off-by-one issue in Kv errors
- New errorhandler/errorvalue in Property class
- New experimental X11 window provider, that support transparent
window.
- Normalize android pressure and radius
- Reduce gstreamer audio/video out-of-sync
- Support ability to stop/restart the EventLoop
Graphics
--------
- [#481] Avoid error in case of multiple Canvas.rremove()
- [#610] Add more information when GLEW fail to initialize
- [#671] Allow source unicode filename in BindTexture
- [#790] Allow to change Stencil operators
- Avoid BGRA->RGBA conversion for OSX if the GPU support BRGA.
- Fix issue with Cython 0.14, "by" is now considered as a keyword
- Line: add bezier and bezier_precision properties
- Line: fix missing ellipse/circle/rectangle in the Line constructor
- Texture: always flip the texture vertically for Image and Label
Widgets
-------
- [#618] Raise exception if ScreenManager.start() is called twice
- [#648] Avoid touch event propagation on ScreenManager transition
- [#662] Enhance TextInput performance
- [#706] Fix pos_hint Boxlayout calculation
- [#725] Fix collapse management in Accordion
- [#734] Fix widget opacity when passed in the constructor
- [#736] Fix slider bug when min < 0, max > 0 and step > 0
- [#737] Better swipe gesture detection for Carousel
- [#747] Honor index in Carousel.add_widget() (and Bubble)
- [#750] New CodeInput widget
- [#771] Dispatch modalview.on_open after animation
- [#785] Allow event binding in Widget constructor
- [#819] Fix canvas positioning when inserting at first position
- [#824] Add top-to-bottom + right-to-left Stacklayout orientations.
- [#832] Fix shorten routine
- Automatically register new Widget classes in Factory
- Enhance ScrollView scrolling
- Fix Carousel API, containers are now hidden, and
slides/current_slide/previous_slide/next_slide are the user
widgets.
- Fix Label.color property for markup labels
- Multiples fixes to TabbedPanel (tab_strip, unbind, tab selection)
Others
------
- [#670] New compass demo for Android using sensors
- Many many fixes on the documentation, thanks for all the PR!
- New KivyCatalog example: interactive Kv editor
- Started Guide 2.0
A special thanks to Jeff Pittman, for it's awesome works on ListView,
and to Thomas-Karl Pietrowski for maintaining Ubuntu PPA and COBS packages!
A big thanks to bibile, Bruno Gola, Dusty Phillips, EdTheDev, Eric
Gaudet, Gabriel Pettier, Gendo Ikari, Jeff Pittman, Joakim Gebart, Joe
Hillenbrand, Joseph Hager, Julien Miotte, Mathieu Virbel, milanboers,
Nik Klever, Qua-non, Rene Horn, Thomas Hansen, will, for this release!
--
Mathieu
http://kivy.org/#aboutus