1*08ab5237SOystein Eftevaag[](https://travis-ci.org/gflags/gflags) 2*08ab5237SOystein Eftevaag[](https://ci.appveyor.com/project/schuhschuh/gflags/branch/master) 3*08ab5237SOystein Eftevaag 4*08ab5237SOystein EftevaagThe documentation of the gflags library is available online at https://gflags.github.io/gflags/. 5*08ab5237SOystein Eftevaag 6*08ab5237SOystein Eftevaag 7*08ab5237SOystein Eftevaag11 November 2018 8*08ab5237SOystein Eftevaag---------------- 9*08ab5237SOystein Eftevaag 10*08ab5237SOystein EftevaagI've just released gflags 2.2.2. 11*08ab5237SOystein Eftevaag 12*08ab5237SOystein EftevaagThis maintenance release improves lives of Bazel users (no more "config.h" leaking into global include paths), 13*08ab5237SOystein Eftevaagfixes build with recent MinGW versions, and silences a number of static code analyzer and compiler warnings. 14*08ab5237SOystein EftevaagThe build targets exported by the CMake configuration of this library are now also prefixed by the package 15*08ab5237SOystein Eftevaagname "gflags::" following a more recent (unwritten) CMake convention. The unprefixed target names are still 16*08ab5237SOystein Eftevaagsupported to avoid that dependent projects have to be modified due to this change in imported target names. 17*08ab5237SOystein Eftevaag 18*08ab5237SOystein EftevaagPlease report any further issues with this release using the GitHub issue tracker. 19*08ab5237SOystein Eftevaag 20*08ab5237SOystein Eftevaag 21*08ab5237SOystein Eftevaag11 July 2017 22*08ab5237SOystein Eftevaag------------ 23*08ab5237SOystein Eftevaag 24*08ab5237SOystein EftevaagI've just released gflags 2.2.1. 25*08ab5237SOystein Eftevaag 26*08ab5237SOystein EftevaagThis maintenance release primarily fixes build issues on Windows and 27*08ab5237SOystein Eftevaagfalse alarms reported by static code analyzers. 28*08ab5237SOystein Eftevaag 29*08ab5237SOystein EftevaagPlease report any further issues with this release using the GitHub issue tracker. 30*08ab5237SOystein Eftevaag 31*08ab5237SOystein Eftevaag 32*08ab5237SOystein Eftevaag25 November 2016 33*08ab5237SOystein Eftevaag---------------- 34*08ab5237SOystein Eftevaag 35*08ab5237SOystein EftevaagI've finally released gflags 2.2.0. 36*08ab5237SOystein Eftevaag 37*08ab5237SOystein EftevaagThis release adds support for use of the gflags library as external dependency 38*08ab5237SOystein Eftevaagnot only in projects using CMake, but also [Bazel](https://bazel.build/), 39*08ab5237SOystein Eftevaagor [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/). 40*08ab5237SOystein EftevaagOne new minor feature is added in this release: when a command flag argument 41*08ab5237SOystein Eftevaagcontains dashes, these are implicitly converted to underscores. 42*08ab5237SOystein EftevaagThis is to allow those used to separate words of the flag name by dashes 43*08ab5237SOystein Eftevaagto do so, while the flag variable names are required to use underscores. 44*08ab5237SOystein Eftevaag 45*08ab5237SOystein EftevaagMemory leaks reported by valgrind should be resolved by this release. 46*08ab5237SOystein EftevaagThis release fixes build errors with MS Visual Studio 2015. 47*08ab5237SOystein Eftevaag 48*08ab5237SOystein EftevaagPlease report any further issues with this release using the GitHub issue tracker. 49*08ab5237SOystein Eftevaag 50*08ab5237SOystein Eftevaag 51*08ab5237SOystein Eftevaag24 March 2015 52*08ab5237SOystein Eftevaag------------- 53*08ab5237SOystein Eftevaag 54*08ab5237SOystein EftevaagI've just released gflags 2.1.2. 55*08ab5237SOystein Eftevaag 56*08ab5237SOystein EftevaagThis release completes the namespace change fixes. In particular, 57*08ab5237SOystein Eftevaagit restores binary ABI compatibility with release version 2.0. 58*08ab5237SOystein EftevaagThe deprecated "google" namespace is by default still kept as 59*08ab5237SOystein Eftevaagprimary namespace while symbols are imported into the new "gflags" namespace. 60*08ab5237SOystein EftevaagThis can be overridden using the CMake variable GFLAGS_NAMESPACE. 61*08ab5237SOystein Eftevaag 62*08ab5237SOystein EftevaagOther fixes of the build configuration are related to the (patched) 63*08ab5237SOystein EftevaagCMake modules FindThreads.cmake and CheckTypeSize.cmake. These have 64*08ab5237SOystein Eftevaagbeen removed and instead the C language is enabled again even though 65*08ab5237SOystein Eftevaaggflags is written in C++ only. 66*08ab5237SOystein Eftevaag 67*08ab5237SOystein EftevaagThis release also marks the complete move of the gflags project 68*08ab5237SOystein Eftevaagfrom Google Code to GitHub. Email addresses of original issue 69*08ab5237SOystein Eftevaagreporters got lost in the process. Given the age of most issue reports, 70*08ab5237SOystein Eftevaagthis should be negligable. 71*08ab5237SOystein Eftevaag 72*08ab5237SOystein EftevaagPlease report any further issues using the GitHub issue tracker. 73*08ab5237SOystein Eftevaag 74*08ab5237SOystein Eftevaag 75*08ab5237SOystein Eftevaag30 March 2014 76*08ab5237SOystein Eftevaag------------- 77*08ab5237SOystein Eftevaag 78*08ab5237SOystein EftevaagI've just released gflags 2.1.1. 79*08ab5237SOystein Eftevaag 80*08ab5237SOystein EftevaagThis release fixes a few bugs in the configuration of gflags\_declare.h 81*08ab5237SOystein Eftevaagand adds a separate GFLAGS\_INCLUDE\_DIR CMake variable to the build configuration. 82*08ab5237SOystein EftevaagSetting GFLAGS\_NAMESPACE to "google" no longer changes also the include 83*08ab5237SOystein Eftevaagpath of the public header files. This allows the use of the library with 84*08ab5237SOystein Eftevaagother Google projects such as glog which still use the deprecated "google" 85*08ab5237SOystein Eftevaagnamespace for the gflags library, but include it as "gflags/gflags.h". 86*08ab5237SOystein Eftevaag 87*08ab5237SOystein Eftevaag20 March 2014 88*08ab5237SOystein Eftevaag------------- 89*08ab5237SOystein Eftevaag 90*08ab5237SOystein EftevaagI've just released gflags 2.1. 91*08ab5237SOystein Eftevaag 92*08ab5237SOystein EftevaagThe major changes are the use of CMake for the build configuration instead 93*08ab5237SOystein Eftevaagof the autotools and packaging support through CPack. The default namespace 94*08ab5237SOystein Eftevaagof all C++ symbols is now "gflags" instead of "google". This can be 95*08ab5237SOystein Eftevaagconfigured via the GFLAGS\_NAMESPACE variable. 96*08ab5237SOystein Eftevaag 97*08ab5237SOystein EftevaagThis release compiles with all major compilers without warnings and passed 98*08ab5237SOystein Eftevaagthe unit tests on Ubuntu 12.04, Windows 7 (Visual Studio 2008 and 2010, 99*08ab5237SOystein EftevaagCygwin, MinGW), and Mac OS X (Xcode 5.1). 100*08ab5237SOystein Eftevaag 101*08ab5237SOystein EftevaagThe SVN repository on Google Code is now frozen and replaced by a Git 102*08ab5237SOystein Eftevaagrepository such that it can be used as Git submodule by projects. The main 103*08ab5237SOystein Eftevaaghosting of this project remains at Google Code. Thanks to the distributed 104*08ab5237SOystein Eftevaagcharacter of Git, I can push (and pull) changes from both GitHub and Google Code 105*08ab5237SOystein Eftevaagin order to keep the two public repositories in sync. 106*08ab5237SOystein EftevaagWhen fixing an issue for a pull request through either of these hosting 107*08ab5237SOystein Eftevaagplatforms, please reference the issue number as 108*08ab5237SOystein Eftevaag[described here](https://code.google.com/p/support/wiki/IssueTracker#Integration_with_version_control). 109*08ab5237SOystein EftevaagFor the further development, I am following the 110*08ab5237SOystein Eftevaag[Git branching model](http://nvie.com/posts/a-successful-git-branching-model/) 111*08ab5237SOystein Eftevaagwith feature branch names prefixed by "feature/" and bugfix branch names 112*08ab5237SOystein Eftevaagprefixed by "bugfix/", respectively. 113*08ab5237SOystein Eftevaag 114*08ab5237SOystein EftevaagBinary and source [packages](https://github.com/schuhschuh/gflags/releases) are available on GitHub. 115*08ab5237SOystein Eftevaag 116*08ab5237SOystein Eftevaag 117*08ab5237SOystein Eftevaag14 January 2014 118*08ab5237SOystein Eftevaag--------------- 119*08ab5237SOystein Eftevaag 120*08ab5237SOystein EftevaagThe migration of the build system to CMake is almost complete. 121*08ab5237SOystein EftevaagWhat remains to be done is rewriting the tests in Python such they can be 122*08ab5237SOystein Eftevaagexecuted on non-Unix platforms and splitting them up into separate CTest tests. 123*08ab5237SOystein EftevaagThough merging these changes into the master branch yet remains to be done, 124*08ab5237SOystein Eftevaagit is recommended to already start using the 125*08ab5237SOystein Eftevaag[cmake-migration](https://github.com/schuhschuh/gflags/tree/cmake-migration) branch. 126*08ab5237SOystein Eftevaag 127*08ab5237SOystein Eftevaag 128*08ab5237SOystein Eftevaag20 April 2013 129*08ab5237SOystein Eftevaag------------- 130*08ab5237SOystein Eftevaag 131*08ab5237SOystein EftevaagMore than a year has past since I (Andreas) took over the maintenance for 132*08ab5237SOystein Eftevaag`gflags`. Only few minor changes have been made since then, much to my regret. 133*08ab5237SOystein EftevaagTo get more involved and stimulate participation in the further 134*08ab5237SOystein Eftevaagdevelopment of the library, I moved the project source code today to 135*08ab5237SOystein Eftevaag[GitHub](https://github.com/schuhschuh/gflags). 136*08ab5237SOystein EftevaagI believe that the strengths of [Git](http://git-scm.com/) will allow for better community collaboration 137*08ab5237SOystein Eftevaagas well as ease the integration of changes made by others. I encourage everyone 138*08ab5237SOystein Eftevaagwho would like to contribute to send me pull requests. 139*08ab5237SOystein EftevaagGit's lightweight feature branches will also provide the right tool for more 140*08ab5237SOystein Eftevaagradical changes which should only be merged back into the master branch 141*08ab5237SOystein Eftevaagafter these are complete and implement the desired behavior. 142*08ab5237SOystein Eftevaag 143*08ab5237SOystein EftevaagThe SVN repository remains accessible at Google Code and I will keep the 144*08ab5237SOystein Eftevaagmaster branch of the Git repository hosted at GitHub and the trunk of the 145*08ab5237SOystein EftevaagSubversion repository synchronized. Initially, I was going to simply switch the 146*08ab5237SOystein EftevaagGoogle Code project to Git, but in this case the SVN repository would be 147*08ab5237SOystein Eftevaagfrozen and force everyone who would like the latest development changes to 148*08ab5237SOystein Eftevaaguse Git as well. Therefore I decided to host the public Git repository at GitHub 149*08ab5237SOystein Eftevaaginstead. 150*08ab5237SOystein Eftevaag 151*08ab5237SOystein EftevaagPlease continue to report any issues with gflags on Google Code. The GitHub project will 152*08ab5237SOystein Eftevaagonly be used to host the Git repository. 153*08ab5237SOystein Eftevaag 154*08ab5237SOystein EftevaagOne major change of the project structure I have in mind for the next weeks 155*08ab5237SOystein Eftevaagis the migration from autotools to [CMake](http://www.cmake.org/). 156*08ab5237SOystein EftevaagCheck out the (unstable!) 157*08ab5237SOystein Eftevaag[cmake-migration](https://github.com/schuhschuh/gflags/tree/cmake-migration) 158*08ab5237SOystein Eftevaagbranch on GitHub for details. 159*08ab5237SOystein Eftevaag 160*08ab5237SOystein Eftevaag 161*08ab5237SOystein Eftevaag25 January 2012 162*08ab5237SOystein Eftevaag--------------- 163*08ab5237SOystein Eftevaag 164*08ab5237SOystein EftevaagI've just released gflags 2.0. 165*08ab5237SOystein Eftevaag 166*08ab5237SOystein EftevaagThe `google-gflags` project has been renamed to `gflags`. I 167*08ab5237SOystein Eftevaag(csilvers) am stepping down as maintainer, to be replaced by Andreas 168*08ab5237SOystein EftevaagSchuh. Welcome to the team, Andreas! I've seen the energy you have 169*08ab5237SOystein Eftevaagaround gflags and the ideas you have for the project going forward, 170*08ab5237SOystein Eftevaagand look forward to having you on the team. 171*08ab5237SOystein Eftevaag 172*08ab5237SOystein EftevaagI bumped the major version number up to 2 to reflect the new community 173*08ab5237SOystein Eftevaagownership of the project. All the [changes](ChangeLog.txt) 174*08ab5237SOystein Eftevaagare related to the renaming. There are no functional changes from 175*08ab5237SOystein Eftevaaggflags 1.7. In particular, I've kept the code in the namespace 176*08ab5237SOystein Eftevaag`google`, though in a future version it should be renamed to `gflags`. 177*08ab5237SOystein EftevaagI've also kept the `/usr/local/include/google/` subdirectory as 178*08ab5237SOystein Eftevaagsynonym of `/usr/local/include/gflags/`, though the former name has 179*08ab5237SOystein Eftevaagbeen obsolete for some time now. 180*08ab5237SOystein Eftevaag 181*08ab5237SOystein Eftevaag 182*08ab5237SOystein Eftevaag18 January 2011 183*08ab5237SOystein Eftevaag--------------- 184*08ab5237SOystein Eftevaag 185*08ab5237SOystein EftevaagThe `google-gflags` Google Code page has been renamed to 186*08ab5237SOystein Eftevaag`gflags`, in preparation for the project being renamed to 187*08ab5237SOystein Eftevaag`gflags`. In the coming weeks, I'll be stepping down as 188*08ab5237SOystein Eftevaagmaintainer for the gflags project, and as part of that Google is 189*08ab5237SOystein Eftevaagrelinquishing ownership of the project; it will now be entirely 190*08ab5237SOystein Eftevaagcommunity run. The name change reflects that shift. 191*08ab5237SOystein Eftevaag 192*08ab5237SOystein Eftevaag 193*08ab5237SOystein Eftevaag20 December 2011 194*08ab5237SOystein Eftevaag---------------- 195*08ab5237SOystein Eftevaag 196*08ab5237SOystein EftevaagI've just released gflags 1.7. This is a minor release; the major 197*08ab5237SOystein Eftevaagchange is that `CommandLineFlagInfo` now exports the address in memory 198*08ab5237SOystein Eftevaagwhere the flag is located. There has also been a bugfix involving 199*08ab5237SOystein Eftevaagvery long --help strings, and some other minor [changes](ChangeLog.txt). 200*08ab5237SOystein Eftevaag 201*08ab5237SOystein Eftevaag29 July 2011 202*08ab5237SOystein Eftevaag------------ 203*08ab5237SOystein Eftevaag 204*08ab5237SOystein EftevaagI've just released gflags 1.6. The major new feature in this release 205*08ab5237SOystein Eftevaagis support for setting version info, so that --version does something 206*08ab5237SOystein Eftevaaguseful. 207*08ab5237SOystein Eftevaag 208*08ab5237SOystein EftevaagOne minor change has required bumping the library number: 209*08ab5237SOystein Eftevaag`ReparseCommandlineFlags` now returns `void` instead of `int` (the int 210*08ab5237SOystein Eftevaagreturn value was always meaningless). Though I doubt anyone ever used 211*08ab5237SOystein Eftevaagthis (meaningless) return value, technically it's a change to the ABI 212*08ab5237SOystein Eftevaagthat requires a version bump. A bit sad. 213*08ab5237SOystein Eftevaag 214*08ab5237SOystein EftevaagThere's also a procedural change with this release: I've changed the 215*08ab5237SOystein Eftevaaginternal tools used to integrate Google-supplied patches for gflags 216*08ab5237SOystein Eftevaaginto the opensource release. These new tools should result in more 217*08ab5237SOystein Eftevaagfrequent updates with better change descriptions. They will also 218*08ab5237SOystein Eftevaagresult in future `ChangeLog` entries being much more verbose (for better 219*08ab5237SOystein Eftevaagor for worse). 220*08ab5237SOystein Eftevaag 221*08ab5237SOystein EftevaagSee the [ChangeLog](ChangeLog.txt) for a full list of changes for this release. 222*08ab5237SOystein Eftevaag 223*08ab5237SOystein Eftevaag24 January 2011 224*08ab5237SOystein Eftevaag--------------- 225*08ab5237SOystein Eftevaag 226*08ab5237SOystein EftevaagI've just released gflags 1.5. This release has only minor changes 227*08ab5237SOystein Eftevaagfrom 1.4, including some slightly better reporting in --help, and 228*08ab5237SOystein Eftevaagan new memory-cleanup function that can help when running gflags-using 229*08ab5237SOystein Eftevaaglibraries under valgrind. The major change is to fix up the macros 230*08ab5237SOystein Eftevaag(`DEFINE_bool` and the like) to work more reliably inside namespaces. 231*08ab5237SOystein Eftevaag 232*08ab5237SOystein EftevaagIf you have not had a problem with these macros, and don't need any of 233*08ab5237SOystein Eftevaagthe other changes described, there is no need to upgrade. See the 234*08ab5237SOystein Eftevaag[ChangeLog](ChangeLog.txt) for a full list of changes for this release. 235*08ab5237SOystein Eftevaag 236*08ab5237SOystein Eftevaag11 October 2010 237*08ab5237SOystein Eftevaag--------------- 238*08ab5237SOystein Eftevaag 239*08ab5237SOystein EftevaagI've just released gflags 1.4. This release has only minor changes 240*08ab5237SOystein Eftevaagfrom 1.3, including some documentation tweaks and some work to make 241*08ab5237SOystein Eftevaagthe library smaller. If 1.3 is working well for you, there's no 242*08ab5237SOystein Eftevaagparticular reason to upgrade. 243*08ab5237SOystein Eftevaag 244*08ab5237SOystein Eftevaag4 January 2010 245*08ab5237SOystein Eftevaag-------------- 246*08ab5237SOystein Eftevaag 247*08ab5237SOystein EftevaagI've just released gflags 1.3. gflags now compiles under MSVC, and 248*08ab5237SOystein Eftevaagall tests pass. I **really** never thought non-unix-y Windows folks 249*08ab5237SOystein Eftevaagwould want gflags, but at least some of them do. 250*08ab5237SOystein Eftevaag 251*08ab5237SOystein EftevaagThe major news, though, is that I've separated out the python package 252*08ab5237SOystein Eftevaaginto its own library, [python-gflags](http://code.google.com/p/python-gflags). 253*08ab5237SOystein EftevaagIf you're interested in the Python version of gflags, that's the place to 254*08ab5237SOystein Eftevaagget it now. 255*08ab5237SOystein Eftevaag 256*08ab5237SOystein Eftevaag10 September 2009 257*08ab5237SOystein Eftevaag----------------- 258*08ab5237SOystein Eftevaag 259*08ab5237SOystein EftevaagI've just released gflags 1.2. The major change from gflags 1.1 is it 260*08ab5237SOystein Eftevaagnow compiles under MinGW (as well as cygwin), and all tests pass. I 261*08ab5237SOystein Eftevaagnever thought Windows folks would want unix-style command-line flags, 262*08ab5237SOystein Eftevaagsince they're so different from the Windows style, but I guess I was 263*08ab5237SOystein Eftevaagwrong! 264*08ab5237SOystein Eftevaag 265*08ab5237SOystein EftevaagThe other changes are minor, such as support for --htmlxml in the 266*08ab5237SOystein Eftevaagpython version of gflags. 267*08ab5237SOystein Eftevaag 268*08ab5237SOystein Eftevaag15 April 2009 269*08ab5237SOystein Eftevaag------------- 270*08ab5237SOystein Eftevaag 271*08ab5237SOystein EftevaagI've just released gflags 1.1. It has only minor changes fdrom gflags 272*08ab5237SOystein Eftevaag1.0 (see the [ChangeLog](ChangeLog.txt) for details). 273*08ab5237SOystein EftevaagThe major change is that I moved to a new system for creating .deb and .rpm files. 274*08ab5237SOystein EftevaagThis allows me to create x86\_64 deb and rpm files. 275*08ab5237SOystein Eftevaag 276*08ab5237SOystein EftevaagIn the process of moving to this new system, I noticed an 277*08ab5237SOystein Eftevaaginconsistency: the tar.gz and .rpm files created libraries named 278*08ab5237SOystein Eftevaaglibgflags.so, but the deb file created libgoogle-gflags.so. I have 279*08ab5237SOystein Eftevaagfixed the deb file to create libraries like the others. I'm no expert 280*08ab5237SOystein Eftevaagin debian packaging, but I believe this has caused the package name to 281*08ab5237SOystein Eftevaagchange as well. Please let me know (at 282*08ab5237SOystein Eftevaag[[mailto:[email protected]](mailto:[email protected]) 283*08ab5237SOystein Eftevaag[email protected]]) if this causes problems for you -- 284*08ab5237SOystein Eftevaagespecially if you know of a fix! I would be happy to change the deb 285*08ab5237SOystein Eftevaagpackages to add symlinks from the old library name to the new 286*08ab5237SOystein Eftevaag(libgoogle-gflags.so -> libgflags.so), but that is beyond my knowledge 287*08ab5237SOystein Eftevaagof how to make .debs. 288*08ab5237SOystein Eftevaag 289*08ab5237SOystein EftevaagIf you've tried to install a .rpm or .deb and it doesn't work for you, 290*08ab5237SOystein Eftevaaglet me know. I'm excited to finally have 64-bit package files, but 291*08ab5237SOystein Eftevaagthere may still be some wrinkles in the new system to iron out. 292*08ab5237SOystein Eftevaag 293*08ab5237SOystein Eftevaag1 October 2008 294*08ab5237SOystein Eftevaag-------------- 295*08ab5237SOystein Eftevaag 296*08ab5237SOystein Eftevaaggflags 1.0rc2 was out for a few weeks without any issues, so gflags 297*08ab5237SOystein Eftevaag1.0 is now released. This is much like gflags 0.9. The major change 298*08ab5237SOystein Eftevaagis that the .h files have been moved from `/usr/include/google` to 299*08ab5237SOystein Eftevaag`/usr/include/gflags`. While I have backwards-compatibility 300*08ab5237SOystein Eftevaagforwarding headeds in place, please rewrite existing code to say 301*08ab5237SOystein Eftevaag``` 302*08ab5237SOystein Eftevaag #include <gflags/gflags.h> 303*08ab5237SOystein Eftevaag``` 304*08ab5237SOystein Eftevaaginstead of 305*08ab5237SOystein Eftevaag``` 306*08ab5237SOystein Eftevaag #include <google/gflags.h> 307*08ab5237SOystein Eftevaag``` 308*08ab5237SOystein Eftevaag 309*08ab5237SOystein EftevaagI've kept the default namespace to google. You can still change with 310*08ab5237SOystein Eftevaagwith the appropriate flag to the configure script (`./configure 311*08ab5237SOystein Eftevaag--help` to see the flags). If you have feedback as to whether the 312*08ab5237SOystein Eftevaagdefault namespace should change to gflags, which would be a 313*08ab5237SOystein Eftevaagnon-backwards-compatible change, send mail to 314*08ab5237SOystein Eftevaag`[email protected]`! 315*08ab5237SOystein Eftevaag 316*08ab5237SOystein EftevaagVersion 1.0 also has some neat new features, like support for bash 317*08ab5237SOystein Eftevaagcommandline-completion of help flags. See the [ChangeLog](ChangeLog.txt) 318*08ab5237SOystein Eftevaagfor more details. 319*08ab5237SOystein Eftevaag 320*08ab5237SOystein EftevaagIf I don't hear any bad news for a few weeks, I'll release 1.0-final. 321