7.2.0-beta.1
Released: March 12, 2025
Bug Fixes
- Removed optional dependency on OpenGL. Most configurations were already running without OpenGL prior to this release. As of 7.2, remaining configurations that depend on OpenGL were fully removed.
7.1.2
Released: March 13, 2025
No updates for this framework in this release.
7.1.1
Released: March 7, 2025
Bug Fixes
- Fixed
sc_recognition_context_release
to abort potentially still in-progress background set up of the barcode scanner ifsc_barcode_scanner_wait_for_setup_completed
was not called explicitly.
7.1.0
Released: February 21, 2025
New Features
- Added the following new barcode scanner presets:
SC_PRESET_HIGH_EFFORT
to achieve the best accuracy by spending more resources.SC_PRESET_SINGLE_CODE_HAND_HELD
to enable smart single code scanning.
sc_barcode_scanner_settings_set_code_duplicate_filter()
has been extended to accept -2 (SC_DUPLICATE_FILTER_DEFAULT
) to indicate that an application-specific duplicate filter should be used. -2 is the new default and is currently identical to 0 (duplicate filtering disabled).- New constants
SC_DUPLICATE_FILTER_DEFAULT
andSC_DUPLICATE_FILTER_OFF
were added to indicate the intent of these values more clearly.
- New constants
- Updated the package to no longer embed required resources into
libscanditsdk.so
and instead load them from/usr/share/scanditsdk/resources
.
Performance Improvements
- We’ve increased the scan rate of 10% on our datasets of QR codes with high perspective distortion (so scanned at high angles). This is particularly important for cases such as receiving boxes or scanning shelf labels.
- Improved the barcode detection and tracking robustness of
ScObjectTracker
.
Behavioral Changes
- After further improving the scanning speed on color-inverted QR and MicroQR codes, these variations can now be scanned without having to set any specific setting (as opposed to before), offering a better experience to developers.
7.0.2
Released: January 20, 2025
Bug Fixes
- Resolved a rare issue where a race condition during the deconstruction of MatrixScan Data Capture views could lead to invalid memory access.
7.0.1
Released: December 19, 2024
No updates for this framework in this release.
7.0.0
Released: November 29, 2024
New Features / Performance Improvements
- This update increases the Linux SDK
libc
version requirements from version 2.27 to 2.31. Ubuntu 18.04 and Debian/GNU Linux 10 are no longer supported. - The versioning of the Linux SDK has been aligned with the versioning of the Scandit DataCapture SDK. On Linux, 6.x is skipped and the version is updated from 5.x and 7.x directly.
The C API has been cleaned up and streamlined. If you migrate your code from version 5.x to 7.x you need to adjust the following interface changes.
- Recognition Context:
- Removed deprecated
ScContextStatusFlag
:SC_RECOGNITION_CONTEXT_STATUS_LICENSE_FILE_EXPIRED
,SC_RECOGNITION_CONTEXT_STATUS_LICENSE_FILE_IO_ERROR
,SC_RECOGNITION_CONTEXT_STATUS_LICENSE_VALIDATION_FAILED
,SC_RECOGNITION_CONTEXT_STATUS_LICENSE_VALIDATION_FAILED_400
- Removed deprecated recognition context function
sc_recognition_context_set_geographical_location
.
- Removed deprecated
- ScBarcodeScanner:
- Replaced symbology enums
SC_SYMBOLOGY_EAN13
andSC_SYMBOLOGY_UPCA
bySC_SYMBOLOGY_EAN13_UPCA
. EAN13 and UPCA codes are now represented and configured through the same symbology. If you need to distinguish between UPCA and EAN13, you will need to check for the first digit, or use theremove_leading_upca_zero
symbology extension and check the length of the returned data string. - Removed the
SC_SYMBOLOGY_UPCA
symbology extensionremove_leading_zero
. Use theSC_SYMBOLOGY_EAN13_UPCA
extensionremove_leading_upca_zero
instead. - Removed functionality related to caching of codes in the barcode scanner session. To obtain the results, retrieve them through
sc_barcode_scanner_session_get_newly_recognized_codes
before processing the next frame. Removed the two functionssc_barcode_scanner_settings_set_code_caching_duration
,sc_barcode_scanner_settings_get_code_caching_duration
and JSON settings fieldcodeCachingDuration
. - Removed all
ScBarcodeScannerSettings
presets:SC_PRESET_ENABLE_RETAIL_SYMBOLOGIES
,SC_PRESET_ENABLE_VIN_DECODING
,SC_PRESET_ENABLE_SSCC_DECODING
,SC_PRESET_ENABLE_SINGLE_FRAME_MODE
. New presets will be introduced in upcoming releases. - Replaced
sc_barcode_scanner_settings_get_property
andsc_barcode_scanner_settings_set_property
functions that allowed to get/set scanner integer properties bysc_barcode_scanner_settings_get_properties
/sc_barcode_scanner_settings_get_properties_const
to access the settings property collection. - Introduced ScPropertyCollection.h header allowing to get/set property values of the generic property collection.
- Replaced symbology enums
- ScBarcodeGenerator:
- The
SC_SYMBOLOGY_EAN13_UPCA
code generator no longer accepts UPCA input strings without leading zero character. 12 digits inputs are now interpreted as EAN13 data with a missing checksum.
- The
- ScParser:
- Moved and renamed parser-related headers from
include/Scandit/Parser/
toinclude/Scandit:
- Renamed SpParser.h to ScParser.h
- Renamed
SpParser
toScParser
- Renamed
SpParserType
toScParserType
- Renamed
SP_PARSER_TYPE_*
enum entries toSC_PARSER_TYPE_*
- Renamed
sp_parser_*
functions tosc_parser_*
- Renamed
- Renamed SpParserResult.h to ScParserResult.h
- Renamed
SpParserResult
toScParserResult
- Renamed
SpField
toScField
- Renamed
sp_parser_result_*
functions tosc_parser_result_*
- Renamed
- Removed SpParserCommon.h:
- Use
ScBool
instead ofSpBool
- Use
ScByteArray
instead ofSpData
- Removed unused
sp_data_free
- Use
- Moved and renamed parser-related headers from
- ScCommon:
- Updated ScByteArray-related api:
- Removed deprecated
ScByteArray
fieldsdata
,c_str
,length
. - Updated functions returning
ScByteArray
such that the returned array size does not include string null terminator.
- Removed deprecated
- Removed deprecated ScData struct alias:
ScByteArray
should be used directly instead.
- Removed deprecated
sc_data_free
function.sc_byte_array_free
should be used instead. - Updated
sc_*_free
functions to align their behavior, such that callingsc_*_free
on any object more than once is undefined behavior that would end up in double free.
- Updated ScByteArray-related api:
- ScImageDescription:
- Added
sc_image_description_get_planes_count
function to query number of separate planes in an image according to its layout. - Added
sc_image_description_get_plane_offset
/sc_image_description_get_plane_row_bytes
functions to query plane information by index of the plane in a buffer. - Removed
sc_image_description_get_first_plane_offset
/sc_image_description_get_first_plane_row_bytes
, usesc_image_description_get_plane_offset
instead. - Removed
sc_image_description_get_second_plane_offset
/sc_image_description_get_second_plane_row_bytes
, usesc_image_description_get_plane_offset
instead. - Removed
sc_image_description_get_memory_size
/sc_image_description_set_memory_size
. There is no more need to set the overall memory size.
- Added
- ScObjectTracker:
- The configuration of barcode scanner settings for use with the
ScObjectTracker
has been moved to a dedicated API:sc_object_tracker_apply_scanner_settings
. It is no longer necessary to instantiate anScBarcodeScanner
to use theScObjectTracker
. - Replaced the callback-based tracking results API
ScObjectTrackerCallbacks
by a session objectScObjectTrackerSession
.
- The configuration of barcode scanner settings for use with the
- The Python API was adjusted according to the new C API. In addition the following changes were made:
- Removed all deprecated redundant
SC_CODE_DIRECTION_*
constants. Usesc.CODE_DIRECTION_*
instead. - Removed all deprecated redundant
SC_IMAGE_LAYOUT_*
constants. Usesc.IMAGE_LAYOUT_*
instead. - Removed
sc.IMAGE_LAYOUT_NV16
constant. Use sc.IMAGE_LAYOUT_NV16_U8
instead. - Removed all deprecated redundant
SC_CAMERA_*
constants. Usesc.CAMERA_*
instead. - Removed all deprecated redundant
SC_CODE_LOCATION_*
constants. Usesc.CODE_LOCATION_*
instead.
- Removed all deprecated redundant
- Introduced support for Swiss Post proprietary, UPU 4 State based, postal symbology. It's disabled by default and can be enabled activating the UPU 4-State symbology extension
swiss_post_decoding
.
Bug Fixes
- Improvements for decoding blurry 1d linear codes.
- Improved tracking of 1D codes that are horizontally aligned.
- Added
remove_delimiter_data
extension to the Codabar symbology. This extension is off by default. - Fixed
ScCamera
python bindings querying stepwise camera mode resolutions. - Fixed
sc_camera_get_frame
to not hang after restarting camera stream. - Fixed Shift-JIS encoding classification for raw byte data in 2d barcodes