-
Notifications
You must be signed in to change notification settings - Fork 27
/
CHANGES
159 lines (112 loc) · 4.6 KB
/
CHANGES
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
Release Notes
=============
1.4.0 (2024-02-14)
++++++++++++++++++
* API changes:
- The deprecated module-level ``minpq`` and ``maxpq`` have been removed in favor of same-named classmethods introduced in v1.3.0 (#24)
- Introduce a distinct ``Empty`` exception for operations that attempt to remove items from an empty pqdict, instead of raising a ``KeyError``. (Note that ``Empty`` is derived from ``KeyError`` for subclass compatibility with ``Mapping.popitem`` and ``Mapping.clear``.) (#24)
- Make internal heap nodes immutable and fast copy as originally proposed by @palkeo in #14
* Maintenance:
- Factored out indexed heap operations to reduce redundancy
- Better docstrings and type annotations
**Full Changelog**: https://github.com/nvictus/pqdict/compare/v1.3.0...v1.4.0
1.3.0 (2023-07-01)
++++++++++++++++++
This minor release drops support for Python versions <3.7.
In turn, we now provide full static type annotations and have migrated to modern package build tools.
* API changes:
- Added ``popvalue`` method to mirror recent ``topvalue`` addition.
- Added ``default`` argument to ``top`` and support for ``default`` using ``pop`` with PQ semantics. If given, this value is returned when the collection is empty.
- ``minpq`` and ``maxpq`` module-level functions are deprecated in favor of `pqdict` classmethods and will be removed in v1.4.
* Maintenance:
- Dropped support for Python 2.7, 3.4, 3.5, and 3.6 (#22).
- Inlined type annotations and removed stub file. Thanks for advice from `@aqeelat <https://github.com/aqeelat>`_.
- Migrate to pyproject.toml.
- Linting and static type checking in CI.
1.2.1 (2023-06-26)
++++++++++++++++++
* Typing:
- Provided typing support (#19) applying stub generated by `@noamraph <https://github.com/noamraph>`_
* Maintenance:
- Replaced CI badge.
- Dropped Python 2.7 from CI, no longer supported there. Next minor release of pqdict will no longer support Python 2.
1.2.0 (2022-10-14)
++++++++++++++++++
* API changes:
- Added ``topvalue`` method (#17). By `@ShivKJ <https://github.com/ShivKJ>`_
* Maintenance:
- Replaced Travis CI with Github Actions.
1.1.1 (2020-09-21)
++++++++++++++++++
* Maintenance:
- Performance of ``copy`` improved by avoiding re-heapifying (#12). By `@palkeo <https://github.com/palkeo>`_.
- Removed redundant heapify call in constructor.
- Removed unused ``node_factory`` kwargs.
- Formatting with black.
1.1.0 (2020-08-21)
++++++++++++++++++
* API changes:
- ``nlargest`` and ``nsmallest`` now support an optional ``key`` parameter (#10). By `Eugene Prilepin <https://github.com/espdev>`_.
1.0.1 (2020-07-12)
++++++++++++++++++
* Maintenance:
- Dropped 3.3 support.
- Future-proofed for upcoming collections import breakage (#6). By `R. Bernstein <https://github.com/rocky>`_.
- Upgraded test suite from nose to pytest (#7). By `R. Bernstein <https://github.com/rocky>`_.
1.0.0 (2015-09-02)
++++++++++++++++++
* Stable release.
* Supporting 2.7+, 3.3+ and pypy. Dropped 3.2 support.
0.6 (2015-08-31)
++++++++++++++++
* Conceptual changes:
- Clearer terminology in API and documentation (e.g., value vs. priority
key).
- Functional philosophy: pqdict accepts optional priority key function and
precedence function.
* API changes:
- PQDict name is deprecated.
- Several backwards-incompatible changes to fit the new conceptual model.
- Heapsort iterators (iterkeys, itervalues, iteritems) were renamed
(popkeys, popvalues, popitems). In Python 2, the old names persist as
regular iterators.
- Dropped module functions except for nlargest and nsmallest.
* Docs:
- Revised and updated
- Switch to RTD theme
0.5 (2014-02-09)
++++++++++++++++
* API changes:
- PQDict.pq_type property: 'min', 'max' or 'custom'
- fromkeys keyword 'sort_by' is replaced with 'rank_by'
* Bug fixes:
- turns out PQDict.create and sort_by_value were broken! (oops!)
- consume: the collector was comparing the wrong pkeys
* Improved test coverage:
- improved coverage of unit tests
- using travis-ci
0.4 (2013-12-08)
++++++++++++++++
* API changes:
- renamed peek() to top()
- semantics of top, pop, vs. topitem, popitem, *item, now hopefully more
consistent
- prioritykeys() and iterprioritykeys() are aliases for values() and
itervalues()
- new methods: pushpopitem, swap_priority, replace_key
* New functions:
- nsmallest, nlargest
- consume
* Added Sphinx documentation
0.3 (2013-07-23)
++++++++++++++++
* Bug fixes:
- off-by one error caused the queue to not reheapify properly in a special
case
0.2 (2013-07-18)
++++++++++++++++
* Bug fixes:
- Fixed error in __all__ list
0.1 (2013-07-17)
++++++++++++++++
* First release.