This feature adds a marshaler configuration option to the integration configuration. The default is backwards compatible with the current JSON format. New options are protobuf (Protobuf binary) and json (Protobuf based JSON).
RPM packaging
This is the first release providing .rpm packages for CentOS and RedHat. (#383
Improvements
gRPC / Protobuf cleanup
All definitions are now imported from github.com/brocaar/chirpstack-api/go. When using the gRPC API, you must update your imports.
Hello, Orne.
After upgrade to v3.6 ātimeā field is gone from rxInfo. on 3.5.1 it works fine. Tell me please is it a bug or I need to make some changes in app server configuration ?
Gateways using internal RTC clock time, which synced via ntp and using polypacket forwarder.
And I suggest, this is not a gateway side problem. We are using many kinds of gateways i.e Lorix, Tektelic with the same issue after upgrade. For today I canāt rollback the app server.
Sorry about that, I made a typo when refactoring the migrations to Protobuf structs. In the conversion to the āoldā JSON format (which is currently the default), I was setting the timestamp on err != nil instead of err == nil This fixes the issue (including the test):
This will be included in the next bugfix release which I have not yet created, so until then you need to build from source. Alternatively, you could change the marshaler to json (the default is json_v3). This gives you a slightly different structure, but has the advantage that you get the rxInfo and txInfo information as-is as forwarded by the ChirpStack Gateway Bridge.
You can use this Protobuf definition for the Protobuf based json or (binary) protobuf marshalers:
(Internally everything is now implemented using the Protobuf structs, the bug you found was in the Protobuf to āoldā / ājson_v3ā conversion where I made a typo).
This is a new feature of the ChirpStack Application Server, see the changelog:
This feature adds a marshaler configuration option to the integration configuration. The default is backwards compatible with the current JSON format. New options are protobuf (Protobuf binary) and json (Protobuf based JSON).
Hi , @brocaar , I cloned the chirpstack-api and made changes in the .proto files there and after compilation the changes reflected in the respective .pb.go file also. But how do I import those changes in chirpstack-application-server's respective .go file? I keep trying to use make api command but it says :
can't load package: package api/api.go: malformed module path "api/api.go": missing dot in first path element
> Makefile:46: recipe for target 'api' failed
> make: *** [api] Error 1
How do I integrate my additional rpc methods, defined in the .proto file, in my chirpstack-application-serverās .go file now?
After setting this up, I again implemented make api , and got the same result as follows:
root@localsvr:/home/network-server/src/github.com/brocaar/chirpstack-application-server# make api
Generating API code from .proto files
canāt load package: package api/api.go: malformed module path āapi/api.goā: missing dot in first path element
Makefile:46: recipe for target āapiā failed
make: *** [api] Error 1
I am guessing, this error is returned because there is no api/ directory which contains any api.go file; unlike previously. As this folder has been moved from the source. So now, how do I generate my additional API endpoint?
You should generate the api definitions in the chirpstack-api repository, not chirpstack-application-server. Anyway, lets not mix the release announcement topic with support on using Go modules. If needed, please create a separate topic