Skip to content

Commit 6c89a6b

Browse files
committed
feat(go): add automated FFI library installer
Add install command that automatically downloads the correct FFI library for the user's platform from GitHub releases, eliminating manual setup: - Supports macOS ARM64, Linux x86_64/ARM64, and Windows x86_64 - Validates semver version format to prevent URL manipulation - Implements path traversal protection and decompression bomb prevention - Uses HTTP timeout and proper resource cleanup - Outputs platform-specific CGO flags needed to build Usage: go run github.com/kreuzberg-dev/kreuzberg/packages/go/v4/cmd/install@latest Closes #281
1 parent a8c25c2 commit 6c89a6b

File tree

64 files changed

+551
-153
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+551
-153
lines changed

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
---
99

10+
## [4.0.5] - 2026-01-14
11+
12+
### Added
13+
14+
#### Go Module
15+
- **Automated FFI library installer**: New install command automatically downloads the correct FFI library for your platform from GitHub releases ([#281](https://github.com/kreuzberg-dev/kreuzberg/issues/281))
16+
- Run `go run github.com/kreuzberg-dev/kreuzberg/packages/go/v4/cmd/install@latest` to install
17+
- Supports macOS ARM64, Linux x86_64/ARM64, and Windows x86_64
18+
- Outputs platform-specific CGO flags needed to build
19+
- Eliminates manual download and configuration steps
20+
- Security hardened: semver validation, path traversal protection, decompression bomb prevention, HTTP timeout
21+
22+
---
23+
1024
## [4.0.4] - 2026-01-13
1125

1226
### Fixed

Cargo.lock

Lines changed: 17 additions & 30 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ kreuzberg = { path = "crates/kreuzberg" }
2222
kreuzberg-tesseract = { path = "crates/kreuzberg-tesseract" }
2323

2424
[workspace.package]
25-
version = "4.0.4"
25+
version = "4.0.5"
2626
edition = "2024"
2727
rust-version = "1.91"
2828
authors = ["Na'aman Hirschfeld <nhirschfeld@gmail.com>"]

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "kreuzberg/kreuzberg",
33
"description": "High-performance document intelligence for PHP. Extract text, metadata, and structured information from PDFs, Office documents, images, and 56 formats. Powered by Rust core for 10-50x speed improvements.",
4-
"version": "4.0.4",
4+
"version": "4.0.5",
55
"type": "php-ext",
66
"license": "MIT",
77
"keywords": [

crates/kreuzberg-node/npm/darwin-arm64/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@kreuzberg/node-darwin-arm64",
3-
"version": "4.0.4",
3+
"version": "4.0.5",
44
"cpu": [
55
"arm64"
66
],

crates/kreuzberg-node/npm/darwin-x64/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@kreuzberg/node-darwin-x64",
3-
"version": "4.0.4",
3+
"version": "4.0.5",
44
"cpu": [
55
"x64"
66
],

crates/kreuzberg-node/npm/linux-arm-gnueabihf/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@kreuzberg/node-linux-arm-gnueabihf",
3-
"version": "4.0.4",
3+
"version": "4.0.5",
44
"cpu": [
55
"arm"
66
],

crates/kreuzberg-node/npm/linux-arm64-gnu/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@kreuzberg/node-linux-arm64-gnu",
3-
"version": "4.0.4",
3+
"version": "4.0.5",
44
"cpu": [
55
"arm64"
66
],

crates/kreuzberg-node/npm/linux-x64-gnu/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@kreuzberg/node-linux-x64-gnu",
3-
"version": "4.0.4",
3+
"version": "4.0.5",
44
"cpu": [
55
"x64"
66
],

crates/kreuzberg-node/npm/win32-arm64-msvc/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@kreuzberg/node-win32-arm64-msvc",
3-
"version": "4.0.4",
3+
"version": "4.0.5",
44
"cpu": [
55
"arm64"
66
],

0 commit comments

Comments
 (0)