Environs version 0.9.5.2 has been released which is a small maintenance release:

  • * Fixed: Network interface detection on windows platforms
  • * Updated: ClearMessages / ClearStorage using async flag of DeviceInstance objects

Have a look at the CHANGELOG.md for an exhaustive list of changes.

Environs version 0.9.5 has been released which focus low memory footprint of native and platform layers. The most important changes are:

  • * Updated: Notification loop handling in platform layers
  • * Changed: Removed NewStringUTF from Android layer with externally originating strings. NewStringUTF crashes unrecoverable on some devices and on some not …
  • * Added: SetMessagesSubscription/GetMessagesSubscription to Mediator layer
  • * Added: SetMediatorNotificationSubscription/GetMediatorNotificationSubscription to Mediator layer
  • * Added: Size check in TcpListener/BulkListener of DeviceBase before refactoring the heap located receive buffer
  • * Updated: BitmapFactory.decodeByteArray for Android ChatApp (creates high cpu load which never drops)
  • * Added: ERR_remove_state to cleanup crypto resources on error
  • * Added: ENABLE_DONT_LINGER_SOCKETS to native layer
  • * Updated: Threading in Android layer DeviceList/DeviceInstance updates/notifications
  • * Updated: Handling of spare sockets in MediatorDaemon
  • * Added: PreDispose and PrepareRemovalOfAllDevices to native layer (Cancel all device activities in advance before we actually wait for them to finish one after another)
  • * Updated: iOSX ARC disposal of DeviceInstance
  • * Updated: DeviceInstance update notification control using static flag (DeviceInstance.notifyPropertyChangedDefault)
  • * Updated: CPP API / CLI layer to provide non-UI device lists

Have a look at the CHANGELOG.md for an exhaustive list of changes.

Environs version 0.9.4 has been released which focus mainly on bug fixes and memory usage optimizations of native layer and platform layers. The most important changes are:

  • * Updated: Android Environs build gradle to use support library version 22
  • * Updated: ChatApp Windows (invalidate messageslist if the related device vanished)
  • * Fixed: Lock bug in AsyncWorker
  • * Added: Toggle Acceptor of Mediator Daemon (j)
  • * Added: Receive of certificates (during handshake) in chunks
  • * Fixed: DeviceBase check for invalid certificate (size)
  • * Updated: ChatUser Windows
  • * Updated: Management of platform ARC references (iOSX)
  • * Updated: CPP CLI log layer with StringBuilder
  • * Fixed: ARC issue of DeviceInstance (using autoreleasepool for vanished/appeared list)
  • * Updated: Tcp/Bulk listeners in DeviceBase
  • * Updated: Lock usage in Mediator client layer
  • * Updated: Windows Mediator local network adapter detection

With the release of version 0.9.1, Environs underwent major changes again mainly gets reflected through changed names for windows dlls:

  • The windows .NET layer dropped the C# code and moved to CPP/CLI in order to use the same code as for the CPP API
  • Added SetIsUIAdapter to DeviceList. If true, then all list modifications are dispatched to the UI thread. This option is set to true automatically depending on the initialization of a DeviceList object. Client code may set this option appropriately at any time.
  • Threading in platform layer has been improved to use worker threads and queues for notifications, list updates, etc.
  • Notification handling in platform layer has been improved.
  • Communication with Mediator services has been optimized.
  • Support for Surface 1 tabletop SDK has been dropped.

Overall, there are only three code bases for the thin platform layer in C++, Objective-C and Java. The C++ native core layer can be compiled for all platforms, e.g. Windows native, Windows .Net (C++/Cli), Linux, OSX, or iOS.