exiftool-vendored 34.3.0 โ 35.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/CLAUDE.md +1 -1
- package/README.md +6 -6
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -35,6 +35,22 @@ vendored versions of ExifTool match the version that they vendor.
|
|
|
35
35
|
|
|
36
36
|
## History
|
|
37
37
|
|
|
38
|
+
### v35.0.0
|
|
39
|
+
|
|
40
|
+
- ๐ **BREAKING**: Upgraded to [batch-cluster v17](https://github.com/photostructure/batch-cluster.js/releases/tag/v17.0.0), which changes process cleanup behavior.
|
|
41
|
+
|
|
42
|
+
**Previously**, even though child processes were unreferenced, the stdio streams kept the parent Node.js process alive, requiring explicit `.end()` calls.
|
|
43
|
+
|
|
44
|
+
**Now**, stdio streams are unreferenced by default, so scripts can exit naturally without calling `.end()`. Child processes are cleaned up automatically when the parent exits.
|
|
45
|
+
|
|
46
|
+
To restore the previous behavior (parent process stays alive until `.end()` is called):
|
|
47
|
+
|
|
48
|
+
```typescript
|
|
49
|
+
new ExifTool({ unrefStreams: false });
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Fixes [#319](https://github.com/photostructure/exiftool-vendored.js/discussions/319).
|
|
53
|
+
|
|
38
54
|
### v34.3.0
|
|
39
55
|
|
|
40
56
|
- ๐ Add support for colon-less timezone offsets (`2025:04:27 19:47:08-0300`). Thanks for the [report](https://github.com/photostructure/exiftool-vendored.js/issues/318), [@dosten](https://github.com/dosten)!
|
package/CLAUDE.md
CHANGED
|
@@ -53,7 +53,7 @@ npm run release # Run release process (requires proper permissions)
|
|
|
53
53
|
## Important Notes
|
|
54
54
|
|
|
55
55
|
- Always run `npm run compile` before testing
|
|
56
|
-
-
|
|
56
|
+
- As of v35, `.end()` is optional for scripts (Node.js exits naturally), but recommended for long-running apps
|
|
57
57
|
- Tag interfaces not comprehensive - less common tags may exist in returned objects
|
|
58
58
|
- Uses batch processing with automatic process pool management
|
|
59
59
|
- TypeScript union type limits require careful tag selection
|
package/README.md
CHANGED
|
@@ -192,16 +192,16 @@ if (dt instanceof ExifDateTime) {
|
|
|
192
192
|
|
|
193
193
|
### ๐งน Resource Cleanup
|
|
194
194
|
|
|
195
|
-
**
|
|
195
|
+
As of v35, **Node.js will exit naturally** without calling `.end()` โ child processes are cleaned up automatically when the parent exits.
|
|
196
|
+
|
|
197
|
+
For **long-running applications** (servers, daemons), calling `.end()` is still recommended for graceful shutdown:
|
|
196
198
|
|
|
197
199
|
```javascript
|
|
198
200
|
import { exiftool } from "exiftool-vendored";
|
|
199
201
|
|
|
200
|
-
//
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
// Clean up when done
|
|
204
|
-
process.on("beforeExit", () => exiftool.end());
|
|
202
|
+
// For servers/daemons: graceful shutdown on termination signals
|
|
203
|
+
process.on("SIGINT", () => exiftool.end());
|
|
204
|
+
process.on("SIGTERM", () => exiftool.end());
|
|
205
205
|
```
|
|
206
206
|
|
|
207
207
|
#### Automatic Cleanup with Disposable Interfaces
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "exiftool-vendored",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "35.0.0",
|
|
4
4
|
"description": "Efficient, cross-platform access to ExifTool",
|
|
5
5
|
"main": "./dist/ExifTool.js",
|
|
6
6
|
"types": "./dist/ExifTool.d.ts",
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
"eslint-plugin-regexp": "^2.10.0",
|
|
121
121
|
"extract-zip": "^2.0.1",
|
|
122
122
|
"geo-tz": "^8.1.4",
|
|
123
|
-
"globals": "^
|
|
123
|
+
"globals": "^17.0.0",
|
|
124
124
|
"globule": "^1.3.4",
|
|
125
125
|
"mocha": "^11.7.5",
|
|
126
126
|
"npm-check-updates": "^19.2.0",
|
|
@@ -143,7 +143,7 @@
|
|
|
143
143
|
"dependencies": {
|
|
144
144
|
"@photostructure/tz-lookup": "^11.3.0",
|
|
145
145
|
"@types/luxon": "^3.7.1",
|
|
146
|
-
"batch-cluster": "^
|
|
146
|
+
"batch-cluster": "^17.0.0",
|
|
147
147
|
"he": "^1.2.0",
|
|
148
148
|
"luxon": "^3.7.2"
|
|
149
149
|
},
|