r3/CHANGES.md
2015-11-18 12:54:35 +08:00

73 lines
1.8 KiB
Markdown

# CHANGELOG
by Yo-An Lin <yoanlin93@gmail.com>
### 2.0 - Wed Nov 11 11:08:22 2015
- Renamed node/edge struct to R3Node and R3Edge
### 1.3.3 - Sat Jun 28 00:53:48 2014
- Fix graphviz generator.
### 1.3.2 - Sat Jun 28 00:54:22 2014
- `HAVE_STRNDUP` and `HAVE_STRDUP` definition fix
### 1.3.0 - Tue Jun 3 18:47:14 2014
- Added Incorrect slug syntax warnings
- Added error message support for pcre/pcre-jit compile
- Added JSON encode support for the tree structure
- Improved Graphivz Related Functions
- More failing test cases
### 1.2.1 - Tue May 27 21:16:13 2014
- Bug fixes.
- Function declaration improvement.
- pkg-config flags update (r3.pc)
### 1.2 - Fri May 23 23:30:11 2014
- Added simple pattern optimization.
- Clean up.
- Bug fixes.
### 0.9999 - Mon May 19 10:03:41 2014
API changes:
1. Removed the `route` argument from `r3_tree_insert_pathl_ex`:
node * r3_tree_insert_pathl_ex(node *tree, char *path, int path_len, void * data);
This reduce the interface complexity, e.g.,
r3_tree_insert_path(n, "/user2/{id:\\d+}", &var2);
2. The original `r3_tree_insert_pathl_ex` has been moved to `r3_tree_insert_pathl_ex` as a private API.
3. Moved `r3_tree_matchl` to `r3_tree_matchl` since it require the length of the path string.
m = r3_tree_matchl( n , "/foo", strlen("/foo"), entry);
4. Added `r3_tree_match` for users to match a path without the length of the path string.
m = r3_tree_match( n , "/foo", entry);
5. Added `r3_tree_match_entry` for users want to match a `match_entry`, which is just a macro to simplify the use:
#define r3_tree_match_entry(n, entry) r3_tree_matchl(n, entry->path, entry->path_len, entry)
6. Please note that A path that is inserted by `r3_tree_insert_route` can only be matched by `r3_tree_match_route`.
7. Added `r3_` prefix to `route` related methods.