Releases: kean/Pulse
Pulse 5.1.2
What's Changed
- Fix an issue with
isAutomaticConnectionEnabled
not starting the browser the first time it's enabled - Fix crash when exporting HAR file by @rounak in #299
- Fix concurrency issue in
StoreDetailsViewModel
by @ejensen in #302 - Update the deep search. It will now show all search scopes found and only one match per scope. You can tap on a match to see the scope with a prepopulated search query to see the remaining items.
- Fix an issue with deep search not working for request and response headers
New Contributors
Pulse 5.1.1
What's Changed
- Implement deep JSON redaction by @briancordanyoung in #292
- Fix a CoreData multithreading issue in
LoggerStore.info()
by @ejensen in #293 - Fix
ConsoleView
focus state clipping on tvOS by @ejensen in #295 - Revert the removal of the
NetworkLogger
’s convenience initializer by @ejensen in #294
New Contributors
- @briancordanyoung made their first contribution in #292
Pulse 5.1
Appearance
Pulse 5.1 features an enhanced design for console cells with improved information hierarchy. It has multiple tweaks, but the main change is how the URLs are formatted. By default, the console will now show only the path with a host as a secondary field below it.
Customization
The new cells are now also fully customizable using the new ConsoleListDisplaySettings type. And if you are using Pulse Pro (available on App Store), you can configure them using the new "Appearance" settings screen.
CocoaPods
With CocoaPods going into maintenance mode, new Pulse releases will no longer be published to CocoaPods Trunk. However, the Podpsec files will continue to be available for now, and you can install Pulse using CocoaPods by pointing directly to this repo.
Other Changes
- Add new convenience APIs for accessing messages and tasks stored in the logger:
LoggerStore/message(sortDescriptors:predicate:)
andLoggerStore/tasks(sortDescriptors:predicate:)
. DeprecateallTasks
andallMessages
. - Fix an issue with thumbnails for image responses being too aggressively compressed and add
LoggerStore.ThumbnailOptions
to make it customizable - Update image response viewer to show thumbnails at a 2x resolution
- Display thumbnail resolution in the response viewer
- Fix an issue with app icons send too blurry to the Pulse Pro app
- Improve support for
.inMemory
store option, which is now guaranteed to not write anything on disk, including the store manifest. It also no longer requires the.create
option like the regular store and thestoreURL
parameter can point to anything, including/dev/null
. - Deprecate
UserSettings.displayHeaders
(user newConsoleListDisplaySettings
instead) - Fix xcprivacy warnings when used with SwiftPM, thanks to @alphatroya
- Performance optimizations
Pulse 5.0
Announcement
Pulse macOS and iOS apps are now available on the App Store. Learn more in the announcement.
Requirements
- Swift 5.10 (Xcode 15.3)
- iOS 15, tvOS 15, macOS 12, watchOS 8, visionOS 1
Changes
Pulse SDK 5.0 greatly simplifies the integration experience and introduces two new ways for capturing network traffic.
- Option 1 (Quickest) Add a new
PulseProxy
module for automatic capturing of all network traffic from the app with a single line – the quickest way to try Pulse
import PulseProxy
#if DEBUG
NetworkLogger.enableProxy()
#endif
- Option 2 (Recommended) Add new
URLSessionProtocol
andURLSessionProxy
as a new recommended way to track network traffic and enable other Pulse features like response mocking
#if DEBUG
let session: URLSessionProtocol = URLSessionProxy(configuration: .default)
#else
let session: URLSessionProtocol = URLSession(configuration: .default)
#endif
- Learn more about the new network logging method in the fully rewritten Getting Started and Network Logging & Debugging guides
- Add compatibility with Swift 6 (not official until Xcode 16 RC ships)
- Reduce the size of the framework by nearly 15%
- Add
RemoteLogger.isAutomaticConnectionEnabled
property to allow automatic connection to Pulse apps - Add and document the new public
MockingURLProtocol
used to enable network debugging features of Pulse apps. It is registered automatically with the newURLSessionProxy
- Add
@MainActor
to a few main-thread confined types likeRemoteLogger
- Add new
UserSettings
properties:isRemoteLoggingHidden
andallowedShareStoreOutputs
, - Increase the default
LoggerStore
size limit from 128 MB to 256 MB and response body size limit from 5 MB to 8 MB - Add support for changing
LoggerStore.shared.configuration
to make it easier to configure the default store NetworkLogger.shared
andLoggerStore.shared
can now be both replaced with your custom instances and in any order with any other operations.- Update
RemoteLogger.Connection
to perform work on the background queue so that Pulse now runs almost no code on the main queue - Make
LoggerStore.info
an async method - Fix export of PDF in dark mode (#288), thanks to @ilyalehchylin
LoggerStore/export
no longer returnsLoggerStore.Info
- Add
.create
and.sweep
options to the defaultLoggerStore
init` - Remove the console for MacOS as it is no longer feasible to maintain the reusable code between Pulse SDK and Pulse standalone app for Mac. If you are using the console for macOS, please consider using the standalone Pulse app.
- Remove some of the text-based search filters, which wasn’t the right UX for a phone. In upcoming versions, it will be replaced with convenient controls.
- Remove deprecated
LoggerStore.copy(to:)
andLoggerStore.pins
- Remove support for exporting store as a package (
DocumentType.package
) - Bug fixes and performance improvements
Pusle 4.2.7
Pulse 4.2.6
What's Changed
- Disable Swift 6 compatibility in Swift package to ensure Pulse compiles if added as a dependency under Xcode 16 by @NachoSoto in #264
- Fix some of the Swift 6 errors (more work is needed and will be done in the upcoming versions)
- Move
Identifiable
conformances toPulse
to remove the "retroactive" conformance warnings in Swift 6
New Contributors
- @NachoSoto made their first contribution in #264
Pulse 4.2.5
- Fix #263 – crash when tapping "Show All" in a grouped list of logs
Pulse 4.2.4
Pulse 4.2.3
What's Changed
- Fix: wrong background context for filtering entities during export by @jasesuperhero in #259
New Contributors
- @jasesuperhero made their first contribution in #259
Pulse 4.2.2
- Fix #257, an issue with search only showing top 10 results. If there are more results, it will now indicate that in the UI and will load them automatically when you scroll to the bottom of the list.