How to Upgrade to Version 11.x
From version 10.x
To upgrade from version 10.x to 11.x, we recommend you to take the following steps.
1. Update the License Key
Request a 30-Day Free Trial License
Visit the Request a Trial License page to obtain a 30-day free license. This option is ideal for initial evaluation or testing of new SDK features.
Annual Online Full License
If you are using an Annual Online Full License, your license will continue to work with the current SDK version without the need for updates. Go to Customer Portal to get your license key.
Perpetual License
For users with a Perpetual License, please contact our sales team to update your license. You can reach out through our Contacting Us page for assistance.
2. Upgrade the Assembly Files
Run the following command to upgrade the assembly files.
pip install dynamsoft-barcode-reader-bundle --upgrade
3. Migrate Your Templates
The template system is upgraded. The template you used for the previous version can’t be directly recognized by the new version. Please use the template upgrade tool to upgrade your template.
From version 9.x or earlier
Dynamsoft Barcode Reader SDK has been refactored to integrate with DynamsoftCaptureVision (DCV) architecture. To upgrade from version 9.x or earlier to 11.x, we recommend you to follow the User Guide and re-write your codes. This section highlights only the key changes and necessary actions for upgrading the SDK.
Update the License Key
Request a 30-Day Free Trial License
Visit the Request a Trial License page to obtain a 30-day free license. This option is ideal for initial evaluation or testing of new SDK features.
Annual Online Full License
If you are using an Annual Online Full License, your license will continue to work with the current SDK version without the need for updates. Go to Customer Portal to get your license key.
Perpetual License
For users with a Perpetual License, please contact our sales team to update your license. You can reach out through our Contacting Us page for assistance.
Migrate to New Package
As of version 10.0, the dbr package has been renamed to dynamsoft-barcode-reader-bundle to reflect changes in both architecture and API design. Start terminal or command prompt and run the following command to install the new package.
pip install dynamsoft-barcode-reader-bundle
Update the License Activation Code
Starting from 10.0, we have unified the API for setting licenses across different Dynamsoft products.
| Old APIs | New APIs |
|---|---|
BarcodeReader.init_license |
LicenseManager.init_license |
Update Single Image Decoding APIs
The APIs for decoding single image have been adjusted as follows:
| Old APIs | New APIs |
|---|---|
BarcodeReader.decode_file |
CaptureVisionRouter.capture |
BarcodeReader.decode_file_stream |
CaptureVisionRouter.capture |
BarcodeReader.decode_buffer_manually |
CaptureVisionRouter.capture |
class TextResult |
class BarcodeResultItem |
BarcodeReader.decode_base64_string |
Currently not available. |
BarcodeReader.decode_buffer |
CaptureVisionRouter.capture(Available since v10.4.2100) |
Update Video Streaming Decoding Code
ImageSourceAdapter is added to replace the FrameDecodeingParameters and the previous video methods. You should implement ImageSourceAdapter to transfer image data from camera or video file to buffer.
Migrate Your Templates
The template system is upgraded. The template you used for the previous version can’t be directly recognized by the new version. Please use the template upgrade tool to upgrade your template.
The template-based APIs have been updated as follows:
| Old APIs | New APIs |
|---|---|
BarcodeReader.init_runtime_settings_with_file |
CaptureVisionRouter.init_settings_from_file |
BarcodeReader.init_runtime_settings_with_string |
CaptureVisionRouter.init_settings |
BarcodeReader.output_settings_to_json_file |
CaptureVisionRouter.output_settings_to_file |
BarcodeReader.output_settings_to_json_string |
CaptureVisionRouter.output_settings |
BarcodeReader.reset_runtime_settings |
CaptureVisionRouter.reset_settings |
BarcodeReader.append_template_file_to_runtime_settings |
Not available. |
BarcodeReader.append_template_string_to_runtime_settings |
Not available. |
BarcodeReader.get_all_template_names |
Not available. |
Migrate Your PublicRuntimeSetting
The class PublicRuntimeSetting has been refactored. It retains commonly used properties via SimplifiedCaptureVisionSettings while removing the previously complex property settings, which are now exclusively supported through templates.
The APIs for accessing and updating runtime settings have been adjusted as follows:
| Old APIs | New APIs |
|---|---|
BarcodeReader.get_runtime_settings |
CaptureVisionRouter.get_simplified_settings |
BarcodeReader.update_runtime_settings |
CaptureVisionRouter.update_settings |
Migrate to SimplifiedCaptureVisionSettings
The following properties are replaced by similar properties under SimplifiedCaptureVisionSettings. They can also be set via a template file(String).
| PublicRuntimeSetting Property | SimplifiedCaptureVisionSettings Parameter | Template File Parameter |
|---|---|---|
region |
roi & roi_measured_in_percentage |
TargetROIDef.Location.Offset |
timeout |
timeout |
CaptureVisionTemplates.Timeout |
Migrate to SimplifiedBarcodeReaderSettings
The following properties are replaced by similar properties under SimplifiedBarcodeReaderSettings. The majority of them can also be set via a template file(String).
Remarks:
- The 2 groups of barcode formats are merged.
deblur_levelis deprecated. You can usedeblur_modesinstead.- The mode
IPM_MORPHOLOGYofimagePreprocessingModesis migrated toBinarizationModes. The mode argumentsMorphOperation,MorphOperationKernelSizeX,MorphOperationKernelSizeY,MorphShapeare now available for all modes ofBinarizationModes.
Migrate to Template File
The following properties can only be set via a template file. Please call BarcodeReader.output_settings_to_json_file first with the old version to export the settings and then use the template upgrade tool to upgrade your template.
| PublicRuntimeSetting Property | Template File Parameter |
|---|---|
scale_down_threshold |
ImageParameter.ImageScaleSettings |
binarization_modes |
ImageParameter.BinarizationModes |
text_result_order_modes |
BarcodeReaderTaskSetting.TextResultOrderModes |
return_barcode_zone_clarity |
BarcodeReaderTaskSetting.ReturnBarcodeZoneClarity |
scale_up_modes |
BarcodeReaderTaskSetting.BarcodeScaleModes |
barcode_zone_min_distance_to_image_borders |
BarcodeFormatSpecification.BarcodeZoneMinDistanceToImageBorders |
colour_conversion_modes |
ImageParameter.ColourConversionModes |
region_predetection_modes |
BarcodeReaderTaskSetting.RegionPredetectionModes |
texture_detection_modes |
ImageParameter.TextureDetectionModes |
text_filter_modes |
ImageParameter.TextDetectionMode & ImageParameter.IfEraseTextZone |
dpm_code_reading_modes |
BarcodeReaderTaskSetting.DPMCodeReadingModes |
deformation_resisting_modes |
BarcodeReaderTaskSetting.DeformationResistingModes |
barcode_complement_modes |
BarcodeReaderTaskSetting.BarcodeComplementModes |
Migrate to Other APIs
The PDF properties of PublicRuntimeSetting are moved to set via the set_pdf_reading_parameter method of DirectoryFetcher and FileFetcher with a PDFReadingParameter parameter.
| PublicRuntimeSetting Property |
|---|
pdf_reading_mode |
pdf_raster_dpi |
The Intermediate Result system is redesigned and the following properties are deprecated.
| PublicRuntimeSetting Property |
|---|
intermediate_result_types |
intermediate_result_saving_mode |
Removed
The following properties are removed.
| PublicRuntimeSetting Property |
|---|
barcode_colour_modes |
result_coordinate_type |
terminate_phase |
| FurtherModes Property |
|---|
colour_clustering_modes |