multi_compress 0.6.0 → 0.6.1

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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/GET_STARTED.md +1 -1
  4. data/README.md +1 -1
  5. data/THIRD_PARTY_NOTICES.md +1 -1
  6. data/ext/multi_compress/multi_compress.c +230 -77
  7. data/ext/multi_compress/vendor/.vendored +1 -1
  8. data/ext/multi_compress/vendor/brotli/c/common/version.h +2 -2
  9. data/ext/multi_compress/vendor/brotli/c/dec/decode.c +59 -30
  10. data/ext/multi_compress/vendor/brotli/c/include/brotli/decode.h +1 -3
  11. data/lib/multi_compress/active_record.rb +11 -5
  12. data/lib/multi_compress/codec.rb +164 -94
  13. data/lib/multi_compress/database/api.rb +42 -0
  14. data/lib/multi_compress/database/decoding.rb +42 -0
  15. data/lib/multi_compress/database/dictionary.rb +72 -0
  16. data/lib/multi_compress/database/encoding.rb +31 -0
  17. data/lib/multi_compress/database/header.rb +71 -0
  18. data/lib/multi_compress/database/operations.rb +73 -0
  19. data/lib/multi_compress/database/validation.rb +95 -0
  20. data/lib/multi_compress/database.rb +10 -282
  21. data/lib/multi_compress/db_deployment/bundle_archiver.rb +70 -0
  22. data/lib/multi_compress/db_deployment/bundle_metadata.rb +56 -0
  23. data/lib/multi_compress/db_deployment/bundle_stager.rb +62 -0
  24. data/lib/multi_compress/db_deployment/commands.rb +309 -0
  25. data/lib/multi_compress/db_deployment/deployment_bundle.rb +80 -0
  26. data/lib/multi_compress/db_deployment/deterministic_tar_writer.rb +76 -0
  27. data/lib/multi_compress/db_deployment/dictionary_registry.rb +244 -0
  28. data/lib/multi_compress/db_deployment/readable_view.rb +112 -0
  29. data/lib/multi_compress/db_deployment/readable_view_options.rb +51 -0
  30. data/lib/multi_compress/db_deployment/sql_identifiers.rb +45 -0
  31. data/lib/multi_compress/db_deployment.rb +10 -844
  32. data/lib/multi_compress/reader/buffer_operations.rb +57 -0
  33. data/lib/multi_compress/reader/read_operations.rb +67 -0
  34. data/lib/multi_compress/reader.rb +97 -0
  35. data/lib/multi_compress/stream_io.rb +13 -0
  36. data/lib/multi_compress/version.rb +1 -1
  37. data/lib/multi_compress/writer.rb +85 -0
  38. data/lib/multi_compress.rb +42 -333
  39. metadata +25 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ebc73c83a9de27fcde1080879572c025a30a3f2bb391313d5c21e56fd558cde3
4
- data.tar.gz: 20a2db05bc0ecafbb399a01275391e5d1c08feafe8fc51f683859463b9c14ff8
3
+ metadata.gz: 4cd5ef825dbbd3c13e3eac0d41eef32f086009a18f37418bdbfed70ba25e21f5
4
+ data.tar.gz: 890a0635d3ea5022175d8bee00525b0fa40587a293df9c3dafe6e0467b5f36b2
5
5
  SHA512:
6
- metadata.gz: aeac010c1419ad5b10919ba1d3e18b2053950555117dffc1075be2ce7b1e6ae9b2a9ff14d2684556a9aa0904ad030f688f4d954cb710692b263e8bb4ca238365
7
- data.tar.gz: 9493318cf1321bbe525a8f65992675ef7b0760bf853192cf04146b8280f32011c925a5576876787849737d26eea7cc807c739ff0d5182c652b939c0150c3bf5b
6
+ metadata.gz: 7226cdc2c0b8e532087dbb85257323d842d2784f3686bca24ce0dfad01f0f8862941480b39c0c0e3155d646caa692b88f8ab5bcd9aac65470ae23cf074af0826
7
+ data.tar.gz: 41ba902f053d2aacd5f4079ab8be9c2eda75987a896f18e352c59f642ee127b67fc53625816a0f6572598cb0968aa62d6c2701deba4bc39c6aaec830540a800f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.6.1]
4
+
5
+ ### Changed
6
+ - Update vendored Brotli to 1.2.1, including the upstream security fix for an
7
+ out-of-bounds write.
8
+ - Refactor Ruby streaming, database, and deployment code into focused modules and
9
+ collaborators without changing the public API.
10
+ - Use a consistent singleton-method style and accessor macros for internal
11
+ configuration and adapter state.
12
+
3
13
  ## [0.6.0]
4
14
 
5
15
  ### Added
data/GET_STARTED.md CHANGED
@@ -681,7 +681,7 @@ MultiCompress.available?(:fake) # => false
681
681
  # Get library versions
682
682
  MultiCompress.version(:zstd) # => "1.5.7"
683
683
  MultiCompress.version(:lz4) # => "1.10.0"
684
- MultiCompress.version(:brotli) # => "1.2.0"
684
+ MultiCompress.version(:brotli) # => "1.2.1"
685
685
  ```
686
686
 
687
687
  ### Data Integrity
data/README.md CHANGED
@@ -9,7 +9,7 @@ Modern compression technology: **zstd**, **lz4**, **brotli** — unified compres
9
9
  Bundled library versions in the current release:
10
10
  - **zstd 1.5.7**
11
11
  - **lz4 1.10.0**
12
- - **brotli 1.2.0**
12
+ - **brotli 1.2.1**
13
13
 
14
14
  📖 **[Get Started →](GET_STARTED.md)** — Complete technology overview, algorithms, and implementation details
15
15
 
@@ -8,7 +8,7 @@ MultiCompress vendors C sources from upstream compression libraries so the gem c
8
8
  |---|---:|---|---|
9
9
  | Zstandard (`zstd`) | 1.5.7 | `lib/` | BSD side of upstream BSD OR GPLv2 licensing |
10
10
  | LZ4 | 1.10.0 | `lib/` | BSD 2-Clause |
11
- | Brotli | 1.2.0 | `c/common`, `c/enc`, `c/dec`, `c/include` | MIT |
11
+ | Brotli | 1.2.1 | `c/common`, `c/enc`, `c/dec`, `c/include` | MIT |
12
12
 
13
13
  ## Notes
14
14