1.1.0¶
Fixes¶
No longer using a list as the default value for the
transfer_syntaxkeyword argument inAE.add_requested_context(),AE.add_supported_context()andpresentation.build_context()Completely fixed handling a maximum PDU length of 0. (#193)
DIMSEMessagesubclass creation andDIMSEMessage.primitive_to_messageshould now be thread-safe (#137)Fixed A-RELEASE collision not being implemented correctly. (#269)
Fixed bugs in
fsm.AR_8andfsm.AA_7.Fixed DUL not handling the service user sending A-P-ABORT primitives. (#270)
Fixed the DUL endlessly waiting in State 13 if the remote didn’t close the connection and there was data still available to be read. (#272)
Enhancements¶
Changes¶
AE.quit()is deprecated and will be removed in v1.2. UseAE.stop()instead.DIMSEMessage.IDis deprecated and will be removed in v1.2. UseDIMSEMessage.context_idinstead.Added
_globals.pyfor frequently used global constants.utils.validate_ae_titlechanged to only return bytes for Python 3AE.require_calling_aetnow takes a list of AE titles (as bytes) rather than a single AE title. If set to a non-empty list then association requests will be rejected unless the value of the Calling AE Title parameter matches one of those in the list. If set to an empty list (default) then all associations will be accepted (unless rejected for other reasons). (#192)AE.require_called_aetshould now be set using a bool. If True then any association requests will be rejected unless the value of the Called AE Title parameter matchesAE.ae_title. If False (default) then no matching will be performed and all associations accepted (unless rejected for other reasons). (#184)ACSE.is_releasedis deprecated and will be removed in v1.2. UseACSE.is_release_requestedinstead.ACSE.release_associationis deprecated and will be removed in v1.2. UseACSE.negotiate_releaseinstead.The association acceptor no longer aborts an accepted association if there are no accepted presentation contexts. The association requestor still does.
Default ACSE timeout changed to 30 s and default network timeout to 60 s.
1.0.0¶
Fixes¶
Fixed upstream pydicom changes to AE elements breaking logging (#195)
Fixed typos in SOP class names, fix bad UID
Fixed SCP/SCU Role Negotiation requiring both SCP and SCU role values to be set (as association requestor)
Starting with v1.0.0, versioning should be consistent
Changes¶
applicationentitymodule renamedaeApplicationEntityinterface updatedRemoved the following:
AE.scu_supported_sop,AE.scp_supported_sop,AE.transfer_syntax,AE.presentation_contexts_scu,AE.presentation_contexts_scp.scu_sop_class,scp_sop_class,transfer_syntaxandbind_addrarguments removed fromAEinitialisation.Added
AE.bind_addrattribute to allow the user to specify the network adapter.Added
AE.add_supported_context(),AE.supported_contexts,AE.remove_supported_context()for adding and removing the presentation contexts supported as an SCP.Added
AE.add_requested_context(),AE.requested_contexts,AE.remove_requested_context()for adding and removing the presentation contexts requested as an SCU.
Removed
VerificationSOPClass,StorageSOPClassListandQueryRetrieveSOPClassList.Added
VerificationPresentationContexts,StoragePresentationContexts,QueryRetrievePresentationContextsandBasicWorklistManagmentPresentationContextsto replace themAdded
service_classmodule and moved the service class implementations fromsop_classtoservice_class.The three Query/Retrieve service class implementations (Find, Get, Move) have been consolidated into one.
BasicWorklistManagementServiceClassreimplemented separately from QR.SOPClassclass added tosop_classmodule and all SOP Class objects now inherit from it rather than the corresponding service class.utils.PresentationContextManagerremovedMaximumLengthNegotiationchanged toMaximumLengthNotificationImplementationClassUIDNegotiationchanged toImplementationClassUIDNotificationImplementationVersionNameNegotiationchanged toImplementationVersioNameNotificationSimplified
service_class.ServiceClassinterfaceACSErefactored to do more of the association negotiation work and to operate independently of the Association instance.Added
send_abort,send_ap_abort,send_reject,send_releasesend_request,send_acceptmethodsAdded
negotiate_associationmethodAdded
release_associationmethod
Added
association.ServiceUserclassAssociationrefactored to do less association negotiation work and to operate independently of the ACSE instance.Added
Association.requestorandAssociation.acceptorattributes which areServiceUserinstances that track the association requestor and acceptor.
Project named changed from pynetdicom3 to pynetdicom
Enhancements¶
Add
contextandinfoparameters to on_c_* callbacks (#45, #54, #65, #106)Added contribution, issue and PR guides (#66)
Added PEP8 conformant
PYNETDICOM_IMPLEMENTATION_VERSIONandPYNETDICOM_IMPLEMENTATION_UIDvariables. The old ones will be removed in v1.0Added
AE.implementation_version_nameandAE.implementation_class_uidattributes so user’s can specify the values used during association negotiation.Allow per-association presentation context requests (SCU)
Allow more than 128 supported presentation contexts (SCP)
Documentation added: user guide, examples, API reference (#1, #45, #49, #50)
Add support for QR Instance and Frame Level Retrieve
Add support for QR Composite Instance Root Retrieval
Add support for the Relevant Patient Information Query service
Add support for the Hanging Protocol QR service
Add support for the Substance Administration Query service
Add support for the Color Palette QR service
Add support for the Implant Template QR service
Add support for the Non-Patient Information Storage service
Add support for the Defined Procedure Protocol QR service
Add support for the Display System Management service
Add support for N-GET, N-SET, N-EVENT-REPORT, N-DELETE, N-ACTION, N-CREATE as SCU.
Add full support for SCP/SCU Role Selection Negotiation
Add support for SOP Class Extended Negotiation
Add support for Asynchronous Operations Window Negotiation, however pynetdicom does not support asynchronous operations.
Add support for User Identity Negotiation
Add support for SOP Class Common Extended Negotiation
Non-conformant (null trailing padded) UIDs in A-ASSOCIATE messages are now handled