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
|
2.3.1 (October 2025)
====================
* Add support of SWIG 4.4.0
* Add support of Mac OS X Snow Leopard
* Minor changes
2.3.0 (July 2025)
==================
* PCSCCardRequest: fix waitforcardevent() initialization
* PCSCCardConnection: raise exception for .connect() after .release()
* Fix race issue in SCardListReaders() and SCardListReaderGroups()
* Use SCARD_AUTOALLOCATE where defined (everywhere except macOS)
* Use SCardFreeMemory() on Unix (except macOS)
* CardMonitoringThread: Fix a thread safeness issue
* fix/ignore all pylint warnings
* Minor changes
2.2.2 (April 2025)
==================
* add .release() method to CardConnection & PCSCCardRequest
* add context manager protocol to CardRequest & CardService
* fix some parallel execution issues
* PCSCCardRequest: correctly initialize waitforcardevent()
* user-guide: Update documentation
* Minor changes
2.2.1 (January 2025)
====================
- patches from Ludovic Rousseau
* waitforcardevent(): do not miss events between 2 calls
* Use Windows locale to decode Unicode text
* ACKS: add missing contributors
- patches from Kurt McKee
* Test, fix, and simplify ATR parsing
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
|