Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FlatBuffers Version 22.9.24 #7547

Merged
merged 2 commits into from Sep 27, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
50 changes: 36 additions & 14 deletions CHANGELOG.md
Expand Up @@ -4,33 +4,55 @@ All major or breaking changes will be documented in this file, as well as any
new features that should be highlighted. Minor fixes or improvements are not
necessarily listed.

## 22.9.24 (Sept 24 2022)

* 20 Major releases in a row? Nope, we switched to a new
[versioning scheme](https://github.com/google/flatbuffers/wiki/Versioning)
that is based on date.

* Python supports fixed size arrays now (#7529).

* Behavior change in how C++ object API uses `UnPackTo`. The original intent of
this was to reduce allocations by reusing an existing object to pack data
into. At some point, this logic started to merge the states of the two objects
instead of clearing the state of the packee. This change goes back to the
original intention, the packed object is cleared when getting data packed into
it (#7527).

* Fixed a bug in C++ alignment that was using `sizeof()` instead of the intended
`AlignOf()` for structs (#7520).

* C# has an
[offical Nuget package](https://www.nuget.org/packages/Google.FlatBuffers) now
(#7496).

## 2.0.8 (Aug 29 2022)

* Fix for `--keep-prefix` the was generating the wrong include statements for
C++ (#7469). The bug was introduced in 2.0.7.
C++ (#7469). The bug was introduced in 2.0.7.

* Added the `Verifier::Options` option struct to allow specifying runtime
configuration settings for the verifier (#7489). This allows to skip verifying
nested flatbuffers, a on-by-default change that was introduced in 2.0.7. This
deprecates the existing `Verifier` constructor, which may be removed in a future
version.
configuration settings for the verifier (#7489). This allows to skip verifying
nested flatbuffers, a on-by-default change that was introduced in 2.0.7. This
deprecates the existing `Verifier` constructor, which may be removed in a
future version.

* Refactor of `tests/test.cpp` that lead to ~10% speedup in compilation of the
entire project (#7487).
entire project (#7487).

## 2.0.7 (Aug 22 2022)

* This is the first version with an explicit change log, so all the previous
features will not be listed.
features will not be listed.

* Verifier now checks that buffers are at least the minimum size required to be
a flatbuffers (12 bytes). This includes nested flatbuffers, which previously
could be declared valid at size 0.
a flatbuffers (12 bytes). This includes nested flatbuffers, which previously
could be declared valid at size 0.

* Annotated binaries. Given a flatbuffer binary and a schema (or binary schema)
one can generate an annotated flatbuffer (.afb) to describe each byte in the
binary with schema metadata and value.
one can generate an annotated flatbuffer (.afb) to describe each byte in the
binary with schema metadata and value.

* First binary schema generator (Lua) to generate Lua code via a .bfbs file.
This is mostly an implementation detail of flatc internals, but will be slowly
applied to the other language generators.
* First binary schema generator (Lua) to generate Lua code via a .bfbs file.
This is mostly an implementation detail of flatc internals, but will be slowly
applied to the other language generators.
6 changes: 3 additions & 3 deletions CMake/Version.cmake
@@ -1,6 +1,6 @@
set(VERSION_MAJOR 2)
set(VERSION_MINOR 0)
set(VERSION_PATCH 8)
set(VERSION_MAJOR 22)
set(VERSION_MINOR 9)
set(VERSION_PATCH 24)
set(VERSION_COMMIT 0)

find_program(GIT git)
Expand Down
2 changes: 1 addition & 1 deletion android/app/src/main/java/generated/com/fbs/app/Animal.kt
Expand Up @@ -36,7 +36,7 @@ class Animal : Table() {
return if(o != 0) bb.getShort(o + bb_pos).toUShort() else 0u
}
companion object {
fun validateVersion() = Constants.FLATBUFFERS_2_0_8()
fun validateVersion() = Constants.FLATBUFFERS_22_9_24()
fun getRootAsAnimal(_bb: ByteBuffer): Animal = getRootAsAnimal(_bb, Animal())
fun getRootAsAnimal(_bb: ByteBuffer, obj: Animal): Animal {
_bb.order(ByteOrder.LITTLE_ENDIAN)
Expand Down
2 changes: 1 addition & 1 deletion dart/pubspec.yaml
@@ -1,5 +1,5 @@
name: flat_buffers
version: 2.0.8
version: 22.9.24
description: FlatBuffers reading and writing library for Dart. Based on original work by Konstantin Scheglov and Paul Berry of the Dart SDK team.
homepage: https://github.com/google/flatbuffers
documentation: https://google.github.io/flatbuffers/index.html
Expand Down
Expand Up @@ -6,7 +6,7 @@ import FlatBuffers

public struct models_HelloReply: FlatBufferObject, Verifiable {

static func validateVersion() { FlatBuffersVersion_2_0_8() }
static func validateVersion() { FlatBuffersVersion_22_9_24() }
public var __buffer: ByteBuffer! { return _accessor.bb }
private var _accessor: Table

Expand Down Expand Up @@ -55,7 +55,7 @@ extension models_HelloReply: Encodable {

public struct models_HelloRequest: FlatBufferObject, Verifiable {

static func validateVersion() { FlatBuffersVersion_2_0_8() }
static func validateVersion() { FlatBuffersVersion_22_9_24() }
public var __buffer: ByteBuffer! { return _accessor.bb }
private var _accessor: Table

Expand Down
6 changes: 3 additions & 3 deletions include/flatbuffers/base.h
Expand Up @@ -138,9 +138,9 @@
#endif
#endif // !defined(FLATBUFFERS_LITTLEENDIAN)

#define FLATBUFFERS_VERSION_MAJOR 2
#define FLATBUFFERS_VERSION_MINOR 0
#define FLATBUFFERS_VERSION_REVISION 8
#define FLATBUFFERS_VERSION_MAJOR 22
#define FLATBUFFERS_VERSION_MINOR 9
#define FLATBUFFERS_VERSION_REVISION 24
#define FLATBUFFERS_STRING_EXPAND(X) #X
#define FLATBUFFERS_STRING(X) FLATBUFFERS_STRING_EXPAND(X)
namespace flatbuffers {
Expand Down
6 changes: 3 additions & 3 deletions include/flatbuffers/reflection_generated.h
Expand Up @@ -8,9 +8,9 @@

// Ensure the included flatbuffers.h is the same version as when this file was
// generated, otherwise it may not be compatible.
static_assert(FLATBUFFERS_VERSION_MAJOR == 2 &&
FLATBUFFERS_VERSION_MINOR == 0 &&
FLATBUFFERS_VERSION_REVISION == 8,
static_assert(FLATBUFFERS_VERSION_MAJOR == 22 &&
FLATBUFFERS_VERSION_MINOR == 9 &&
FLATBUFFERS_VERSION_REVISION == 24,
"Non-compatible flatbuffers version included");

namespace reflection {
Expand Down
2 changes: 1 addition & 1 deletion java/pom.xml
Expand Up @@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.google.flatbuffers</groupId>
<artifactId>flatbuffers-java</artifactId>
<version>2.0.8</version>
<version>22.9.24</version>
<packaging>bundle</packaging>
<name>FlatBuffers Java API</name>
<description>
Expand Down
2 changes: 1 addition & 1 deletion java/src/main/java/com/google/flatbuffers/Constants.java
Expand Up @@ -46,7 +46,7 @@ public class Constants {
Changes to the Java implementation need to be sure to change
the version here and in the code generator on every possible
incompatible change */
public static void FLATBUFFERS_2_0_8() {}
public static void FLATBUFFERS_22_9_24() {}
}

/// @endcond
2 changes: 1 addition & 1 deletion net/FlatBuffers/FlatBufferConstants.cs
Expand Up @@ -32,6 +32,6 @@ public static class FlatBufferConstants
Changes to the C# implementation need to be sure to change
the version here and in the code generator on every possible
incompatible change */
public static void FLATBUFFERS_2_0_8() {}
public static void FLATBUFFERS_22_9_24() {}
}
}
2 changes: 1 addition & 1 deletion net/FlatBuffers/Google.FlatBuffers.csproj
Expand Up @@ -3,7 +3,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.1;netstandard2.0;net46</TargetFrameworks>
<Description>A cross-platform memory efficient serialization library</Description>
<PackageVersion>2.0.8-beta.1</PackageVersion>
<PackageVersion>22.9.24</PackageVersion>
<Authors>Google LLC</Authors>
<PackageProjectUrl>https://github.com/google/flatbuffers</PackageProjectUrl>
<RepositoryUrl>https://github.com/google/flatbuffers</RepositoryUrl>
Expand Down
2 changes: 1 addition & 1 deletion package.json
@@ -1,6 +1,6 @@
{
"name": "flatbuffers",
"version": "2.0.8",
"version": "22.9.24",
"description": "Memory Efficient Serialization Library",
"files": [
"js/**/*.js",
Expand Down
2 changes: 1 addition & 1 deletion python/flatbuffers/_version.py
Expand Up @@ -14,4 +14,4 @@

# Placeholder, to be updated during the release process
# by the setup.py
__version__ = u"2.0.8"
__version__ = u"22.9.24"
6 changes: 3 additions & 3 deletions samples/monster_generated.h
Expand Up @@ -8,9 +8,9 @@

// Ensure the included flatbuffers.h is the same version as when this file was
// generated, otherwise it may not be compatible.
static_assert(FLATBUFFERS_VERSION_MAJOR == 2 &&
FLATBUFFERS_VERSION_MINOR == 0 &&
FLATBUFFERS_VERSION_REVISION == 8,
static_assert(FLATBUFFERS_VERSION_MAJOR == 22 &&
FLATBUFFERS_VERSION_MINOR == 9 &&
FLATBUFFERS_VERSION_REVISION == 24,
"Non-compatible flatbuffers version included");

namespace MyGame {
Expand Down
8 changes: 4 additions & 4 deletions samples/monster_generated.swift
Expand Up @@ -31,7 +31,7 @@ public enum MyGame_Sample_Equipment: UInt8, Enum {

public struct MyGame_Sample_Vec3: NativeStruct {

static func validateVersion() { FlatBuffersVersion_2_0_8() }
static func validateVersion() { FlatBuffersVersion_22_9_24() }

private var _x: Float32
private var _y: Float32
Expand All @@ -56,7 +56,7 @@ public struct MyGame_Sample_Vec3: NativeStruct {

public struct MyGame_Sample_Vec3_Mutable: FlatBufferObject {

static func validateVersion() { FlatBuffersVersion_2_0_8() }
static func validateVersion() { FlatBuffersVersion_22_9_24() }
public var __buffer: ByteBuffer! { return _accessor.bb }
private var _accessor: Struct

Expand All @@ -72,7 +72,7 @@ public struct MyGame_Sample_Vec3_Mutable: FlatBufferObject {

public struct MyGame_Sample_Monster: FlatBufferObject {

static func validateVersion() { FlatBuffersVersion_2_0_8() }
static func validateVersion() { FlatBuffersVersion_22_9_24() }
public var __buffer: ByteBuffer! { return _accessor.bb }
private var _accessor: Table

Expand Down Expand Up @@ -162,7 +162,7 @@ public struct MyGame_Sample_Monster: FlatBufferObject {

public struct MyGame_Sample_Weapon: FlatBufferObject {

static func validateVersion() { FlatBuffersVersion_2_0_8() }
static func validateVersion() { FlatBuffersVersion_22_9_24() }
public var __buffer: ByteBuffer! { return _accessor.bb }
private var _accessor: Table

Expand Down
2 changes: 1 addition & 1 deletion src/idl_gen_csharp.cpp
Expand Up @@ -655,7 +655,7 @@ class CSharpGenerator : public BaseGenerator {
// Force compile time error if not using the same version runtime.
code += " public static void ValidateVersion() {";
code += " FlatBufferConstants.";
code += "FLATBUFFERS_2_0_8(); ";
code += "FLATBUFFERS_22_9_24(); ";
code += "}\n";

// Generate a special accessor for the table that when used as the root
Expand Down
2 changes: 1 addition & 1 deletion src/idl_gen_java.cpp
Expand Up @@ -665,7 +665,7 @@ class JavaGenerator : public BaseGenerator {
// Force compile time error if not using the same version runtime.
code += " public static void ValidateVersion() {";
code += " Constants.";
code += "FLATBUFFERS_2_0_8(); ";
code += "FLATBUFFERS_22_9_24(); ";
code += "}\n";

// Generate a special accessor for the table that when used as the root
Expand Down
2 changes: 1 addition & 1 deletion src/idl_gen_kotlin.cpp
Expand Up @@ -505,7 +505,7 @@ class KotlinGenerator : public BaseGenerator {
// runtime.
GenerateFunOneLine(
writer, "validateVersion", "", "",
[&]() { writer += "Constants.FLATBUFFERS_2_0_8()"; },
[&]() { writer += "Constants.FLATBUFFERS_22_9_24()"; },
options.gen_jvmstatic);

GenerateGetRootAsAccessors(namer_.Type(struct_def), writer, options);
Expand Down
2 changes: 1 addition & 1 deletion src/idl_gen_swift.cpp
Expand Up @@ -1874,7 +1874,7 @@ class SwiftGenerator : public BaseGenerator {
}

std::string ValidateFunc() {
return "static func validateVersion() { FlatBuffersVersion_2_0_8() }";
return "static func validateVersion() { FlatBuffersVersion_22_9_24() }";
}

std::string GenType(const Type &type,
Expand Down
2 changes: 1 addition & 1 deletion swift/FlatBuffers.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'FlatBuffers'
s.version = '2.0.8'
s.version = '22.9.24'
s.summary = 'FlatBuffers: Memory Efficient Serialization Library'

s.description = "FlatBuffers is a cross platform serialization library architected for
Expand Down
2 changes: 1 addition & 1 deletion swift/Sources/FlatBuffers/Constants.swift
Expand Up @@ -119,4 +119,4 @@ extension UInt64: Scalar, Verifiable {
public typealias NumericValue = UInt64
}

public func FlatBuffersVersion_2_0_8() {}
public func FlatBuffersVersion_22_9_24() {}
2 changes: 1 addition & 1 deletion tests/DictionaryLookup/LongFloatEntry.java
Expand Up @@ -9,7 +9,7 @@

@SuppressWarnings("unused")
public final class LongFloatEntry extends Table {
public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_8(); }
public static void ValidateVersion() { Constants.FLATBUFFERS_22_9_24(); }
public static LongFloatEntry getRootAsLongFloatEntry(ByteBuffer _bb) { return getRootAsLongFloatEntry(_bb, new LongFloatEntry()); }
public static LongFloatEntry getRootAsLongFloatEntry(ByteBuffer _bb, LongFloatEntry obj) { _bb.order(ByteOrder.LITTLE_ENDIAN); return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)); }
public void __init(int _i, ByteBuffer _bb) { __reset(_i, _bb); }
Expand Down
2 changes: 1 addition & 1 deletion tests/DictionaryLookup/LongFloatEntry.kt
Expand Up @@ -32,7 +32,7 @@ class LongFloatEntry : Table() {
return (val_1 - val_2).sign
}
companion object {
fun validateVersion() = Constants.FLATBUFFERS_2_0_8()
fun validateVersion() = Constants.FLATBUFFERS_22_9_24()
fun getRootAsLongFloatEntry(_bb: ByteBuffer): LongFloatEntry = getRootAsLongFloatEntry(_bb, LongFloatEntry())
fun getRootAsLongFloatEntry(_bb: ByteBuffer, obj: LongFloatEntry): LongFloatEntry {
_bb.order(ByteOrder.LITTLE_ENDIAN)
Expand Down
2 changes: 1 addition & 1 deletion tests/DictionaryLookup/LongFloatMap.java
Expand Up @@ -9,7 +9,7 @@

@SuppressWarnings("unused")
public final class LongFloatMap extends Table {
public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_8(); }
public static void ValidateVersion() { Constants.FLATBUFFERS_22_9_24(); }
public static LongFloatMap getRootAsLongFloatMap(ByteBuffer _bb) { return getRootAsLongFloatMap(_bb, new LongFloatMap()); }
public static LongFloatMap getRootAsLongFloatMap(ByteBuffer _bb, LongFloatMap obj) { _bb.order(ByteOrder.LITTLE_ENDIAN); return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)); }
public void __init(int _i, ByteBuffer _bb) { __reset(_i, _bb); }
Expand Down
2 changes: 1 addition & 1 deletion tests/DictionaryLookup/LongFloatMap.kt
Expand Up @@ -46,7 +46,7 @@ class LongFloatMap : Table() {
}
}
companion object {
fun validateVersion() = Constants.FLATBUFFERS_2_0_8()
fun validateVersion() = Constants.FLATBUFFERS_22_9_24()
fun getRootAsLongFloatMap(_bb: ByteBuffer): LongFloatMap = getRootAsLongFloatMap(_bb, LongFloatMap())
fun getRootAsLongFloatMap(_bb: ByteBuffer, obj: LongFloatMap): LongFloatMap {
_bb.order(ByteOrder.LITTLE_ENDIAN)
Expand Down
2 changes: 1 addition & 1 deletion tests/KeywordTest/KeywordsInTable.cs
Expand Up @@ -13,7 +13,7 @@ public struct KeywordsInTable : IFlatbufferObject
{
private Table __p;
public ByteBuffer ByteBuffer { get { return __p.bb; } }
public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_8(); }
public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_22_9_24(); }
public static KeywordsInTable GetRootAsKeywordsInTable(ByteBuffer _bb) { return GetRootAsKeywordsInTable(_bb, new KeywordsInTable()); }
public static KeywordsInTable GetRootAsKeywordsInTable(ByteBuffer _bb, KeywordsInTable obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
Expand Down
2 changes: 1 addition & 1 deletion tests/MyGame/Example/Ability.lua
Expand Up @@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.

flatc version: 2.0.8
flatc version: 22.9.24

Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
Expand Down
2 changes: 1 addition & 1 deletion tests/MyGame/Example/Any.lua
Expand Up @@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.

flatc version: 2.0.8
flatc version: 22.9.24

Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
Expand Down
2 changes: 1 addition & 1 deletion tests/MyGame/Example/AnyAmbiguousAliases.lua
Expand Up @@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.

flatc version: 2.0.8
flatc version: 22.9.24

Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
Expand Down
2 changes: 1 addition & 1 deletion tests/MyGame/Example/AnyUniqueAliases.lua
Expand Up @@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.

flatc version: 2.0.8
flatc version: 22.9.24

Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
Expand Down
2 changes: 1 addition & 1 deletion tests/MyGame/Example/ArrayTable.cs
Expand Up @@ -13,7 +13,7 @@ public struct ArrayTable : IFlatbufferObject
{
private Table __p;
public ByteBuffer ByteBuffer { get { return __p.bb; } }
public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_8(); }
public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_22_9_24(); }
public static ArrayTable GetRootAsArrayTable(ByteBuffer _bb) { return GetRootAsArrayTable(_bb, new ArrayTable()); }
public static ArrayTable GetRootAsArrayTable(ByteBuffer _bb, ArrayTable obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
public static bool ArrayTableBufferHasIdentifier(ByteBuffer _bb) { return Table.__has_identifier(_bb, "ARRT"); }
Expand Down
2 changes: 1 addition & 1 deletion tests/MyGame/Example/ArrayTable.java
Expand Up @@ -9,7 +9,7 @@

@SuppressWarnings("unused")
public final class ArrayTable extends Table {
public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_8(); }
public static void ValidateVersion() { Constants.FLATBUFFERS_22_9_24(); }
public static ArrayTable getRootAsArrayTable(ByteBuffer _bb) { return getRootAsArrayTable(_bb, new ArrayTable()); }
public static ArrayTable getRootAsArrayTable(ByteBuffer _bb, ArrayTable obj) { _bb.order(ByteOrder.LITTLE_ENDIAN); return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)); }
public static boolean ArrayTableBufferHasIdentifier(ByteBuffer _bb) { return __has_identifier(_bb, "ARRT"); }
Expand Down
2 changes: 1 addition & 1 deletion tests/MyGame/Example/Color.lua
Expand Up @@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.

flatc version: 2.0.8
flatc version: 22.9.24

Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
Expand Down