is.event.logged)
+```
+
+QUERY PARAMETERS
+
+
+ Name |
+ Description |
+ Default Value |
+ Possible Data Types |
+ Optional |
+ Dynamic |
+
+
+ priority |
+ The priority/type of this log message (INFO, DEBUG, WARN, FATAL, ERROR, OFF, TRACE). |
+ INFO |
+ STRING |
+ Yes |
+ No |
+
+
+ log.message |
+ This message will be logged. |
+ |
+ STRING |
+ No |
+ No |
+
+
+ is.event.logged |
+ To log the processed event. |
+ true |
+ BOOL |
+ Yes |
+ No |
+
+
+
+Examples
+EXAMPLE 1
+```
+from fooStream#log("INFO", "Sample Event :", true)
+select *
+insert into barStream;
+```
+This will log as INFO with the message "Sample Event :" + fooStream:events.
+
+EXAMPLE 2
+```
+from fooStream#log("Sample Event :", true)
+select *
+insert into barStream;
+```
+This will logs with default log level as INFO.
+
+EXAMPLE 3
+```
+from fooStream#log("Sample Event :", fasle)
+select *
+insert into barStream;
+```
+This will only log message.
+
+EXAMPLE 4
+```
+from fooStream#log(true)
+select *
+insert into barStream;
+```
+This will only log fooStream:events.
+
+EXAMPLE 5
+```
+from fooStream#log("Sample Event :")
+select *
+insert into barStream;
+```
+This will log message and fooStream:events.
+
+### batch *(Window)*
+
+A window that holds an incoming events batch. When a new set of events arrives, the previously arrived old events will be expired. Batch window can be used to aggregate events that comes in batches.
+
+Syntax
+```
+batch()
+```
+
+Examples
+EXAMPLE 1
+```
+define stream consumerItemStream (itemId string, price float)
+
+from consumerItemStream#window.batch()
+select price, str:groupConcat(itemId) as itemIds
+group by price
+insert into outputStream;
+```
+This will output comma separated items IDs that have the same price for each incoming batch of events.
+
+### cron *(Window)*
+
+This window returns events processed periodically as the output in time-repeating patterns, triggered based on time passing.
+
+Syntax
+```
+cron( cron.expression)
+```
+
+QUERY PARAMETERS
+
+
+ Name |
+ Description |
+ Default Value |
+ Possible Data Types |
+ Optional |
+ Dynamic |
+
+
+ cron.expression |
+ The cron expression that represents a time schedule. |
+ |
+ STRING |
+ No |
+ No |
+
+
+
+Examples
+EXAMPLE 1
+```
+define window cseEventWindow (symbol string, price float, volume int)cron('*/5 * * * * ?');
+@info(name = 'query0')
+from cseEventStream
+insert into cseEventWindow;
+@info(name = 'query1')
+from cseEventWindow
+select symbol,price,volume
+insert into outputStream ;
+```
+This will processed events as the output every 5 seconds.
+
+### delay *(Window)*
+
+A delay window holds events for a specific time period that is regarded as a delay period before processing them.
+
+Syntax
+```
+delay( window.delay)
+```
+
+QUERY PARAMETERS
+
+
+ Name |
+ Description |
+ Default Value |
+ Possible Data Types |
+ Optional |
+ Dynamic |
+
+
+ window.delay |
+ The time period (specified in sec, min, ms) for which the window should delay the events. |
+ |
+ INT LONG TIME |
+ No |
+ No |
+
+
+
+Examples
+EXAMPLE 1
+```
+define window delayWindow(symbol string, volume int) delay(1 hour);
+define stream PurchaseStream(symbol string, volume int);
+define stream DeliveryStream(symbol string);
+define stream OutputStream(symbol string);
+
+@info(name='query1')
+from PurchaseStream
+select symbol, volume
+insert into delayWindow;
+
+@info(name='query2')
+from delayWindow join DeliveryStream
+on delayWindow.symbol == DeliveryStream.symbol
+select delayWindow.symbol
+insert into OutputStream;
+```
+In this example, purchase events that arrive in the 'PurchaseStream' stream are directed to a delay window. At any given time, this delay window holds purchase events that have arrived within the last hour. These purchase events in the window are matched by the 'symbol' attribute, with delivery events that arrive in the 'DeliveryStream' stream. This monitors whether the delivery of products is done with a minimum delay of one hour after the purchase.
+
+### externalTime *(Window)*
+
+A sliding time window based on external time. It holds events that arrived during the last windowTime period from the external timestamp, and gets updated on every monotonically increasing timestamp.
+
+Syntax
+```
+externalTime( timestamp, window.time)
+```
+
+QUERY PARAMETERS
+
+
+ Name |
+ Description |
+ Default Value |
+ Possible Data Types |
+ Optional |
+ Dynamic |
+
+
+ timestamp |
+ The time which the window determines as current time and will act upon. The value of this parameter should be monotonically increasing. |
+ |
+ LONG |
+ No |
+ No |
+
+
+ window.time |
+ The sliding time period for which the window should hold events. |
+ |
+ INT LONG TIME |
+ No |
+ No |
+
+
+
+Examples
+EXAMPLE 1
+```
+define window cseEventWindow (symbol string, price float, volume int) externalTime(eventTime, 20 sec) output expired events;
+
+@info(name = 'query0')
+from cseEventStream
+insert into cseEventWindow;
+
+@info(name = 'query1')
+from cseEventWindow
+select symbol, sum(price) as price
+insert expired events into outputStream ;
+```
+processing events arrived within the last 20 seconds from the eventTime and output expired events.
+
+### externalTimeBatch *(Window)*
+
+A batch (tumbling) time window based on external time, that holds events arrived during windowTime periods, and gets updated for every windowTime.
+
+Syntax
+```
+externalTimeBatch( timestamp, window.time, start.time, timeout)
+```
+
+QUERY PARAMETERS
+
+
+ Name |
+ Description |
+ Default Value |
+ Possible Data Types |
+ Optional |
+ Dynamic |
+
+
+ timestamp |
+ The time which the window determines as current time and will act upon. The value of this parameter should be monotonically increasing. |
+ |
+ LONG |
+ No |
+ No |
+
+
+ window.time |
+ The batch time period for which the window should hold events. |
+ |
+ INT LONG TIME |
+ No |
+ No |
+
+
+ start.time |
+ User defined start time. This could either be a constant (of type int, long or time) or an attribute of the corresponding stream (of type long). If an attribute is provided, initial value of attribute would be considered as startTime. |
+ Timestamp of first event |
+ INT LONG TIME |
+ Yes |
+ No |
+
+
+ timeout |
+ Time to wait for arrival of new event, before flushing and giving output for events belonging to a specific batch. |
+ System waits till an event from next batch arrives to flush current batch |
+ INT LONG TIME |
+ Yes |
+ No |
+
+
+
+Examples
+EXAMPLE 1
+```
+define window cseEventWindow (symbol string, price float, volume int) externalTimeBatch(eventTime, 1 sec) output expired events;
+@info(name = 'query0')
+from cseEventStream
+insert into cseEventWindow;
+@info(name = 'query1')
+from cseEventWindow
+select symbol, sum(price) as price
+insert expired events into outputStream ;
+```
+This will processing events that arrive every 1 seconds from the eventTime.
+
+EXAMPLE 2
+```
+define window cseEventWindow (symbol string, price float, volume int) externalTimeBatch(eventTime, 20 sec, 0) output expired events;
+```
+This will processing events that arrive every 1 seconds from the eventTime. Starts on 0th millisecond of an hour.
+
+EXAMPLE 3
+```
+define window cseEventWindow (symbol string, price float, volume int) externalTimeBatch(eventTime, 2 sec, eventTimestamp, 100) output expired events;
+```
+This will processing events that arrive every 2 seconds from the eventTim. Considers the first event's eventTimestamp value as startTime. Waits 100 milliseconds for the arrival of a new event before flushing current batch.
+
+### frequent *(Window)*
+
+This window returns the latest events with the most frequently occurred value for a given attribute(s). Frequency calculation for this window processor is based on Misra-Gries counting algorithm.
+
+Syntax
+```
+frequent( event.count, attribute)
+```
+
+QUERY PARAMETERS
+
+
+ Name |
+ Description |
+ Default Value |
+ Possible Data Types |
+ Optional |
+ Dynamic |
+
+
+ event.count |
+ The number of most frequent events to be emitted to the stream. |
+ |
+ INT |
+ No |
+ No |
+
+
+ attribute |
+ The attributes to group the events. If no attributes are given, the concatenation of all the attributes of the event is considered. |
+ The concatenation of all the attributes of the event is considered. |
+ STRING |
+ Yes |
+ No |
+
+
+
+Examples
+EXAMPLE 1
+```
+@info(name = 'query1')
+from purchase[price >= 30]#window.frequent(2)
+select cardNo, price
+insert all events into PotentialFraud;
+```
+This will returns the 2 most frequent events.
+
+EXAMPLE 2
+```
+@info(name = 'query1')
+from purchase[price >= 30]#window.frequent(2, cardNo)
+select cardNo, price
+insert all events into PotentialFraud;
+```
+This will returns the 2 latest events with the most frequently appeared card numbers.
+
+### length *(Window)*
+
+A sliding length window that holds the last windowLength events at a given time, and gets updated for each arrival and expiry.
+
+Syntax
+```
+length( window.length)
+```
+
+QUERY PARAMETERS
+
+
+ Name |
+ Description |
+ Default Value |
+ Possible Data Types |
+ Optional |
+ Dynamic |
+
+
+ window.length |
+ The number of events that should be included in a sliding length window. |
+ |
+ INT |
+ No |
+ No |
+
+
+
+Examples
+EXAMPLE 1
+```
+define window cseEventWindow (symbol string, price float, volume int) length(10) output all events;
+@info(name = 'query0')
+from cseEventStream
+insert into cseEventWindow;
+@info(name = 'query1')
+from cseEventWindow
+select symbol, sum(price) as price
+insert all events into outputStream ;
+```
+This will processing 10 events and out put all events.
+
+### lengthBatch *(Window)*
+
+A batch (tumbling) length window that holds a number of events specified as the windowLength. The window is updated each time a batch of events that equals the number specified as the windowLength arrives.
+
+Syntax
+```
+lengthBatch( window.length)
+```
+
+QUERY PARAMETERS
+
+
+ Name |
+ Description |
+ Default Value |
+ Possible Data Types |
+ Optional |
+ Dynamic |
+
+
+ window.length |
+ The number of events the window should tumble. |
+ |
+ INT |
+ No |
+ No |
+
+
+
+Examples
+EXAMPLE 1
+```
+define window cseEventWindow (symbol string, price float, volume int) lengthBatch(10) output all events;
+
+@info(name = 'query0')
+from cseEventStream
+insert into cseEventWindow;
+
+@info(name = 'query1')
+from cseEventWindow
+select symbol, sum(price) as price
+insert all events into outputStream ;
+```
+This will processing 10 events as a batch and out put all events.
+
+### lossyFrequent *(Window)*
+
+This window identifies and returns all the events of which the current frequency exceeds the value specified for the supportThreshold parameter.
+
+Syntax
+```
+lossyFrequent( support.threshold, error.bound, attribute)
+```
+
+QUERY PARAMETERS
+
+
+ Name |
+ Description |
+ Default Value |
+ Possible Data Types |
+ Optional |
+ Dynamic |
+
+
+ support.threshold |
+ The support threshold value. |
+ |
+ DOUBLE |
+ No |
+ No |
+
+
+ error.bound |
+ The error bound value. |
+ |
+ DOUBLE |
+ No |
+ No |
+
+
+ attribute |
+ The attributes to group the events. If no attributes are given, the concatenation of all the attributes of the event is considered. |
+ The concatenation of all the attributes of the event is considered. |
+ STRING |
+ Yes |
+ No |
+
+
+
+Examples
+EXAMPLE 1
+```
+define stream purchase (cardNo string, price float);
+define window purchaseWindow (cardNo string, price float) lossyFrequent(0.1, 0.01);
+@info(name = 'query0')
+from purchase[price >= 30]
+insert into purchaseWindow;
+@info(name = 'query1')
+from purchaseWindow
+select cardNo, price
+insert all events into PotentialFraud;
+```
+lossyFrequent(0.1, 0.01) returns all the events of which the current frequency exceeds 0.1, with an error bound of 0.01.
+
+EXAMPLE 2
+```
+define stream purchase (cardNo string, price float);
+define window purchaseWindow (cardNo string, price float) lossyFrequent(0.3, 0.05, cardNo);
+@info(name = 'query0')
+from purchase[price >= 30]
+insert into purchaseWindow;
+@info(name = 'query1')
+from purchaseWindow
+select cardNo, price
+insert all events into PotentialFraud;
+```
+lossyFrequent(0.3, 0.05, cardNo) returns all the events of which the cardNo attributes frequency exceeds 0.3, with an error bound of 0.05.
+
+### session *(Window)*
+
+This is a session window that holds events that belong to a specific session. The events that belong to a specific session are identified by a grouping attribute (i.e., a session key). A session gap period is specified to determine the time period after which the session is considered to be expired. A new event that arrives with a specific value for the session key is matched with the session window with the same session key.
When performing aggregations for a specific session, you can include events with the matching session key that arrive after the session is expired if required. This is done by specifying a latency time period that is less than the session gap period.
To have aggregate functions with session windows, the events need to be grouped by the session key via a 'group by' clause.
+
+Syntax
+```
+session( window.session, window.key, window.allowedlatency)
+```
+
+QUERY PARAMETERS
+
+
+ Name |
+ Description |
+ Default Value |
+ Possible Data Types |
+ Optional |
+ Dynamic |
+
+
+ window.session |
+ The time period for which the session considered is valid. This is specified in seconds, minutes, or milliseconds (i.e., 'min', 'sec', or 'ms'. |
+ |
+ INT LONG TIME |
+ No |
+ No |
+
+
+ window.key |
+ The grouping attribute for events. |
+ default-key |
+ STRING |
+ Yes |
+ No |
+
+
+ window.allowedlatency |
+ This specifies the time period for which the session window is valid after the expiration of the session. The time period specified here should be less than the session time gap (which is specified via the 'window.session' parameter). |
+ 0 |
+ INT LONG TIME |
+ Yes |
+ No |
+
+
+
+Examples
+EXAMPLE 1
+```
+define stream PurchaseEventStream (user string, item_number int, price float, quantity int);
+
+@info(name='query0)
+from PurchaseEventStream#window.session(5 sec, user, 2 sec)
+select *
+insert all events into OutputStream;
+```
+This query processes events that arrive at the PurchaseEvent input stream. The 'user' attribute is the session key, and the session gap is 5 seconds. '2 sec' is specified as the allowed latency. Therefore, events with the matching user name that arrive 2 seconds after the expiration of the session are also considered when performing aggregations for the session identified by the given user name.
+
+### sort *(Window)*
+
+This window holds a batch of events that equal the number specified as the windowLength and sorts them in the given order.
+
+Syntax
+```
+sort( window.length, attribute, order)
+```
+
+QUERY PARAMETERS
+
+
+ Name |
+ Description |
+ Default Value |
+ Possible Data Types |
+ Optional |
+ Dynamic |
+
+
+ window.length |
+ The size of the window length. |
+ |
+ INT |
+ No |
+ No |
+
+
+ attribute |
+ The attribute that should be checked for the order. |
+ The concatenation of all the attributes of the event is considered. |
+ STRING |
+ Yes |
+ No |
+
+
+ order |
+ The order define as "asc" or "desc". |
+ asc |
+ STRING |
+ Yes |
+ No |
+
+
+
+Examples
+EXAMPLE 1
+```
+define stream cseEventStream (symbol string, price float, volume long);
+define window cseEventWindow (symbol string, price float, volume long) sort(2,volume, 'asc');
+@info(name = 'query0')
+from cseEventStream
+insert into cseEventWindow;
+@info(name = 'query1')
+from cseEventWindow
+select volume
+insert all events into outputStream ;
+```
+sort(5, price, 'asc') keeps the events sorted by price in the ascending order. Therefore, at any given time, the window contains the 5 lowest prices.
+
+### time *(Window)*
+
+A sliding time window that holds events that arrived during the last windowTime period at a given time, and gets updated for each event arrival and expiry.
+
+Syntax
+```
+time( window.time)
+```
+
+QUERY PARAMETERS
+
+
+ Name |
+ Description |
+ Default Value |
+ Possible Data Types |
+ Optional |
+ Dynamic |
+
+
+ window.time |
+ The sliding time period for which the window should hold events. |
+ |
+ INT LONG TIME |
+ No |
+ No |
+
+
+
+Examples
+EXAMPLE 1
+```
+define window cseEventWindow (symbol string, price float, volume int) time(20) output all events;
+@info(name = 'query0')
+from cseEventStream
+insert into cseEventWindow;
+@info(name = 'query1')
+from cseEventWindow
+select symbol, sum(price) as price
+insert all events into outputStream ;
+```
+This will processing events that arrived within the last 20 milliseconds.
+
+### timeBatch *(Window)*
+
+A batch (tumbling) time window that holds events that arrive during window.time periods, and gets updated for each window.time.
+
+Syntax
+```
+timeBatch( window.time, start.time)
+```
+
+QUERY PARAMETERS
+
+
+ Name |
+ Description |
+ Default Value |
+ Possible Data Types |
+ Optional |
+ Dynamic |
+
+
+ window.time |
+ The batch time period for which the window should hold events. |
+ |
+ INT LONG TIME |
+ No |
+ No |
+
+
+ start.time |
+ This specifies an offset in milliseconds in order to start the window at a time different to the standard time. |
+ Timestamp of first event |
+ INT |
+ Yes |
+ No |
+
+
+
+Examples
+EXAMPLE 1
+```
+define window cseEventWindow (symbol string, price float, volume int) timeBatch(20 sec) output all events;
+
+@info(name = 'query0')
+from cseEventStream
+insert into cseEventWindow;
+
+@info(name = 'query1')
+from cseEventWindow
+select symbol, sum(price) as price
+insert all events into outputStream ;
+```
+This will processing events arrived every 20 seconds as a batch and out put all events.
+
+### timeLength *(Window)*
+
+A sliding time window that, at a given time holds the last window.length events that arrived during last window.time period, and gets updated for every event arrival and expiry.
+
+Syntax
+```
+timeLength( window.time, window.length)
+```
+
+QUERY PARAMETERS
+
+
+ Name |
+ Description |
+ Default Value |
+ Possible Data Types |
+ Optional |
+ Dynamic |
+
+
+ window.time |
+ The sliding time period for which the window should hold events. |
+ |
+ INT LONG TIME |
+ No |
+ No |
+
+
+ window.length |
+ The number of events that should be be included in a sliding length window.. |
+ |
+ INT |
+ No |
+ No |
+
+
+
+Examples
+EXAMPLE 1
+```
+define stream cseEventStream (symbol string, price float, volume int);
+define window cseEventWindow (symbol string, price float, volume int) timeLength(2 sec, 10);
+@info(name = 'query0')
+from cseEventStream
+insert into cseEventWindow;
+@info(name = 'query1')
+from cseEventWindow select symbol, price, volume
+insert all events into outputStream;
+```
+window.timeLength(2 sec, 10) holds the last 10 events that arrived during last 2 seconds and gets updated for every event arrival and expiry.
+
+## Sink
+
+### inMemory *(Sink)*
+
+In-memory transport that can communicate with other in-memory transports within the same JVM, itis assumed that the publisher and subscriber of a topic uses same event schema (stream definition).
+
+Syntax
+```
+@sink(type="inMemory", topic="", @map(...)))
+```
+
+QUERY PARAMETERS
+
+
+ Name |
+ Description |
+ Default Value |
+ Possible Data Types |
+ Optional |
+ Dynamic |
+
+
+ topic |
+ Event will be delivered to allthe subscribers of the same topic |
+ |
+ STRING |
+ No |
+ No |
+
+
+
+Examples
+EXAMPLE 1
+```
+@sink(type='inMemory', @map(type='passThrough'))
+define stream BarStream (symbol string, price float, volume long)
+```
+In this example BarStream uses inMemory transport which emit the Siddhi events internally without using external transport and transformation.
+
+### log *(Sink)*
+
+This is a sink that can be used as a logger. This will log the output events in the output stream with user specified priority and a prefix
+
+Syntax
+```
+@sink(type="log", priority="", prefix="", @map(...)))
+```
+
+QUERY PARAMETERS
+
+
+ Name |
+ Description |
+ Default Value |
+ Possible Data Types |
+ Optional |
+ Dynamic |
+
+
+ priority |
+ This will set the logger priority i.e log level. Accepted values are INFO, DEBUG, WARN, FATAL, ERROR, OFF, TRACE |
+ INFO |
+ STRING |
+ Yes |
+ No |
+
+
+ prefix |
+ This will be the prefix to the output message. If the output stream has event [2,4] and the prefix is given as "Hello" then the log will show "Hello : [2,4]" |
+ default prefix will be : |
+ STRING |
+ Yes |
+ No |
+
+
+
+Examples
+EXAMPLE 1
+```
+@sink(type='log', prefix='My Log', priority='DEBUG'),
+define stream BarStream (symbol string, price float, volume long)
+```
+In this example BarStream uses log sink and the prefix is given as My Log. Also the priority is set to DEBUG.
+
+EXAMPLE 2
+```
+@sink(type='log', priority='DEBUG'),
+define stream BarStream (symbol string, price float, volume long)
+```
+In this example BarStream uses log sink and the priority is set to DEBUG. User has not specified prefix so the default prefix will be in the form <Siddhi App Name> : <Stream Name>
+
+EXAMPLE 3
+```
+@sink(type='log', prefix='My Log'),
+define stream BarStream (symbol string, price float, volume long)
+```
+In this example BarStream uses log sink and the prefix is given as My Log. User has not given a priority so it will be set to default INFO.
+
+EXAMPLE 4
+```
+@sink(type='log'),
+define stream BarStream (symbol string, price float, volume long)
+```
+In this example BarStream uses log sink. The user has not given prefix or priority so they will be set to their default values.
+
+## Sinkmapper
+
+### passThrough *(Sink Mapper)*
+
+Pass-through mapper passed events (Event[]) through without any mapping or modifications.
+
+Syntax
+```
+@sink(..., @map(type="passThrough")
+```
+
+Examples
+EXAMPLE 1
+```
+@sink(type='inMemory', @map(type='passThrough'))
+define stream BarStream (symbol string, price float, volume long);
+```
+In the following example BarStream uses passThrough outputmapper which emit Siddhi event directly without any transformation into sink.
+
+## Source
+
+### inMemory *(Source)*
+
+In-memory source that can communicate with other in-memory sinks within the same JVM, it is assumed that the publisher and subscriber of a topic uses same event schema (stream definition).
+
+Syntax
+```
+@source(type="inMemory", topic="", @map(...)))
+```
+
+QUERY PARAMETERS
+
+
+ Name |
+ Description |
+ Default Value |
+ Possible Data Types |
+ Optional |
+ Dynamic |
+
+
+ topic |
+ Subscribes to sent on the given topic. |
+ |
+ STRING |
+ No |
+ No |
+
+
+
+Examples
+EXAMPLE 1
+```
+@source(type='inMemory', @map(type='passThrough'))
+define stream BarStream (symbol string, price float, volume long)
+```
+In this example BarStream uses inMemory transport which passes the received event internally without using external transport.
+
+## Sourcemapper
+
+### passThrough *(Source Mapper)*
+
+Pass-through mapper passed events (Event[]) through without any mapping or modifications.
+
+Syntax
+```
+@source(..., @map(type="passThrough")
+```
+
+Examples
+EXAMPLE 1
+```
+@source(type='tcp', @map(type='passThrough'))
+define stream BarStream (symbol string, price float, volume long);
+```
+In this example BarStream uses passThrough inputmapper which passes the received Siddhi event directly without any transformation into source.
+
diff --git a/docs/api/latest.md b/docs/api/latest.md
index 8af67faad2..167b77abe5 100644
--- a/docs/api/latest.md
+++ b/docs/api/latest.md
@@ -1,4 +1,4 @@
-# API Docs - v4.2.41-SNAPSHOT
+# API Docs - v4.3.0
## Core
diff --git a/docs/extensions.md b/docs/extensions.md
index c9500dff32..df44c0dde5 100644
--- a/docs/extensions.md
+++ b/docs/extensions.md
@@ -1,17 +1,16 @@
# Siddhi Extensions
-Following are some prewritten extensions that are supported with Siddhi;
-
-###Execution extensions
+## Available Extensions
-_Extensions released under Apache 2.0 License_
+Following are some prewritten extensions that are supported with Siddhi;
+### Extensions released under Apache 2.0 License
1. execution string
1. execution math
1. execution time
-1. execution json
1. execution streamingml
1. execution regex
+1. execution markov
1. execution unique
1. execution map
1. execution unitconversion
@@ -27,75 +26,44 @@ _Extensions released under Apache 2.0 License_
1. execution approximate
1. execution graph
1. execution tensorflow
-1. execution markov
1. execution env
-
-_Extensions released under GPL License_
-
-1. execution pmml
-1. execution streamingml
-1. execution geo
-1. execution nlp
-1. execution r
-
-###Source and sink extensions
-
-_Extensions released under Apache 2.0 License_
-
1. io http
1. io kafka
1. io tcp
1. io wso2event
1. io email
1. io jms
-1. io nats
-1. io ibmmq
1. io file
1. io rabbitmq
1. io mqtt
1. io websocket
1. io sqs
1. io twitter
-1. io cdc
-1. io android
-
-###Source and sink data mapper extensions
-
-_Extensions released under Apache 2.0 License_
-
1. map json
1. map xml
-1. map text
1. map binary
+1. map text
1. map wso2event
1. map keyvalue
1. map csv
-1. map avro
-
-###Data store extensions
-
-_Extensions released under Apache 2.0 License_
-
1. store rdbms
1. store solr
1. store mongodb
1. store hbase
1. store redis
-1. store elasticsearch
-1. store hazelcast
1. store cassandra
-
-###Function script extensions
-
-_Extensions released under Apache 2.0 License_
-
1. script js
1. script scala
-_Extensions released under GPL License_
-
+### Extensions released under GPL License
+1. execution pmml
+1. execution geo
+1. execution nlp
+1. execution r
+1. execution streamingml
1. script r
+
## Extension Repositories
All the extension repositories maintained by WSO2 can be found here
diff --git a/docs/index.md b/docs/index.md
index 512ccaa601..0b436e3071 100755
--- a/docs/index.md
+++ b/docs/index.md
@@ -94,7 +94,7 @@ Find the released Siddhi libraries 4.2.40.
+Latest API Docs is 4.3.0.
## Jenkins Build Status
diff --git a/mkdocs.yml b/mkdocs.yml
index 3eabb07b75..d9d328c52d 100755
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -37,6 +37,7 @@ pages:
- Siddhi Architecture: documentation/siddhi-architecture.md
- Extensions: extensions.md
- API Docs:
+ - 4.3.0: api/4.3.0.md
- 4.2.40: api/4.2.40.md
- 4.2.39: api/4.2.39.md
- 4.2.38: api/4.2.38.md