Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hiredis 0.12.0 #288

Closed
michael-grunder opened this issue Dec 17, 2014 · 22 comments
Closed

Hiredis 0.12.0 #288

michael-grunder opened this issue Dec 17, 2014 · 22 comments

Comments

@michael-grunder
Copy link
Collaborator

Hey everybody,

I have created a develop branch for hiredis, and would like to get this going by going through a variety of outstanding issues and pull requests to see what we might want to get tested and incorporated for the next official release 😺!

Things I'm pretty sure we should merge:

Things we might want to merge:

So that takes us back roughly a year for pull requests. I am going to familiarize myself with the ng branch next and see about moving that forward. I think however this is a good start. Most of these are very small and should be pretty safe.

Cheers guys!
Mike

@badboy
Copy link
Contributor

badboy commented Dec 20, 2014

ACK on everything in the Things I'm pretty sure we should merge list.
#279: just cosmetic, there's actually just one place otherwise in sds.c. Best to keep it technically correct in the long run.
#261: I'm on @pietern side here. Let's release a proper bug-fix version first, than work on a major release next including this.
#254: Breaks nothing it seems, fixes kfreebsd. Merge it.
#250: Technical point of view: Yip, providing this makes sense. Code Point of View: Not correct (yet). Decalred as "int" but returns nothing.
#239: why oh why, glibc? For the case where people might compile their own code with _GNU_SOURCE hiredis code might actually break. I don't really like the fix because of glibc, but if that is what it takes to not break I'm ok with it.

@michael-grunder
Copy link
Collaborator Author

Thanks @badboy!

Cheers! :octocat:
Mike

@NanXiao
Copy link
Contributor

NanXiao commented Dec 23, 2014

@badboy @michael-grunder : could you check #257 ? Thanks!

@michael-grunder
Copy link
Collaborator Author

@NanXiao Yes! I've got some time over the xmas to work on this and I'll test for sure. First glance, looks pretty good. :)

@NanXiao
Copy link
Contributor

NanXiao commented Dec 24, 2014

@michael-grunder 🆗 Thanks! Merry xmas! :)

@badboy
Copy link
Contributor

badboy commented Dec 29, 2014

#257 seems to not break anything, but will cover even more edge cases, so we should include it in a release.

@michael-grunder How do we move on now? Get the mentioned things merged into develop, do further testing and then prepare a release like 1-2 weeks from now?

@mattsta
Copy link
Contributor

mattsta commented Dec 29, 2014

How about:

  • merge everything here into develop (with reviews/fixes where necessary—I'll get around to reading all of this soon!)
    • when stable enough, merge develop into master as one final update to the current 0.x version then tag, release, etc.
  • all future changes/updates/cleanup will be in a new 1.x.y version
    • first task there is probably re-evaulating code copied from Redis. Update out of sync code, maybe refactor some code with less copy/paste (on both the Redis and hiredis sides), create common reusable components, etc.

@badboy
Copy link
Contributor

badboy commented Dec 29, 2014

Sounds like a good plan.

@michael-grunder
Copy link
Collaborator Author

Agreed. I'll start getting these merged. I would have earlier but the holidays happened 😃

@badboy
Copy link
Contributor

badboy commented Dec 29, 2014

@michael-grunder No one expects people to work on the holidays, so everything is fine (just I'm at a hacker congress, so I thought I could atleat do some hacking)

@mattsta
Copy link
Contributor

mattsta commented Jan 5, 2015

All the PRs above look good (with changes where necessary). I've got them in a local develop branch and I'll push it up here later today.

@mattsta
Copy link
Contributor

mattsta commented Jan 5, 2015

develop updated with:

f28872c Cleanup tabs and end of line whitespace
dad0516 Update dependency list in Makefile
9abfdf9 Build static library by default
1d2b4d3 Generate pkgconf during build
cc20232 Fix errno error buffers to not clobber errors
ba3e74c Refactor reading code into read.c
0cacb48 Fix sds building with C++
6a00a46 Fix redisAppendCommand error result
0c9ff5b Add GLib 2.0 adapter
e30c96e Add empty pointer check in error cleanup
d1e820d Add error check in redisContextInit
b6a8607 Fix redisvFormatCommand format parsing
9a753b4 Add API to free hiredis (sds) formattings
1b392eb Add API to free hiredis (char *) formattings
85c6bfb Fix build under kfreebsd
9b83ddc Fix clang analyzer warning
7c4d255 Add support for SO_REUSEADDR
a1bc89b Improve calloc() correctness
9c57314 Cleanup libuv adapter
40f7035 Improve redisAppendCommandArgv performance
3315c09 Use stricter function argument types
865a368 Fix README typos
2d814b8 Fix minor comment problems
abbd340 Fix README typo
2a6dbdd Free string if it is unused
a1f6ce0 Add syntax highlighting to README.md

Test/read/check those commits and keep suggesting a few more fixes/changes for the next version!

@badboy
Copy link
Contributor

badboy commented Jan 6, 2015

How about including the following patch (or similar) to avoid the ugly warning:

/usr/include/features.h:148:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
      [-W#warnings]

Patch:

diff --git i/fmacros.h w/fmacros.h
index 9e5fec0..1beee89 100644
--- i/fmacros.h
+++ w/fmacros.h
@@ -3,6 +3,7 @@

 #if !defined(_BSD_SOURCE)
 #define _BSD_SOURCE
+#define _DEFAULT_SOURCE
 #endif

 #if defined(__sun__)

I'm not sure wether or not we still need the _BSD_SOURCE to work just fine with older compilers.

@badboy
Copy link
Contributor

badboy commented Jan 6, 2015

Better:

diff --git i/fmacros.h w/fmacros.h
index 9e5fec0..19d7b21 100644
--- i/fmacros.h
+++ w/fmacros.h
@@ -1,8 +1,9 @@
 #ifndef __HIREDIS_FMACRO_H
 #define __HIREDIS_FMACRO_H

-#if !defined(_BSD_SOURCE)
+#if defined(__linux__)
 #define _BSD_SOURCE
+#define _DEFAULT_SOURCE
 #endif

 #if defined(__sun__)

Similar to how Redis does it: redis/redis@af45364

mattsta added a commit that referenced this issue Jan 6, 2015
glibc 2.20 requires _DEFAULT_SOURCE and doesn't like _BSD_SOURCE alone

Also see:
 - redis/redis#2189
 - https://sourceware.org/glibc/wiki/Release/2.20#Deprecation_of__BSD_SOURCE_and__SVID_SOURCE_feature_macros

Thanks to badboy for pointing out the problem at
#288 (comment)
@mattsta
Copy link
Contributor

mattsta commented Jan 19, 2015

Any more requests before develop gets promoted to master in a few days?

@mattsta
Copy link
Contributor

mattsta commented Jan 21, 2015

Creating new version tomorrow. Looking at the release page, the last proper release was over two years ago. Whoops.

@badboy
Copy link
Contributor

badboy commented Jan 21, 2015

All good things are worth waiting for. (or in German: Was lange währt, wird endlich gut)

@mattsta
Copy link
Contributor

mattsta commented Jan 22, 2015

0.12.0 is done as of https://github.com/redis/hiredis/tree/7b51834c165133cf6816b1991920a55bdc64ea78

We can add any bug fixes in 0.12.x versions and the next major release will be 1.0.0.

@mattsta mattsta closed this as completed Jan 22, 2015
@mattsta
Copy link
Contributor

mattsta commented Jan 22, 2015

oh, and big thanks to @michael-grunder and @badboy for doing all the real work of figuring out exactly what to add/fix and how to add/fix things out of the hiredis issues/PR backlog. :)

@pietern
Copy link
Contributor

pietern commented Jan 22, 2015

Nice! Great work.

@mattsta
Copy link
Contributor

mattsta commented Jan 22, 2015

At this point it's mostly open source gardening. You did all the real great work years ago. :)

@badboy
Copy link
Contributor

badboy commented Jan 22, 2015

I'm happy to contribute here. Again thanks to all of you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants