# Tesseract.js changelog > OCR in the browser and Node, as a WebAssembly port of Tesseract. - Vendor: naptha - Category: AI - Official site: https://tesseract.projectnaptha.com - Tracked by: What's New (https://whatsnew.fyi/product/tesseract-js) - Harvested from: GitHub (naptha/tesseract.js) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## Releases ### v7.0.0 - Date: 2025-12-15 - Version: v7.0.0 - Original notes: https://github.com/naptha/tesseract.js/releases/tag/v7.0.0 - Permalink: https://whatsnew.fyi/product/tesseract-js/releases/v7.0.0 - **added** — A new relaxedsimd build that takes advantage of the latest WASM and hardware capabilities - **changed** — Significant improvements to recognition speed, with runtimes reduced by approximately 15-35% depending on device and use-case - **removed** — Dropped support for Node.js v14 ##### What's Changed * Significant improvements to recognition speed (by @fanchenkong1 in https://github.com/naptha/tesseract.js/pull/1039) * A new `relaxedsimd` build takes advantage of the latest WASM and hardware capabilities. * Upgrading from v6 to v7 reduces runtimes by ~15-35% (depending on device and use-case). The highest uplifts are currently seen on the latest Intel processors. * Dropped support for Node.js v14. * Various minor changes ##### New Contributors * @hata6502 made their first contribution in https://github.com/naptha/tesseract.js/pull/1035 * @fanchenkong1 made their first contribution in https://github.com/naptha/tesseract.js/pull/1039 **Full Changelog**: https://github.com/naptha/tesseract.js/compare/v6.0.1...v7.0.0 ### v6.0.1 - Date: 2025-04-07 - Version: v6.0.1 - Original notes: https://github.com/naptha/tesseract.js/releases/tag/v6.0.1 - Permalink: https://whatsnew.fyi/product/tesseract-js/releases/v6.0.1 - **changed** — Switched from using node-fetch to using built-in fetch implementation for Node.js v18 and newer - **fixed** — Resolve dependency-related warning message ##### What's Changed * Switched from using `node-fetch` to using built-in `fetch` implementation for Node.js v18 and newer. - This resolves a nuisance dependency-related warning message reported in #876 * Various minor updates **Full Changelog**: https://github.com/naptha/tesseract.js/compare/v6.0.0...v6.0.1 ### v6.0.0 - Date: 2025-01-07 - Version: v6.0.0 - Original notes: https://github.com/naptha/tesseract.js/releases/tag/v6.0.0 - Permalink: https://whatsnew.fyi/product/tesseract-js/releases/v6.0.0 - **fixed** — Fixed memory leaks that caused memory to rise over time and eventually lead to crashes - **changed** — Reduced runtime and memory usage for most users by updating default formats - **fixed** — Fixed compatibility with Electron main process - **fixed** — Fixed bug where user-provided parameters were overwritten by defaults - **changed** — All output formats other than text are now disabled by default - **changed** — The JavaScript object output format (blocks) now returns only the array of blocks instead of automatically generating lists of words and symbols - **changed** — Only text-based blocks are reported, non-text blocks are no longer automatically reported - **changed** — The shape of some block objects was changed, with main properties text and bbox remaining unchanged - **removed** — Removed previously deprecated functions including worker.initialize and worker.loadLanguage ##### What's Changed - Fixed memory leaks (#977) - This version fixed a long-standing issue where memory would rise over time, eventually leading to a crash. - Reduced runtime and memory usage for most users by updating default formats (#916). - Fixed compatibility with Electron main process (#925) - Fixed bug where user-provided parameters were overwritten by defaults (#975). ###### Breaking Changes 1. All outputs formats other than `text` are now disabled by default. - To re-enable the `hocr` output (for example), set the following: `worker.recognize(image, {}, { hocr: true })` - See [here](https://github.com/naptha/tesseract.js/blob/c75a380171e2df87e045808cbc16359a6959f08f/src/index.d.ts#L75-L89) for a list of possible output formats. 1. The JavaScript object output format (`blocks`) was tweaked. - Only the array of blocks (`blocks`) is returned. - Previous versions would automatically generate lists of every unit of text (`words`, `symbols`, etc.). - If needed, these should now be generated by the user. - Only text-based blocks are reported. - Previous versions reported non-text blocks when detected by Tesseract (e.g. line segments). - The shape of some objects were changed. - See the [type declarations](https://github.com/naptha/tesseract.js/blob/master/src/index.d.ts) for reference on properties. - The main properties--`text` and `bbox`--are unchanged. 1. Various functions and options marked as depreciated previously have been removed. 1. This includes `worker.initialize` and `worker.loadLanguage`, along with several depreciated options from v2. See #993 for additional discussion about this release. ##### New Contributors * @IgorAufricht made their first contribution in https://github.com/naptha/tesseract.js/pull/971 **Full Changelog**: https://github.com/naptha/tesseract.js/compare/v5.1.1...v6.0.0 ### v5.1.1 - Date: 2024-08-24 - Version: v5.1.1 - Original notes: https://github.com/naptha/tesseract.js/releases/tag/v5.1.1 - Permalink: https://whatsnew.fyi/product/tesseract-js/releases/v5.1.1 - **fixed** — Bug where incorrect language data was loaded when oem is 2 - **fixed** — Bug where boolean values in blocks output format would always be false ##### What's Changed * Fixed bug where incorrect language data was loaded when `oem` is `2` (#938) * Fixed bug where boolean values in `blocks` output format would always be `false` (#907) **Full Changelog**: https://github.com/naptha/tesseract.js/compare/v5.1.0...v5.1.1 ### v5.1.0 - Date: 2024-05-07 - Version: v5.1.0 - Original notes: https://github.com/naptha/tesseract.js/releases/tag/v5.1.0 - Permalink: https://whatsnew.fyi/product/tesseract-js/releases/v5.1.0 - **added** — Add line size metrics to blocks output including rowAttributes property with ascenders, descenders, and row_height metrics on line objects ##### What's Changed * Added line size metrics to `blocks` output (#906) * `line` objects now include a property named `rowAttributes`, which is an object containing `ascenders`, `descenders`, and `row_height` metrics * These metrics allow for manual font size calculations that are more accurate than using the `font_size` property. * Updates to documentation, types, and dependencies ##### New Contributors * @Kishlay-notabot made their first contribution in https://github.com/naptha/tesseract.js/pull/896 * @k-nero made their first contribution in https://github.com/naptha/tesseract.js/pull/922 **Full Changelog**: https://github.com/naptha/tesseract.js/compare/v5.0.5...v5.1.0 ### v5.0.5 - Date: 2024-02-26 - Version: v5.0.5 - Original notes: https://github.com/naptha/tesseract.js/releases/tag/v5.0.5 - Permalink: https://whatsnew.fyi/product/tesseract-js/releases/v5.0.5 - **fixed** — Fixed bug triggered by running worker.recognize while a previous call to worker.recognize is still running - **fixed** — Fixed bug with rotateAuto option unnecessarily inflating runtime - **changed** — Minor fixes to documentation and types ##### What's Changed * Fixed bug triggered by running `worker.recognize` while a previous call to `worker.recognize` is still running (#875) * Sending multiple jobs to the same worker at the same time is still not recommended. * Instead, [schedulers](https://github.com/naptha/tesseract.js/blob/master/docs/workers_vs_schedulers.md) should be used to coordinate running jobs in parallel (see [this example](https://github.com/naptha/tesseract.js/blob/master/examples/browser/basic-scheduler.html)) * Fixed bug with `rotateAuto` option unnecessarily inflating runtime (#892) * Minor fixes to documentation and types **Full Changelog**: https://github.com/naptha/tesseract.js/compare/v5.0.4...v5.0.5 ### v5.0.4 - Date: 2023-12-24 - Version: v5.0.4 - Original notes: https://github.com/naptha/tesseract.js/releases/tag/v5.0.4 - Permalink: https://whatsnew.fyi/product/tesseract-js/releases/v5.0.4 - **fixed** — Support for setting "init only" parameters using the config option of createWorker, such as load_number_dawg ##### What's Changed * Fixed support for setting "init only" parameters using `config` option of `createWorker` (#862) - For example, `load_number_dawg` is an "init only" parameter that cannot be set using either `worker.setParameters` or the `options` argument of `worker.recognize`. - However, `load_number_dawg` can be set by the following `createWorker` statement. - `createWorker('eng', "0", {}, {load_number_dawg: "0"});` * Improvements to documentation ##### New Contributors * @rnwst made their first contribution in https://github.com/naptha/tesseract.js/pull/852 **Full Changelog**: https://github.com/naptha/tesseract.js/compare/v5.0.3...v5.0.4 ### v5.0.3 - Date: 2023-10-30 - Version: v5.0.3 - Original notes: https://github.com/naptha/tesseract.js/releases/tag/v5.0.3 - Permalink: https://whatsnew.fyi/product/tesseract-js/releases/v5.0.3 - **changed** — Minor changes to types, documentation, and build ##### What's Changed * Minor changes to types, documentation, and build ##### New Contributors * @dora-micha made their first contribution in https://github.com/naptha/tesseract.js/pull/843 **Full Changelog**: https://github.com/naptha/tesseract.js/compare/v5.0.2...v5.0.3 ### v5.0.2 - Date: 2023-10-03 - Version: v5.0.2 - Original notes: https://github.com/naptha/tesseract.js/releases/tag/v5.0.2 - Permalink: https://whatsnew.fyi/product/tesseract-js/releases/v5.0.2 - **fixed** — Fixed bugs with wrong lang data being loaded ##### What's Changed * Fixed bugs with wrong lang data being loaded per #834 and #835 by @Balearica in https://github.com/naptha/tesseract.js/pull/836 Version `5.0.1` is nearly identical to `5.0.2` and was the latest version for under a day, so does not have its own release notes. **Full Changelog**: https://github.com/naptha/tesseract.js/compare/v5.0.0...v5.0.2 ### v5.0.0 - Date: 2023-09-28 - Version: v5.0.0 - Original notes: https://github.com/naptha/tesseract.js/releases/tag/v5.0.0 - Permalink: https://whatsnew.fyi/product/tesseract-js/releases/v5.0.0 - **changed** — File sizes reduced by 54% for English and 73% for Chinese - **changed** — Worker memory utilization reduced from 311 MB to 164 MB (47% reduction) - **fixed** — Made compatible with iOS 17 - **changed** — Language and OEM arguments now set in createWorker instead of loadLanguage and initialize - **changed** — worker.initialize and worker.loadLanguage functions now do nothing - **added** — worker.reinitialize function to reinitialize workers with different settings - **changed** — corePath directory must now contain all 4 core files (tesseract-core.wasm.js, tesseract-core-simd.wasm.js, tesseract-core-lstm.wasm.js, tesseract-core-simd-lstm.wasm.js) - **changed** — worker.detect function disabled by default, requiring legacyCore and legacyLang options to enable - **changed** — Language data loaded from jsdelivr by default instead of GitHub pages - **removed** — Separate development build that produced tesseract.dev.js and worker.dev.js ##### What's Changed ##### Major New Features 1. **Significantly** smaller file sizes 1. 54% smaller file sizes for English, 73% smaller for Chinese (see #806 for details) 2. This results in a **~50% decrease** in runtime for first-time users (who do not yet have the data downloaded/cached) 1. Significantly lower memory usage 1. Worker memory utilization in the [web benchmark](https://github.com/naptha/tesseract.js/blob/dev/v5/benchmarks/browser/speed-benchmark.html) is reduced from 311 MB to 164 MB (47% reduction) 2. The lower memory footprint makes it feasible to use more workers, significantly improving performance for projects that utilize [schedulers](https://github.com/naptha/tesseract.js/blob/master/docs/intro.md) for parallel processing 1. Compatible with iOS 17 (using default settings) 1. iOS 17 broke compatibility with Tesseract.js v4--upgrading to v5 should resolve 1. See discussion section below for details ##### Breaking Changes Impacting Many Users 1. `createWorker` arguments changed 1. Setting non-default language and OEM now happens in `createWorker` 1. E.g. `createWorker("chi_sim", 1)` 1. `worker.initialize` and `worker.loadLanguage` functions now do nothing and can be deleted from code 1. Loading the language and initialization now occurs in `createWorker` 4. Workers can be re-initialized with different settings using `worker.reinitialize` In other words, code should be modified from this: ``` const worker = await Tesseract.createWorker(); await worker.loadLanguage('eng'); await worker.initialize('eng'); const ret = await worker.recognize(file); ``` To this: ``` const worker = await Tesseract.createWorker("eng"); const ret = await worker.recognize(file); ``` ##### Breaking Changes Impacting Fewer Users 1. Users who manually set `corePath` will need to update the contents of their `corePath` directory 1. `corePath` should point to a directory that contains **all 4** of the files below from Tesseract.js-core v5: 1. `tesseract-core.wasm.js` 2. `tesseract-core-simd.wasm.js` 3. `tesseract-core-lstm.wasm.js` 4. `tesseract-core-simd-lstm.wasm.js` 1. Tesseract.js will automatically select the correct version to use 1. `worker.detect` function disabled by default 1. Orientation + script detection is a function of the Legacy model only, which is no longer included by default 6. To enable, set arguments `legacyCore: true` and `legacyLang: true` in `createWorker` options 1. E.g. `Tesseract.createWorker("eng", 1, {legacyCore: true, legacyLang: true});` 1. Language of progress logs standardized 1. This should only impact users who parse status logs (e.g. to update a loading bar) ##### Non-Breaking Changes 1. Language data loaded from `jsdelivr` by default (rather than GitHub pages) 1. This should result in improved performance and uptime 1. Separate "development" build (that produced `tesseract.dev.js` and `worker.dev.js` removed 1. Documentation and examples were modified to prevent new users from using `Tesseract.recognize` and `Tesseract.detect` 1. Users who already use these functions are encouraged to modify their code to use `worker.recognize` and `worker.detect` instead Considering upgrading from v2 to v5? See #771 for a full guide for updating. **Full Changelog**: https://github.com/naptha/tesseract.js/compare/v4.1.3...v5.0.0