Changelog
[v1.9.2] - 2024-XX-XX
Changed
- Use Ubuntu instead of CentOS in docs/userguide/certificate.md
- Update dependencies (Java)
Removed
- Because supporting config-server, remove the feature loading a config from
$SINETSTREAM_CONFIG_URL
. (Python, Java)
Fixed
- Bugfix for
sinetstream_cli read --count N
doesn’t work. (Python) - Lint-fix (Python)
- Link-fix (document)
Security
- Use safe YAML loader to deserialize a config. (Python)
- Update SnakeYAML 1.x -> 2.x (Java)
[v1.9.1] - 2024-03-29
Security
- Upgrade pycryptodomex (Python)
[v1.9.0] - 2024-03-29
Added
- Support key versioning provided by config-server. (Python, Java)
- Support Java 21 (Java)
Changed
- Send message in the message format version 3. (Python, Java)
- NOTE: older SINETStream cannot receive this.
- Message format version 3 (also 2) can be received. (Python, Java)
- Use kafka-python-ng instead of kefka-python which has not been maintained. (Python)
Fixed
- Fixed to be able to use
user_data_only:
in Kafka (Python) - In algorithm=gzip, use ZLIB not GZIP (Java).
- In algorithm=zstd decompression, work even if content_size in frame is not set. (Python, Java)
- In algorithm=zstd compression, set content_size to frame_header. (Java)
Security
- Upgrade bouncy castle (Java)
- Update versions of dependent packages (Android Tutorial Container)
[v1.8.1] - 2023-08-04
Added
- sinetstream_cli (Python, Java):
sinetstream_cli
supports short options.sinetstream_cli
with-nc
option doesn’t read.sinetstream_config.yml
.
Changed
- Any parameters on MessageReader/MessageWriter are optional. (Python)
- The parameter
service
was mandatory.
- The parameter
Fixed
- In MQTT, encode WILL payload with SINETStream. (Python, Java)
Security
- Update versions of dependent packages
[v1.8.0] - 2023-05-26
Added
- Support MQTTv5 (Python, Java)
- python/sample/cli, java/sample/cli
- CLI tool (Python, Java)
sinetstream_cli
is a reader/writer without preparing.sinetstream_config.yml
- All parameters can be specified on command line.
- Android
- sinetstream-android (lib)
- Add support for interactions with config-server.
- sinetstream-android-helper (lib)
- Add support for some new sensor types.
- Add support for runtime permission checks in collective way.
- sinetstream-andorid-echo (app)
- Add SINETStream settings screen for remote configuration.
- sinetstream-andorid-sensor-publisher (app)
- Add SINETStream settings screen for remote configuration.
- sinetstream-android (lib)
Changed
- Reimplemented auto-reconnect (Java)
- Android
- sinetstream-android (lib)
- Hide debug logging unless otherwise explicitly specified.
- sinetstream-android-helper (lib)
- Integrate untime permission handling tasks as
PermissionHandler
. - Expand sensor interval timer resolution: 1 sec -> 100 ms
- Integrate untime permission handling tasks as
- sinetstream-andorid-echo (app)
- If predefined parameters exist, read them without user interventions.
- sinetstream-andorid-sensor-publisher (app)
- Check runtime permissions in collective way by using
PermissionHandler
in libhelper. - If predefined parameters exist, read them without user interventions.
- Check runtime permissions in collective way by using
- sinetstream-android (lib)
Security
- Update versions of dependent packages
- Use safe YAML loader to load
.sinetstream_config.yml
(Java)
[v1.7.2] - 2022-09-22
Security
- Update versions of dependent packages
[v1.7.1] - 2022-09-22
Security
- Update versions of dependent packages
[v1.7.0] - 2022-09-22
Added
- Data Compression (Python, Java)
- S3 plugin (Python, Java)
- java/sample/perftool
- send/receive data and output the obtained metrics information
- like python/sample/perftool
- python/sample/libs/sinetstream-cmd
- A simple producer using SINETStream
- SimpleProducer periodically publishes data on a Raspberry Pi
Changed
- Support Java 11 (Java 8 is no longer supported)
Fixed
- Calculate fingerprints correctly in config-server protocol (Python, Java)
[v1.6.2] - 2022-01-19
Fixed
- Enter the passphrase of private_key.pem if encrypted.
[v1.6.1] - 2021-12-22
Security
- use avro-1.11.0 (Java)
[v1.6.0] - 2021-12-22
Added
Python, Java, Document
- Support for config-server
sinetstream-android (lib)
- Support for getting SSL/TLS certificates from the Android Keystore.
- Support for data encryption/decription.
- Add type-specific Reader/Writer classes extended from generic ones.
sinetstream-android-helper (lib)
- Support for getting SSL/TLS certificates from the Android Keystore.
- Support automatic location update for the output JSON data.
sinetstream-andorid-echo (app)
- SettingsActivity: SINETStream: Add detailed parameters for MQTT and SSL/TLS.
sinetstream-andorid-sensor-publisher (app)
- SettingsActivity: SINETStream: Add detailed parameters for MQTT and SSL/TLS.
- SettingsActivity: Sensor: Add
automatic location update
mode with GPS or FLP. - MainActivity: Add location tracker and foreground services for GPS and FLP.
- MainActivity: Show location monitor window if location is enabled.
Changed
Common
- build.gradle: Use MavenCentral instead of jCenter
- build.gradle: Use JDK 11 instead of JDK 8, from Android Studio Arctic Fox.
sinetstream
- Support Python 3.8 since Python 3.6 will be EoL. (Python)
sinetstream-android (lib)
- misc/Dockerfile: Update
openjdk
,Command line tools
andSDK Build Tools
. - API: Split initialization process to 2 phases; initialize() and setup().
- API: User can now abort initialization process if something goes wrong.
sinetstream-android-helper (lib)
- misc/Dockerfile: Update
openjdk
,Command line tools
andSDK Build Tools
.
sinetstream-android-echo (app)
- SettingsActivity: Rearrange menu hierarchy.
- MainActivity: For SSL/TLS connection, operation will be intercepted by a system dialog to pick up credentials.
- MainActivity: Received message will be shown in timeline, instead of the latest only.
- MainActivity: Use typed Reader/Writer classes in
sinetstream-android
library.
sinetstream-andorid-sensor-publisher (app)
- SettingsActivity: Rearrange menu hierarchy.
- MainActivity: For SSL/TLS connection, operation will be intercepted by a system dialog to pick up credentials.
- MainActivity: For
automatic location update
mode, operation might be intercepted by several system dialogs to set appropriate permissions.
Removed
sinetstream-android-echo (app)
- SettingsActivity: Exclude TLSv1 and TLSv1.1 from menu items, and set TLSv1.2 as default.
sinetstream-android-sensor-publisher (app)
- SettingsActivity: Exclude TLSv1 and TLSv1.1 from menu items, and set TLSv1.2 as default.
Fixed
sinetstream-android (lib)
- Make MQTT connection setup/close in robust way.
- Add missing try-catch clause.
- Resolve NullpointerException cases.
- Resolve some lint warnings.
sinetstream-andorid-echo (app)
- MainActivity: Keep some attributes beyond Activity’s lifecycle.
sinetstream-android-sensor-publisher (app)
- MainActivity: Keep some attributes beyond Activity’s lifecycle.
- MainActivity: Fix location notation: (longitude,latitude) -> (latitude,longitude)
- MainActivity: Resolve race conditions between Sensor and Network; bind SensorService after connection has established, and unbind SensorService after connection has closed.
[v1.5.3] - 2021-05-20
sinetstream-android-echo
Added
- MainActivity: Show receiver fragment contents with history.
Changed
- build.gradle: Update build environ for the Android Studio 4.1.2.
- MainActivity: Adjust screen layout.
- SettingsActivity: Use fixed service name.
Fixed
- MainActivity: Resolve race conditions between modal dialogs.
- MainActivity: Keep the receiver fragment contents, even if the activity has re-created after suspend/resume.
sinetstream-android-sensor-publisher
Changed
- build.gradle: Update build environ for the Android Studio 4.1.2.
Fixed
- MainActivity: Resolve race conditions between modal dialogs.
[v1.5.2] for Android - 2021-05-20
sinetstream-android
Changed
- build.gradle: Update build environ for the Android Studio 4.1.2.
- AndroidConfigLoader: Rewrite usage of obsoleted Kotlin functions.
Fixed
- CipherXXX: Resolve implementation compatibility issues (work in progress).
- MqttAsyncMessageIO: Now user can abort the ongoing connection request.
sinetstream-android-helper
Changed
- build.gradle: Update build environ for the Android Studio 4.1.2.
[v1.5.2] - 2021-04-23
Added
- English documents for tutorial-android
- The message format specification
- All-in-one tutorial container supports Raspberry Pi OS
- tested on Raspberry Pi 4 Model B with mem 4GB
- python/sample/perftool
- send/receive data and output the obtained metrics information
Fixed
- No division by zero occurs when calculating an average in a metrics information. (Python, Java)
- A metrics can be gotten after close. (Python, Java)
[v1.5.1] - 2021-03-24
Fixed
- docfix: tutorial for Android
- bugfix: 2 sample applications for Android
[v1.5.0] - 2021-03-18
Added
- Tutorial for Android
- 2 sample applications for Android
- sinetstream-android-echo
- sinetstream-android-sensor-publisher
Fixed
- Bugfix for data encryption. (Python, Java)
- Bugfix for metrics API (Python)
[v1.4.0] - 2020-10-08
Added
- Support Android
- Limitations:
- Data encryption is not implemented.
- Limitations:
[v1.3.0] - 2020-07-31
Added
- Support metrics API
[v1.2.0] - 2020-06-08
Added
- Support async API
- Broker setup instructions (Japanese only)
Changed
- MQTT’s MqttClientPersistence directory is now
~/.mqtt-persistence
(Java).
Fixed
- Fixed TLS connection setup problem, caused by MQTT-specific parameter “tls_set” (Java)
[v1.1.0] - 2020-03-19
Added
- The capability to add
timestamp
to each send message - Support for image type messages.
- English documents
- SINETStream Server Plugin Developer Guide (Japanese only)
Changed
- Message is encoded by Apache Avro.
value_type
can be handled as a plugin.
Fixed
- Fixed exception handling in case of authentication / authorization error.
[v1.0.0] - 2019-12-24
Added
- Tutorial
- open/close method for MessageReader/MessageWriter (Python)
Changed
- {python,java}/sample/text/*.py: remove -t option to specify the topic.
- Documents rearranged.
- To display the cheat sheet,
python3 -m sinetstream
. (Python) - The topic= argument is now optional in MessageReader/MessageWriter constructor. (Python)
Fixed
- Fix documents
- Fix deadlock in MqttWriter.publish().
- Bugfixes.
[v0.9.7] - 2019-10-11
Added
- Data encryption:
- Supported: CBC, OFB, CTR, EAX, GCM
- Not supported: CFB, OPENPGP
- Authentication:
- Kafka:
- security_protocol: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL.
- sasl_mechanism: PLAIN, SCRAM-SHA-256, SCRAM-SHA_512.
- Note: GSSAPI and OAUTHBEARER are not supported.
- MQTT:
- password
- Read docs/auth.md for details.
- Kafka:
- Authorization(document only)
- Read docs/auth.md for details.
[v0.9.5] - 2019-08-26
Added
- Java implementation.
- Python/MQTT plugin.
- parameter value_type=.
- display default paraterers during installation.
- TLS support.
Changed
- default consistency is AT_MOST_ONCE (was EXACTLY_ONCE).
- default client_id is generated by SINETStream library (not Kafka,MQTT).
Fixed
- many bugfixes.
[v0.9.1] - 2019-07-11
first alpha release.