==============================================================
Apache Wayang (incubating) 1.0.0
==============================================================

This is a major release of Apache Wayang (incubating).
Based on this release the projects wants to continue the path towards becoming an
Apache TLP.

This release supports the following frameworks:
- ...

Previous updates that are included in this release:
- ...

NOTE: depending on the scala version the list of the supported platforms available
could be different.


New Features
------------
[WAYANG-...] ...

Incompatible changes
--------------------
NONE
- ...


==============================================================
Apache Wayang (incubating) 0.7.1
==============================================================

This is a patch/bugfix release of Apache Wayang (incubating).

This release supports the following frameworks:
- This patch version fixes a problem in the artifact gpg encrypting key.

Previous updates that are included in this release:
- Apache Flink v1.7.1
- Apache Giraph v1.2.0-hadoop2
- GraphChi v0.2.2 (only available with scala 11.x)
- Java Streams (version depends on the java version)
- JDBC-Template
- Postgres v9.4.1208 (Implementation JDBC-Template)
- Apache Spark v3.1.2 (scala 2.12) and v2.4.8 (scala 2.11)
- SQLite3 v3.8.11.2 (implementation JDBC-Template)

NOTE: depending on the scala version the list of the supported platforms available
could be different.


New Features
------------
[WAYANG-34] Terasort
[WAYANG-IDE] Recognition of Scala code in IDE
[WAYANG-8] Inclusion of Python as platform of processing
[WAYANG-211] JVM-platform inside of Python-API
Grep Benchmark
Test classes and operators for Flink
Support for S3 files locations
Initial version of the SQL API and suppport for joins

Basic SQL support

Incompatible changes
--------------------
