red-flatbuffers 0.0.5 → 0.0.7

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2c388a7a7ba6a2318b786261a7123743677526b5a34df3c59e4b993a010675a3
4
- data.tar.gz: c9ec46d5ce404499554543744592f1229fab5c8b77c62c1d3a54f6a418b89bd7
3
+ metadata.gz: 2ecd36783d84b9cdaf8339a319175cee6707c293ebe1c70c3adeed7471173231
4
+ data.tar.gz: 20963bf01ed0aa0bf27654c34738d6c3c461715de940490c3cceb00489ec14c8
5
5
  SHA512:
6
- metadata.gz: cea0c8051ba65b1248296e4da2985a69cc009ac86fd9a0563206e2665a8ac06c13263b339e91dc8ab2081db7f0e17eeda15b8944afe065f78c8c9792f5b143a5
7
- data.tar.gz: f6b36b62a484acbae0517b3ad3eac16ab481cc509a2895d905a543c90473f289eb27352fe8fe15da7d6ba825af9b7995aefe7a2c46923a34a66ce80e9ccd72fb
6
+ metadata.gz: f914e057a7f61872526be9f24321c60adc0910c0a6ddb5c3792b6221763321a08b2f15449abe5305666865dc4c7abdaedc23a2fac443227aa67b3d0070d0fdc3
7
+ data.tar.gz: e9b2b25c8ef9acc6217913316d0de32c1613f41b1ebe4adff8dbacdad8abbc195755c28c763751050e85b4e32031b05fd9378ceb6297c65851cb1772c523f6de
data/doc/text/news.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # News
2
2
 
3
+ ## 0.0.7 - 2026-03-03
4
+
5
+ ### Improvements
6
+
7
+ * Aligned vector body with 8 byte for FlatCC verification.
8
+
9
+ ## 0.0.6 - 2026-02-25
10
+
11
+ ### Fixes
12
+
13
+ * Added missing alignment of string values.
14
+
3
15
  ## 0.0.5 - 2026-01-19
4
16
 
5
17
  ### Improvements
@@ -120,6 +120,7 @@ module FlatBuffers
120
120
  add_field_array(field, value)
121
121
  when :string
122
122
  align!(@table, View::OFFSET_SIZE)
123
+ align!(@values, View::OFFSET_SIZE)
123
124
  @field_metadata[field] = {
124
125
  inline: false,
125
126
  table_offset: @table.bytesize,
@@ -237,10 +238,20 @@ module FlatBuffers
237
238
 
238
239
  def add_field_array(field, value)
239
240
  align!(@table, View::OFFSET_SIZE)
240
- align!(@values, View::OFFSET_SIZE)
241
+
242
+ # Vector body must be aligned with 8 byte. Vector is
243
+ # serialized as |length|body|. `length` is uoffset_t
244
+ # (uint32_t) and its size is 4 byte. So we need to align
245
+ # `@values` with 8 byte and pad the first 4 byte:
246
+ # |4 byte padding|length (4 byte)|body (8 byte aligned)|
247
+ vector_body_alignment = 8
248
+ vector_length_pack_string = "L<"
249
+ vector_length_size = 4
250
+ align!(@values, vector_body_alignment)
251
+ pad!(@values, vector_body_alignment - vector_length_size)
241
252
  value_offset = @values.bytesize
242
- # The number of elements.
243
- @values.append_as_bytes([value.size].pack("L<"))
253
+ @values.append_as_bytes([value.size].pack(vector_length_pack_string))
254
+
244
255
  element_base_type = field.base_type[0]
245
256
  case element_base_type
246
257
  when String
@@ -260,7 +271,7 @@ module FlatBuffers
260
271
  value.each do |v|
261
272
  sub_table_serializer = TableSerializer.new
262
273
  sub_table_data, sub_table_offset =
263
- klass.serialize(v, sub_table_serializer)
274
+ klass.serialize(v, sub_table_serializer)
264
275
 
265
276
  element_offset = @values.bytesize + sub_table_offset
266
277
  # Update offset placeholder.
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
 
15
15
  module FlatBuffers
16
- VERSION = "0.0.5"
16
+ VERSION = "0.0.7"
17
17
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: red-flatbuffers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sutou Kouhei
@@ -63,7 +63,7 @@ licenses:
63
63
  - Apache-2.0
64
64
  metadata:
65
65
  bug_tracker_uri: https://github.com/red-data-tools/red-flatbuffers/issues
66
- changelog_uri: https://github.com/red-data-tools/red-flatbuffers/releases/tag/0.0.5
66
+ changelog_uri: https://github.com/red-data-tools/red-flatbuffers/releases/tag/0.0.7
67
67
  source_code_uri: https://github.com/red-data-tools/red-flatbuffers
68
68
  rdoc_options: []
69
69
  require_paths: