File: ChangeLog

package info (click to toggle)
python-daemon 2.2.4-1.1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 592 kB
  • sloc: python: 4,939; sh: 16; makefile: 10
file content (713 lines) | stat: -rw-r--r-- 17,064 bytes parent folder | download
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
This document is the `change log`_ for this distribution. It is a
record of all notable changes in each version released.

Version strings conform to the `Semantic Versioning`_ specification,
`version 2.0.0 <http://semver.org/spec/v2.0.0.html>`__.

..  _change log: http://keepachangelog.com/
..  _Semantic Versioning: https://semver.org/


Version 2.2.4
=============

:Released: 2019-10-27
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Bugs Fixed:

* Run the Setuptools `egg-info` command as part of the `build`
  command.

  Closes: Pagure #31. Thanks to Stanislav Levin for the bug report and
  diagnosis.

* Create the socket and catch “non-socket” errors.

  Closes: Pagure #34. Thanks to Miro Hrončok for the bug report and
  patch.

* Only deal with a range of file descriptors if the range is not empty.

  Closes: Pagure #39. Thanks to Alex Pyrgiotis for the test scenario.

* Declare Twine as a build dependency.

* Reformat the change log entries with keepachangelog.com sub-sections.

Changed:

* Upgrade Tox dependency to version “3.7.0”.

  Thanks to Miro Hrončok for the contribution.

* Significant speed-up to discovery of file descriptors to close.

  By using a native `tuple` for the heavily-used file descriptor range
  representation, this gives approximately 5× faster calls to
  `close_all_open_files` in the typical case. This partially addresses
  Pagure #40.

  Thanks to Alex Pyrgiotis for testing various alternative proposals.

* Refactor the build system to use Makefile modules for each topic.


Version 2.2.3
=============

:Released: 2019-01-21
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Bugs Fixed:

* Use custom fake file type for testing `fileno` behaviour.

  This works around an incompatibility in Python 2.7 `file` type that
  caused test cases to fail.

Deprecated:

* Promote the warning for `runner` module to a `DeprecationWarning`.
  This has been an unofficial example module from the beginning, and
  it will be removed in a future version.


Version 2.2.2
=============

:Released: 2019-01-19
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Bugs Fixed:

* Remove from the build system specification a white space character
  not permitted in TOML format.

Added:

* Implement test suite automation in virtualenvs, using Tox.


Version 2.2.1
=============

:Released: 2019-01-18
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Added:

* Add a :PEP:`518` conformant build system specification (the
  ``pyproject.toml`` file).


Version 2.2.0
=============

:Released: 2018-08-15
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Bugs Fixed:

* Correct the description of the return value for
  `daemon.is_detach_process_context_required`.

  Closes: Pagure #6.

* Set a sensible default for `Distribution.script_name`.

  This works around a bug in Setuptools which calls commands before
  the `Distribution` is initialised.

  Closes: Pagure #2.

Changed:

* The test suite now relies on the test discovery feature in
  ‘unittest’. This feature is in Python version 2.7 and later.

* Improve performance of `daemon.close_all_open_files`.

  Thanks to Darek Działak for the implementation.

  Closes: Pagure #10.


Version 2.1.2
=============

:Released: 2016-10-26
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Added:

* Add a README document for the code base.

Changed:

* Migrate code project hosting to Pagure.
  Record the change of homepage URL in PyPI metadata.

Deprecated:

* Raise a warning that the ‘runner’ module is pending deprecation.
  This has been an unofficial example module from the beginning, and
  it will be removed in a future version.

Bugs Fixed:

* Ensure custom types are part of the Python type hierarchy.
* Avoid a circular dependency for the version string at install time.
  Thanks to Maarten van Gompel for the reproducible test case.


Version 2.1.1
=============

:Released: 2016-01-30
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Bugs Fixed:

* Default ‘initgroups’ option to False. Using ‘os.initgroups’ requires
  permission to set process GID, so this now needs to be explicitly
  requested.


Version 2.1.0
=============

:Released: 2015-11-26
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Added:

* Add a DaemonContext option, ‘initgroups’, which specifies whether to
  set the daemon process's supplementary groups.
* Set the process groups using ‘os.initgroups’.
  Thanks to Malcolm Purvis for contributing an implementation of this
  feature.


Version 2.0.6
=============

:Released: 2015-08-30
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Changed:

* Lower dependency for ‘unittest2’, we can work with an earlier version.
* Specify development status “Production/Stable” in Trove classifiers.
* Migrate to ‘mock’ version 1.3 with corresponding API changes.

Bugs Fixed:

* Use current Python concept of “basestring” to test for an attribute name.
  Thanks to Arthur de Jong for the bug report.


Version 2.0.5
=============

:Released: 2015-02-02
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Bugs Fixed:

* Refine compatibility of exceptions for file operations.
* Specify the text encoding when opening the changelog file.


Version 2.0.4
=============

:Released: 2015-01-23
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Changed:

* Record version info via Setuptools commands.

Removed:

* Remove the custom Setuptools entry points.
  This closes Alioth bug#314948.


Version 2.0.3
=============

:Released: 2015-01-14
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Changed:

* Refactor all initial metadata functionality to ‘daemon._metadata’.
* Build a “universal” (Python 2 and Python 3) wheel.

Removed:

* Distribute ‘version’ (and its tests) only in source, not install.

Bugs Fixed:

* Break circular import dependency for ‘setup.py’.


Version 2.0.2
=============

:Released: 2015-01-13
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Added:

* Include unit tests for ‘version’ module with source distribution.
* Record version info consistent with distribution metadata.

Bugs Fixed:

* Declare test-time dependency on recent ‘unittest2’.
* Declare packaging-time dependency on ‘docutils’ library.


Version 2.0.1
=============

:Released: 2015-01-11
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Bugs Fixed:

* Include the ‘version’ module with source distribution.


Version 2.0
===========

:Released: 2015-01-10
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Added:

* Support both Python 3 (version 3.2 or later) and Python 2 (version
  2.7 or later).
* Document the API of all functions comprehensively in docstrings.
* Add a hacking guide for developers.
* Add explicit credit for contributors.
* Document the security impact of the default umask.

* Specify explicit text or binary mode when opening files.
* Preserve exception context in custom exceptions.

* Declare compatibility with current Python versions.
* Use ‘pydoc.splitdoc’ to get package description text.
* Include test suite with source distribution.
* Add unit tests for metadata.
* Store and retrieve version info in Setuptools metadata.

Changed:

* Depend on Python 3 compatible libraries.
* Update package homepage to Alioth hosted project page.
* Migrate to ‘str.format’ for interpolation of values into text.
* Migrate to ‘mock’ library for mock objects in tests.
* Migrate to ‘testscenarios’ library for unit test scenarios.
* Migrate to ‘unittest2’ library for back-ported improvements.
* Discriminate Python 2-and-3 compatible usage of dict methods.
* Discriminate Python 2-and-3 compatible bytes versus text.
* Declare explicit absolute and relative imports.
* Discriminate between different ‘fileno’ method behaviours.
  In Python 3, ‘StringIO.fileno’ is callable but raises an exception.
* Migrate to built-in ‘next’ function.
* Wrap the ‘fromlist’ parameter of ‘__import__’ for Python 3
  compatibility.
* Wrap function introspection for Python 3 compatibility.
* Wrap standard library imports where names changed in Python 3.
* Move package metadata to ‘daemon/_metadata.py’.
* Migrate to JSON (instead of Python) for serialised version info.

Removed:

* Remove ASCII translation of package description, not needed now the
  docstring is a proper Unicode text value.
* Remove custom test suite creation.


Version 1.6.1
=============

:Released: 2014-08-04
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Added:

* Add editor hints for most files.

Changed:

* Distinguish continuation-line indentation versus block indentation.
* Use unicode literals by default, specifying bytes where necessary.
  This is to ease the port to Python 3, where the default string type
  is unicode.
* Update copyright notices.
* Update the GPL license file to version 3, as declared in our
  copyright notices.

* Change license of library code to Apache License 2.0. Rationale at
  <URL:http://wiki.python.org/moin/PythonSoftwareFoundationLicenseFaq#Contributing_Code_to_Python>.

Bugs Fixed:

* Use unambiguous “except FooType as foo” syntax.
  This is to ease the port to Python 3, where the ambiguous comma
  usage is an error.
* Ensure a ‘basestring’ name bound to the base type for strings.
  This is to allow checks to work on Python 2 and 3.
* Specify versions of Python supported, as trove classifiers.


Version 1.6
===========

:Released: 2010-05-10
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Added:

* FAQ: Add some entries and re-structure the document.
* MANIFEST.in: Include the documentation in the distribution.

Changed:

* Use absolute imports to disambiguate provenance of names.
* setup.py: Require ‘lockfile >=0.9’.

* Use ‘unicode’ data type for all text values.
* Prepare for Python 3 upgrade by tweaking some names and imports.

Removed:

* daemon/pidfile.py: Renamed from ‘daemon/pidlockfile.py’. Change
  references elsewhere to use this new name.
* test/test_pidfile.py: Renamed from ‘test/test_pidlockfile.py’.
  Change references elsewhere to use this new name.
* daemon/pidfile.py: Remove functionality now migrated to ‘lockfile’
  library.


Version 1.5.5
=============

:Released: 2010-03-02
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Bugs Fixed:

* Stop using ‘pkg_resources’ and revert to pre-1.5.3 version-string
  handling, until a better way that doesn't break everyone else's
  installation can be found.


Version 1.5.4
=============

:Released: 2010-02-27
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Bugs Fixed:

* MANIFEST.in: Explicitly include version data file, otherwise
  everything breaks for users of the sdist.


Version 1.5.3
=============

:Released: 2010-02-26
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Added:

* version: New plain-text data file to store project version string.
* Add ‘pylint’ configuration for this project.

Changed:

* setup.py: Read version string from data file.
* daemon/version/__init__.py: Query version string with ‘pkg_resources’.

* Update copyright notices.

Bugs Fixed:

* daemon/daemon.py: Invoke the pidfile context manager's ‘__exit__’
  method with the correct arguments (as per
  <URL:http://docs.python.org/library/stdtypes.html#typecontextmanager>).
  Thanks to Ludvig Ericson for the bug report.


Version 1.5.2
=============

:Released: 2009-10-24
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Added:

* Add initial Frequently Asked Questions document.

Bugs Fixed:

* Ensure we only prevent core dumps if ‘prevent_core’ is true.
  Thanks to Denis Bilenko for reporting the lacking implementation of
  this documented option.


Version 1.5.1
=============

:Released: 2009-09-26
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Added:

* Make a separate collection of DaemonRunner test scenarios.
* Handle a start request with a timeout on the PID file lock acquire.

* Implement ‘TimeoutPIDLockFile’ to specify a timeout in advance of
  lock acquisition.
* Use lock with timeout for ‘DaemonRunner’.


Version 1.5
===========

:Released: 2009-09-24
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Added:

* Make a separate collection of PIDLockFile test scenarios.

Changed:

* Refactor code to ‘_terminate_daemon_process’ method.
* Improve explanations in comments and docstrings.
* Don't set pidfile at all if no path specified to constructor.
* Implement ‘PIDLockFile’ as subclass of ‘lockfile.LinkFileLock’.
* Remove redundant checks for file existence.

* Manage the excluded file descriptors as a set (not a list).

Bugs Fixed:

* Raise specific errors on ‘DaemonRunner’ failures.
* Distinguish different conditions on reading and parsing PID file.
* Write the PID file using correct OS locking and permissions.
* Close the PID file after writing.
* Only inspect the file descriptor of streams if they actually have
  one (via a ‘fileno’ method) when determining which file descriptors
  to close. Thanks to Ask Solem for revealing this bug.


Version 1.4.8
=============

:Released: 2009-09-17
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Added:

* Document requirement for ensuring any operating-system specific
  signal handlers are considered.
* Add specific license terms for unit test suite scaffold.

Changed:

* Refactor ‘fork_then_exit_parent’ functionality to avoid duplicate
  code.

Removed:

* Remove redundant imports.
* Remove unused code from unit test suite scaffold.

Bugs Fixed:

* Remove child-exit signal (‘SIGCLD’, ‘SIGCHLD’) from default signal
  map. Thanks to Joel Martin for pinpointing this issue.


Version 1.4.7
=============

:Released: 2009-09-03
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Removed:

* Exclude ‘test’ package from distribution installation.

Bugs Fixed:

* Fix keywords argument for distribution setup.


Version 1.4.6
=============

:Released: 2009-06-21
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Added:

* Update documentation for changes from latest PEP 3143 revision.
* Implement DaemonContext.is_open method.


Version 1.4.5
=============

:Released: 2009-05-17
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Added:

* Improve docstrings by reference to, and copy from, PEP 3143.
* Use mock checking capabilities of newer ‘MiniMock’ library.
* Automate building a versioned distribution tarball.
* Include developer documentation files in source distribution.

Bugs Fixed:

* Register DaemonContext.close method for atexit processing.
* Move PID file cleanup to close method.


Version 1.4.4
=============

:Released: 2009-03-26
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Changed:

* Conform to current PEP version, now released as PEP 3143 “Standard
  daemon process library”.
* Redirect standard streams to null device by default.

Bugs Fixed:

* Ensure UID and GID are set in correct order.
* Delay closing all open files until just before re-binding standard
  streams.


Version 1.4.3
=============

:Released: 2009-03-19
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Bugs Fixed:

* Close the PID file context on exit.


Version 1.4.2
=============

:Released: 2009-03-18
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Added:

* Context manager methods for DaemonContext.


Version 1.4.1
=============

:Released: 2009-03-18
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Changed:

* Improvements to docstrings.
* Further conformance with draft PEP.


Version 1.4
===========

:Released: 2009-03-17
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Added:

* Complete statement coverage from unit test suite.

Changed:

* Implement the interface from a draft PEP for process daemonisation.


Version 1.3
===========

:Released: 2009-03-12
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Added:

* Huge increase in unit test suite.

Changed:

* Separate controller (now ‘DaemonRunner’) from daemon process
  context (now ‘DaemonContext’).

Bugs Fixed:

* Fix many corner cases and bugs.


Version 1.2
===========

:Released: 2009-01-27
:Maintainer: Ben Finney <ben+python@benfinney.id.au>

Added:

* Begin unit test suite.

Changed:

* Initial release of this project forked from ‘bda.daemon’. Thanks,
  Robert Niederreiter.
* Refactor some functionality out to helper functions.


..
    This document is written using `reStructuredText`_ markup, and can
    be rendered with `Docutils`_ to other formats.

    ..  _Docutils: http://docutils.sourceforge.net/
    ..  _reStructuredText: http://docutils.sourceforge.net/rst.html

..
    This is free software: you may copy, modify, and/or distribute this work
    under the terms of the Apache License version 2.0 as published by the
    Apache Software Foundation.
    No warranty expressed or implied. See the file ‘LICENSE.ASF-2’ for details.

..
    Local variables:
    coding: utf-8
    mode: rst
    mode: text
    End:
    vim: fileencoding=utf-8 filetype=rst :