Commit Graph

198 Commits

Author SHA1 Message Date
zhouzb dc9631514d chore: ensure version bump for dashboard app 2021-12-17 20:28:54 +08:00
zhouzb 04a4462f1e chore(release): update version to 4.3.10 2021-11-12 10:36:27 +08:00
Turtle f00e254bdf chore(release): update version to 4.3.9 2021-11-02 18:26:57 +08:00
zhanghongtong aaa7cd0a44 chore(release): update emqx release version 2021-09-06 10:55:02 +08:00
Turtle 87ee94b6f2 chore(version): update emqx version to 4.3.7 2021-08-04 18:44:47 +08:00
zhanghongtong 07f58c0e9e chore(release): update emqx release version 2021-07-28 16:45:54 +08:00
zhanghongtong 0c66fcef00 chore(release): update emqx release version 2021-06-28 11:14:33 +08:00
zhanghongtong bfc6c3aa42 chore(release): update emqx release version 2021-06-23 17:52:42 +08:00
JianBo He 42a6f2aba5
fix(mqttsn): fix proto_name to MQTT-SN instead of MQTT (#4961) 2021-06-11 11:08:24 +08:00
zhanghongtong 4891c4f8de chore(release): update emqx release version 2021-06-05 15:34:07 +08:00
zhanghongtong 96466aba40 chore(release): update emqx release version 2021-05-27 17:54:50 +08:00
Rory-Z ff4ac624d0 chore(release): update emqx release version 2021-05-14 11:28:12 +00:00
Zaiming Shi 80a93c225f build: prepare for 4.3.0 2021-05-06 21:05:39 +02:00
Zaiming Shi bf4baf708a fix(emqx_packet): list element index out of range 2021-05-04 09:24:54 +02:00
zhanghongtong 883614e8c3 chore(release): update emqx release version 2021-04-26 20:42:36 +08:00
Zaiming Shi bc6a87946c refactor(emqx_trie): store only prefixes
This commit refactors emqx_trie implementation
with mainly two changes

1. Deleted the edge table.

   In the old implementation, trie consist of nodes and edges.
   e.g. for topic 'a/b/+/d', node 'a' with edge 'b'
   points to node 'a/b' and so on.

   However, edges can be computed at runtime,
   so there is no need to store them in a table.
2021-04-26 14:18:40 +02:00
Zaiming Shi 6354e75626 chore: update copyrights 2021-04-23 20:43:00 +02:00
zhanghongtong cf16a822b8 chore(release): update emqx release version 2021-04-16 17:07:24 +08:00
zhanghongtong 9e219ed68d chore(release): update emqx release version 2021-03-30 18:51:02 +08:00
Zaiming Shi 6c77fa1bf7 fix(emqx_channel): Receive Maximum spec compliance
According to MQTT 5.0 specification
If the Receive Maximum value is absent then its value defaults to
65,535.
2021-03-29 09:42:07 +02:00
Zaiming Shi b10a60cddb fix(conninfo): Ensure receive_maximum do not exceed limit 2021-03-29 09:42:07 +02:00
zhanghongtong 52743839d0 chore(release): update emqx release version 2021-03-26 14:50:56 +08:00
zhanghongtong 4ce7229382 chore(release): update emqx release version 2021-03-23 23:09:38 +08:00
Zaiming Shi 00a2daba19 chore(build): add more enterprise build support 2021-03-06 10:56:07 +01:00
zhanghongtong b12d4f481f chore(script): remove the prefix of pkg-vsn.sh 2021-03-06 10:40:32 +08:00
Zaiming Shi 9b3ab169ce chore(versioning): detach package version from emqx app version 2021-03-04 20:24:58 +01:00
JianBo He d437f9f228 chore(elvis): fix elvis warnings 2021-01-14 15:46:16 +08:00
Ayodele 2b481dabe7
Fix some dialyzer warnings (#3988) 2021-01-05 20:49:50 +01:00
zhouzb 43b49edd28 feature(alarm): new design for alarm 2020-07-31 18:07:20 +08:00
JianBo He e3489b9d46 refactor(style): improve all types declaration
- Add dialyzer for code analysis
- Correct all the module type declarations
- Use `-type()` to declaration a type instead of `-opaque`
  (It is advantageous to the code dialyzer)

BROKEN CHANGES:
- Add a ?DEFAULT_SUBOPTS for emqx_broker:subscribe/1,2,3
- Remove the needless internal function `emqx_vm:port_info(PortTerm, Keys)`
2020-06-18 17:38:34 +08:00
terry-xiaoyu 6ad65d587e feature(properties): add properties in message header
1. Add MQTT5.0 properties when invoking the hooks.

- Add a new key `properties` into the message header:

  We used to put all of the properties into the `#message.headers`:

  ```erlang
  #message{headers = #{'User-Property' => {<<"reason">>,<<"normal">>},
                       'Message-Expiry-Interval' => 60,
                       allow_publish => true}
  ```

  I put them instead under a single key:

  ```erlang
  #message{headers = #{properties =>
                        #{'User-Property' => {<<"reason">>,<<"normal">>},
                          'Message-Expiry-Interval' => 60},
                       allow_publish => true}
  ```

  Note that the column `properties` may contain all the properties for
  Publish and Will messages.

- Add `disconn_props` into the `Channel.conninfo`

- Add `puback_props` also into the message header:

  ```erlang
  #message{headers = #{puback_props =>
                        #{'User-Property' => {<<"reason">>,<<"normal">>}},
                       allow_publish => true}
  ```

2. Change the data type of `#message.headers` and `#message.flags` to map.

   It used to support `undefined`.
2020-06-17 18:46:26 +08:00
zhouzb 3b537760d5 Read new configuration items when plugins is loaded 2020-03-23 15:23:38 +08:00
zhouzb 7ea75f4289 Update copyright 2020-01-03 18:31:08 +08:00
turtled 9786dd5305 Support configuration log line 2019-12-20 15:40:58 +08:00
Feng Lee 0c377c67cd Use 'erlang:system_time' to replace 'os:timestamp' (#3088)
Use 'erlang:system_time/1' to replace 'os:timestamp/0'
2019-12-09 16:27:25 +08:00
Feng Lee 9c3273a2c6 Improve the process of handling MQTT control packets (#3079) 2019-12-06 19:51:06 +08:00
zhouzb b7cafc0ba0 Update record banned 2019-11-15 14:55:14 +08:00
zhouzb d004a5b68e Rename 'client_id' field to 'clientid' 2019-09-29 16:46:27 +08:00
Feng Lee 2790ab318d Rename 'client_id' field to 'client' 2019-09-24 13:53:46 +08:00
Feng Lee 2ed9e9480e Remove the default value of 'headers' field 2019-09-19 11:18:04 +08:00
zhouzb 2089c2108e Default rap is 0 2019-09-06 20:32:10 +08:00
Michael Schmidt 3038bd4570 Add support for logger per module filtering (#2873)
Add mfa to the meta data to suppor the Erlang Logger's per module / per app filtering
2019-09-06 11:03:47 +08:00
Feng Lee 847375d2fb Improve connection and channel modules (#2860)
Improve the connection and channel modules
2019-09-05 14:17:15 +08:00
Feng Lee c69a2b1b48 Ensure session expiration (#2825)
Ensure session expiration
2019-08-23 09:35:29 +08:00
Gilbert 79744af681 Wrapper proper test cases into common test cases (#2785)
* Wrapper proper test cases into common test cases

* Improve test cases for reason code module (#2789)

* Split 3 proper tests into 3 ct cases

* Improve test cases for client, rpc and request-response

* Add psk suites to increase coverage

* Add sys test cases
2019-08-16 18:07:12 +08:00
turtled 91a8dbda56 Fix conflicts 2019-08-09 16:41:11 +08:00
周子博 ef9cbe51eb Fix conflict 2019-08-02 10:41:46 +08:00
Feng Lee c95a89ed1e Merge branch 'nchannel' into develop 2019-07-31 14:03:48 +08:00
terry-xiaoyu b0e2b7db0c Support inter-node messages via RPC cast 2019-07-27 12:59:07 +08:00
Feng Lee c091e89796 Remove the unnecessary include/emqx_client.hrl 2019-07-23 10:56:14 +08:00