Skip to content
This repository was archived by the owner on Feb 27, 2024. It is now read-only.

Releases: oracle/wookiee

Wookiee 2.4.3

20 Feb 17:57
6755b4e
Compare
Choose a tag to compare
  • CaseInsensitiveMap class to give scala support for concurrency-safe, immutable, case-insensitive keyed maps-- with support for scala 2.12 and 2.13

  • Switch to a 'Using' structure for try-with-resources patterns

  • Can now Broadcast a message to every Component at

  • Java interop support for Commands (down through HttpCommand)

  • LoggingAdapter

    • Can now log error and forget it happened without blocking using LoggingAdapter.asyncLogErrorAndForget(something(), Some("it failed I guess"))
    • New logging debug function called LoggingAdapter.printLoggingClasses() that prints out the bindings for all slf4j related libraries to the console
      • Use this when logging becomes an issue
  • wookiee-web

    • Query parameters, path segments, and headers are all case-insensitive now
    • Access Logging can be turned off via configuration (wookiee-web.access-logging.enabled)
    • Locale support for requests that contain the 'accept-languages' header
    • Request added to error handler signatures for both HTTP and WS
    • Health check and other system endpoints are now internal-only
    • Many additional static methods in HttpObject for Java interop
    • Extra methods in WookieeRequest for accessing details
    • Json parse will no longer error out in contentJson() method
    • Logging bridge added to allow Helidon to append to slf4j logs
    • Added request timeout configs for both internal and external servers to allow one to return after a set interval (with a 504 code) if request takes longer than that timeout
    • Can set allowed origins after startup via a convenience method in WebManager
    • Keep-alive ping support in websockets, can be turned on via configuration
    • Added per-endpoint ability to specify more strict allowed origins via the EndpointOptions
  • wookiee-kafka

    • KafkaTestHelper -- public utility class with tons of helpful methods and automation for kafka-related testing
    • The popular ZooMode class is now native, helpful for local Zookeeper instances for testing
    • resetToLatest now defaults to 'false'
    • process convenience functional method for consuming data
    • close underlying consumer when kafka readers are closed
    • most objects now extend AutoCloseable
  • wookiee-grpc

    • Added load balancing policy to list of args in channel creation, w/ default of RoundRobinHashedPolicy
  • grpc to 1.59.1, jul-to-slf4j added as dep, logback-core an explicit dep

Wookiee 2.4.2

31 Jan 16:40
142d1fa
Compare
Choose a tag to compare
  • scalameta to 4.8.12, scalafmt to 3.7.15, finagle to 23.11.0, snakeyaml to 2.2, grpc to 1.59.0, netty TC to 2.0.62.Final, scalapb to 0.11.14
  • wookiee-kafka updates to close automated consumption when the underlying consumer is closed

Wookiee 2.3.28

31 Jan 18:10
142d1fa
Compare
Choose a tag to compare
  • Guava, Netty, gRPC updates. Don't fail when locale string is faulty
  • Remove metrics by filter
  • Roll back to earlier log versions
  • Don't fail on locale parsing failure

Co-authored-by: Ankit Singhal [email protected]

Wookiee 2.4.0: Discovery, De-Akkafication, Helidon Webservice

01 Nov 19:26
b6b155e
Compare
Choose a tag to compare
  • Support for an Akka-less Future
    • Created a new Mediator trait that's used for static object management
      • Global access to ActorSystem
    • Added a WookieeSupervisor to manage new non-akka executives, and to eventually replace HarnessActor
    • Added a new akka-less WookieeMonitor trait with health checks and other common functions
    • Created WookieeCommandExecutive (with tests) which is the new holder for V2 commands
    • Created new ComponentV2 that loads up without Akka and has the same functionality
      • Support in ComponentManager for message/request to V2 Components
      • Support for propagation of start, shutdown, and health check to a Component V2 and its children
    • Created WookieeService parent and new ServiceV2 extensible
      • Support for Services that aren't akka-powered
      • Full monitoring (health and more) for ServiceV2
      • Removal of support for multiple Services on one Wookiee (not used)
    • Wookiee Actor Trait
      • Support for all common Actor operations
      • Queued execution and overrideable mailboxes
      • Support for state changes via 'become'
      • Support for stash() and unstashAll()
      • 100% code coverage
    • WookieeActorRouter trait and instantiation methods for making WookieeActor routers
      • RoundRobinRouter for simple routing
      • Support in V2 command structure for routers
    • New V2 command structure with typing and no akka dependency
    • TestHarness upgrades to handle V2 Services and Components
    • New WookieeOperations class which will have tools to emulate actors
    • Removed ActorLoggingAdapter and all references
    • Moved non-akka code out to a safe wookiee-libs module
    • Wookiee Metrics to ComponentV2
    • Wookiee Zookeeper to ComponentV2
    • Wookiee gRPC to Component V2
    • Wookiee Cache to Component V2
    • Wookiee Memcache to Component V2
  • Creation of new module wookiee-discovery for akka-less gRPC clustering and messaging
    • New trait for DiscoverableCommand which supports gRPC messaging
    • Exec and Helper classes/traits to register/execute discoverable commands
    • More graceful catching of errors on discoverable gRPC executions
    • Detailed README
    • 100% test coverage
  • Creation of new Component wookiee-web for web client and service hosting via helidon-web..
    • Created WookieeRouter to handle wildcards and endpoint routing using an efficient tree
    • Web Manager for endpoint registration and management of internal and external services
    • Support for HTTP query parameters, headers, and path segments
    • Error handling at each phase of processing
    • New WookieeHttpHandler which replaces AkkaHttpBase for OOP model of endpoint creation
    • Complete support of CORS specs for allowed Origins (config), Headers (per-endpoint), and Methods (dynamically populated)
    • OPTIONS call able to give details on any endpoint
    • WookieeHttpService trait for easy command adding
    • Full websocket support in wookiee-helidon
      • Compression support
      • OOP registration endpoint
      • Websocket CORS support
      • Websocket query/params support
      • Added functional endpoint for registration
      • WookieeWebsocket trait for OOP support
    • Added a WookieeWebClient powered by Helidon WebClient
      • Support for proxy hosts
    • Default endpoints (metrics/healthcheck)
    • Content type support
    • SSL support
    • Detailed README
    • 100% test coverage
  • Example project 'advanced-communication' that has two interconnected Services showing the use of wookiee-helidon and wookiee-discovery
    • Examples of functional and OOP usages of both HTTP and WS endpoints
    • Example of communication across services using Discoverable Commands
  • Refactor of deeply deprecated patterns in wookiee-grpc-dev
  • Creation of LoggingAdapterIO for IO wrapped logging
  • Scalafmt to 3.7.11, guava to 32.1.1-jre, removal of log4cats, removal of slf4j-impl, akka downgrade to 2.6.20

2.3.27

11 Jul 17:10
b9270bc
Compare
Choose a tag to compare
  • Will now retry registration to ZK and start of gRPC server if something goes wrong on init of wookiee-grpc-component
  • Version updates for scalameta (4.7.6), logback (1.4.6), slf4j-api (2.0.5), slf4j-impl (2.20.0), dropwizard (4.2.17), akka-http (10.5.0), akka-http-cors (1.2.0)

2.3.26

09 Mar 16:08
ff59e0a
Compare
Choose a tag to compare
  • Bumping versions for Akka to 2.7.0, curator 5.3.x, cats-effect 3.4.x, fs2 3.6.x, grpc 1.53.x, and others..
  • Removing the StopComponent message and deprecating the stop() method in favor of prepareForShutdown()
  • This should actually cause the existing stop() methods to be successfully hit (they were not making it before system shutdown in current build)
  • Migration simply requires changing stop() to prepareForShutdown() as indicated in comment, to avoid the deprecation warning

v2.0.1

28 Oct 16:44
Compare
Choose a tag to compare
Change import to not interfere with harness Logger

Wookiee v2 Changes to Remove Akka Remoting

02 Jun 19:40
f214d2b
Compare
Choose a tag to compare
Fix for build versioning (#168)

* Fix for Broken Pipe error from SimpleHttpServer
* Will caused by failing to catch an IOException

* One extra Try to prevent an NPE on shutdown

* Package name change

* Safe check for when context is null

* Config file change to debug

* Change TestHarness to allow one to input their own timeout for startup checks

* Pass up time to wait

* Allow one to increase the startup wait for Wookiee Test

* Unused imports

* updates some more

* more type work

* fixed type

* more clean up

* updating to 2.12.10 as default scala version, adding cross compile support for 2.13

* spelling typo

* Cleanup and split off requests into each WeatherForecast policy method

* Adds method for constructing dynamic wookiee command class

* Expansion of Wookiee Test to enable multiple Wookiee instances to be created

* Bring back BaseWookieeTest, for convenience for test setup

* Uses akka thunk for creating command dynamically

* Move command map to inside of CommandManager actor so that when we have multiple wookiees running they can each register their own commands

* Get commands running through

* Merged code from local pete_playground

* Move away from deprecated java converters

* First effort on the new dispatcher model

* New signature for marshaller support

* Fix weather command name

* Add methods to add Commands to out Command Manager
* Moved a few functions out to CommandHelper's companion object so that non-actors can access them
* Moved WookieeFactory up to wookiee-core
* Created unit test for Wookiee Factory

* Change names from Command to Wookiee, per comments

* Small changes to Command creators to support Wookiee ZK

* Add shutdown convenience method

* Complete transition over to ScalaTest from Specs2

* Update copyrights

* Fixed typo in README.md (#149)

* Remove broken test

* Bump some versions for 2.13

* Changes to support cross compatibility between Scala 2.12 and 2.13

* Remove the iteratee libraries, nobody uses them, they aren't compatible with Scala 2.13, and they are just copied from the play framework

* Remove all postfix

* Match version tags for 2.0.0-RC

* Attempted fix for pom issues

* Attempted fixes for build

* Release tags regex

* Remote Command Implementation Agnostic
* Removed support for akka remoting
* Updated signatures to allow for custom remoting logic
* Unit tests for both local and 'remote' cases
* Joda time to latest

* Fixes for Scala 2.13

* Now fix Scala 2.12 again lol

* Bump deps

* Use new VERSION file to attempt snapshot builds

* Snapshots (#166)

* Fix for Broken Pipe error from SimpleHttpServer
* Will caused by failing to catch an IOException

* One extra Try to prevent an NPE on shutdown

* Package name change

* Safe check for when context is null

* Config file change to debug

* Change TestHarness to allow one to input their own timeout for startup checks

* Pass up time to wait

* Allow one to increase the startup wait for Wookiee Test

* Unused imports

* updates some more

* more type work

* fixed type

* more clean up

* updating to 2.12.10 as default scala version, adding cross compile support for 2.13

* spelling typo

* Cleanup and split off requests into each WeatherForecast policy method

* Adds method for constructing dynamic wookiee command class

* Expansion of Wookiee Test to enable multiple Wookiee instances to be created

* Bring back BaseWookieeTest, for convenience for test setup

* Uses akka thunk for creating command dynamically

* Move command map to inside of CommandManager actor so that when we have multiple wookiees running they can each register their own commands

* Get commands running through

* Merged code from local pete_playground

* Move away from deprecated java converters

* First effort on the new dispatcher model

* New signature for marshaller support

* Fix weather command name

* Add methods to add Commands to out Command Manager
* Moved a few functions out to CommandHelper's companion object so that non-actors can access them
* Moved WookieeFactory up to wookiee-core
* Created unit test for Wookiee Factory

* Change names from Command to Wookiee, per comments

* Small changes to Command creators to support Wookiee ZK

* Add shutdown convenience method

* Complete transition over to ScalaTest from Specs2

* Update copyrights

* Fixed typo in README.md (#149)

* Remove broken test

* Bump some versions for 2.13

* Changes to support cross compatibility between Scala 2.12 and 2.13

* Remove the iteratee libraries, nobody uses them, they aren't compatible with Scala 2.13, and they are just copied from the play framework

* Remove all postfix

* Match version tags for 2.0.0-RC

* Attempted fix for pom issues

* Attempted fixes for build

* Release tags regex

* Remote Command Implementation Agnostic
* Removed support for akka remoting
* Updated signatures to allow for custom remoting logic
* Unit tests for both local and 'remote' cases
* Joda time to latest

* Fixes for Scala 2.13

* Now fix Scala 2.12 again lol

* Bump deps

* Use new VERSION file to attempt snapshot builds

Co-authored-by: Peter Crossley <[email protected]>
Co-authored-by: Alexander Clifford <[email protected]>
Co-authored-by: bez_buldyrabyz <[email protected]>

* Remove branch requirement

* Documentation

* Move remote logic params to their own signature

* Remove version file and instead pump in the branch name for snapshot builds

* Readme updates

* Remove the remote port from all configs and change TestHarness to reference the actor system directly to allow multiple to come up at once

* Remove scala parsing dependency as nobody is using it

* Fix for travis build settings

Co-authored-by: Peter Crossley <[email protected]>
Co-authored-by: Alexander Clifford <[email protected]>
Co-authored-by: bez_buldyrabyz <[email protected]>

Fixed-Build Beta Release of Wookiee v2

04 May 19:16
d23c2d3
Compare
Choose a tag to compare
Re-enable tests (#161)

* Fix for Broken Pipe error from SimpleHttpServer
* Will caused by failing to catch an IOException

* One extra Try to prevent an NPE on shutdown

* Package name change

* Safe check for when context is null

* Config file change to debug

* Change TestHarness to allow one to input their own timeout for startup checks

* Pass up time to wait

* Allow one to increase the startup wait for Wookiee Test

* Unused imports

* updates some more

* more type work

* fixed type

* more clean up

* updating to 2.12.10 as default scala version, adding cross compile support for 2.13

* spelling typo

* Cleanup and split off requests into each WeatherForecast policy method

* Adds method for constructing dynamic wookiee command class

* Expansion of Wookiee Test to enable multiple Wookiee instances to be created

* Bring back BaseWookieeTest, for convenience for test setup

* Uses akka thunk for creating command dynamically

* Move command map to inside of CommandManager actor so that when we have multiple wookiees running they can each register their own commands

* Get commands running through

* Merged code from local pete_playground

* Move away from deprecated java converters

* First effort on the new dispatcher model

* New signature for marshaller support

* Fix weather command name

* Add methods to add Commands to out Command Manager
* Moved a few functions out to CommandHelper's companion object so that non-actors can access them
* Moved WookieeFactory up to wookiee-core
* Created unit test for Wookiee Factory

* Change names from Command to Wookiee, per comments

* Small changes to Command creators to support Wookiee ZK

* Add shutdown convenience method

* Complete transition over to ScalaTest from Specs2

* Update copyrights

* Fixed typo in README.md (#149)

* Remove broken test

* Bump some versions for 2.13

* Changes to support cross compatibility between Scala 2.12 and 2.13

* Remove the iteratee libraries, nobody uses them, they aren't compatible with Scala 2.13, and they are just copied from the play framework

* Remove all postfix

* Match version tags for 2.0.0-RC

* Attempted fix for pom issues

* Attempted fixes for build

Co-authored-by: Peter Crossley <[email protected]>
Co-authored-by: Alexander Clifford <[email protected]>
Co-authored-by: bez_buldyrabyz <[email protected]>

Initial Beta Release of Wookiee v2

04 May 18:21
d23c2d3
Compare
Choose a tag to compare
Re-enable tests (#161)

* Fix for Broken Pipe error from SimpleHttpServer
* Will caused by failing to catch an IOException

* One extra Try to prevent an NPE on shutdown

* Package name change

* Safe check for when context is null

* Config file change to debug

* Change TestHarness to allow one to input their own timeout for startup checks

* Pass up time to wait

* Allow one to increase the startup wait for Wookiee Test

* Unused imports

* updates some more

* more type work

* fixed type

* more clean up

* updating to 2.12.10 as default scala version, adding cross compile support for 2.13

* spelling typo

* Cleanup and split off requests into each WeatherForecast policy method

* Adds method for constructing dynamic wookiee command class

* Expansion of Wookiee Test to enable multiple Wookiee instances to be created

* Bring back BaseWookieeTest, for convenience for test setup

* Uses akka thunk for creating command dynamically

* Move command map to inside of CommandManager actor so that when we have multiple wookiees running they can each register their own commands

* Get commands running through

* Merged code from local pete_playground

* Move away from deprecated java converters

* First effort on the new dispatcher model

* New signature for marshaller support

* Fix weather command name

* Add methods to add Commands to out Command Manager
* Moved a few functions out to CommandHelper's companion object so that non-actors can access them
* Moved WookieeFactory up to wookiee-core
* Created unit test for Wookiee Factory

* Change names from Command to Wookiee, per comments

* Small changes to Command creators to support Wookiee ZK

* Add shutdown convenience method

* Complete transition over to ScalaTest from Specs2

* Update copyrights

* Fixed typo in README.md (#149)

* Remove broken test

* Bump some versions for 2.13

* Changes to support cross compatibility between Scala 2.12 and 2.13

* Remove the iteratee libraries, nobody uses them, they aren't compatible with Scala 2.13, and they are just copied from the play framework

* Remove all postfix

* Match version tags for 2.0.0-RC

* Attempted fix for pom issues

* Attempted fixes for build

Co-authored-by: Peter Crossley <[email protected]>
Co-authored-by: Alexander Clifford <[email protected]>
Co-authored-by: bez_buldyrabyz <[email protected]>