@cschramm cschramm released this Dec 7, 2017 · 86 commits to master since this release

Another snapshot on the way to 2.1. Note that it drops support for Python 2.7.

New features

  • blueman-adapters is now (Xfce-)pluggable
  • Allow users to copy data from the Info manager plugin
  • Add connman support to KillSwitch plugin
  • Implement a new standalone tray app
  • Add support for HiDPI in the UI
  • Add command line option to blueman-mechanism to stop timer
  • Add support for, and prefer, the ip command to configure network devices
  • Implement new plugin virtual on_delete function using weakref.finalize


  • Show "Proprietary" instead of "Unknown" for services with non-reserverd UUIDs
  • Generic connect and disconnect
  • blueman-services: rework dhcpd handler radio buttons
  • Implement a ServiceUUID class
  • invoke _NotificationDialog.callback with 1 argument (@dakkar)
  • Drop support for Python 2.7
  • RecentConns: Store items in a gsettings array of dict
  • Migrate from EventBox to InfoBar
  • Reintroduce GtkImageMenuItem
  • Sendto: Replace progressbar with spinner and always discover
  • Add a generic ErrorDialog combining various dialogs classes
  • ManagerDeviceMenu: set certain setvice insensitive when not paired
  • ManagerDeviceList: Only update signal levels if they changed
  • Drop unused obex.Errors
  • Use GObjectMeta to handle singleton in out BlueZ classes
  • Various UI cleanups
  • Remove various python2/3 compatibility workarounds

Bugs fixed

  • Icon disappeared when switching off bluetooth
  • Revert "bluez manager: Subclass from GDBusObjectManagerClient"
  • Icon briefly vanished when turning on bluetooth
  • Fix DBus signal emission
  • blueman-services: Fix radio button group
  • Fix InfoBar animation
  • Fix Drag&Drop in blueman-manager
  • Use Appearance device property for bluetooth LE devices
  • AppIndicator: Properly set title on indicator
  • Implement function to retrieve rfcomm channel (serial devices)
  • TransferService: Do not unregister when dbus name disappears
  • Fix Obexd autostart in our BlueZ classes
  • Properly update ui when unblocking adapter with rfkill


@cschramm cschramm released this Oct 1, 2017 · 774 commits to master since this release

Bugs fixed

  • PPPSupport: Correct binary name for ModemManager
  • PPPSupport: Exclude grep process from process list
  • GameControllerWakeLock: Check for Class property before using it
  • SerialManager: Properly check for None
  • NetConf: Treat UnicodeDecodeError as if there was no file
  • Notification: Also check if notification daemon supports body
  • Correct bold tag in portugese translation (thanks @andreyluiz)
  • Properly check for None in SerialManager
  • GameControllerWakeLock: Check for Class property first
  • Fix bugs in NetworkService ui
  • NetConf: fix writing PID file for dhcpd(3)
  • Notification: Make sure x and y hint are in screen geometry


@cschramm cschramm released this Sep 16, 2016 · 394 commits to master since this release

This is a very early alpha release for version 2.1. While it should "feel" pretty much like 2.0 a lot of improvements took place under the hood. Note that some legacy support has been removed, especially for BlueZ 4 and NetworkManager 0.8.

New features

  • Information dialog on device's services
  • Compose vNotes
  • --delete option for blueman-sendto


  • Drop support for BlueZ 4
  • Drop browse feature
  • Add title to status icon
  • Add systemd service units (@smcv / Simon McVittie)
  • Set widget names so they can be used to style blueman.
  • Replace deprecated use of Gtk.VBox and Gtk.HBox.
  • Replace deprecated GtkTable with GtkGrid and also use it replace GtkBoxes used to layout.
  • [dhcp] udhcpd (busybox) support
  • [sendto] Do not try to send a file during a discovery
  • Migrate the BlueZ classes from dbus-python to GDBus
  • Limit who can run blueman's mechanism with polkit
  • Use GtkListStore builtin sorting functionality
  • Turn the BlueZ classes into singletons
  • Update Sdp class id's
  • Rework Adapter menu in ManagerMenu
  • Rework and cleanup DeviceList class
  • Drop headset service and plugin
  • Merge the two property changed functions in PropertiesBase
  • Remove main.Device
  • Fix building with musl libc
  • Add generic device-added/removed functions for plugins
  • Drop legacy NetworkManager and ModemManager support
  • Port AppletService proxy to GDBus
  • Port Polkit client code to GDBus
  • [ManagerDeviceMenu] Make disconnecting and opening plugin dialog asynchronous operations
  • Implement default pin (RequestPinCode) database for BluezAgent
  • Bluez, Subclass from Gio.DBusProxy and properly handle properties
  • Bluez managers, Subclass from GDBusObjectManagerClient
  • Notification: Use dbus for notifications and drop the libnotify dep
  • Port NMPanSupport applet plugin to GDBus

Bugs fixed

  • Codepoint issues when connecting to serial service
  • Infinite loop if RecentConns has only invalid items
  • Unblock rfkill in Python 3
  • Valid adapter may not be found
  • Do not load RfKill plugins when device is not available.
  • Always set codeset for gettext to utf8 (@mgorny / Michał Górny)
  • Support legacy devices without a Name property
  • (Covered) Crash in agent's passkey / pin code methods
  • Fix fading in GtkAnimation TreeRow(Color)Fade and CellFade classes.
  • Do not explixitely destoy DeviceSelectorDialog blueman-sendto.
  • gui: Call the sub-classed widgets init function instead of GObject's
  • Do not block manager with plugin dialog
  • Exception in Tee class at exit
  • Stop dhcpd handler removing all content of the config file
  • Only return devices belonging to adapter
  • Fix SerialManager plugin
  • Close Notification when pair is successful
  • Properly unregister NAP when unloading Networking plugin


@cschramm cschramm released this Mar 23, 2016 · 774 commits to master since this release


  • Do not try to send a file during a discovery

Bugs fixed

  • Listing rfcomm devices was broken
  • Serial devices where not properly disconnected
  • Close confirmation dialog on cancelation
  • Handle transfer errors correctly
  • Show devices of the current adapter only
  • Local network service did not work
  • PyGI warnings
  • Call custom scripts for serial services
  • Disconnect serial services on device disconnect


@cschramm cschramm released this Dec 18, 2015 · 774 commits to master since this release

Security release

Fixes a privilege escalation in blueman-mechanism.


@cschramm cschramm released this Dec 15, 2015 · 774 commits to master since this release

Bug fix release

  • Exception on device property change
  • Backport fix for #345 - rename random pass pairing button
  • Exception at exit (#391)
  • Clarify wording of tray applet's option to turn off bluetooth
  • Do not block manager with plugin dialog (#383)
  • blueman-adapters: Set hidden in the ui when timeout is reached
  • Functions: Catch specific error in get_icon function
  • Stop Game Controller plugin from blocking
  • Use absolute filename provided to blueman-sendto on the cmd line


@cschramm cschramm released this Oct 5, 2015 · 774 commits to master since this release

Bug fix release

  • Codepoint issues when connecting to serial service
  • Infinite loop if RecentConns has only invalid items
  • Unblock rfkill in Python 3
  • Valid adapter may not be found
  • Handle when rfkill subsystem is not available gracefully
  • RfKill: open /dev/rfkill r+b to avoid creating
  • Resolve codepoint issues in several places


@cschramm cschramm released this May 24, 2015 · 774 commits to master since this release

Finally a stable release. blueman is back on track. 😃

2.0 has its own branch - 2-0-stable - in which it will get fixes with the primary focus on BlueZ 4 related issues. New features and such go into the master branch for version 2.1 which will not support BlueZ 4 anymore.

Just one minor code change to 2.0.rc1.


@cschramm cschramm released this May 13, 2015 · 776 commits to master since this release

blueman 2.0 is feature complete! 🎆 🎉 🎈 OBEX should work reliably with BlueZ 5 now and Python 3 support has arrived.

Note that receiving files will not work with BlueZ 4 if obexd is started with a custom root path option as blueman cannot find out the effective root path and expects it to be the default /tmp.

Changed dependencies since 1.99.alpha2:

  • obex-data-server is not needed anymore
  • startup-notification is not needed anymore
  • Python 2.7, 3.2, 3.3, and 3.4 are supported
  • the server part of obexd is required for receiving files
  • GTK+ is no longer a build dependency

New features

  • Support for Python 3
  • [dhcp] udhcpc (busybox) support


  • [ui] Button to reset device alias
  • [bluez] Agent capability KeyboardDisplay (@kemnade-uni / Andreas Kemnade)
  • New configuration option to disable the use of a notification daemon
  • [sendto] Removed nautilus-sendto plugin (deprecated and broken)
  • [nm] Use API instead of GConf to create new connections
  • [nm] Enable IPv6 on created connections
  • Use GAppInfo to launch applications
  • [bluez] Auto power on adapters; can be disabled in PowerManager settings
  • Remove Gtk+, GLib and Gio as build time dependencies
  • [obex] Migrate receiving files from obex-data-server to obexd
  • [ui] Plugins and local services items in manager's View menu

Bugs fixed

  • [assistant] Crash (@duganchen)
  • [pulseaudio] Support for audio profiles
  • Generic disconnect method did not work
  • [bluez] Handsfree service crashed with BlueZ 4


@cschramm cschramm released this Mar 6, 2015 · 892 commits to master since this release

Another snapshot release that especially addresses BlueZ 5 and NetworkManager 0.9 / 1.0 support. Version 2.0 is close. A big thank you to all contributors!

Changed dependencies since alpha2:

  • Python 2.6 is not supported
  • obexd is required for sending files

New features

  • [docs] Add FAQ file and install doc files (@rworkman / Robby Workman)
  • [sendto] Add sendto integration for Thunar (@GreenLunar)
  • [sendto] Make thunar sendto integration optional (@rworkman / Robby Workman)
  • Add optional settings manager integration with Xfce and MATE
    (@rworkman / Robby Workman)
  • [nm] Add support for NetworkManager 0.9 / 1.0 to NMPANSupport
  • [bluez] Implement keyboard pairing support
  • [nm] Add support for ModemManager 1.x to NMPANSupport
  • [plugins] Add GameControllerWakelock plugin (@bwRavencl / Matteo Hausner)
  • Add blueman-report to create commented logs for bug reports
  • [bluez] BlueZ 5 support for audio, serial, recent connections, and setup
  • Use Gsettings for configuration storage and remove the config plugin system.


  • [obex] Switch to obexd for sending files
  • [browse] Use system's default browser for obex URI if no browse command is set
  • [pulseaudio] Make blueman-applet run if pulseaudio is not available
  • [ui] Re-implment menu icons
  • [ui] Replace / remove deprecated icon names (@Teknocrat / Harvey Mittens)
  • [ui] Drop status icon customization (@Teknocrat / Harvey Mittens)
  • Drop HAL Support (@rworkman / Robby Workman)
  • [configure] Rename --enable-sendto to --enable-nautilus-sendto
    (@rworkman / Robby Workman)
  • Fix compatility with Fedora's dbus-python package
  • Remove settings for local audio services
  • Add function to rename known devices

Bugs fixed

  • [ui] Make some UI elements expand again (@infirit / Sander Sweers)
  • Fix crash in PluginManager (Martín Ferrari)
  • Avoid crash in transfer service setup dialog
  • Make blueman-applet respond to SIGTERM (@Teknocrat / Harvey Mittens)
  • Allow setting friendly adapter name in BlueZ 5
  • Look for both dhcpd and dhcpd3 and add sbin paths (@infirit / Sander Sweers)
  • [libblueman] Fix memory leak (@monsta)
  • [libblueman] Add missing includes (@posophe)
  • [ui] Move some icons to pixmaps directory (@rworkman / Robby Workman)
  • [ui] Fix fallback for notification daemons not capable to handle actions
  • [ui] Fix "Shared Folder" widget in Transfer plugin.
  • [ui] Fix service disconnect icons