forked from LudovicRousseau/pyscard
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
315 lines (269 loc) · 13.4 KB
/
ChangeLog
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
2.2.0 (October 2024)
====================
- patches from Ludovic Rousseau
* PCSCCardRequest:
- handle KeyboardInterrupt in waitforcard() & waitforcardevent()
- use a local PC/SC context to avoid locks
* smartcard.util.padd(): do NOT modify the input parameter
* CardMonitoring: a timeout exception IS expected
* Fix pydoctor documentation
* wx: fix module and examples
* Minor changes
- patches from Kurt McKee
* Remove Python 2 conditional code
* Eliminate Windows Vista and Windows 7 conditionals
* Test and improve the synchronization code
* Test and update the `Observer.py` code
* Remove `ClassLoader.py`
* Migrate a `src/` layout
* Migrate test/* from unittest to pytest
* Add missing GSM 03.38 symbols for decoding
* Support only Python 3.9 and higher
* Remove the Python 2.x-only Pyro dependency
* Migrate CI to use the official Coveralls action
* Standardize local and CI testing to use tox
* Build wheels in CI for all supported Python versions
* Build the docs as a part of the test suite
* Begin to add type annotations to the package
* Deprecate the `HexListToBinString`, `BinStringToHexList`, `hl2bs`, and `bs2hl` utility functions
* Support "64" as an ATR baud rate adjustment integer (ISO 7816-3 2006)
2.1.1 (September 2024)
======================
* Fix a regression introduced in 2.1.0
2.1.0 (September 2024)
======================
* PCSCCardRequest: fix active polling (was a 0.1 sec loop)
* Fix use of undefined variable 'hresult' in exceptions
* Fix print() use in pyscard user’s guide
* Fix deprecation warnings
* Minor changes
2.0.10 (June 2024)
==================
* add 'swig' in pyproject.toml build requires
* CardMonitoringThread(): do not catch unexpected exceptions
2.0.9 (April 2024)
==================
* fix a bug with CardRequestTimeoutException introduced in 2.0.8
* Minor changes
2.0.8 (march 2024)
==================
* Make CardMonitor() thread safe on Python 3.12
* Add hresult value in exceptions
* Improve documentation
* Check swig is installed on build
* Remove use of imp module for wx (GUI)
* Makefile: modernize use of setup.py
* Minor changes
2.0.7 (March 2023)
==================
* do not include the generated HTML documentation in the archive
2.0.6 (March 2023)
==================
* handle SCARD_E_NO_SERVICE on Windows (on last reader removal)
* add support of MSYS2/mingw environment on Windows
* improve documentation
* minor changes
2.0.5 (September 2022)
======================
* New version just because I failed the previous upload to https://pypi.org/
2.0.4 (August 2022)
==================
* Fix a problem on PCSCCardConnection.disconnect
* Add support of BaseSCardException(hresult) format
* Do not use deprecated distutils anymore
2.0.3 (March 2022)
==================
* PCSCExceptions: include error code in the message
* getReaderNames(): fix Windows 10 issue when the last reader is
disconnected
2.0.2 (September 2021)
======================
* Fix an issue in ReaderMonitor() that failed to enumerate readers
on macOS
* getReaderNames(): handle SCARD_E_SERVICE_STOPPED on Windows
generated on last reader removal
* Restrict MAX_BUFFER_SIZE_EXTENDED to 65535 and fix an issue on
Lenovo laptops with NXP NFC readers
* SmartcardException: display a positive PCSC error code
2.0.1 (June 2021)
=================
* Add .reconnect() method to high-level API
* Handle removal of the last reader on Windows
* Fix support of macOS Big Sur
* Use Python3 by default
* Handle bogus ACS ACR122U PICC reader
2.0.0 (September 2020)
======================
* SCardStatus(): Fix a crash in case of PC/SC error
* toASCIIString(): replace non-ASCII char by '.'
* remove i386 (32-bits) support on macOS
1.9.9 (August 2019)
===================
* Makefile: use twine to upload to pypi.python.org
* test: fix Exception test on 32-bits CPU
* test: correctly handle macOS versions older than 10.10
1.9.8 (March 2019)
==================
* SmartcardException: store the PC/SC return code in hresult
* CardMonitoring: stop the looping only if PCSC exited
* setup: support build on OpenBSD, and other BSD
* Fix Windows 10 SCARD_E_SERVICE_STOPPED from SCardListReaders()
* Minor documentation improvements
1.9.7 (June 2018)
=================
* Modify CardMonitoring's deleteObserver method to cleanly remove threads
* Python 3: fix smartcard/Synchronization.py
* Python 3: Fix SCardGetErrorMessage() on Windows
* PCSCPart10: add parseFeatureRequest(), parseTlvProperties()
* Fix PEP8 warnings
* Minor documentation improvements
1.9.6 (August 2017)
===================
* include test/__init__.py in the archive tarball.
"make test" now works. That fixes build using Python 3.6
1.9.5 (Feb 2017)
================
* SCardGetStatusChange(): fix a memory leak with Python 3
* SCardTransmit(): use SCARD_PCI_RAW for undefined protocol
* Improve epydoc documentation
1.9.4 (May 2016)
================
* Fix installation using pip and easy_install
* Avoid El Capitan SCardGetAttrib bug
* CardConnection: Add context management
* PCSCCardConnection: raise NoCardException if SCARD_E_NO_SMARTCARD
* Stop CardMonitor monitor thread after traceback print.
* minor improvements
1.9.3 (March 2016)
==================
* Fix SCardControl() on Windows 7
* Fix installation using pip and easy_install
1.9.2 (February 2016)
=====================
* Fix toBytes regression
* Fix installation using pip
* improve pydoc documentation
* user-guide.rst: use real sample codes
* minor improvements
1.9.1 (September 2015)
======================
* Create a new version so that the upload to Pypi does _not_
contain the swig generated files.
1.9.0 (August 2015)
===================
* add Python3 support (Python2 is still supported)
* fix a lot of pylint warnings
* smartcard/test/* replace deprecated assert calls
* add tox support and coverage reports, run test suite on Travis
* add Travis CI support to automatically build on Unix
* add AppVeyor support to automatically build on Windows
* minor bugs fixed
* Big thank you to Alex Willmer for his work on pyscard
1.7.0 (June 2015)
===========
* PCSCCardConnection: Fix a problem with mode=SCARD_SHARE_DIRECT
* add support of cygwin as a build platform
* Fix a problem with Windows Remote Desktop
* Switch from distutils to setuptools
* dropped support for Python 2.5 and earlier (Alex Willmer)
* dropped support for OS X 10.5 (Leopard) and earlier (Alex Willmer)
* minor bugs fixed
1.6.16 (December 2014)
===================
* added support for windows 64bit amd64 (Jean-Daniel Aussel)
* support python "new" classes (derive classes from object) (Ludovic Rousseau from chrysn feature request ID 3110077)
* fixed Reader.__eq__() (Ludovic Rousseau from Bernard Paulus bug ID 3418113)
* fixed extended APDU transmit buffer too short by 2 (Jean-Daniel Aussel from bugs ID 2914636 and 3106761)
* make Card and Reader objects hashable (Jean-Daniel Aussel from Hans-Peter Jansen feature request and patch)
* convert the user guide to python-Sphinx
1.6.12 (August 2010)
===================
* comply with PEP 8 (Ludovic Rousseau)
* comply with PEP 352 (Jean-Daniel Aussel)
* support of pcsclite 1.6 and deprecated LPSCARD_READERSTATE_A (Ludovic Rousseau)
* support of py2exe scripts for wxWindows examples (Jean-Daniel Aussel)
* partial support of remote pcsc readers with pyro (Jean-Daniel Aussel)
1.6.10 (May 2010)
===================
* connect() has a new disposition parameter that is passed to SCardDisconnect (Ludovic Rousseau)
* fixed winscard_init() bad initialization causing problems in multithreaded environment (Ludovic Rousseau)
* Use MAX_BUFFER_SIZE_EXTENDED (64k) instead of 1024 for SCardControl and SCardTransmit (Ludovic Rousseau, reported by Lukasz Drygiel)
* call winscard_init() to load the library only in the %init section instead of in each wrapped function (Ludovic Rousseau)
* for Snow Leopard, do not pass -framework PCSC to the compiler (Martin Paljak)
* reformatting to meet pep8 (Style Guide for Python Code) guidelines (Ludovic Rousseau)
* rename FEATURE_MCT_READERDIRECT in FEATURE_MCT_READER_DIRECT to be conform with PCSC v2 part 10 ch. 2.3 (Ludovic Rousseau)
* added missing CARD_E_NO_READERS_AVAILABLE (Kjell Tore Fossbakk)
* added support of x86_64 on Mac OS X Snow Leopard (Jakob Schlyter)
* ATR can be passed in input in the reader state list (Benoit Allard)
* clear state changed bit in waitforcard/waitforcardevent upon time-out or reader removal (Jean-Daniel Aussel)
* removed clearing of states and ATR content upon SCardGetStatusChange() error (Benoit Allard); handling is now moved up in python framework (Jean-Daniel Aussel)
1.6.8 (July 2009)
=================
* fixed SCARD_ERROR types to match correct types on linux and Mac OS X (Ludovic Rousseau)
* store g_rgSCard* references as void* (Ludovic Rousseau)
* modified Mac OS X build to locate PCSC headers using -framework option (Ludovic Rousseau)
* added contrib root directory and parseATR as first contribution (Ludovic Rousseau)
* updated a few samples to support SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1 instead of just SCARD_PROTOCOL_T0 (Ludovic Rousseau)
* added SCARD_E_NO_READERS_AVAILABLE definition (Ludovic Rousseau)
* added simpleAPDU.py, a simple script to send a couple of APDUs (Ludovic Rousseau)
* added support for Snow Leopard 10.6 (Ludovic Rousseau)
* redefined error codes to be non-Windows or -linux specifics (Ludovic Rousseau)
* added definitions of SCARD_ATTR_xxx values for Mac OS X (Jean-Daniel Aussel)
* delay SCardEstablishContext call until needed instead of login, to allow use of utility classes
such as toHexString, even when the PCSC resource manager or pcscd daemon is not started (Ludovic Rousseau)
* added javascript code for Piwik web analytics to documentation pages (Jean-Daniel Aussel)
* update sourceforge logo pages to latest sourceforge standard (Jean-Daniel Aussel)
* fixed ATR parsing logics (Ludovic Rousseau)
* added control() method to CardConnection() (Ludovic Rousseau)
* added mode argument to connect() method of CardConnection (Ludovic Rousseau)
* added PCSC v2 feature management (Ludovic Rousseau)
1.6.7
=====
* better thread support and clean-up in ReaderMonitoringThread (Frank Aune)
* fixed issue on Mac OS X Leopard with dlsym loading of bad SCardControl function (Mattias Brändström)
* supported build of documentation files on linux and removed unresolved doc links (Ludovic Rousseau)
1.6.6
=====
* added support for Mac OS X Leopard
1.6.5
=====
* added sample_MonitorCardsAndTransmit.py sample to illustrate how to transmit apdu to a card notified
by the card monitor
* added support for SCardControl (Ludovic Rousseau)
* added support for Max OS X Tiger (Ludovic Rousseau/Jean-Daniel Aussel) (Leopard not supported)
* added debian package directory (Ludovice Rousseau)
* support for python 2.3, 2.4 and 2.5 distutils
* automated insertion of sourceforge logo in html pages generated by epydoc
* fixed documentation generation to include examples
1.6.4
=====
* handled several issues reported by Michael Roehner concerning waitforcard() not detecting card in reader/card
USB stick; changed the waitforcard() and waitforcardevent() to poll every 100ms for new readers and cards in
these readers
* following issue reported by Jarle Bauck Hamar, added samples on how to perform exclusive card connection or
protect transmit() from being interrupted by another thread or process
* fixed ATR parsing error for optional interface bytes reported by Jarle Bauck Hamar
1.6.3
=====
* better handling of protocol selection with associated test cases and added getATR_T1 example
(issue reported by Adam Laurie for T=1 cards, and request from Yong David Huang for
Omnikey CM5321 RFID that failed with T0|T1 mask).
* added handling of linux 64-bit platform and graceful exit for unsupported platform, thanks to Henryk Plötz
* added support for float value timeout in CardRequest, thanks to Henryk Plötz; updated test cases and a
couple of samples with float timeouts.
1.6.2
=====
* started support for Mac OS X Darwin; not yet operational
* fixed issue with "'NoneType' object is not callable" exception on some
clean-up routines executed from __del__ methods (CardMonitoring, ReaderMonitoring, CardConnection)
* added default protocol, protocol argument to CardConnection.connect(), and get/setProtocol methods
to CardConnection, PCSCCardConnection and CardConnectionDecorator
1.6.1
=====
* maintenance release:
- define LPCTSTR and LPTSTR for recent releases of pcsc-lite
- print formatting of userdata in SCardHelper_PrintReaderStateList
- updated home page and download links to point to sourceforge.net
1.6.0
=====
* released open-source with LGPL license