Skip to content

Latest commit

 

History

History
482 lines (314 loc) · 13.4 KB

CHANGELOG.md

File metadata and controls

482 lines (314 loc) · 13.4 KB

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.

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.

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
    • 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.

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 and SDK 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 and SDK 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.

[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.
  • 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.