Releases: pushpender-singh-ap/react-native-scanner
1.4.0
v1.4.0 Released (24 Dec 2024)
This update focuses on adding useful new features, improving performance, and ensuring smoother integration with React Native projects.
New Features
-
Bounding Box Display
- Introduced a showBox property to display a green bounding box around detected barcodes/QR codes. This feature visually highlights the detection area.
-
Camera Lifecycle Management
- New commands and UI enhancements:
- startCamera() to initialize the camera.
- stopScanning() and resumeScanning() commands to control scanning flow.
- Added functionality to releaseCamera() for resource cleanup.
- New commands and UI enhancements:
-
Enhanced Metadata Handling
- Barcode event handlers now include more details (type, bounds) for better integration with application logic.
Improvements
- Android Updates
- Upgraded CameraX libraries to 1.5.0-alpha04 for enhanced camera performance and compatibility.
- Updated ML Kit Barcode Scanning library to 17.3.0.
- iOS Enhancements
- Improved AVCaptureSession management to ensure optimal resource usage.
- Added support for displaying bounding boxes and enhancing metadata processing.
- Example App
- Added new buttons for camera control (start, stop, resume) and flashlight toggle.
Bug Fixes
- Addressed issues with camera lifecycle, ensuring proper initialization and release of resources.
- Fixed inconsistencies in barcode metadata delivery for both platforms.
Documentation Updates
- Added detailed instructions for using the new flashlight and bounding box features.
- Updated README with examples of the new commands and properties.
- Clarified usage of the pauseAfterCapture and showBox properties.
Breaking Changes
- pauseScanning() command has been replaced with stopScanning() for better clarity and consistency.
What's Changed
- feat: Add showBox property and update scanning controls in React Native Scanner by @pushpender-singh-ap in #38
Full Changelog: 1.3.1...1.4.0
1.3.1
v1.3.1 Released (02 Dec 2024)
This update focuses on minor enhancements and optimizations to improve the library's performance and developer experience.
Version
- Updated from 1.3.0 to 1.3.1.
Enhancements
- Improved dependency management in package.json to maintain compatibility and stability.
Bug Fixes
- Minor internal adjustments for better performance and reliability.
What's Changed
- fix: remove default values for pauseAfterCapture and isActive in ReactNativeScannerView by @pushpender-singh-ap in #36
Full Changelog: 1.3.0...1.3.1
1.3.0
v1.3.0 Released (29 Nov 2024)
This update introduces significant improvements and new features to enhance the functionality of the React Native Scanner library.
New Features
- pauseAfterCapture Property:
- Allows the scanner to automatically pause after a barcode or QR code is captured.
- isActive Property:
- Dynamically enables or disables the scanner, offering greater control over scanning sessions.
- New Native Commands:
- pauseScanning: Pauses the camera preview programmatically.
- resumeScanning: Resumes the camera preview after it has been paused.
Enhancements
- Improved barcode event data:
- Event now includes barcode data, bounding box details, and corner points.
- Barcode type (QR_CODE, etc.) is also provided.
- Enhanced UI and example code:
- Updated example includes detailed usage of the new features.
- Refactored camera lifecycle management:
- Better resource management with properties like isCameraRunning.
Fixes
- Addressed redundant event dispatching in React Native.
- Improved error handling in camera processing.
Documentation
- Added detailed examples to showcase new features:
- pauseAfterCapture and isActive usage.
- Event structure updates (bounds, cornerPoints, type).
- Refined the example project for clarity and usability.
Breaking Changes
- Event payload structure for onQrScanned has been modified:
- Includes additional attributes (bounds, cornerPoints, type).
What's Changed
- chore(deps): bump rexml from 3.2.8 to 3.3.6 in /example by @dependabot in #27
- chore: update example folder to latest react-native by @pushpender-singh-ap in #30
- fix: Callback improvements, new utility methods by @ravindraguptacapgemini in #33
- chore(deps): bump rexml from 3.3.8 to 3.3.9 in /example by @dependabot in #32
- refactor: Update version to 1.3.0-beta.2 and rename preview methods to scanning by @pushpender-singh-ap in #34
New Contributors
- @ravindraguptacapgemini made their first contribution in #33
Full Changelog: 1.2.0...1.3.0
1.3.0-beta.1
v1.3.0-beta.1 Released (18 Nov 2024)
This release includes significant enhancements, optimizations, and fixes to improve the functionality of the React Native Scanner library. Below are the highlights:
New Features
- Added properties pauseAfterCapture and isActive to control camera behavior programmatically.
- Introduced methods for camera preview control:
- pausePreview: Pause the camera preview while keeping the camera session active.
- resumePreview: Resume the camera preview after pausing.
- Enhanced event handling to provide detailed barcode scan data:
- Barcode bounds and corner points are now included in the emitted events.
- Event includes the type of barcode (e.g., QR_CODE).
Enhancements
- Improved lifecycle management with proper handling of camera states (isCameraRunning).
- Introduced utility functions like stopCamera for better resource management.
- Simplified environment variable patterns in .gitignore.
- Bundled Yarn v3.6.4 for the example project.
Fixes
- Addressed issues with asynchronous event handling in barcode scanning.
- Corrected event dispatcher usage to avoid redundant events in React Native.
- Updated permission management for consistent access checks.
Code Improvements
- Refactored processImageProxy to include context handling.
- Enhanced logging and error handling for robust operations.
- Updated copyright notice to reflect the 2023-2024 copyright range.
Breaking Changes
- Event payload structure for onQrScanned has been modified:
- New attributes added to bounds for better integration and analysis.
What's Changed
- chore(deps): bump rexml from 3.2.8 to 3.3.6 in /example by @dependabot in #27
- chore: update example folder to latest react-native by @pushpender-singh-ap in #30
- fix: Callback improvements, new utility methods by @ravindraguptacapgemini in #33
- chore(deps): bump rexml from 3.3.8 to 3.3.9 in /example by @dependabot in #32
New Contributors
- @ravindraguptacapgemini made their first contribution in #33
Full Changelog: 1.2.0...1.3.0-beta.1
1.2.0
v1.2.0 Released (18 May 2024)
This update introduces several significant changes to the project. Firstly, it adds GitHub issue templates for bug reports, feature requests, and questions, aiming to streamline the process of issue creation and ensure that all necessary information is provided upfront. This enhancement is crucial for maintaining an organized and efficient workflow in addressing issues and implementing new features.
Secondly, the update removes some GitHub Actions workflows, such as setup actions and CI workflows, and introduces new ones like semantic PR checks, stale issue/PR handling, and version checks. These changes are designed to improve the automation of project maintenance tasks, ensuring that pull requests follow semantic naming conventions, and helping manage stale issues and PRs more effectively.
Another notable addition is the implementation of a flashlight feature for the React Native Scanner on both Android and iOS platforms. This feature allows users to enable or disable the flashlight while using the scanner, which can be particularly useful in low-light conditions. The update includes changes to the native code on both platforms to support this functionality, as well as modifications to the React Native bridge to expose the flashlight commands to JavaScript.
The documentation in the README.md file has been updated to include information about the new flashlight feature, providing examples of how to use it. This ensures that users are aware of the new functionality and how to integrate it into their applications.
Lastly, the update includes minor adjustments such as updating the package version and modifying the package manager version in package.json, reflecting the ongoing development and improvement of the project.
What's Changed
- Introduced flashlight control and camera release commands (ANDROID ONLY) by @pushpender-singh-ap in #19
- ci: Introduction of Issue Templates, Workflow Adjustments, and Package Manager Update by @pushpender-singh-ap in #20
- chore(deps): bump rexml from 3.2.6 to 3.2.8 in /example by @dependabot in #18
- fix: Improve ReactNativeScannerView Start Sequence by @pushpender-singh-ap in #22
- feat: Enhancements to ReactNativeScannerView with Camera Release and Flashlight Control by @pushpender-singh-ap in #24
- docs: Expanded Flashlight Feature Support and Added Native Commands in Documentation by @pushpender-singh-ap in #25
Full Changelog: 1.1.0...1.2.0
1.2.0-beta.1
v1.2.0-beta.1 Released (17 May 2024)
This update introduces significant enhancements to the @pushpendersingh/react-native-scanner
package, notably the addition of a flashlight feature for Android devices and the ability to release the camera resources properly. Key changes include:
-
Flashlight Feature for Android: The README.md has been updated to document a new flashlight feature that allows users to turn the flashlight on and off, enhancing the barcode and QR code scanning experience in low light conditions. This feature is specifically designed for Android devices and is detailed under the "Flashlight Feature (Android Only)" section with comprehensive usage examples.
-
Camera Release Functionality: To improve resource management, a new function
releaseCamera
has been introduced, ensuring that camera resources are properly released when the component is unmounted or no longer in use. This is particularly important for preventing app crashes and ensuring that the camera can be used by other components or applications thereafter. -
Documentation Updates: The README.md file has been significantly expanded to include instructions for enabling the new architecture on iOS, detailed examples of basic usage, and a dedicated section for the newly introduced flashlight feature. This includes code snippets and explanations for permissions handling, enabling/disabling the flashlight, and ensuring proper camera permission is granted.
-
Code Enhancements: On the code side, modifications include updates to the ReactNativeScannerView Kotlin class to support flashlight operations (
enableFlashlight
anddisableFlashlight
) and camera release (releaseCamera
). Corresponding commands have been added to the ReactNativeScannerViewManager Kotlin class and the ReactNativeScannerViewNativeComponent TypeScript definition to expose these functionalities to React Native. -
Version Bump: The package version has been updated to
1.2.0-beta.1
to reflect these new features and improvements.
These changes aim to enhance the usability and functionality of the @pushpendersingh/react-native-scanner
package, making it a more versatile tool for React Native developers looking to integrate barcode and QR code scanning capabilities into their applications.
What's Changed
- Introduced flashlight control and camera release commands (ANDROID ONLY) by @pushpender-singh-ap in #19
Full Changelog: 1.1.0...1.2.0-beta.1
1.1.0
v1.1.0 Released (04 May 2024)
What's Changed
- v1.1.0-beta.2 by @pushpender-singh-ap in #10
- Bump activesupport from 7.0.6 to 7.1.3.2 in /example by @dependabot in #16
- fix: [Android] Build failed using React native 0.74.1 Compilation regarding Kotlin by @pushpender-singh-ap
- chore: bump the library version into the example by @pushpender-singh-ap
- v1.1.0 by @pushpender-singh-ap
New Contributors
- @dependabot made their first contribution in #16
Full Changelog: 1.0.2...1.1.0
Release 1.0.2
v1.0.2 Released (07 Aug 2023)
Bug Fix
- Added multiple QR code support for IOS (a86d877 by luvnishCapgemini)
- Added command to enable the new architecture in IOS in the readme file. (b15668c)
Release 1.0.1
v1.0.1 Released
A QR code & Barcode Scanner for React Native Projects.
For React Native developers that need to scan barcodes and QR codes in their apps, this package is a useful resource. It supports React Native's new Fabric Native architecture and was created in Kotlin and Objective-C.
With this package, users can quickly and easily scan barcodes and QR codes with their device's camera. Using this package, several types of codes can be scanned, and it is simple to use.
If you want to provide your React Native app the ability to read barcodes and QR codes, you should definitely give this package some thought.
- Clarify the requirement.
- Example application fix for macOS environment.
Release 1.0.0
v1.0.0 Released
A QR code & Barcode Scanner for React Native Projects.
For React Native developers that need to scan barcodes and QR codes in their apps, this package is a useful resource. It supports React Native's new Fabric Native architecture and was created in Kotlin and Objective-C.
With this package, users can quickly and easily scan barcodes and QR codes with their device's camera. Using this package, several types of codes can be scanned, and it is simple to use.
If you want to provide your React Native app the ability to read barcodes and QR codes, you should definitely give this package some thought.