About next release
darkdh opened this issue · comments
When can we publish next release? I want to integrate the official release to my project.
Because I need the remove_by_idx() API of the changes since 2.2.0.
I'm considering some changes as you suggested as below
- all containers support binary keys by default in put() method like
put() - binary key, put_by_name() - strkey, putstrint() - remove - introduct treetbl which implements red-black BST algorithm
This will break back-ward api compatibility, so we can release final 2.x as is, then go to 3.0 with new api.
What do you think?
I strongly agree with the backward compatibility. Let's take more time to think about the issue with binary key.
However, I need the final 2.x for deleting record by idx from get_next().
How soon do you need? I guess you can use current code? Do you need a sold release number?
BTW, I'm actually working on tree implementation.
(One way) keep the consistent API with others like
- put(string key, binary data)
- putstr(string key, stirng data)
- put_by_obj(binary key, binary data) <= just introducing new api.
(The other way) make all containers take binary key by default.
This will require changes to existing containers like hashtbl, listtbl
- put(binary key, binary_data) -> need existing api change, need new major version update.
- put_by_name(string key, binary data) -> need existing putstr() api change
- putstr_by_name(string key, string data) -> need existing putstr() api change
What do you think?
I feel option 2 is not something that I can decide by my own so I'm looking forward to feedbacks as many as possible on the above matter. Thanks in advance.
I can wait cause I must specify the release number of 3rd party in my project.
I still think that API consistency is far more important unless some critical conditions are met.
I think we can release it by end of this week or early next week.
I made some standard compliant changes and it's on master, could you please check with your package just to make sure it doesn't break anything?
I still think that API consistency is far more important unless some critical conditions are met.
So you like option 1? just adding put_by_obj, get_by_obj and delete_by_obj which takes binary key. This approach will be made not only for new tree table but also qhashtbl, qhasharr, qlisttbl eventually.
Thanks for the release and I will check the changes. If anything went wrong, I will let you know.
I prefer option 1 for short term consideration in case of someone with the urgent need. However, if it is the major release change like 3.0. I think we should redesign the binary key architecture for these tables. So I agree with either option 1 or 2.
New release 2.3.0 has just came out. Thanks!
I can't wait to integrate. Thank you.