What's New

macOS Catalina Beta 1 (19A471t) Release Notes

Notes and Known Issues

General

New Features
  • Installing 3rd Party kernel extensions now requires restarting your Mac before they’re permitted to load. (50340461)
Deprecations
  • macOS frameworks have been thinned to x86_64. Applications executing i386 will fail with EBADARCH. Remaining stub frameworks are nonfunctional and exist for compatibility purposes. (51236070)
New Issues
  • Important: Migration Assistant is currently unable to correctly migrate data from a Mac running macOS Catalina to another Mac running macOS Catalina. (50894629)
  • Important: A user’s Secure Token might be lost if FileVault is enabled on a non-APFS formatted volume while upgrading to macOS Catalina. You might be able to work around this by disabling FileVault before upgrading to macOS Catalina, then reenabling FileVault once the upgrade has completed. (51091312)
  • During installation of macOS Catalina you might be prompted to enter your administrator password multiple times to allow installation to proceed. (51206649)
  • macOS Catalina cannot be installed onto an encrypted volume unless it is already in the APFS format. (51127640)
  • During upgrades to macOS Catalina, files and folders stored at the root-level of a volume are moved aside to /Library/SystemMigration/History/Migration-[UUID]/QuarantineRoot/. (45378791)
  • If your Mac currently has macOS 10.10 or earlier installed, you must first upgrade to macOS Mojave before upgrading to macOS Catalina. (50181382)
  • The ‘Install macOS Catalina’ app might quit unexpectedly when run on macOS 10.9. (50868081)
  • On Macs with Apple T2 Security Chip, if you’ve used Startup Security Utility to lower Secure Boot to Medium Security or No Security, you’re currently unable to modify Secure Boot settings after upgrading to macOS Catalina. (51043128) 
    • Workaround: Set Secure Boot to Full Security before upgrading to macOS Catalina. Alternatively disabling and reenabling FileVault might resolve the issue.
  • Some applications might not automatically re-launch after installation or updating and must be manually relaunched. (51228752)

Accessibility

New Issues
  • On Macs with Apple T2 Security Chip, VoiceOver is currently unavailable while in macOS Recovery. (49870874)

Apple File System (APFS)

New Issues
  • Important: Volume replication shouldn’t be used with Fusion volumes, either as a source or destination. (51114645)

Apple TV

New Issues
  • Support for signing in with an account from a different country is currently unavailable. (51240948)
  • Navigating using the back button might produce unexpected results. (51207403)
  • Support for Dolby Atmos content and downloads will be available in an upcoming beta. (51050344)
  • The option to show only offline downloads has been temporarily removed. (50997542)
  • Apple TV might not remember the previously selected tab when it’s relaunched. (50922604)

Audio

New Features
  • Voice processing mode can now be enabled on AVAudioEngine. (50906329)
  • New AVAudioNode types can be used to wrap a user-defined block for sending or receiving data in real-time.
  • A new method is available for an AVAudioEngine based app to retrieve a list of all nodes attached to an AVAudioEngine instance.
  • A new rendering mode in AVAudioEnvironmentNode selects the best spatial audio rendering algorithm automatically based on the output device.
  • A new AVAudioSession property allows system sounds and haptics to play while the session is actively using audio input.
  • A new property, AVAudioSessionPromptStyle informs apps which style of voice prompt they should play based on other audio activity in the system.
  • AVAudioSessionRouteSharingPolicy has been extended to allow apps to specify route sharing policies so their audio and video is routed to the same location as AirPlay.
  • Audio Unit Extensions now support user presets which are accessible across all host applications.
Deprecations
  • APIs in the OpenAL framework are deprecated and remain present for compatibility purposes. Transition to AVAudioEngine for spatial audio functionality.
  • AUGraph is deprecated in favor of AVAudioEngine.
  • Inter-App audio is deprecated. Use Audio Units (v3) for this functionality moving forward.
  • Carbon component-based Audio Units are deprecated and support will be removed in a future release.
  • Legacy Core Audio HAL AudioHardwarePlugIns are no longer supported. Use Audio Server PlugIns for audio drivers moving forward.

Books

New Issues
  • Books and PDFs imported into the Books app might not upload to iCloud Drive. (47124224)

Camera

New Issues
  • Applications using Picture Taker must specify the NSCameraUsageDescription key to access the FaceTime camera. (47916725)

Core Image

New Features
  • The APIs filterWithImageURL:options and filterWithImageData:options have removed support for RAW decoder versions earlier than 6. Version 6 and later remain supported. (50911303)
  • New APIs for instantiating and modifying the built-in CIFilters can be found in CIFilterBuiltins.h.
  • The CICoreMLModel filter has been enhanced to support models with an input or output of type MLFeatureTypeMultiArray.
  • Metal CIKernels now support arguments with arbitrarily structured data.
  • Metal CIKernels now support returning a group of 2×2 pixels.
  • The integer values of CIFormat symbols (such as kCIFormatARGB8) have changed to a new set of values which are consistent across platforms.
  • The former values will remain supported for backward compatibility; however, clients should avoid dependancies on specific numerical values.
  • AVFoundation now supports encoding video with alpha channels using HEVC. Videos encoded in this manner are broadly supported in AVFoundation APIs, and by Safari within web pages. For more details, see the WWDC video “HEVC Video with Alpha”. Technical details of the format can be found in the Interoperability Profile specification. (8045917)

CryptoKit

New Issues
  • When using the Secure Enclave API with access control set on keys, the user might not be prompted to authenticate. This might cause subsequent operations requiring authentication to fail. (51279188)

DriverKit

New Issues
  • The Filter Packet network extension type and NWEthernetChannel API don’t currently work with network interface drivers implemented using DriverKit. (48709552)
  • If a User space driver quits unexpectedly or you restart your Mac, you might need to unplug and re-attach the accessory cable to enumerate the driver. (50042397)

EndpointSecurity

Deprecations
  • Kauth API will be deprecated in an upcoming beta. (50419013)
New Issues
  • `es_mute_process()` will be implemented in an upcoming beta. (45497371)
  • exec and open events are cached, however the cache entries are not invalidated when the file is manipulated. exec events are cached based on the executable and open events are cached as a product of the executable and the target file being opened. (45497117)
  • The `cache` flag for `es_respond_auth_result()` and `es_respond_flags_result()` is ignored. (49071387)
  • EndpointSecurity system extensions don’t have access to early boot events. (49487645)
  • The original_ppid field of es_process_t isn’t currently set and always returns -1. (50746916)

Enterprise Device Management

New Issues
  • Sending a Volume Purchase Program download request to a client from a Mobile Device Management server might cause an authorization dialog to appear on the client. (49376544)
  • You might be unable to log in while creating a mobile account on a server with Mobile Device Management Bootstrap Token support. (50912641)
  • After installing a Device Profile with PrintMACAddress=true, the user’s MAC address might not print as expected. (51003427)

FileVault

New Issues
  • Password reset for FileVault volumes from macOS Recovery doesn’t currently function as expected. (50455695) 
    • Workaround: While in macOS Recovery, launch Terminal from the Utilities menu then type ‘resetpassword’ and press return. In the window which appears, select ‘My keyboard isn’t working when typing my password to log in’.

Finder

New Issues
  • Files cannot currently be copied from or deleted on an iOS device via the Files tab in Finder. (48649759)
  • Finder might quit unexpectedly when trying to restore using the Time Machine interface. Instead, control-click the item and choose Restore. (49398715)
  • You might be unable to download folders from iCloud. (50855741) 
    Workaround: Download files within the folder individually.
  • When iCloud Desktop is enabled, attempting to drag a volume mounted on the desktop might unexpectedly result in the volume being copied to the Desktop. (51187890)

iCloud

New Issues
  • Turning off the Siri switch in iCloud settings doesn’t stop Significant Locations from syncing. To stop syncing, turn off the Significant Locations switch. (50908297)
  • If you’re using iCloud Drive to sync ‘Desktop & Documents Folders’ your Desktop might be empty after upgrading to macOS Catalina. (50789836) 
    Workaround: Enable ‘Desktop and Documents’ in System Preferences under iCloud > iCloud Drive > Options, then restart your Mac.
  • The Cloud Files section in About This Mac > Storage > Manage might inaccurately represent files on your Mac. (50362095)
  • Even when ‘Optimize Storage’ is switched off, iCloud Drive might fail to automatically download all files. (50667204) 
    Workaround: Download files individually.
  • Pages, Numbers, and Keynote documents in shared folders can only be opened on macOS and iOS. iWork documents in shared folders are currently inaccessible via iCloud.com. (50738067)
  • When creating a new Pages, Numbers, or Keynote document in a shared folder, you might see ‘Couldn’t connect to iCloud’. (50827963) 
    Workaround: Try closing and reopening the document.

iPad Apps on Mac

New Issues
  • In order to show a share sheet from a toolbar item using the UIActivityViewController, create the NSToolbarItem using +[NSToolbarItem itemWithIdentifier:barButtonItem:] and pass it a UIBarButtonItem configured as a UIBarButtonSystemItemAction. There is no need to set the barButtonItem on the -[UIActivityViewController popoverPresentationController]. (47292316)
  • Currently, you’re unable to import AppKit and UIKit modules in the same compilation unit. If you want to import AppKit headers into an iPad App on Mac, you can import the individual AppKit header in Objective-C, or you can create a bridging header to import the individual AppKit header for Swift. (48094910)
  • UIScreen.isCaptured API isn’t currently supported. (48360589)
  • When donating interactions using the INInteraction API on macOS, the completion handler is invoked with an error which can be safely ignored. (48371526)
  • You cannot open the Services Preferences pane from the Services > Services Preferences… menu item in the application menu. (49780697) 
    Workaround: Use System Preferences to navigate directly to the Services Preferences pane.
  • currentDevice property on UIDevice and the OS Product Name is currently returned as iOS rather than macOS, which can affect diagnostic logs generated by your system. (49792004,51304085)
  • UILabel, UITextField, and UITextView instances with alignment set to ‘center’ or ‘right’ in Interface Builder will have the wrong alignment when designing for or running iPad Apps on Mac. (50062524) 
    Workaround: Reapply the desired alignment in awakeFromNib().
  • Event handling in extension contexts may produce unexpected results, including failure to deliver trackpad pinch and zoom gestures. (50145462)
  • When sending Mail attachments via MessageUI, each attachment might appear as two icons when viewed by the recipient. (50369995)
  • If you use UIDocumentBrowserViewController to create a new document, then cancel, the helper process presenting the document browser might quit unexpectedly. (50558637)
  • Controls drawn with accent color incorrectly maintain their active color when the window is inactive. There is no need to work around this in your application. (50563638)
  • The UIKit module currently doesn’t import the newly added NSToolbar and NSTouchBar headers, NSToolbar+UIKitAdditions.h and NSTouchBar+UIKitAdditions.h. You can import these headers directly in Objective-C, or you can create a bridging header to import them for Swift. Be sure to import <Foundation/Foundation.h> before importing these headers. (50704322)
  • The new required NSURLCache initializer -[NSURLCache initWithMemoryCapacity:diskCapacity:directoryURL:] will be implemented in an upcoming beta. (50739637)
  • When your iPad App on Mac is launched directly into the background, it will experience all the state transitions of a regular app launch (didFinishLaunching, didBecomeActive), followed by state transitions to return to background state from there (willResignActive, didEnterBackground). This will soon be updated to match iOS, where your app will receive only didFinishLaunching, and only if it wasn’t already running. (50742219)
  • iPad Apps on Mac do not currently use the same default keychain access group as iPad apps. (50779224)
  • For iPad Apps on Mac to save to Photos Library, explicitly linking Photos.framework is required. (50781430)
  • It isn’t currently possible to pass shared items from a Sharing extension back to the host through its completion handler. (50835062)
  • Opening a CloudKit share URL might not launch an iPad App on Mac that’s present on the system. Additionally, the system might not take the user to the appropriate App Store page to download an app which isn’t present on the system. (50877241)
  • Ad-hoc app signing doesn’t allow access to the Keychain. Adding Keychain Sharing should trigger mandatory signing using a profile, in turn allowing access to the Keychain. (50898387)
  • A tooltip added to an NSToolbarItem will be presented as a blank window. (50957416)
  • Password AutoFill might not appear in iPad Apps on Mac. (50992371) 
    Workaround: Toggle the following setting off and on in Safari Preferences > AutoFill > User names and passwords
  • Action and share extensions might exhibit visual anomalies. (51005363)
  • SKProductsRequestDelegate requestProductData currently returns with didFailWithError and Products aren’t loaded. (51028870)
  • Localization for ASAuthorizationAppleIDButton isn’t currently available. (51032803)
  • All assets at 3x scale factor are currently ignored when compiling the asset catalog for iPad Apps on Mac. Because the search begins with the universal asset, assets for a specific memory or graphics class won’t be found. For example, if you provide an image and only give a 6GB and Metal 5v1 asset, it won’t be found at runtime. It’s recommended to provide all images as vectors to allow generation of the correct scale factors, or at minimum provide 2x versions of the assets. If you’re classifying resources based on memory and graphics families then you should provide “Any Memory” and “Any Graphics”. (51033745)
  • When the user quits an iPad App on Mac, the app transitions to UIKit background state and the app’s audio will be stopped; however, no AVAudioSession interruption notification will be posted. In an upcoming beta, AVAudioSession will issue a begin interruption notification in response to the app transitioning to UIKit background state. Additionally, if an iPad App on Mac attempts to activate an AVAudioSession, start an AudioQueue, AURemoteIO, or other high-level player object while in UIKIt background state, it might succeed. In an upcoming beta, audio I/O won’t be allowed to start and AVAudioSession won’t be allowed to activate while the app is in UIKIt background state. (51050672)
  • CallKit CXActions might return an error. (51074735)
  • MTKView objects might render incorrectly. This will be resolved in an upcoming beta. (51084042)
  • Color asset variant isn’t passed during runtime, so these colors won’t appear in your iPad App on Mac. (51113192)
  • If you create an NSToolbarItem with a UIBarButtonSystemItem of type compose, reply, search, or camera, your app might behave unexpectedly. (51253315)
  • SFSafariViewController does not open the URL from initialization time when presented; SFSafariViewController’s intended design on macOS is to open the URL from initialization when presented, then dismiss itself. (51267323)
  • If your iPad App on Mac is launched directly into the background, a second background launch request will launch the app into the foreground, making it visible to the user. If your app uses any of the supported APIs which might result in a background launch, this might cause your app to launch in the foreground without user input. (51287556)
  • In macOS Catalina beta, +[UIGraphicsImageRendererFormat defaultFormat] returns non-extended color range renderer format by default. To use-extended color range format for rendering, instantiate an instance using +[UIGraphicsImageRendererFormat preferredFormat] and pass that to -[UIGraphicsRenderer initWithBounds:format:]. (51303954)
  • When creating a Mac version of your iPad app, Xcode automatically generates a unique Mac bundle identifier. If you have an existing Mac bundle identifier you’d prefer to use, you can do so by using manual signing in Xcode. (51076014)
  • Follow these steps to configure your project, AppID, and provisioning profile:
  1. Sign into your developer account at https://developer.apple.com/account in Safari. Then select ‘Certificates, Identifiers, and Profiles’.
  2. In the Identifiers section, select your iOS app identifier to edit.
  3. Check the ‘UIKit for Mac’ capability to enable it, then click the Configure button.
  4. Choose ‘Use an existing macOS AppID’ option and select the identifier you’d like to use from the popup menu. Click the Save button to finish editing your AppID.
  5. In the Profiles section, click the ‘+’ button to create a new profile, select ‘macOS App Development’, and click Continue.
  6. Select your iOS AppID from the popup, click Continue, and complete the rest of the profile creation flow. When finished, click the Download button.
  7. In Xcode, select your project to view the Project Editor and select your app’s target. Then select the ‘Build Settings’ tab.
  8. Set the ‘Derive UIKit for Mac Product Bundle Identifier’ setting to No.
  9. Expand the ‘Product Bundle Identifier’ build setting to view its configurations. Next to the Debug configuration, click the ‘+’ button to add a conditional value.
  10. For the build setting condition, select ‘Any macOS’ from the popup menu. Edit the value of the conditional build setting to match the macOS bundle identifier you want to use. Repeat this step for all configurations in your project.
  11. In the ‘Signing & Capabilities’ tab, uncheck ‘Automatically manage signing’.
  12. For your macOS app, select ‘Import Profile…’ from the ‘Provisioning Profile’ popup and then select the profile you downloaded earlier.

iWork

New Issues
  • Attempting to open iWork documents in Finder will unexpectedly create a .cpgz file if the corresponding iWork app isn’t installed. (40693892) 
    • Workaround: Install the corresponding app from the App Store before opening the document.

Game Controllers

New Issues
  • HID reports from DualShock 4 game controllers via Bluetooth might be reported differently by lower level frameworks such as IOKit in comprison to macOS Mojave. This might cause existing macOS games to become unresponsive to input from these controllers in macOS Catalina beta. (51163262)

Localization

New Issues
  • Certain languages might exhibit clipped or misaligned layout. (51068688,50983852)
  • Certain languages might display unlocalized text. (47765173,51196633)

Mail

New Issues
  • Users with both macOS Mojave & macOS Catalina volumes on the same Mac might experience issues searching within Mail. (46611310) 
    • Workaround: While running macOS Mojave, open Terminal and execute the command: 
  • sudo touch /.metadata_never_index_unless_rootfs 
  • Reboot into macOS Catalina, open Terminal and execute the command: 
    • sudo touch /System/Volumes/Data/.metadata_never_index_unless_rootfs 
  • Reboot into macOS Mojave, open Terminal and execute the command: 
    • sudo mdutil -E / 
  • Depending on the size of your Mail database, it might many hours to reindex all content.

Music

New Issues
  • Navigating using the back button might produce unexpected results. (51248128)
  • Music might take a long time to launch for some users. (51207753)
  • You might be unable to scroll content on shelves. (51248128)
  • Connecting to another computer using Home Sharing might not show the remote library as expected. (50921136)
  • Visualizer might not appear as expected. (49952376)
  • Artwork changes might not immediately appear; Playlists will be added in an upcoming beta. (51201715)
  • Attempting to delete movies, TV shows, and music videos from Manage Storage settings might not work. (51001458)
  • Music might not remember the previously selected tab when it’s relaunched. (50922604)

Networking

New Features
  • All NSURLSessionTasks with a GET HTTP method which contain a body will now produce the error NSURLErrorDataLengthExceedsMaximum. (46025234)
Deprecations
  • Support for FTP and File URL schemes for Proxy Automatic Configuration (PAC) has been removed. HTTP and HTTPS are the only supported URL schemes for PAC. This affects all PAC configurations including, but not limited to, configurations set via Settings, System Preferences, profiles, and URLSession APIs such as URLSessionConfiguration.connectionProxyDictionary, and CFNetworkExecuteProxyAutoConfigurationURL(). (28578280)
  • SPDY support has been removed from the URLSession and NSURLConnection APIs. Servers should use HTTP/2 or HTTP/1.1. (43391641)
  • Network Kernel Extension API will be deprecated in an upcoming beta. (49284108)
New Issues
  • The driver for Ethernet Control Model (ECM) USB-C to Ethernet adapters isn’t currently enabled in Virtual Machine instances of macOS Catalina. (50968842)
  • An active Network Extension content filter configuration might interrupt the boot process indefinitely following a kernel panic. (50965627) 
    Workaround: Boot into macOS Recovery (Command-R), launch Terminal and execute the following command: 
    rm /Library/Preferences/com.apple.networkextension.necp.plist
  • NetBoot is unavailable when a Network Extension content filter configuration is enabled. (50872052)
  • NWEthernetChannel API doesn’t currently support VLAN interfaces. NEPacketTunnelProvider will see both tagged and untagged frames arriving on physical interfaces. Depending on the Ethernet driver, VLAN tags might be processed by hardware and thus stripped off the Ethernet frames thus NEPacketTunnelProvider won’t see the VLAN tag. This issue will be resolved in an upcoming beta. (51275655)
  • Enabling a Network Extension content filter via NEFilterManager might not start the content filter. (50603957) 
    Workaround: Make another change to the configuration or change the network configuration of your Mac.
  • Installing a content filter configuration when the corresponding content filter system extension is inactive will interrupt all network traffic on your Mac. (51033902) 
    Workaround: Remove or disable the content filter configuration in System Preferences > Network.
  • The DNS Proxy, Packet Tunnel, and App Proxy network extension types don’t work as System Extensions. (51186839) 
    Workaround: Use App Extensions for these network extension types.

Photos

New Features
  • To improve the Photos upgrade experience, Photos is testing database upgrades using a clone of the Photo Library. This clone doesn’t include the content of each photo, but does include faces metadata and a thumbnail image of each person in your library. It also contains metadata such as the asset name and the geographic location of the photo. It is created at ~/Pictures/macOS Catalina Pre-Upgrade Backup, and you can manually remove this backup at any time. The clone will be removed automatically before the final version of macOS Catalina. (51033690)

Podcasts

New Issues
  • Deleting podcasts using About This Mac > Storage > Manage doesn’t update what’s shown in the Podcasts app until it’s relaunched. (50354510)
  • Setting “Automatically Download Episodes” to “Never” might not take effect. (50960777)
  • Writing a review isn’t currently supported. (46173722)
  • Manually checking for feed updates when option-clicking the Podcasts app in the dock isn’t currently available. (50958585) 
    Workaround: Quit and relaunch the app.
  • Certain UI elements might appear unaligned on non-Retina displays. (51138730)
  • The first time Podcasts is launched, a migration is triggered even if there is no content to migrate. (51145044)
  • If Podcasts is placed in Full Screen mode, some UI elements might be obscured by the toolbar. (47125303)

Quartz Composer

Deprecations
  • Starting in macOS Catalina, the Quartz Composer framework is deprecated and remains present for compatibility purposes. Transition to frameworks such as Core Image, Scene Kit, or Metal. (50911608)

Screen Sharing

New Issues
  • If the Mac your’re screen sharing with is running macOS Catalina beta, you cannot drag and drop onto the screen share. (50791710)

Screen Time

New Issues
  • Pre-macOS Catalina Parental Controls continue to be enforced even these restrictions are set to Off in Screen Time. (48010796)
  • Users can click ‘One more minute’ multiple times per day instead of only once each time they reach a limit for that app. (48773803)
  • When in Downtime or after reaching an App Limit, clicking Ignore Limit requires clicking in the precise location for the options to appear. (50061983)
  • Screen Time > Content & Privacy > Content > Web Content > Allowed Websites Only isn’t currently enforced in macOS Catalina beta. (50462899)
  • Messages and FaceTime don’t currently enforce Screen Time’s Communication Limits. (51055350,51055448)
  • If the Always Allowed pane is empty or isn’t allowing you to select any apps, quit and relaunch System Preferences. (51120837)

Script Editor

New Issues
  • Script Editor might quit unexpectedly when saving or executing scripts. (50470730)

Scripting Language Runtimes

Deprecations
  • Scripting language runtimes such as Python, Ruby, and Perl are included in macOS for compatibility with legacy software. Future versions of macOS won’t include script language runtimes by default, and might require you to install additional packages. If your software depends on scripting languages, it’s recommended to bundle the runtime within the application. (49764202)
  • Use of Python 2.7 isn’t recommended as this version is included in macOS for compatibility with legacy software. Future versions of macOS won’t include Python 2.7. Instead, it’s recommended to run `python3` from within Terminal. (51097165)

Sign In with Apple

New Issues
  • ASAuthorizationAppleIDButton API will be available in an upcoming beta. (50376266)

Siri

New Issues
  • Siri doesn’t currently support the new Music and Podcasts apps. (47202947, 50790506)

SystemExtensions

New Issues
  • Upgrading system extension versions isn’t currently available. The extension can be deleted, then reinstalled which requires user reapproval. (48943883)
  • Driver extensions might not launch on-demand after installation. (51229724) 
    Workaround: Disable System Integrity Protection, then launch Terminal and execute the following command before approving the newly installed driver: 
    sudo touch /Library/DriverExtensions
  • Approving system extensions via Mobile Device Management is not currently available. (50553712)

Voice Memos

New Issues
  • Location-based naming isn’t yet available in macOS Catalina beta. (50743045)

Wi-Fi

New Issues
  • Your Mac may be unable to auto join WPA3 networks. Instead, select the network manually. (50605428)
  • After turning Wi-Fi off using the menu bar, reopening the Wi-Fi menu might unexpectedly list available Wi-Fi networks. (50643127)

Xcode

Deprecations
  • Command line tool support for Subversion (including `svn`, `git-svn`, etc) is no longer provided by Xcode. Users needing `svn`, `git-svn`, or related command line tools should install the Command Line Tools package by running `xcode-select –install`. (50266910)
New Issues
  • Swift overlay isn’t yet available for several new URLSession APIs (URLSessionTaskTransactionMetrics new properties, URLCache new initializer, URLError new properties, and URLRequest network access properties). (50517967)
About BjTechNews (1067 Articles)
An IT guy trying to learn everything about technology and sharing it with you all. I'm a blogger and video blogger who highlights daily news in the tech industry, promoting tips and hacks for fellow techies.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from BTNHD

Subscribe now to keep reading and get access to the full archive.

Continue reading