GTMSessionFetcher

4.5.0

Google Toolbox for Mac - Session Fetcher
google/gtm-session-fetcher

What's New

v4.5.0 Release

2025-05-08T13:50:44Z

NOTE: The changes in this release have focused on ensuring when -stopFetching is used early in the fetchers lifecycle (before things have fully started, is properly honored and that the support for getting the completion handler also invoked for these cases is also always honored. Along the way a race in the flow where the started/stopped notifications could be delivered out of order was also fixed.

What's Changed

  • Ensure fetcher authorization delays support stop callbacks. by @thomasvl in #422
  • No other changes, just let clang-format do it's thing. by @thomasvl in #439
  • Ignore another format only run for blame. by @thomasvl in #440
  • Update some comments and add some asserts. by @thomasvl in #438
  • Add missing GTMSessionMonitorSynchronized calls for state tracking. by @thomasvl in #442
  • Make the UA delay trigger cancel callbacks similar to the other delays. by @thomasvl in #441
  • Make a helper for starting a delayed state. by @thomasvl in #443
  • Use a slightly long test timeout. by @thomasvl in #445
  • Reflow the handle of the service delay. by @thomasvl in #444
  • Expand the tests for a stopping a single fetcher. by @thomasvl in #448
  • Small follow up cleanups realized after the fact. by @thomasvl in #449
  • Fix test name and skip it as not passing. by @thomasvl in #450
  • Focus service testing. by @thomasvl in #452
  • Change the test helpers to hopefully make things more clear. by @thomasvl in #451
  • Remove the delay support from the TestAuthorizer. by @thomasvl in #453
  • Correct log/comment about fetcher starting. by @thomasvl in #454
  • Add testing for UserAgent Provider and -stopFetching by @thomasvl in #455
  • Run clang-format over more sources. by @thomasvl in #457
  • Skip the format only commit in blame. by @thomasvl in #458
  • Don't reset _waitSeconds, is a thread race. by @thomasvl in #459
  • Ensure notifications are posted in order by @thomasvl in #456
  • Enable the test now that it passes. by @thomasvl in #460
  • Don't allow service limit delays after a UAProvider. by @thomasvl in #463
  • Build out the testing of -stopFetching and service host limits. by @thomasvl in #461
  • Add a check for -stopFetching before the final startup. by @thomasvl in #462
  • Some -stopFetching testing improvements/cleanups. by @thomasvl in #465
  • Introduce basic Bazel build support for gtm-session-fetcher by @bc-lee in #447
  • Update the version script to support the bazel build. by @thomasvl in #467
  • Honor -stopFetching will applying decorators during startup. by @thomasvl in #466
  • Configure Renovate Renamed by @renovate-bot in #468
  • Use the same config as GTM is using (and seems to work ok) by @thomasvl in #469
  • Have all the delay states manually reset their state. by @thomasvl in #470
  • Revert "Use the same config as GTM is using (and seems to work ok)" by @thomasvl in #472
  • Configure Renovate by @renovate-bot in #471
  • Only tell the authorizer to stop if it was currently working. by @thomasvl in #473
  • Update dependency bazel to v8.2.1 by @renovate-bot in #474
  • Update dependency apple_support to v1.21.1 by @renovate-bot in #475
  • Reapply "Use the same config as GTM is using (and seems to work ok)" by @thomasvl in #478
  • Include the bazel specific files in what triggers the action. by @thomasvl in #477
  • Update to use some standard configs. by @thomasvl in #479
  • Use a completion notification to always ensure the test finishes. by @thomasvl in #480
  • Avoid races in begin fetch by @thomasvl in #481
  • Update dependency rules_apple to v3.21.0 by @renovate-bot in #484
  • Update dependency apple_support to v1.22.0 by @renovate-bot in #483
  • Ensure cleanup happens on -stopFetching w/o completion handler calls by @thomasvl in #482
  • Version bump for a release by @thomasvl in #485

New Contributors

Full Changelog: v4.4.0...v4.5.0

Google Toolbox for Mac - Session Fetcher

Project site https://github.com/google/gtm-session-fetcher
Discussion group http://groups.google.com/group/google-toolbox-for-mac

SwiftPM CocoaPods

GTMSessionFetcher makes it easy for Cocoa applications to perform http operations. The fetcher is implemented as a wrapper on NSURLSession, so its behavior is asynchronous and uses operating-system settings.

Features include:

  • Simple to build; only one source/header file pair is required
  • Simple to use: takes just two lines of code to fetch a request
  • Supports upload and download sessions
  • Flexible cookie storage
  • Automatic retry on errors, with exponential backoff
  • Support for generating multipart MIME upload streams
  • Easy, convenient logging of http requests and responses
  • Supports plug-in authentication such as with GTMAppAuth
  • Easily testable; self-mocking
  • Automatic rate limiting when created by the GTMSessionFetcherService factory class
  • Fully independent of other projects

To get started please read USING.md for detailed information.

Description

  • Swift Tools 5.3.0
View More Packages from this Author

Dependencies

  • None
Last updated: Mon Jun 02 2025 02:09:08 GMT-0900 (Hawaii-Aleutian Daylight Time)