Nfcpy Versions Save

A Python module to read/write NFC tags or communicate with another NFC device.

v1.0.4

2 years ago
  • Bugfix: In Type 4 Tag communication the ISO-DEP MIU must be 2 octets less accomodate the EDC field that gets added by the reader device.

  • Bugfix: Add trailing APDU LE byte when sending the application identifier during Type 4 Tag initialization. Code contributed by @kieran-mackey.

  • Bugfix: Correct acquisition of Windows output stream handle for colorized terminal messages in example scripts. Code contributed by @mizutoki79.

v1.0.3

4 years ago
  • Correct the IO handling of binary file input in tagtool.py when doing tag emulation. This wasn't properly tested for the 1.0.2 release.
  • Use the correct name of _get_osfhandle Windows function for color output stream handler in command line interface helper module.

v1.0.2

4 years ago
  • Fixed a bug in tagtool.py where the NDEF message input file for tag emulation must be opened in binary mode and reading from stdin must use the TextIO buffer attribute to get binary data with Python3.

v1.0.1

5 years ago
  • Correct a missing Python3 related use of bytes instead of str when determing hexadecimal log output formatting.
  • Use Sphinx 1.x compatible config file to get documentation built on ReadTheDocs.

v1.0.0

5 years ago

This is a major major release that brings Python3 compatibility but also API changes that may break existing applications. Many thanks to @mofe23 and @msnoigrs for their Python3 compatibility patches.

  • The nfc.ndef package is removed. All NDEF decoding and encoding now uses the https://github.com/nfcpy/ndeflib library.

  • The nfc.snep.SnepClient.put is removed. Application code must use either put_records or put_octets.

  • The nfc.snep.SnepClient.get is removed. Application code must use either get_records or get_octets.

  • The nfc.snep.SnepServer.put method changed to process_put_request and receives the ndef_message as a list of ndef.Record objects.

  • The nfc.snep.SnepServer.get method changed to process_get_request and receives the ndef_message as a list of ndef.Record objects. The acceptable_length parameter is now handled by the SnepServer.

  • The nfc.handover.HandoverClient.send method has changed to send_records and expects a list of ndef.Record objects. The new send_octets method allows to send a pre-encoded handover message.

  • The nfc.handover.HandoverClient.recv method has changed to recv_records and returns a list of ndef.Record objects. The new recv_octets method returns the received encoded handover message.

  • The nfc.tag.Tag.NDEF.message is removed. Application code must use records or octets.

  • The examples/ndeftool.py script is removed. Similar functionality is provided by the https://github.com/nfcpy/ndeftool application.

v0.13.6

5 years ago
  • Corrections to LLCP SEC module:
    • fixed a bug in encrypt_update
    • explicitly load libcrypto 1.0
  • Variable name fix in examples/beam.py by @turbolocust
  • Python3 compatibility contribution by @henrycjc.

v0.13.5

6 years ago
  • Raise TagCommandError when NDEF data could not be written to the tag.
  • Improved and corrected documentation for libusb Windows DLL installation (thanks to @ghxbob for PR #95 and @henrycjc for PR #112).
  • Identify Raspberry Pi via device tree model file.
  • Allow debug logs with python -m nfc -verbose to ease bug reporting when reader enumeration fails.

v0.13.4

6 years ago

Raise nfc.tag.TagCommandError when NDEF data could not be written to the tag. Previously this was captured within the tag memory cache for Type1Tag and Type2Tag and raised as IndexError.

v0.13.3

6 years ago
  • Corrects a documentation error about the errors parameter that is not used for ndeflib.message_decoder() as wrongly stated in a docstr embedded code example.

v0.13.2

6 years ago
  • Fixes issue #73 "Importing termios prevents operation on Windows" by catching the import error that occurs when running on a non-posix system.