1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
|
Version 1.90.0
--------------
Released: 2022-07-21
Note that the version number bump was made to allow bugfixes for older
releases while also making new releases that contain with more in-depth
code changes. The old (soft) API/ABI guarantees are currently unchanged.
Changes:
- Refactor internal battery handling into separate classes
- Guess charging/discharging state based on energy rate (#196)
Bug fixes:
- Fix polling after resume (#198)
- Fix battery state guessing (#146)
- Reload history when battery ID changes
- Test fixes
Version 0.99.19
---------------
Released: 2022-06-08
Changes:
- Move state guessing into DisplayDevice
- Always use 90% threshold to consider a battery full
- Various test improvements
Bug fixes:
- Fix mice showing up as keyboards (#189)
- Allow unit test inspector to fail (#187)
- Fix test cases when daemon shuts down too slowly (#188)
Version 0.99.18
---------------
Released: 2022-05-17
Changes:
- Remove broken wakeup DBus API
- Tag UPS hid devices using hwdb and update list from upstream
- Only permit Refresh method when in debug mode
- Refactor device polling
- Refactor udev device discovery and sibling detection
- Improved testing and CI
- Handle SIGTERM to trigger a clean shutdown
Bug fixes:
- Improve polling of batteries after line-power "online" status change
- Multiple wacom tablet detection fixes
- Fix updates after a BT hid power supply moves in sysfs
- Fix enumeration of "Whats Up!" devices on startup
- Accept USB power supplies without warning
- Allow building without gtk-doc
Version 0.99.17
---------------
Released: 2022-03-09
Bug fixes:
- Fix FD handling issues that may cause lid to not be detected
Version 0.99.16
---------------
Released: 2022-02-23
Bug fixes:
- Silence unnecessary udev event warnings
- Increase test timeout (#171)
- Explicitly link with plist
- Fix UpClient reference leak
- Fix DisplayDevice state on battery hotplug
- Fix critical action to work after it was cancelled (#172)
Version 0.99.15
---------------
Released: 2022-02-09
Bug fixes:
- Various build fixes
- Update bluetooth device alias when it changes (#169)
Version 0.99.14
---------------
Released: 2022-02-03
Changes:
- Port build system to meson
- New ChargeCycles D-Bus property (#152)
- New async GLib APIs (#121)
- lid related functions are now deprecated
- Refresh API is now deprecated
Bug fixes:
- Plenty of test suite fixes
- Fix leak of inhibitor lock (#160)
- Recognize USB power supplies (#148)
- Fix time compression of data points (#167)
- Fix disk write amplification when battery is low (#150)
Version 0.99.13
---------------
Released: 2021-08-17
Bug fixes:
- Tweak default percentage levels to better match other operating systems
- Support large energy rates seen in some modern laptops
- Fix touchpads showing up as mice
- Fix composite battery state when multiple batteries are used and
one isn't drawing any power
- Make the icon and warning properties respect the "low battery level"
configuration option
- Stop the device being suspended during the 20-second "shutdown" grace period
Version 0.99.12
~~~~~~~~~~~~~~~
Released: 2021-06-17
New Features:
- Add a raft of new device types
- Add support for iPhone XR, XS and newer models
Bug fixes:
- Work-around incorrect battery percentage reported by MacBooks
- Identify keyboard/pointing device combos as keyboards
- Fix small memory leak in Bluetooth backend
- Fix warning in Bluetooth backend
- Set update time in Bluetooth backend
- Remove support for obsolete CSR devices
Version 0.99.11
~~~~~~~~~~~~~~~
Released: 2019-09-03
New Features:
- Add code of conduct document
- build: Migrate from intltool to gettext
- rules: Split off HID++ udev rules
- Harden systemd service
- Let systemd create /var/lib/upower
- Move D-Bus policy file to /usr/share/dbus-1/system.d/
Bug fixes:
- Fix endless loop burning 100% CPU on keyboard plugout with external
backlight
- linux: Start polling for unknown device batteries too
- linux: Retry to get a battery type if it's unknown
- linux: Don't treat device batteries like laptop batteries
- Replace use of G_TYPE_INSTANCE_GET_PRIVATE and g_type_class_add_private()
Version 0.99.10
~~~~~~~~~~~~~~~
Released: 2019-02-20
Bugfixes:
- Set 'pending-charge' for DisplayDevice if at least one
battery is in the 'pending-charge' state
- Map pending-charge to fully-charged when charge is 100%
Version 0.99.9
~~~~~~~~~~~~~~
Released: 2018-10-25
Bugfixes:
- Fix lack of update after AC status changes, and broken keyboard
backlight, following the daemon lockdown added in 0.99.8
- Multiple API documentation fixes
- Out-of-tree build fixes
Version 0.99.8
~~~~~~~~~~~~~~
Released: 2018-06-18
New Features:
- Lock down systemd service file
- Add support for "Unknown" capacity level, and clarify handling
of devices with coarse battery levels
- Add a new version of up_client_get_devices() which unrefs contents
Bugfixes:
- Fix warnings when D-Bus related properties change
- Prevent crash after attaching an Apple TV, and support newer
versions of iOS
- Lower severity of "unhandled action" messages
- Fix battery status on MacBooks after a plug or unplug event
- Fix double-close on exit
Version 0.99.7
~~~~~~~~~~~~~~
Released: 2017-11-28
New Features:
- Add support for Bluetooth LE device batteries (Bastien Nocera)
- Allow to be replaced via --replace,-r (Christian Kellner)
Bugfixes:
- Fix critical action after resume from hibernate (Miroslav Sustek)
- Fix compilation with libimobiledevice git (Bastien Nocera)
Version 0.99.6
~~~~~~~~~~~~~~
Released: 2017-09-11
New Features:
- Add UP_DEVICE_KIND_GAMING_INPUT for gaming devices (Bastien Nocera)
- Detect joysticks as gaming input devices (Bastien Nocera)
Bugfixes:
- Correctly close inhibitor FD (Benjamin Berg)
- Fix crash when '@' is present in the device name (oleid, Bastien Nocera)
- Fix lid detection on FreeBSD (Alberto Villa)
- Grab the model name from device if unavailable from battery (Bastien Nocera)
Version 0.99.5
~~~~~~~~~~~~~~
Released: 2017-07-24
New Features:
- Add a more complete self test for HID++ devices (Bastien Nocera)
- Add BatteryLevel property for devices with a finite number of power levels (Bastien Nocera)
- Add support for pausing and resuming of the daemon poll (Christian Kellner, Bastien Nocera)
- Get a serial number for device batteries (Bastien Nocera)
- Refresh devices after waking up from sleep (Christian Kellner)
Bugfixes:
- Add proper error and cancellable handling to UpClient constructor (Martin Pitt)
- Do not spin in a loop when /proc/timer_stats cannot be written (Richard Hughes)
- Exit early from up-tool when connecting to upower fails (Martin Pitt)
- Expand the integration-tests to run in more environments (Bastien Nocera, Christian Kellner)
- Fix reading and writing the keyboard brightness level (Hans de Goede, Marco Trevisan)
- Fix -Wformat-y2k compilation errors (Bastien Nocera)
- Lower initial power usage when iDevice isn't accessible (Bastien Nocera)
- Simplify string checks in upower-glib (Bastien Nocera)
Version 0.99.4
~~~~~~~~~~~~~~
Released: 2016-02-16
New Features:
- Add support for Logitech G700s/G700 Gaming Mouse (muzena)
- Port to GDBus (Cosimo Cecchi)
- Support g_autoptr() for all libupower-glib object types (Kalev Lember)
Bugfixes:
- Add critical action support for *BSD (Eric Koegel)
- Change the default low battery policy to percentage (Bastien Nocera)
- Fix deprecation warning in integration-test (Bastien Nocera)
- Fix memory leak in up_client_get_devices() (Bastien Nocera)
- Fix possible double-free (Bastien Nocera)
- Update HID rules and fix build regression (Arnaud Quette)
Version 0.99.3
~~~~~~~~~~~~~~
Released: 2015-05-28
Bugfixes:
- Bail out when iDevice state is malformed (Bastien Nocera)
- Defer getting iDevice info until ready (Bastien Nocera)
- Fix crash on uninitialized variant (Vlad Orlov)
- Fix libimobiledevice msg in configure (Bastien Nocera)
- More memory handling fixes in iDevice (Bastien Nocera)
- Properly detect bluetooth mice and keyboards that are HID devices (Marc Deslauriers)
- Support Logitech Unifying in Linux 3.19 (Peter Wu)
- Work-around broken battery on the Onda v975w (Bastien Nocera)
Version 0.99.2
~~~~~~~~~~~~~~
Released: 2014-12-18
Bugfixes:
- Avoid unaligned memory access in hidpp-device (Peter Wu)
- Bump GLib min req to 2.34 (Eric Koegel)
- Correct check to prevent the display of invalid ASCII codes (Eric Koegel)
- Fencepost array access error (Eric Koegel)
- Fix cleanup in up_device_idevice_coldplug/finalize (Nikolay Martynov)
- Fix crash if there is no session D-BUS (Martin Pitt)
- Fix error handling for Python 3.4 (Martin Pitt)
- Fix various memory and reference leaks (Peter Wu)
- Release resources at shutdown (Peter Wu)
- Respect the CriticalPowerAction config option (Bastien Nocera)
- Set update-time on the aggregate device (Bastien Nocera)
- Split out updating on_battery and warning_level (Bastien Nocera)
- Update aggregate device on battery removal (Evangelos Foutras)
- Update display device when battery is removed (Bastien Nocera)
- Use g_get_real_time() when possible (Bastien Nocera)
Version 0.99.1
~~~~~~~~~~~~~~
Released: 2014-08-18
New Features:
- Expose "capacity" and "energy-full-design" properties on OpenBSD (Fabian Raetz)
- Remove IsDocked property (Bastien Nocera)
- Remove unused polkit dependency (Eric Koegel, Martin Pitt)
Bugfixes:
- Create the history directory at runtime (Cosimo Cecchi)
- Do not log a critical warning when using _set_object_path_sync() (Richard Hughes)
- Fix API doc for up_client_get_on_battery() (Bastien Nocera)
- Fix possible UpHistoryItem leak on failure (Bastien Nocera)
- Fix segfault on getting property when daemon is not running (Martin Pitt)
- Fix shutdown on boot on some machines (Bastien Nocera)
- Fix small memleak on startup with Logitech devices (Bastien Nocera)
- Free the obtained device list array after use (Alexander Jesner)
- Update lid status when updating AC status (Jasper Lievisse Adriaanse)
Version 0.99.0
~~~~~~~~~~~~~~
Released: 2013-10-29
Notes:
- This version contains major API changes. Use the 0.9.* versions if you want
to keep using the old API.
New Features:
- Add WarningLevel and IconName properties to all devices (Bastien Nocera)
- Add DisplayDevice composite battery (Bastien Nocera)
- Enforce critical battery policy on the daemon side (Bastien Nocera)
Bugfixes:
- Reduce client-side and daemon-side wake-ups (Bastien Nocera)
- Emit PropertiesChanged signals (Bastien Nocera)
- Register objects on the bus once they've been setup (Bastien Nocera)
- Clamp percentage for overfull batteries (Martin Pitt)
Feature Removals:
- Remove battery recall support (Bastien Nocera)
- Remove QoS support (Bastien Nocera)
- Remove OnLowBattery property (use WarningLevel instead) (Bastien Nocera)
- Remove DeviceChanged and Changed signals (PropertiesChanged
signals are sent instead) (Bastien Nocera)
Version 0.9.22
~~~~~~~~~~~~~~
Released: 2013-10-08
New Features:
- Add temperature property for batteries (Seth Forshee)
Bugfixes:
- Fix error handling in up_client_get_properties_sync() (Bastien Nocera, Martin Pitt)
- Make GetHistory() array order consistent (Martin Pitt)
- Fix crash with bluetooth input devices (Martin Pitt)
- Lots of fixes/rework for Logitech wireless input devices (Peter Wu)
- Allow valid UTF-8 encoded properties (Shih-Yuan Lee (FourDollars))
- Detect the battery of bluetooth input devices (Shih-Yuan Lee (FourDollars))
- Only one warning if no valid voltage found (Timothée Ravier)
- openbsd: Do not call g_thread_init() (Richard Hughes)
Version 0.9.21
~~~~~~~~~~~~~~
Released: 2013-07-26
New Features:
- Add support for Logitech Wireless (NonUnifying) devices (Arkadiusz Miśkiewicz)
- Use PIE to better secure installed tools and also use full RELRO in the daemon (Richard Hughes)
Bugfixes:
- Allow clients to call org.freedesktop.DBus.Peer (Richard Hughes)
- Detect udev rules dir (Tom Gundersen)
- Drop --enable-systemd and linking to libsystemd-daemon (Martin Pitt)
- Find hidraw devices correctly with systemd udev >= v196 (Arkadiusz Miśkiewicz)
- Fix test for logind availability (Martin Pitt)
- Update the upower man page with all the current options (Richard Hughes)
Version 0.9.20
~~~~~~~~~~~~~~
Released: 2013-03-18
New Features:
- Add a --enable-deprecated configure argument to remove pm-utils support (Richard Hughes)
- Deprecate running the powersave scripts (Richard Hughes)
- Factor out the Logitech Unifying support to support other devices (Richard Hughes)
- Require applications to define UPOWER_ENABLE_DEPRECATED to use deprecated functionality (Richard Hughes)
Bugfixes:
- Bump maximum accepted "time to empty" to 10 days (Martin Pitt)
- Don't use the deprecated INCLUDES in Makefile.am (Richard Hughes)
- Fix batteries which report current energy but full charge (Alex Hornung)
- Fix K750 features name, use 1 second interval (Julien Danjou)
- Fix memory leak in up_polkit_get_subject (Charles Kerr)
- Fix two memory leaks (Colin Watson)
- integration-test: Always run on a fake system bus (Martin Pitt)
- integration-test: Move to using umockdev (Martin Pitt)
- Never use -WError when building (Richard Hughes)
- Raise the hard PolicyKit dep to 0.97 (Richard Hughes)
Version 0.9.19
~~~~~~~~~~~~~~
Released: 2013-01-02
New Features:
- Add a Documentation tag to the service file (Matthias Clasen)
- Add luminosity property (Julien Danjou)
- Add support for Logitech Unifying devices (Julien Danjou)
Bugfixes:
- Always return 0 from notify-upower.sh (Richard Hughes)
- Do not continue to poll if /proc/timer_stats is not readable (Richard Hughes)
- Fix "can-hibernate" formatting in upower --dump (Martin Pitt)
- Fix device matching for recent kernels (Peter Hurley)
- Fix srcdir != builddir (Colin Walters)
- Send resume signal when built with systemd and using pm-utils suspend (Jan Alexander Steffens)
Version 0.9.18
~~~~~~~~~~~~~~
Released: 2012-08-08
New Features:
- Use systemd if possible for suspend and hibernate (Matthias Clasen)
Bugfixes:
- openbsd: Properly initialize update-time when creating devices (Landry Breuil)
Version 0.9.17
~~~~~~~~~~~~~~
Released: 2012-06-25
New Features:
- Fail on CRITICALs in the integration-test (Martin Pitt)
Bugfixes:
- Drop 'type' parameter from CancelRequest() signature (Sascha Silbe)
- Fix the LatencyChanged signal (Sascha Silbe)
- Fix use-after-free of qos item (Sascha Silbe)
- Fix wrong PowerSupply property for devices without a scope sysfs attribute (Martin Pitt)
- linux: Don't allow non-power-supply devices to set the OnBattery property (Daniel Nicoletti)
- linux: Remove obsolete check for magicmouse_ and duplicated wacom_ checks (Daniel Nicoletti)
- linux: Treat the battery state 'not charging' as PENDING_CHARGE (Richard Hughes)
- Selectively disable warnings for deprecated GValueArray (Martin Pitt)
Version 0.9.16
~~~~~~~~~~~~~~
Released: 2012-04-30
Translations:
New Features:
- Add boolean RunPowersaveCommand to UPower.conf (Landry Breuil)
- Install a systemd service file if systemd is used (Benedikt Morbach)
Bugfixes:
- Clamp the UPS percentage from 0 to 100 to fix syslog spam (Richard Hughes)
- Correct the cap on the energy rate (Gary Ching-Pang Lin)
- Do not print error message for missing /etc/crypttab (Kelly Anderson)
- Fix crash in up_device_csr_finalize (Martin Pitt)
- Never detect HID devices with batteries as power supplies (Richard Hughes)
- Re-coldplug dock status when resuming from sleep (Evan Broder)
- Return all history records for a timespan of zero (Richard Hughes)
- libupower-glib: fix small memory leak (Pavel Vasin)
- libupower-glib: srcdir != builddir fix (Ryan Lortie)
- openbsd: Fix history by not trying to refresh if /dev/apm wasn't opened yet (Landry Breuil)
- openbsd: Handle case where minutes_left might be negative (Landry Breuil)
- openbsd: Set powersave command to apm -C/-A (Landry Breuil)
- openbsd: Use a singleton pattern to access /dev/apm (Landry Breuil)
Version 0.9.15
~~~~~~~~~~~~~~
Released: 2011-12-05
New Features:
- Add --with-historydir to specify where we want the history files to be stored (Landry Breuil)
- Use linear regression to get better predicted battery times (Leonardo Robol)
Bugfixes:
- Don't assert when the power_supply device type is usb (Richard Hughes)
- Don't spam the log when we're saving history when on low power (Richard Hughes)
- Fail the tests gracefully if GI is not available (Martin Pitt)
- Fix crash in up_device_csr_finalize() (Martin Pitt)
- Fix invocation of src/linux/integration-test (Martin Pitt)
- Handle Linux power supplies not exporting a present property (Heiko Stübner)
- If a power-supply device doesn't report charge or energy, try to read the percentage (Richard Hughes)
- Move the wacom hack to allow us to support other types of USB device (Richard Hughes)
- Port the tests to Python 3 (Martin Pitt)
Version 0.9.14
~~~~~~~~~~~~~~
Released: 2011-10-03
New Features:
- Filter the debugging details unless --verbose is specified (Richard Hughes)
Bugfixes:
- Fix linux up_backend_supports_sleep_state() return code (Christian Seiler)
- Fix the kFreeBSD detection (Pino Toscano)
Version 0.9.13
~~~~~~~~~~~~~~
Released: 2011-09-05
New Features:
- Modernize autotools config (Javier Jardón)
- Use git.mk and remove the manual .gitignore files (Richard Hughes)
- Use upstream gettext instead the glib one (Javier Jardón)
Bugfixes:
- Avoid warnings about missing annotations (Javier Jardón)
- Don't rely on files' presence to define the default backend (Diego Elio Pettenò)
- Fully port the test suite to use GObject Introspection (Martin Pitt)
- Hardcode wacom battery devices as not power-supply devices (Richard Hughes)
- Use autoreconf instead custom script (Javier Jardón)
- Use g_unix_signal_add_full() which has been renamed in GLib (Denis Washington)
Version 0.9.12
~~~~~~~~~~~~~~
Released: 2011-07-04
Bugfixes:
- Add AC_PROG_LIBTOOL as advised by autotools (Landry Breuil)
- Add openbsd missing includes for close and strcmp (Landry Breuil)
- Fix how we estimate the device rate for batteries that do not provide this data (Richard Hughes)
- Silence some openbsd warnings about unused vars and bad return values (Landry Breuil)
- Switch to using .xz tarballs (Richard Hughes)
Version 0.9.11
~~~~~~~~~~~~~~
Released: 2011-05-25
New Features:
- Add new NotifySleep() and NotifyResume() signals that include the sleep type (Richard Hughes)
Bugfixes:
- Ensure up-apm-native.h gets shipped in the tarball for OpenBSD (Richard Hughes)
- Check energy vs. charge in the Linux integration tests (Martin Pitt)
- Only include glib-unix.h if the GLib version is >= 2.29.4 (Richard Hughes)
- Respect $PYTHON for running the test suite (Martin Pitt)
- Run subset of tests when system D-BUS is not available (Martin Pitt)
Version 0.9.10
~~~~~~~~~~~~~~
Released: 2011-05-03
New Features:
- Add a config option 'IgnoreLid' for users with broken lid switches (Richard Hughes)
- Add integration test suite for Linux (Martin Pitt)
- Add option to run daemon on the session bus for testing (Martin Pitt)
- Add OpenBSD backend which uses the APM_IOC_GETPOWER ioctl() (Landry Breuil)
- Support virtual UPS devices for testing (Martin Pitt)
Bugfixes:
- Consider a discharging UPS as "on battery" (Martin Pitt)
- Do not overwrite aclocal flags in autogen, fixes b.fd.o #35261 (Tobias Mueller)
- Fix "unknown" battery status guessing to not be recursive (Martin Pitt)
- Respect $UPOWER_CONF_FILE_NAME in up_config_init (Martin Pitt)
- Support batteries that report both energy and charge (Benson Leung)
- upower needs -pthread (Landry Breuil)
- Use the new threadsafe signal handling support in GLib (Richard Hughes)
- Wuninitialized needs -O (Landry Breuil)
Version 0.9.9
~~~~~~~~~~~~~
Released: 2011-03-21
New Features:
- Add a config option to disable the Watts Up Pro device (Richard Hughes)
- Add a LidForceSleep property to ensure that we don't melt any laptops (Richard Hughes)
- Add an option for polling dock devices in UPower.conf, defaulting to false (Richard Hughes)
Bugfixes:
- Depend on stable GUdev API (Michael Biebl)
- Drop devkit and devkit-power-daemon symlinks (Michael Biebl)
- Fix bitmap check in the input code (Arnaud Patard)
- Honour ACLOCAL_FLAGS in Makefile.am (Richard Hughes)
Version 0.9.8
~~~~~~~~~~~~~
Released: 2011-01-07
New Features:
- Add an IsDocked binary property to the main interface (Richard Hughes)
- Use the number of active DRM devices to determine the system docked status (Richard Hughes)
Bugfixes:
- Add method to set history dir (Martin Pitt)
- Check for and link against libplist (Martin Pitt)
- Drop check for polkit-backend again (Martin Pitt)
- Fix compilation error against Linux 2.6.36 (Martin Pitt)
- Fix links to git repository in HACKING (Zygmunt Krynicki)
- Fix self check to work as non-root (Martin Pitt)
- Re-add AM_MAINTAINER_MODE (but enable it by default) (Michael Biebl)
- Reduce race condition in history purging self check (Martin Pitt)
- Support the power_now sysfs attribute to get time remaining on new kernels (Richard Hughes)
- Update the list of HID UPS devices (Arnaud Quette)
Version 0.9.7
~~~~~~~~~~~~~
Released: 2010-11-01
Translations:
- Add French translation (Christoph Thompson)
New Features:
- Add support for controlling leds keyboard backlights (Alex Murray)
- Port from EggDebug to the GLib built-in logging framework (Richard Hughes)
Bugfixes:
- Fix building with gobject-introspection 0.9.10 (Edward Sheldrake)
- Fix up all the warnings when building with new versions of gobject-introspection (Richard Hughes)
- Keyboard backlight of zero is not an error (Alex Murray)
- libupower-glib: Reject invalid object paths to avoid asserting libdbus (Richard Hughes)
- Remove the UP_DEVICE_SUPPLY_CHARGED_THRESHOLD heuristic (Michal Schmidt)
Version 0.9.6
~~~~~~~~~~~
Released: 2010-10-04
New Features:
- Remove devkit-power-gobject (Richard Hughes)
Bugfixes:
- Allow explicitly disabling libimobiledevice support (Brett Witherspoon)
- Free GErrors after returning them (Matthias Clasen)
- Add missing D-Bus return in up_qos_cancel_request() (Matthias Clasen)
- Fix double D-BUS return in up_daemon_*_allowed (Matthias Clasen)
- Fix up_polkit_get_subject() D-BUS error return (Matthias Clasen)
- Ensure the new device types get valid descriptions in upower --dump (Richard Hughes)
- Fix compile with the latest PolicyKit release (Richard Hughes)
- Only save by default 7 days data to stop the log files becoming huge. Fixes rh#634228 (Richard Hughes)
- Do not continue to poll the serial port if there is no Watts Up Pro adaptor (Richard Hughes)
- Fix the build with new versions of gobject-introspection (Richard Hughes)
Version 0.9.5
~~~~~~~~~~~
Released: 2010-07-12
New Features:
- Add battery query support for iDevices (Bastien Nocera)
- Assign names to our idle sources when using new versions of glib2 (Richard Hughes)
- Dynamic testing for enough hibernate swap (Martin Pitt)
- Port UPower to libusb1 to avoid unfixable crashes (Richard Hughes)
- Port to GTest (Richard Hughes)
- Get the powersave command from the backend rather than hardcoding Linux specifics (Richard Hughes)
Bugfixes:
- Update the list of supported TrippLite HID Power Devices (Joseph Stockman)
- Fix a potential daemon crash. Fixes fd#27902 (Mariusz Ceier)
- Increase UP_DAEMON_SWAP_WATERLINE (Martin Pitt)
- Fix up a potential crasher in the CSR device code (Richard Hughes)
- When calculating used swap space, only use anonymous pages (Steven Walter)
- Use pm-is-supported to test if various sleep modes are supported (Victor Lowther)
IMPORTANT NOTE:
- This is the last release with the deprecated devkit-power-gobject library
included. Users should have ported to libupower-glib months ago...
Version 0.9.4
~~~~~~~~~~~
Released: 2010-05-12
New Features:
- Detect when the kernel changes the reported charge units. Fixes rh#587112 (Kyle McMartin)
Bugfixes:
- Only emit ::Sleeping() after we've checked AboutToSleep (Richard Hughes)
- Ensure we send ::Sleeping() if clients do not call AboutToSleep (Richard Hughes)
- Ensure we sent ::notify signals when UpDaemon properties change (Richard Hughes)
Version 0.9.3
~~~~~~~~~~~
Released: 2010-05-06
New Features:
- Add a config file with SleepTimeout and AllowHibernateEncryptedSwap entries (Richard Hughes)
Bugfixes:
- Fix c&p typo in documentation (Michael Biebl)
- The gettext package should match the tarball name (Richard Hughes)
- Provide UpDaemon with C setters rather than relying on GObject properties (Richard Hughes)
- Sanity check the device is not already in the list before adding (Richard Hughes)
- Fix recognition of lithium iron phosphate (LiFePO4) batteries (Sascha Silbe)
Version 0.9.2
~~~~~~~~~~~~~
Released: 2010-04-06
New Features:
- Add a missing accessor: up_client_get_lid_is_present() (Richard Hughes)
- Change the tarball name to be all lower case to match udisks and udev (Richard Hughes)
- Convert the daemon to using objects from libupower-glib, not devkit-power-gobject (Richard Hughes)
- Do not allow client programs to enumerate the device list more than once (Richard Hughes)
- Get the encrypted swap status from the backend, rather than hardcoding Linux specifics (Richard Hughes)
- Get the kernel sleep capabilities from the backend, rather than hardcoding Linux specifics (Richard Hughes)
- Get the suspend and hibernate commands from the backend, rather than hardcoding Linux specifics (Richard Hughes)
- Get the swap size from the backend, rather than hardcoding Linux specifics (Richard Hughes)
- Show in ./configure summary if unit tests have been enabled or not (Michael Biebl)
Bugfixes:
- Do not warn what we are correcting energy-full when there is no data to copy (Richard Hughes)
- Ensure we enumerate devices before we start monitoring them (Richard Hughes)
- Fixes to the autogen.sh script (Michael Biebl)
- Make dummy backend usable for architectures without a native backend (Michael Biebl)
- Remove libdevkit-power-gobject dependency from backends (Michael Biebl)
- Simplify udev subdirectory handling (Michael Biebl)
Version 0.9.1
~~~~~~~~~~~~~
Released: 2010-03-03
New Features:
- Add a new method and two new signals to inform userspace of the pending suspend and the resume event (Richard Hughes)
- Add {Suspend,Hibernate}Allowed D-Bus methods (Martin Pitt)
- Add up_polkit_is_allowed() function (Martin Pitt)
- Check PolicyKit in client's can_{suspend,hibernate} properties (Martin Pitt)
- Don't ship an introspection file for devkit-power-gobject, it's soon to be obsolete (Richard Hughes)
- Install the introspection data to the correct location (Richard Hughes)
- Make the upower client tool use libupower-glib, rather than devit-power-gobject (Richard Hughes)
- Use GCancellable in libupower-glib so we can eventually get to GIO async methods (Richard Hughes)
Bugfixes:
- Ensure we return all lines of the UpDevice when we call up_device_to_string() (Richard Hughes)
- Fix libupower-glib include dir and pkgconfig (Martin Pitt)
- Fix up autogen.sh after the configure.ac modernisation (Michael Biebl)
- Fix up the FreeBSD backend compile (Michael Biebl)
- Fix up the include directory in the pkgconfig file (Richard Hughes)
- Make sure the tests link against all necessary libraries (Michael Biebl)
- Move the history files to /var/lib/upower (Michael Biebl)
- Update help and g_option_context_new to upower (Michael Biebl)
- Use the new project name in g_option_context_new (Michael Biebl)
Version 0.9.0
~~~~~~~~~~~
Released: 2010-02-01
NOTES:
- The DBus service and interfaces have been renamed
- The devkit-power-gobject library is still API and ABI stable
- The libupower library co-installs with devkit-power-gobject for now
- The version has changed to 0.9.0 from 015. You'll need to use an epoch in
your distro package if you're not renaming the package from DeviceKit-power
to UPower. See the sample Fedora spec if you need a template.
Translations:
- Add Swedish translation (Daniel Nylander)
- Added Italian translation (Luca Ferretti)
- Add Polish translation (Piotr Drąg)
New Features:
- Add initial GObject introspection support (Richard Hughes)
Bugfixes:
- Use a fallback for the capability bit when checking the lid status. Fixes #25041 (Richard Hughes)
- Rename the DBus service from org.freedesktop.DeviceKit.Power to org.freedesktop.UPower (Richard Hughes)
- Rename the PolicyKit rules from org.freedesktop.devicekit.power to org.freedesktop.upower (Richard Hughes)
- Make the client tool be called upower, but maintain a symlink to devkit-power (Richard Hughes)
- Rename the man pages and rename the main daemon binary name (Richard Hughes)
- Change the version number to 0.9.0 and tarball name to UPower (Richard Hughes)
- Version-lock the devkit-power-gobject version to 015, not 0.9.0 (Richard Hughes)
- Make DkpClient a singleton to avoid some weird race conditions (Richard Hughes)
- Add libupower so applications can switch away from devkit-power-gobject (Richard Hughes)
- Update the Free Software Foundation address (Richard Hughes)
Version 014
~~~~~~~~~~~
Released: 2010-01-08
New Features:
- Import the FreeBSD backend (Joe Marcus Clarke)
Bugfixes:
- Check if swap exists before determining how much is free (Debbie Beliveau)
- Comment out some problematic compiler warnings (Joe Marcus Clarke)
- Prevent segfault if connection to system dbus fails (Martin Koegler)
- Fix segfault in the history code. Fixes fd#25632 (Richard Hughes)
Version 013
~~~~~~~~~~~
Released: 2009-12-07
Note:
- The DBus interface of DeviceKit-power may be subject to change in future
versions of this daemon.
- This will probably be the last release of DeviceKit-power as the project has
been renamed to upower.
New Features:
- When using devkit-power --monitor, print a timestamp before each message for
debugging. Fixes fd#24666 (Richard Hughes)
Bugfixes:
- Update the list of HID UPS (Arnaud Quette)
- Use a gdouble for percentage to fix on-battery reporting (Byron Clark)
- Bug 24262 – incorrect battery recall warning for Lenovo T61 (Martin Pitt)
- Fix the toshiba battery recal notices by matching up the double quotes (Richard Hughes)
- Avoid going from discharging to pending-discharge when the expansion battery
is very low (Richard Hughes)
- Some vendors fill the NVRAM full of junk. Don't crash the daemon if the
battery is broken. Fixes rh#533654 (Richard Hughes)
- When the internal battery is in the unknown state, we can't make a decision
whether the system is on battery power (Richard Hughes)
- Some batteries give out massive rate values when nearly empty (Richard Hughes)
Version 012
~~~~~~~~~~~
Released: 2009-10-19
Note:
- The DBus interface of DeviceKit-power may be subject to change in future
versions of this daemon.
New Features:
- Detect encrypted swap and prevent hibernate in this case. Fixes fd#23196 (Richard Hughes)
- Add g_object_notify() calls for properties on DkpClient (Richard Hughes)
Bugfixes:
- Ensure we only reset the update-time property when we have done the refresh, not before (Richard Hughes)
- Don't emit changed events from the DkpBackend layer, instead push then through DkpDevice (Richard Hughes)
- When we do a delayed refresh, actually do 5 x 1 second apart rather than 1 x 3 seconds (Richard Hughes)
Version 011
~~~~~~~~~~~
Released: 2009-10-06
Note:
- The DBus interface of DeviceKit-power may be subject to change in future
versions of this daemon.
- The DBus interface has changed to use FirstLetterCaps property names
so Qt projects can use the DBus interface without resorting to ugly hacks.
New Features:
- Return meaningful errors if the user tries to suspend or hibernate without
kernel support or swap set up (Richard Hughes)
- Use the sysfs file 'type' to work out the battery type before using a
fallback (Enrico Zini, Richard Hughes)
Bugfixes:
- Update list of HID UPS devices (Arnaud Quette)
- Add backend code to make DeviceKit-power compile without GUdev for non-Linux
platforms (Richard Hughes)
- Only disable the polling if the kernel tells us we're fully charged, not if
we guessed it (Richard Hughes)
- Make the remove logic much cleaner to try to fix bugs where removing the
mouse kills the session (Richard Hughes)
- Fix up some small memory leaks (Richard Hughes)
- Freeze and thaw the device during initial coldplug (Richard Hughes)
- Fix up a few potential problems spotted by clang (Richard Hughes)
- Fix a tiny memory leak when we collect the properties from the interface
multiple times (Richard Hughes)
- Use voltage_now as a fallback to the design voltage (Enrico Zini, Richard Hughes)
Version 010
~~~~~~~~~~~
Released: 2009-07-22
Note:
- The DBus interface of DeviceKit-power may be subject to change in future
versions of this daemon.
- This project now depends on GUdev and PolicyKit1
New Features:
- Port to GUdev (Richard Hughes)
- Port to PolicyKit1 (Richard Hughes)
Bugfixes:
- Add a notify flag to set_lid_is_closed to fix the initial state (Loïc Minier)
- Correct a description string from one of the new enums (Richard Hughes)
- Only guess the battery status if we have > 1 battery in the system (Richard Hughes)
- Use the global battery state as a metric for single battery machines (Richard Hughes)
- Query the kernel to decide if we have hibernate and suspend support (Richard Hughes)
- If we don't have enough swap available, don't advertise hibernate. Fixes rh#513015 (Richard Hughes)
- Force a refresh all battery devices when the ac-adaptor changes. Fixes rh#512995 (Richard Hughes)
Version 009
~~~~~~~~~~~
Released: 2009-07-06
Note:
- The DBus interface of DeviceKit-power may be subject to change in future
versions of this daemon.
- The experimental devkit-power-gobject library has no API or ABI guarantees.
- This is the first version of DeviceKit-power where multiple laptop batteries
are officially supported.
New Features:
- Interface with pm-powersave as external vendors are using this (Richard Hughes)
- Enable pretty compiler output with new automake versions (Richard Hughes)
- udev rules files now live in /lib/udev/rules.d, not /etc/udev/rules.d (Richard Hughes)
- Add battery recall data rules (Richard Hughes)
- Export the recall-notice, recall-vendor and recall-url properties on power devices (Richard Hughes)
- Protect the non-GObject accessors with DKP_DISABLE_DEPRECATED (Richard Hughes)
- Add two new state enums, pending-discharge and pending-charge (Richard Hughes)
- Use the global state to fix the unknown battery status (Richard Hughes)
Bugfixes:
- Suppress lid change event on startup (Martin Pitt)
- Fix two issues with the pm-powersave code (Roland Dreier)
- Mark batteries as empty if they have unknown state and a very low energy (Richard Hughes)
- For power_supply, unknown is a valid state from the kernel (Richard Hughes)
- Don't assume all batteries have positive energy_full values (Richard Hughes)
- Add one more variation of lithium-poly (Richard Hughes)
- Don't show empty vendor, model or serials in the debug outputs (Richard Hughes)
- Fix a small memory leak on supply coldplugging (Richard Hughes)
- Hardcode pm-powersave like we do pm-suspend and pm-hibernate (Richard Hughes)
- Initial refresh after coldplug is not fatal if it fails (Richard Hughes)
- Set the GObject properties correctly in the DkpDeviceHid class (Richard Hughes)
- The UPS can't expose empty or fully-charged, so fixup these states (Richard Hughes)
- Fix detecting the USB UPS devices (Richard Hughes)
- Add a lid-is-present property (Richard Hughes)
- Be less asserty when enum values are added in newer versions of the spec (Richard Hughes)
- Add a DKP_CHECK_VERSION macro which we can use in client tools (Richard Hughes)
- Move the udev rules to their own directory (Richard Hughes)
- Move a small rule about the fully charged level from g-p-m (Richard Hughes)
Version 008
~~~~~~~~~~~
Released: 2009-06-01
Note:
- The DBus interface of DeviceKit-power may be subject to change in future
versions of this daemon.
- The experimental devkit-power-gobject library has no API or ABI guarantees.
New Features:
- Allow the daemon to get the global online state for all devices (Matthew Garrett)
- Add a has-capability to the org.freedesktop.DeviceKit.Power.Wakeups interface (Richard Hughes)
- Add a property lid-is-closed for g-p-m and x-p-m to use (Richard Hughes)
Bugfixes:
- Fix up some issues in DkpClient, and expose GObject properties (Ali Abdallah)
- Remove the 0x prefix from some rule matches (Ronald)
- Allow all DBus properties to be read with the new DBus (Richard Hughes)
- Only reset the update-time if the read was successful (Richard Hughes)
- Optimise the udev rules to skip non-usb devices (Richard Hughes)
- Ensure we get properties on devices correctly that have not yet been changed (Richard Hughes)
- Make the suspend and hibernate scripts execute synchronously. Fixes rh#497563 (Richard Hughes)
- Ignore method timeouts when we suspend and hibernate (Richard Hughes)
- Add two missing files to the last commit (Richard Hughes)
- Don't overwrite energy-full-design with zero after coldplug (Richard Hughes)
- Only get the device state for the poll after the refresh (Richard Hughes)
- Continue to poll when power supply device is marked unknown. Fixes rh#495493 (Richard Hughes)
- Correct a debugging statement (Richard Hughes)
- Never overwrite ID_PRODUCT or ID_VENDOR (Richard Hughes)
- Don't return history data relative to the earliest point (Richard Hughes)
- Setup different polls based on the battery state (Matthew Garrett)
- Don't poll on unknown forever. Based on a patch from Matthew Garrett (Richard Hughes)
- Fix up the return statuses from coldplug and refresh (Richard Hughes)
- Only attempt to print history if the device is capable (Richard Hughes)
- Allow properties in DkpDevice (client) to be set (Richard Hughes)
Version 007
~~~~~~~~~~~
Released: 2009-03-30
Note:
- The DBus interface of DeviceKit-power may be subject to change in future
versions of this daemon.
- The experimental devkit-power-gobject library has no API or ABI guarantees.
New Features:
- Get rid of internal Object and instead use the GObject property system (Richard Hughes)
- Move the library directory from libdevkit-power to devkit-power-gobject (Richard Hughes)
- Ship a shared library. There are now three external projects using copies of
this, which is rediculous (Richard Hughes)
- Require I_KNOW_THE_DEVICEKIT_POWER_API_IS_SUBJECT_TO_CHANGE (Richard Hughes)
Bugfixes:
- Fix up DBus interface for CVE-2008-4311 (Stanislav Brabec)
- Fix g-p-m and DeviceKit-power when running with a permissive dbus. Fixes fd#20882 (Frederic Crozat)
- Remove use of EggObjList, and make the library more sane (Richard Hughes)
- Fix compile error in dkp-power. Fixes #20749 (Richard Hughes)
Version 006
~~~~~~~~~~~
Released: 2009-02-10
Bugfixes:
- Fix compile failure with gcc-4.4.0 and old versions of glib2 (Richard Hughes)
- Only enable the wakeups polling if a client requires the data (Richard Hughes)
- Correctly set the power-supply property (David Zeuthen)
- Don't crash when we limit the resolution of a small dataset (Richard Hughes)
- Don't sync to disk every 5 seconds, do it every 10 minutes (Richard Hughes)
- Fix the QoS interface with the proper signature (Richard Hughes)
Version 005
~~~~~~~~~~~
Released: 2009-02-02
New Features:
- Add a wakeups interface so we can get data from the system over DBus (Richard Hughes)
- Allow showing the wakeup data in the devkit-power command line tool (Richard Hughes)
Version 004
~~~~~~~~~~~
Released: 2009-01-23
Bugfixes:
- Fix the battery capacity calculation. Fixes fd#19165 (Richard Hughes)
- Special case machines where the kernel does not convert charge to power (Richard Hughes)
- Check all the power supply fields for valid data (Richard Hughes)
Version 003
~~~~~~~~~~~
Released: 2008-12-09
New Features:
- Implement the .QoS interface -- still proof of concept (Richard Hughes)
Bugfixes:
- Enable the low power saving code in DkpHistory (Richard Hughes)
- Don't keep putting off the profile saving in DkpHistory (Richard Hughes)
- Allow DeviceKit-power to run with the 'fixed' DBus (Richard Hughes)
Version 002
~~~~~~~~~~~
Released: 2008-11-13
New Features:
- add in CanSuspend and CanHibernate into API (Richard Hughes)
- add two new properties, has-history and has-statistics (Richard Hughes)
- add voltage property of a power device (Richard Hughes)
- all logging for all the other device types too (Richard Hughes)
- Move object paths so things are rooted under /org/freedesktop/DeviceKit/Power (David Zeuthen)
- Add functionality to monitor a Watts Up Pro device (Richard Hughes)
- Turn some methods into properties (David Zeuthen)
Bugfixes:
- Also rename configure.in to configure.ac in autogen.sh (David Zeuthen)
- Fix up deps and build system (David Zeuthen)
- We're a fd.o project (David Zeuthen)
- Update my email address (David Zeuthen)
- Update mailing list reference in man pages (David Zeuthen)
- Update bug report URL to point to our mailing list (David Zeuthen)
- Nuke devkit-power-on-battery for now (David Zeuthen)
- Don't report negative rate when charging (Richard Hughes)
- Remove the battery- and line-power- prefix from the device properties (Richard Hughes)
- Add DkpStatsObj convenience helpers (Richard Hughes)
- Save the time to full and time to empty too (Richard Hughes)
- Don't clear the list when we print it (Richard Hughes)
- Support getting stats from DkpSupply devices (Richard Hughes)
- Poll every 10 seconds to get better stats results (Richard Hughes)
- Work out the statistics by binning them into percentage sized holes (Richard Hughes)
- Add two remove functions to the generic object list (Richard Hughes)
- Don't unconditionally set the energy_full to energy_full_design if larger (Richard Hughes)
- Add a first approximation of a time resolution limiter (Richard Hughes)
- Expand the client helper library to cover all the base API for gnome-power-manager (Richard Hughes)
- Use 0 for unknown, not -1 as some values like rate and voltage are valid when negative (Richard Hughes)
- Use a better resolution limiting function for getting the history to reduce CPU load (Richard Hughes)
- Match the WUP device on the tty device, not the USB device (Richard Hughes)
- Fix the include headers for DeviceKit 002 (Richard Hughes)
- Document how to access the D-Bus service with examples (David Zeuthen)
Version 001
~~~~~~~~~~~
Released: 2008-09-02
- Initial proof of concept version
|