Andreas Schuh | 78cab6c | 2016-08-01 17:05:26 +0100 | [diff] [blame] | 1 | [](https://travis-ci.org/gflags/gflags) |
Andreas Schuh | ec4b5da | 2016-08-01 20:04:43 +0100 | [diff] [blame] | 2 | [](https://ci.appveyor.com/project/schuhschuh/gflags/branch/master) |
Andreas Schuh | 78cab6c | 2016-08-01 17:05:26 +0100 | [diff] [blame] | 3 | |
Andreas Schuh | 8935ef4 | 2016-11-29 10:33:53 +0000 | [diff] [blame] | 4 | The documentation of the gflags library is available online at https://gflags.github.io/gflags/. |
| 5 | |
Andreas Schuh | 46f73f8 | 2017-07-11 18:30:34 +0100 | [diff] [blame] | 6 | 11 July 2017 |
| 7 | ------------ |
| 8 | |
| 9 | I've just released gflags 2.2.1. |
| 10 | |
| 11 | This maintenance release primarily fixes build issues on Windows and |
| 12 | false alarms reported by static code analyzers. |
| 13 | |
| 14 | Please report any further issues with this release using the GitHub issue tracker. |
| 15 | |
| 16 | |
Andreas Schuh | f8a0efe | 2016-11-25 18:32:19 +0000 | [diff] [blame] | 17 | 25 November 2016 |
| 18 | ---------------- |
| 19 | |
| 20 | I've finally released gflags 2.2.0. |
| 21 | |
| 22 | This release adds support for use of the gflags library as external dependency |
| 23 | not only in projects using CMake, but also [Bazel](https://bazel.build/), |
| 24 | or [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/). |
| 25 | One new minor feature is added in this release: when a command flag argument |
| 26 | contains dashes, these are implicitly converted to underscores. |
| 27 | This is to allow those used to separate words of the flag name by dashes |
| 28 | to do so, while the flag variable names are required to use underscores. |
| 29 | |
| 30 | Memory leaks reported by valgrind should be resolved by this release. |
| 31 | This release fixes build errors with MS Visual Studio 2015. |
| 32 | |
| 33 | Please report any further issues with this release using the GitHub issue tracker. |
| 34 | |
| 35 | |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 36 | 24 March 2015 |
| 37 | ------------- |
| 38 | |
Andreas Schuh | 06ccc16 | 2015-03-24 16:35:19 +0000 | [diff] [blame] | 39 | I've just released gflags 2.1.2. |
| 40 | |
| 41 | This release completes the namespace change fixes. In particular, |
| 42 | it restores binary ABI compatibility with release version 2.0. |
| 43 | The deprecated "google" namespace is by default still kept as |
| 44 | primary namespace while symbols are imported into the new "gflags" namespace. |
| 45 | This can be overridden using the CMake variable GFLAGS_NAMESPACE. |
| 46 | |
| 47 | Other fixes of the build configuration are related to the (patched) |
| 48 | CMake modules FindThreads.cmake and CheckTypeSize.cmake. These have |
| 49 | been removed and instead the C language is enabled again even though |
| 50 | gflags is written in C++ only. |
| 51 | |
| 52 | This release also marks the complete move of the gflags project |
| 53 | from Google Code to GitHub. Email addresses of original issue |
| 54 | reporters got lost in the process. Given the age of most issue reports, |
Andreas Schuh | a4bae96 | 2015-03-24 17:07:00 +0000 | [diff] [blame] | 55 | this should be negligable. |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 56 | |
| 57 | Please report any further issues using the GitHub issue tracker. |
| 58 | |
| 59 | |
| 60 | 30 March 2014 |
| 61 | ------------- |
Andreas Schuh | 0890b69 | 2014-03-30 15:18:26 +0100 | [diff] [blame] | 62 | |
| 63 | I've just released gflags 2.1.1. |
| 64 | |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 65 | This release fixes a few bugs in the configuration of gflags\_declare.h |
| 66 | and adds a separate GFLAGS\_INCLUDE\_DIR CMake variable to the build configuration. |
| 67 | Setting GFLAGS\_NAMESPACE to "google" no longer changes also the include |
Andreas Schuh | 0890b69 | 2014-03-30 15:18:26 +0100 | [diff] [blame] | 68 | path of the public header files. This allows the use of the library with |
| 69 | other Google projects such as glog which still use the deprecated "google" |
| 70 | namespace for the gflags library, but include it as "gflags/gflags.h". |
| 71 | |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 72 | 20 March 2014 |
| 73 | ------------- |
Andreas Schuh | 33e2cbe | 2014-03-20 16:32:54 +0000 | [diff] [blame] | 74 | |
Andreas Schuh | 94c2357 | 2014-03-27 01:45:47 +0000 | [diff] [blame] | 75 | I've just released gflags 2.1. |
Andreas Schuh | 33e2cbe | 2014-03-20 16:32:54 +0000 | [diff] [blame] | 76 | |
| 77 | The major changes are the use of CMake for the build configuration instead |
Andreas Schuh | 94c2357 | 2014-03-27 01:45:47 +0000 | [diff] [blame] | 78 | of the autotools and packaging support through CPack. The default namespace |
| 79 | of all C++ symbols is now "gflags" instead of "google". This can be |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 80 | configured via the GFLAGS\_NAMESPACE variable. |
Andreas Schuh | 94c2357 | 2014-03-27 01:45:47 +0000 | [diff] [blame] | 81 | |
| 82 | This release compiles with all major compilers without warnings and passed |
| 83 | the unit tests on Ubuntu 12.04, Windows 7 (Visual Studio 2008 and 2010, |
| 84 | Cygwin, MinGW), and Mac OS X (Xcode 5.1). |
Andreas Schuh | 33e2cbe | 2014-03-20 16:32:54 +0000 | [diff] [blame] | 85 | |
| 86 | The SVN repository on Google Code is now frozen and replaced by a Git |
| 87 | repository such that it can be used as Git submodule by projects. The main |
| 88 | hosting of this project remains at Google Code. Thanks to the distributed |
| 89 | character of Git, I can push (and pull) changes from both GitHub and Google Code |
| 90 | in order to keep the two public repositories in sync. |
| 91 | When fixing an issue for a pull request through either of these hosting |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 92 | platforms, please reference the issue number as |
| 93 | [described here](https://code.google.com/p/support/wiki/IssueTracker#Integration_with_version_control). |
Andreas Schuh | 882db5d | 2014-03-20 16:35:30 +0000 | [diff] [blame] | 94 | For the further development, I am following the |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 95 | [Git branching model](http://nvie.com/posts/a-successful-git-branching-model/) |
Andreas Schuh | 882db5d | 2014-03-20 16:35:30 +0000 | [diff] [blame] | 96 | with feature branch names prefixed by "feature/" and bugfix branch names |
| 97 | prefixed by "bugfix/", respectively. |
Andreas Schuh | 33e2cbe | 2014-03-20 16:32:54 +0000 | [diff] [blame] | 98 | |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 99 | Binary and source [packages](https://github.com/schuhschuh/gflags/releases) are available on GitHub. |
Andreas Schuh | 33e2cbe | 2014-03-20 16:32:54 +0000 | [diff] [blame] | 100 | |
| 101 | |
Andreas Schuh | f9e1ffa | 2015-03-24 17:48:29 +0000 | [diff] [blame] | 102 | 14 January 2014 |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 103 | --------------- |
Andreas Schuh | 33e2cbe | 2014-03-20 16:32:54 +0000 | [diff] [blame] | 104 | |
| 105 | The migration of the build system to CMake is almost complete. |
| 106 | What remains to be done is rewriting the tests in Python such they can be |
| 107 | executed on non-Unix platforms and splitting them up into separate CTest tests. |
| 108 | Though merging these changes into the master branch yet remains to be done, |
| 109 | it is recommended to already start using the |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 110 | [cmake-migration](https://github.com/schuhschuh/gflags/tree/cmake-migration) branch. |
Andreas Schuh | 33e2cbe | 2014-03-20 16:32:54 +0000 | [diff] [blame] | 111 | |
| 112 | |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 113 | 20 April 2013 |
| 114 | ------------- |
Andreas Schuh | 4328de8 | 2013-04-20 22:49:37 +0000 | [diff] [blame] | 115 | |
| 116 | More than a year has past since I (Andreas) took over the maintenance for |
| 117 | `gflags`. Only few minor changes have been made since then, much to my regret. |
| 118 | To get more involved and stimulate participation in the further |
| 119 | development of the library, I moved the project source code today to |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 120 | [GitHub](https://github.com/schuhschuh/gflags). |
| 121 | I believe that the strengths of [Git](http://git-scm.com/) will allow for better community collaboration |
Andreas Schuh | 4328de8 | 2013-04-20 22:49:37 +0000 | [diff] [blame] | 122 | as well as ease the integration of changes made by others. I encourage everyone |
| 123 | who would like to contribute to send me pull requests. |
| 124 | Git's lightweight feature branches will also provide the right tool for more |
| 125 | radical changes which should only be merged back into the master branch |
| 126 | after these are complete and implement the desired behavior. |
| 127 | |
| 128 | The SVN repository remains accessible at Google Code and I will keep the |
| 129 | master branch of the Git repository hosted at GitHub and the trunk of the |
| 130 | Subversion repository synchronized. Initially, I was going to simply switch the |
| 131 | Google Code project to Git, but in this case the SVN repository would be |
| 132 | frozen and force everyone who would like the latest development changes to |
| 133 | use Git as well. Therefore I decided to host the public Git repository at GitHub |
| 134 | instead. |
| 135 | |
| 136 | Please continue to report any issues with gflags on Google Code. The GitHub project will |
| 137 | only be used to host the Git repository. |
| 138 | |
| 139 | One major change of the project structure I have in mind for the next weeks |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 140 | is the migration from autotools to [CMake](http://www.cmake.org/). |
Andreas Schuh | 4328de8 | 2013-04-20 22:49:37 +0000 | [diff] [blame] | 141 | Check out the (unstable!) |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 142 | [cmake-migration](https://github.com/schuhschuh/gflags/tree/cmake-migration) |
Andreas Schuh | 4328de8 | 2013-04-20 22:49:37 +0000 | [diff] [blame] | 143 | branch on GitHub for details. |
Andreas Schuh | dba41e6 | 2013-04-20 22:14:36 +0000 | [diff] [blame] | 144 | |
| 145 | |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 146 | 25 January 2012 |
| 147 | --------------- |
Craig Silverstein | f187729 | 2012-01-25 23:59:40 +0000 | [diff] [blame] | 148 | |
| 149 | I've just released gflags 2.0. |
| 150 | |
| 151 | The `google-gflags` project has been renamed to `gflags`. I |
| 152 | (csilvers) am stepping down as maintainer, to be replaced by Andreas |
| 153 | Schuh. Welcome to the team, Andreas! I've seen the energy you have |
| 154 | around gflags and the ideas you have for the project going forward, |
| 155 | and look forward to having you on the team. |
| 156 | |
| 157 | I bumped the major version number up to 2 to reflect the new community |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 158 | ownership of the project. All the [changes](ChangeLog.txt) |
Craig Silverstein | f187729 | 2012-01-25 23:59:40 +0000 | [diff] [blame] | 159 | are related to the renaming. There are no functional changes from |
| 160 | gflags 1.7. In particular, I've kept the code in the namespace |
| 161 | `google`, though in a future version it should be renamed to `gflags`. |
| 162 | I've also kept the `/usr/local/include/google/` subdirectory as |
| 163 | synonym of `/usr/local/include/gflags/`, though the former name has |
| 164 | been obsolete for some time now. |
| 165 | |
| 166 | |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 167 | 18 January 2011 |
| 168 | --------------- |
Craig Silverstein | f187729 | 2012-01-25 23:59:40 +0000 | [diff] [blame] | 169 | |
| 170 | The `google-gflags` Google Code page has been renamed to |
| 171 | `gflags`, in preparation for the project being renamed to |
| 172 | `gflags`. In the coming weeks, I'll be stepping down as |
| 173 | maintainer for the gflags project, and as part of that Google is |
| 174 | relinquishing ownership of the project; it will now be entirely |
| 175 | community run. The name change reflects that shift. |
| 176 | |
| 177 | |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 178 | 20 December 2011 |
| 179 | ---------------- |
Craig Silverstein | ec7c7a2 | 2011-12-21 04:28:52 +0000 | [diff] [blame] | 180 | |
| 181 | I've just released gflags 1.7. This is a minor release; the major |
Craig Silverstein | f187729 | 2012-01-25 23:59:40 +0000 | [diff] [blame] | 182 | change is that `CommandLineFlagInfo` now exports the address in memory |
Craig Silverstein | ec7c7a2 | 2011-12-21 04:28:52 +0000 | [diff] [blame] | 183 | where the flag is located. There has also been a bugfix involving |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 184 | very long --help strings, and some other minor [changes](ChangeLog.txt). |
Craig Silverstein | ec7c7a2 | 2011-12-21 04:28:52 +0000 | [diff] [blame] | 185 | |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 186 | 29 July 2011 |
| 187 | ------------ |
Craig Silverstein | 404970d | 2011-07-30 02:57:58 +0000 | [diff] [blame] | 188 | |
| 189 | I've just released gflags 1.6. The major new feature in this release |
| 190 | is support for setting version info, so that --version does something |
| 191 | useful. |
| 192 | |
| 193 | One minor change has required bumping the library number: |
| 194 | `ReparseCommandlineFlags` now returns `void` instead of `int` (the int |
| 195 | return value was always meaningless). Though I doubt anyone ever used |
| 196 | this (meaningless) return value, technically it's a change to the ABI |
| 197 | that requires a version bump. A bit sad. |
| 198 | |
| 199 | There's also a procedural change with this release: I've changed the |
| 200 | internal tools used to integrate Google-supplied patches for gflags |
| 201 | into the opensource release. These new tools should result in more |
| 202 | frequent updates with better change descriptions. They will also |
| 203 | result in future `ChangeLog` entries being much more verbose (for better |
| 204 | or for worse). |
| 205 | |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 206 | See the [ChangeLog](ChangeLog.txt) for a full list of changes for this release. |
Craig Silverstein | 404970d | 2011-07-30 02:57:58 +0000 | [diff] [blame] | 207 | |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 208 | 24 January 2011 |
| 209 | --------------- |
Craig Silverstein | 24b4c59 | 2011-01-25 00:36:41 +0000 | [diff] [blame] | 210 | |
| 211 | I've just released gflags 1.5. This release has only minor changes |
| 212 | from 1.4, including some slightly better reporting in --help, and |
| 213 | an new memory-cleanup function that can help when running gflags-using |
| 214 | libraries under valgrind. The major change is to fix up the macros |
| 215 | (`DEFINE_bool` and the like) to work more reliably inside namespaces. |
| 216 | |
| 217 | If you have not had a problem with these macros, and don't need any of |
| 218 | the other changes described, there is no need to upgrade. See the |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 219 | [ChangeLog](ChangeLog.txt) for a full list of changes for this release. |
Craig Silverstein | 24b4c59 | 2011-01-25 00:36:41 +0000 | [diff] [blame] | 220 | |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 221 | 11 October 2010 |
| 222 | --------------- |
Craig Silverstein | 3c624b7 | 2010-10-14 01:17:43 +0000 | [diff] [blame] | 223 | |
| 224 | I've just released gflags 1.4. This release has only minor changes |
| 225 | from 1.3, including some documentation tweaks and some work to make |
| 226 | the library smaller. If 1.3 is working well for you, there's no |
| 227 | particular reason to upgrade. |
| 228 | |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 229 | 4 January 2010 |
| 230 | -------------- |
Craig Silverstein | 20500a9 | 2010-05-07 21:33:49 +0000 | [diff] [blame] | 231 | |
| 232 | I've just released gflags 1.3. gflags now compiles under MSVC, and |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 233 | all tests pass. I **really** never thought non-unix-y Windows folks |
Craig Silverstein | 20500a9 | 2010-05-07 21:33:49 +0000 | [diff] [blame] | 234 | would want gflags, but at least some of them do. |
| 235 | |
| 236 | The major news, though, is that I've separated out the python package |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 237 | into its own library, [python-gflags](http://code.google.com/p/python-gflags). |
Craig Silverstein | 3c624b7 | 2010-10-14 01:17:43 +0000 | [diff] [blame] | 238 | If you're interested in the Python version of gflags, that's the place to |
| 239 | get it now. |
Craig Silverstein | 20500a9 | 2010-05-07 21:33:49 +0000 | [diff] [blame] | 240 | |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 241 | 10 September 2009 |
| 242 | ----------------- |
Craig Silverstein | 20500a9 | 2010-05-07 21:33:49 +0000 | [diff] [blame] | 243 | |
| 244 | I've just released gflags 1.2. The major change from gflags 1.1 is it |
| 245 | now compiles under MinGW (as well as cygwin), and all tests pass. I |
| 246 | never thought Windows folks would want unix-style command-line flags, |
| 247 | since they're so different from the Windows style, but I guess I was |
| 248 | wrong! |
| 249 | |
| 250 | The other changes are minor, such as support for --htmlxml in the |
| 251 | python version of gflags. |
| 252 | |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 253 | 15 April 2009 |
| 254 | ------------- |
Craig Silverstein | 20500a9 | 2010-05-07 21:33:49 +0000 | [diff] [blame] | 255 | |
| 256 | I've just released gflags 1.1. It has only minor changes fdrom gflags |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 257 | 1.0 (see the [ChangeLog](ChangeLog.txt) for details). |
| 258 | The major change is that I moved to a new system for creating .deb and .rpm files. |
| 259 | This allows me to create x86\_64 deb and rpm files. |
Craig Silverstein | 20500a9 | 2010-05-07 21:33:49 +0000 | [diff] [blame] | 260 | |
| 261 | In the process of moving to this new system, I noticed an |
| 262 | inconsistency: the tar.gz and .rpm files created libraries named |
| 263 | libgflags.so, but the deb file created libgoogle-gflags.so. I have |
| 264 | fixed the deb file to create libraries like the others. I'm no expert |
| 265 | in debian packaging, but I believe this has caused the package name to |
| 266 | change as well. Please let me know (at |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 267 | [[mailto:google-gflags@googlegroups.com](mailto:google-gflags@googlegroups.com) |
Craig Silverstein | 20500a9 | 2010-05-07 21:33:49 +0000 | [diff] [blame] | 268 | google-gflags@googlegroups.com]) if this causes problems for you -- |
| 269 | especially if you know of a fix! I would be happy to change the deb |
| 270 | packages to add symlinks from the old library name to the new |
| 271 | (libgoogle-gflags.so -> libgflags.so), but that is beyond my knowledge |
| 272 | of how to make .debs. |
| 273 | |
| 274 | If you've tried to install a .rpm or .deb and it doesn't work for you, |
| 275 | let me know. I'm excited to finally have 64-bit package files, but |
| 276 | there may still be some wrinkles in the new system to iron out. |
| 277 | |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 278 | 1 October 2008 |
| 279 | -------------- |
Craig Silverstein | 20500a9 | 2010-05-07 21:33:49 +0000 | [diff] [blame] | 280 | |
| 281 | gflags 1.0rc2 was out for a few weeks without any issues, so gflags |
| 282 | 1.0 is now released. This is much like gflags 0.9. The major change |
| 283 | is that the .h files have been moved from `/usr/include/google` to |
| 284 | `/usr/include/gflags`. While I have backwards-compatibility |
| 285 | forwarding headeds in place, please rewrite existing code to say |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 286 | ``` |
Craig Silverstein | 20500a9 | 2010-05-07 21:33:49 +0000 | [diff] [blame] | 287 | #include <gflags/gflags.h> |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 288 | ``` |
Craig Silverstein | 20500a9 | 2010-05-07 21:33:49 +0000 | [diff] [blame] | 289 | instead of |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 290 | ``` |
Craig Silverstein | 20500a9 | 2010-05-07 21:33:49 +0000 | [diff] [blame] | 291 | #include <google/gflags.h> |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 292 | ``` |
Craig Silverstein | 20500a9 | 2010-05-07 21:33:49 +0000 | [diff] [blame] | 293 | |
| 294 | I've kept the default namespace to google. You can still change with |
| 295 | with the appropriate flag to the configure script (`./configure |
| 296 | --help` to see the flags). If you have feedback as to whether the |
| 297 | default namespace should change to gflags, which would be a |
| 298 | non-backwards-compatible change, send mail to |
| 299 | `google-gflags@googlegroups.com`! |
| 300 | |
| 301 | Version 1.0 also has some neat new features, like support for bash |
Andreas Schuh | eb89101 | 2015-03-24 12:34:22 +0000 | [diff] [blame] | 302 | commandline-completion of help flags. See the [ChangeLog](ChangeLog.txt) |
| 303 | for more details. |
Craig Silverstein | 20500a9 | 2010-05-07 21:33:49 +0000 | [diff] [blame] | 304 | |
| 305 | If I don't hear any bad news for a few weeks, I'll release 1.0-final. |