Milestone Release v1_beta6 - 09/30/15
Pre-releaseMilestone Release v1_beta6 - 09/30/15
Major features added:
- Support to MQTT protocol using mosquitto library
- HTTP server using libmicrohttpd
- HTTP client node types
- Automatic load of conffiles
Improvements:
- Many fixes on fbp-generator and http client
- A few more node types related to strings
- Node type for general led 7-segments
Issues resolved in this release (7):
#725 automatically load conffiles
#665 sol-fbp-generator crashes
#653 [P2] failed running soletta/src/test-fbp/bitwise-int.fbp in Minnowboard
#551 [P2] Examples in src/flow/unix-socket failed to run in Edison board
#549 [P3] Tests in src/test-fbp failed to run in minnowboard
#548 [P2] Tests in /src/test-fbp and src/samples/flow/unix-socket failed in Galileo Gen2
#408 soletta building from source fails
Open issues (24):
#802 Crypto & Sign
#750 Implementing HTTP generic nodes.
#749 Native MQTT and MQTT-SN
#748 HTTP Client generic node types
#747 LCD (String) + Buttons high-level node types
#746 JSON Packets & Node Types
#742 linux-micro automount module
#738 Port to FreeRTOS
#737 Port to ARM MBed
#736 Bluetooth realistic example
#732 OIC realistic example
#731 OAuth node with realistic sample
#727 http server C examples
#726 http client C examples
#724 review node type options to use basic types
#722 [P2] old glibc produces the error msg: /src/shared/sol-util.c:49:1: error: unknown type name 'locale_t' at compilation time
#677 linux-micro debug support (gdbserver)
#676 linux-micro kmod module
#663 [P2] string related tests contained in soletta/src/test-fbp/ failed to run in Galileo board G2.
#528 [P2] sdk couldn't resolve type 'LCDChar' of node 'lcd' for the examples in galileo-grove-kit/lcd
#525 [P2] PWM on the galileo gen 2 is not working
#515 OpenSuse package
#512 Fedora Package
#487 build: there should be a way to config a debug build
Changes in this release (164 commits):
7835c2e Fix build after 346bfcf.
346bfcf flow/file: Fix segmentation fault while sending error packet
72ca37c flow: Sanitize app name when searching conffile
5794103 flow: Fix string corruption in sol-conffile.c
4975b55 buffer: Fix heap overflow when ensuring empty buffer is NUL-terminated
321ee58 buffer: Fix use after free if buffer is resized to 0
665fb21 modules/test: avoid unnecessary strdup on int-validator
e242646 modules/test: always return -errno on open() errors
dee53d8 modules/test: avoid leaks on string and int validator
d9373c7 modules/test: add generator and validator for byte packet type
59bf2b7 datatypes/sol-vector: support to initialize ptr_vector with n elems
79fb5e7 modules/gtk: add gtk widget to represent led 7 segments
6f30da6 build: make sure we copy cheat-sheet resources
1e6377e node-type-gen-html: replace the " on descriptions
dacb69c flow/test: Fix crash in float-validator
ed59836 build: Make the samples depend on all the modules too
c5059a9 samples: No need to explicitly link to used modules
57bca65 samples: Use modules helper
def7704 samples: Remove pointless check
d5243f9 tests: Use modules helper for test-flow
e2babec build: check-fbp-bin no longer needs to link to the every module
ce390ee flow: Use helper modules in node-types that depend on others
95f4755 fbp-generator: Use modules helper for generated code
45548bc flow: Add helper to get node types from modules
0fb36da fbp-generator: Make valgrind happier
d6ab3bc generator: add some rationale doc regarging overall design
dda987e generator: it doesn't actually rely on descrption
79ab6c6 fix size_t formatting on 32bits machines.
00ec20e tests: update gitignore
70a3e62 modules/persistence: fix string leak
162b5cb flow: fix issues when node type desc is not enabled
673d701 conffile: Fix memory leak
3446ca8 http:client: Fix multiple requests
197cdf2 http:client: Rename variable on connection_finish
cc34b7e flow: Add string tests for the ascii backend
0a48771 flow: Fix error message on icu string replace code
6ed9ec1 flow: Make easier to idenfity tests that need icu
e174d41 flow: Make easier to identify tests that need pcre
fa4b21e converter node: send error packet on bad boolean string.
6ffdd6b conffile: implement fallback lookup
54d89b3 persistence: FBP tests
b343635 persistence: Sanitise irange/drange values
c28fdf6 flow/test: string-validator node type
b7e9e4b run-fbp-tests: New directives for tests
14fb255 sol-fbp-runner: Support for json memory maps
e6c445c sol-fbp-generator: Support for json memory maps
5361414 sol-conffile: Support to memory map entry
029e354 io: New persistence storage, memmap.
3128fbe io: Move storage files to lib/io
80f0017 persistence: C API to ease use of persistence features from C code
cd34b34 persistence: Allow node to persist only 'val' member of ranged structs
6908b50 persistence: Ensure no leaks on failure
9ecfc9c persistence: Fix off-by-one allocation
28645f1 persistence: Make write buffer const on sol_[fs|efivars]write_raw
49a76b0 efivars-storage: Fix path check function used
19f789c sol-util-file: sol_util_fill_buffer now honours NO_NUL_BYTE flag
4c792c7 iio: Move to lib/io
803fcbe comms:http:client: Basic drange node
49a76c6 comms:http:client: Basic irange node
0627b84 comms:http:client: Basic string node
8aaa733 comms:http:client: Basic boolean node
94ce356 parsers:json: Fix get double behaviour
63156ac comms:http:server: Handle strtod errors properly
93ac3ac comms:http:server: Add debug information for tests
ebe041f flow:keyboard: Fix int interface
5e634cc parsers:json: Use %g on snprintf
32d2089 json: Validate parameter on public function
0316dd1 pin-mux: Keep track of open gpios...
e538eac strings: new node string/is-empty, with tests.
6933d29 test-fbp: enable some disabled tests
d4da8e4 Fix linux-dummy after changes on os_version() stuff.
e85992a strings: yet more doc fixing.
63af1ab strings: more documentation fixing.
aca5111 Fix some typos on string nodes json.
bb98e55 strings: Fix some typos on json docs.
40cd0c4 strings: add string/slice node, with tests.
2ba6eb4 Use uname(2) on get_os_version.
bc183f9 sol-oic-gen: explain how files should be named on help
e8eb3bd sol-oic-gen: support having names different from oic
3061ed0 sol-oic-gen: drop unnecessary, not exported headers
a37c527 sol-oic-gen: fix names regarding "-" and ""
e967540 build: install oicgen script
ca72ef7 pin-mux: Fix when dynamic modules aren't available
c994f70 pin-mux: Fix Intel Edison pin mux module
a6aa039 pin-mux: modules refactoring
d3c1460 build: make it possible to reuse objects inter-modules
0e67c99 build: Stop creating builtins.json
5c1d193 JSON: Use SPDX identifier for BSD-3-Clause
17bf183 check-license: Ignore config files, fix DIFF_LIST
008f53d json: Add missing 'schema' to config files
4f1dca0 comms:http:client: Fix possible race-conditions
04911ce comms:http:client: connection->error can be lost
646233f comms:http:client: Fix possible segfault
75483cb comms:http:client: Fix curl's time callback
6b16b08 Minor fix in sol_buffer_copy documentation
d053be7 Minor fix in MQTT description
a1adfd1 MQTT: Add samples to mqtt
11280a8 MQTT: Add mqtt to supported comms
5f2a5c5 sol-buffer: Add buffer copy helper function
9c88e59 sol-buffer: Add helper for constant initialization
b707598 Revert "comms:http: Ugly hack to make async response works"
17cb353 comms:http:server: Bumping microhttpd version
33230a3 flow: support receiving scaped suboptions keys
3ae89db fbp-parser: allow usage of "-" on identifiers
d1aacf0 fbp-parser: print wrong statement on error
7e2efb3 get_libname(): resolve possible symlink returned by dladdr().
d495f22 build: [samples] add all used dependencies
e60903a tests: Let flow tests use the default resolver, not just builtin
afa605b flow: Don't assume that all ids can be resolved
99474c4 flow: Put wave-generator node-types in the float namespace
580c1ee samples/oic: create server side and add it to build
079af40 samples/http-server: add samples to build
a759e55 samples/unix-socket: fix samples and add them to build
f63c5b9 build: support fbp dependency on samples build
56c5306 samples/galileo-led: remove multiplication node
c03a9c1 samples/io: Fix sample and add it to build
feb0e05 flow: Include generated node-type header before internal ones
8f05bd9 io: Add SOL_API to sol-aio functions
51a6a04 generator: Use the right type name for float options
3f4b8e2 build: check-fbp-bin rule should place the mods in the end
8bda038 comms:http:server: Set minimal microhttpd's version
a7abc32 riot: Implement machine_id, serial number and OS version
6b70038 Remove warnings when building for platforms !Linux
bc7038a shared: Move UUID generation functions to plain sol-util
65dce76 linux-micro: Don't add hyphens to the generated UUID
362cec7 modules/byte: add comparison node types
b889b7a samples: enable build of foosball sample
bc4117a fbp-generator: refactor add_fbp_type_to_type_store
f5973d5 fbp-generator: check if exported names were alloced
f2ee2d0 fbp-generator: only set array size if whole array was exported
9526fdc fbp-generator: Fix port index of exported ports
805e88c fbp-generator: add warning and dbg messages
03bf358 fbp-generator: fix names comparisons on exported ports
d31570d sol-oic-client: Send messages with random tokens
2fd84d3 oicgen: Use device identifier for OIC devices instead of MAC addresses
46c3f29 sol-json: Add function to create a string slice from a token
b910018 oicgen: Use alloca() instead of VLA for escaped strings
80bc155 sol-oic-server: Indent APPEND_KEY_VALUE and OIC_SERVER_CHECK macros
0092940 comms/oic-server: Query platform for machine ID
6bbaf24 oicgen: Use a single props_are_equivalent() function
f4cc5cd oicgen: Initialize multicast address only once
139d27a oicgen/sol-oic-client: Set client/resource API version in structs
78717f4 pc: update description + add nodedescriptionpath
c28abe9 comms:http: Ugly hack to make async response works
0f47c95 flow:comms:http:server: Add drange type
c628cde flow:comms:http:server: Set last-modified value
af75fc0 comms:http:server: Add support for last-modified
bd9ff79 flow:comms:http:server: Return json
116e677 flow:comms:http:server: Add irange node
ba62dbe flow:comms:http:server: Add string node
3a44b23 flow:comms:http:server: Add boolean node
dc36934 comms:http: server implementation
8eec7ab comms:http: Improve macro that checks response api version
8465345 comms:http: Add an invalid method
8d17b69 comms:http: Add macro to iterate param
2616eaa comms:http: Add macro to init sol_http_param
47b4c6b comms:http: Add params to response structure
a0dfb04 comms:http: Add enum with most used status codes
5d82803 comms:http: Separate the common code
1ba0065 json: Add helper function to convert double to string
255430a json: Add helper function to escape a string
db8834c Fix make doc rule errors and add some groups.
b2c68bf cheat-sheet: generate cheat-sheet files within build/ dir
9be843b doxygen: generate doxygen files in build/stage dir