{"id":35885780,"url":"https://github.com/ranchero-software/netnewswire","last_synced_at":"2026-06-30T18:00:54.915Z","repository":{"id":37018929,"uuid":"91977145","full_name":"Ranchero-Software/NetNewsWire","owner":"Ranchero-Software","description":"RSS reader for macOS and iOS.","archived":false,"fork":false,"pushed_at":"2026-06-29T17:56:39.000Z","size":71667,"stargazers_count":10175,"open_issues_count":864,"forks_count":709,"subscribers_count":122,"default_branch":"main","last_synced_at":"2026-06-29T19:22:57.485Z","etag":null,"topics":["feed-reader","ios","json-feed","macos","rss","rss-feed-reader","rss-reader"],"latest_commit_sha":null,"homepage":"https://netnewswire.com/","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ranchero-Software.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-05-21T17:59:23.000Z","updated_at":"2026-06-29T17:56:43.000Z","dependencies_parsed_at":"2023-10-11T06:35:36.646Z","dependency_job_id":"cad0a210-33d6-47c4-a0ca-81a508f8e2c3","html_url":"https://github.com/Ranchero-Software/NetNewsWire","commit_stats":null,"previous_names":["brentsimmons/netnewswire"],"tags_count":306,"template":false,"template_full_name":null,"purl":"pkg:github/Ranchero-Software/NetNewsWire","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ranchero-Software%2FNetNewsWire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ranchero-Software%2FNetNewsWire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ranchero-Software%2FNetNewsWire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ranchero-Software%2FNetNewsWire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ranchero-Software","download_url":"https://codeload.github.com/Ranchero-Software/NetNewsWire/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ranchero-Software%2FNetNewsWire/sbom","scorecard":{"id":117748,"data":{"date":"2025-08-11","repo":{"name":"github.com/Ranchero-Software/NetNewsWire","commit":"40006125e8a4f5e8c8c1cfd38d72eabbe3ca8cad"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.2,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 2/28 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"20 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Binary-Artifacts","score":4,"reason":"binaries present in source code","details":["Warn: binary detected: Mac/Resources/org.sparkle-project.Downloader.xpc/Contents/MacOS/org.sparkle-project.Downloader:1","Warn: binary detected: Mac/Resources/org.sparkle-project.InstallerConnection.xpc/Contents/MacOS/org.sparkle-project.InstallerConnection:1","Warn: binary detected: Mac/Resources/org.sparkle-project.InstallerLauncher.xpc/Contents/MacOS/Autoupdate:1","Warn: binary detected: Mac/Resources/org.sparkle-project.InstallerLauncher.xpc/Contents/MacOS/Updater.app/Contents/MacOS/Updater:1","Warn: binary detected: Mac/Resources/org.sparkle-project.InstallerLauncher.xpc/Contents/MacOS/org.sparkle-project.InstallerLauncher:1","Warn: binary detected: Mac/Resources/org.sparkle-project.InstallerStatus.xpc/Contents/MacOS/org.sparkle-project.InstallerStatus:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact mac-6.1.10b2 not signed: https://api.github.com/repos/Ranchero-Software/NetNewsWire/releases/218329640","Warn: release artifact mac-6.1.10b1 not signed: https://api.github.com/repos/Ranchero-Software/NetNewsWire/releases/217225289","Warn: release artifact mac-6.1.10b2 does not have provenance: https://api.github.com/repos/Ranchero-Software/NetNewsWire/releases/218329640","Warn: release artifact mac-6.1.10b1 does not have provenance: https://api.github.com/repos/Ranchero-Software/NetNewsWire/releases/217225289"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 4 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:46:32.460Z","repository_id":37018929,"created_at":"2025-08-16T01:46:32.460Z","updated_at":"2025-08-16T01:46:32.460Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34977672,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-30T02:00:05.919Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["feed-reader","ios","json-feed","macos","rss","rss-feed-reader","rss-reader"],"created_at":"2026-01-08T20:14:25.947Z","updated_at":"2026-06-30T18:00:54.910Z","avatar_url":"https://github.com/Ranchero-Software.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=Technotes/Images/icon_1024.png height=128 width=128 style=\"display: block; margin: auto;\"\u003e \n\n# NetNewsWire\n\nNetNewsWire is a free and open-source feed reader for macOS and iOS.\n\nIt supports [RSS](https://cyber.harvard.edu/rss/rss.html), [Atom](https://datatracker.ietf.org/doc/html/rfc4287), [JSON Feed](https://jsonfeed.org/), and [RSS-in-JSON](https://github.com/scripting/Scripting-News/blob/master/rss-in-json/README.md) formats.\n\nMore info: [https://netnewswire.com/](https://netnewswire.com/)\n\nYou can [report bugs and make feature requests](https://github.com/Ranchero-Software/NetNewsWire/issues) here on GitHub. You can also [read change notes](https://github.com/Ranchero-Software/NetNewsWire/releases/) for current and previous releases.\n\nHere’s [How to Support NetNewsWire](Technotes/HowToSupportNetNewsWire.markdown). Spoiler: don’t send money. :)\n\n(NetNewsWire’s Help menu has these links, so you don’t have to remember to come back to this page.)\n\n#### Community\n\n[Join the forum](https://discourse.netnewswire.com/) to talk with other NetNewsWire users — and to help out, if you’d like to, by testing, coding, writing, providing feedback, or just helping us think things through. Everybody is welcome and encouraged to join.\n\nEvery community member is expected to abide by the [code of conduct](CONTRIBUTING.md#code-of-conduct) which is included in the [Contributing](CONTRIBUTING.md) page.\n\n#### Pull Requests\n\nSee the [Contributing](CONTRIBUTING.md) page for our process. They key thing is to ask before doing a PR (before even starting work). The Contributing page goes into more detail as to why it’s important to ask first.\n\n#### Building\n\nYou can build and test NetNewsWire without a paid developer account.\n\n```bash\ngit clone https://github.com/Ranchero-Software/NetNewsWire.git\n```\n\nYou can locally override the Xcode settings for code signing\nby creating a `DeveloperSettings.xcconfig` file locally at the appropriate path.\nThis allows for a pristine project with code signing set up with the appropriate\ndeveloper ID and certificates, and for developer to be able to have local settings\nwithout needing to check in anything into source control.\n\nYou can do this in one of two ways: using the included `setup.sh` script or by creating the folder structure and file manually.\n\n##### Using `setup.sh`\n\n- Open Terminal and `cd` into the NetNewsWire directory. \n- Run this command to ensure you have execution rights for the script: `chmod +x setup.sh`\n- Execute the script with the following command: `./setup.sh` and complete the answers.\n\n##### Manually \n\nMake a directory `SharedXcodeSettings` next to where you have this repository.\n\nThe directory structure is:\n\n```\ndirectory/\n  SharedXcodeSettings/\n    DeveloperSettings.xcconfig\n  NetNewsWire/\n    NetNewsWire.xcodeproj\n```\nExample:\n\nIf your NetNewsWire Xcode project file is at:\n`/Users/name/projects/NetNewsWire/NetNewsWire.xcodeproj`\n\nCreate your `DeveloperSettings.xcconfig` file at\n`/Users/name/projects/SharedXcodeSettings/DeveloperSettings.xcconfig`\n\nThen create a plain text file in it: `SharedXcodeSettings/DeveloperSettings.xcconfig` and\ngive it the contents:\n\n```\nCODE_SIGN_IDENTITY = Mac Developer\nDEVELOPMENT_TEAM = \u003cYour Team ID\u003e\nCODE_SIGN_STYLE = Automatic\nORGANIZATION_IDENTIFIER = \u003cYour Domain Name Reversed\u003e\nDEVELOPER_ENTITLEMENTS = -dev\nPROVISIONING_PROFILE_SPECIFIER =\n```\n\nSet `DEVELOPMENT_TEAM` to your Apple supplied development team.  You can use Keychain\nAccess to [find your development team ID](/Technotes/FindingYourDevelopmentTeamID.md).\nSet `ORGANIZATION_IDENTIFIER` to a reversed domain name that you control or have made up.\nNote that `PROVISIONING_PROFILE_SPECIFIER` should not have a value associated with it.\n\nYou can now open the `NetNewsWire.xcodeproj` in Xcode.\n\nNow you should be able to build without code signing errors and without modifying\nthe NetNewsWire Xcode project.  This is a special build of NetNewsWire with some\nfunctionality disabled.  This is because we have API keys that can't be stored in the\nrepository or shared between developers.  Certain account types, like iCloud and Feedly, aren't\nenabled and the Reader View isn't enabled because of this.\n\nIf you have any problems, we will help you out in the forum ([see above](README.md#Community)).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Franchero-software%2Fnetnewswire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Franchero-software%2Fnetnewswire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Franchero-software%2Fnetnewswire/lists"}