gnustep-make tarball for 2.8.0 is timestamped 4:14pm on my machine. Let's say 4:30pm is when I wrapped that up.
Last update to news.texi file on my machine is 6:03pm. This means I spent 1h30 nonstop reading through changes that were made over the last 15 months and updating the newsfile. Let's please not end up in this state again. - Please write descriptive commit messages that are useful standalone. - If you are making large changes over the course of smaller commits that you intend to merge: - make individual commits understandable without inspecting the patchfile - either squash them into one descriptive commit when merging, or ensure merge commit describes exactly what happened - Definitely update ChangeLog file. It's useful for releases. - If you can, update Documentation/news.texi with semantic description of what you've done. Again: Please maintain the ChangeLog file. Don't drop things just because "right now" you don't need them. Please make git commits standalone useful. Please help with news.texi file. If a section for next release doesn't exist, add it; we can fix the version more easily than adding semantic description later. I'll commit 1.27.0 shortly. When I do, note that 1.27.0's news.texi *is* a mess because *too many changes happened*. There's no way I can organize this into clear groupings without spending even more time on this. I don't know what everyone did or why; it took 1h30 to understand this. As a counterpoint, I particularly found some Frederik Seiffert's messages useful, especially in the ChangeLog. Dated 2019-05-23 and 2019-05-20, I could clearly understand *exactly* what happened. I will include them to demonstrate: ======== 2019-05-23 Frederik Seiffert <frede...@algoriddim.com> * configure: * configure.ac: Link against libandroid on Android. * Headers/Foundation/NSBundle.h: * Source/NSBundle.m: Added methods for passing Android asset manager from Java to GNUstep and for getting AAsset/AAssetDir for given path in main bundle. Skip app bundle suffix check on Android. Extended bundle resource paths backbone to check for known paths directly on Android as we can't enumerate directories. Extended -localizations method to check for known localizations directly (requires setting userLanguages in NSUserDefaults). Extracted path cache cleaning into separate method. * Source/GSFileHandle.h: * Source/GSFileHandle.m: Added file handle support for reading Android assets from main bundle. * Source/NSData.m: Added support for reading Android assets from main bundle in readContentsOfFile(). This is also used by all other -initWithContentsOfFile: and related methods from other classes. * Source/NSFileManager.m: Added support for Android assets from main bundle in fileExistsAtPath:isDirectory:, isReadableFileAtPath:, NSDirectoryEnumerator, and copying from assets. Extended GSAttrDictionary with basic support for Android assets. * Source/NSProcessInfo.m: Added +initialize method to auto-initialize NSProcessInfo on Android using fake executable path "/data/data/<app identifier>/exe" (Android apps don't have a real executable path). 2019-05-20 Frederik Seiffert <frede...@algoriddim.com> * Source/NSLog.m: Have all logs go to syslog on android. * Source/NSThread.m: Spinlock implementation using builtins as implemented by David in libobjc2 * Source/NSRunLoop.m * Headers/GNUstepBase/config.h.in: * configure.ac: This updates the libdispatch runloop integration to be compatible with the Swift corelibs libdispatch release at (https://github.com/apple/swift-corelibs-libdispatch). In that release, the main queue handle and drain functions have been renamed with a "_4CF" (for CoreFoundation) suffix and have moved to private.h, so we now check for the existance of this header and function names. Note that libdispatch must be compiled with INSTALL_PRIVATE_HEADERS=YES. Also fixes the checks for the HAVE_LIBDISPATCH_RUNLOOP define (was inverted) and ensures that both the handle and drain functions are available. ========