, so it'd match the first line of the error\nmessage always.", "is_bot": false, "headline": "Avoid creating multiple regexp objects", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2024-05-24T14:41:26Z", "body_truncated": true, "is_coding_agent": false }, { "oid": "ae12516978a07b75bb3f929829170b7f5716f53c", "body": "This reverts commit b6ae67d28599b3c676b670e23e478063aba14cf6, reversing\nchanges made to 0ef4a58daae41ab091d25ac1dc3fb4ede35743b1.\n\nThis caused custom inputs to not load properly on non-eager load\nenvironments like dev/test, because those constants may not have been\ndefined yet.\n\nThe previous code would try to constantize them and force-load the\nlazily-loaded files/constants, the new code breaks that behavior, so\nwe're reverting.\n\nCloses #1824, see for more info.", "is_bot": false, "headline": "Revert \"Merge pull request #1810 from meanphil/mappings-slow-exception\"", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2024-05-14T21:37:31Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "4387c28361c38561fd6a7fec91be1f34950e2182", "body": null, "is_bot": false, "headline": "Improve docs on Non Active Record", "author_name": "Abinoam P. Marques Jr", "author_login": "abinoam", "committed_at": "2024-04-14T23:58:00Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "bad4ce04c4a9cc6e54b148620045ee8a4ba652db", "body": null, "is_bot": false, "headline": "Bump year [ci skip]", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2024-04-09T19:57:09Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "5103d7d1c68f8c169c8d159a40742edd27eeea85", "body": "Rails main changed `object` to be `false` instead of `nil`, causing the\nspecific check we were doing for `object.nil?` to fail, and the custom\nerrors were not displaying for forms without an object. Our test suite\ncaught that, and the fix is to simply not check specifically for `nil?`,\nbut just whet\n[…]\nity, probably not something worth\nchanging the framework for, but one worth mentioning.\n\nSource is likely to be:\n- https://github.com/rails/rails/pull/49943\n- https://github.com/rails/rails/pull/50931", "is_bot": false, "headline": "Fix error component without object on Rails main to display properly", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2024-04-09T19:33:45Z", "body_truncated": true, "is_coding_agent": false }, { "oid": "416894aab486fd7bf51e6e24738795fb439165f9", "body": null, "is_bot": false, "headline": "No need to `send` anymore, `include` is public", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2024-04-09T19:30:20Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "24c5cd46cc4e9855bc8978b703b6cb63536ad60a", "body": "Exclude previous Ruby versions from running against Rails main, since it\nonly supports Ruby 3.1+ now.", "is_bot": false, "headline": "Add support to Ruby 3.3 (no changes required)", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2024-04-09T18:12:56Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "ae5fd7cb876086674e1b82f63ac0e6850b5fb276", "body": "Note that we need to keep Nokogiri on v1.15.6 and Bundler on v2.4.22 due\nto Ruby 2.7 compatibility for now.\n\nWe also need to lock country_select on v8.x since v9.x will load\ncountries v6, which does not support Ruby 2.7 anymore either.\n\n(soon we'll have to drop it too apparently!)", "is_bot": false, "headline": "Run tests with latest gems, specifically country_select v9.0.0", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2024-04-09T18:12:23Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "3a2fa07ecc1d33daf5ae0e8812eb982d8fc822aa", "body": null, "is_bot": false, "headline": "Fix encrypted attributes improperly casted", "author_name": "Michaël Villeneuve", "author_login": "Michaelvilleneuve", "committed_at": "2024-03-07T10:39:35Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "8f77f598b32ed11b0d56c44481607a6e911bcecb", "body": null, "is_bot": false, "headline": "Release v5.3.0", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2023-10-11T22:05:21Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "bf1013ac46987adf3163db523f403861ca3f9bf2", "body": "Rails 7.1", "is_bot": false, "headline": "Merge pull request #1821 from heartcombo/ca/rails-71", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2023-10-11T11:15:03Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "1c27ae66e4f4a1b718d5ba70da68a30cce287d56", "body": null, "is_bot": false, "headline": "Update changelog with Rails 7.1 mention [ci skip]", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2023-10-10T22:49:15Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "80915d5c263b49c961c32cc3e6e7b859a031d44b", "body": "Rails 7.1 is deprecating the `ActiveSupport::Deprecation.instance` usage\nin favor of defining library-specific deprecators, this implements one\nfor SimpleForm going forward.", "is_bot": false, "headline": "Add a custom deprecator to SimpleForm", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2023-10-10T22:47:06Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "9a76a4ed5de15f5668a2cd8c85efc58e99520b33", "body": null, "is_bot": false, "headline": "Test with Rails 7.1 by default, create new Gemfile for 7.0", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2023-10-10T21:54:57Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "b9ba1ceeb59fd0ed7de4289db1380b52f36745e6", "body": "Update MiniTest => Minitest constant reference.\n\n`rails-dom-testing` changed the `NO_STRIP` constant around, update the\ncode that references it via `ActionDispatch::Assertions` (because it was\nincluded there) to point to the lib directly, making it more explicit.", "is_bot": false, "headline": "Update dependencies and fix tests with the latest", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2023-10-10T21:50:32Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "1d9890e82af1b3d32c030f9ebb6b181eafe7f859", "body": null, "is_bot": false, "headline": "pass base object to human_attribute_name in labels", "author_name": "Tom Rothe", "author_login": "motine", "committed_at": "2023-03-01T08:02:07Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "921ce9c3fc100e1737125ba1b5a2037c03f2de1b", "body": null, "is_bot": false, "headline": "Remove extraneous explicit return", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2023-02-20T14:37:32Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "f46628bd5c23cc32bc77fb57f2c9ea2ee9e3f6a5", "body": null, "is_bot": false, "headline": "Add changelog entry for #1810 [ci skip]", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2023-02-20T14:37:32Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "b6ae67d28599b3c676b670e23e478063aba14cf6", "body": "Speed up nested #simple_fields_for usage by a considerable amount\r\n\r\nCloses #1725 \r\nCloses #1791 \r\nCloses #1790", "is_bot": false, "headline": "Merge pull request #1810 from meanphil/mappings-slow-exception", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2023-02-20T14:31:32Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "ff3903fe9346199e39538a39ea4e5a5694e31541", "body": "Exceptions are slow due to generating backtraces - and then when other\ndebugging gems (such as did_you mean, which are included with\nRuby and Rails these days) get involved it resulted in excessive Object\nallocation.", "is_bot": false, "headline": "Speed up nested #simple_fields_for usage by a considerable amount", "author_name": "Phil Murray", "author_login": "meanphil", "committed_at": "2023-02-20T02:24:43Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "0ef4a58daae41ab091d25ac1dc3fb4ede35743b1", "body": null, "is_bot": false, "headline": "Update copyright year [ci skip]", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2023-02-16T12:10:18Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "159b70aea62443aeb0e32382de3095bcb571ee0e", "body": null, "is_bot": false, "headline": "Add changelog for #1809 [ci skip]", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2023-02-04T12:39:09Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "573ee5eeb700fb321ca08054659e56edf0970d8c", "body": "Remove test files from the gem package", "is_bot": false, "headline": "Merge pull request #1809 from orien/reduce-gem-contents", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2023-02-04T12:37:47Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "ecf5239303af7fc281509f4d58253bd6c8e49521", "body": "There are several files in the gem package that aren't useful for\ndownstream projects. Removing these reduces the gem package size from\n83K to 50K!", "is_bot": false, "headline": "Remove test files from the gem package", "author_name": "Orien Madgwick", "author_login": "orien", "committed_at": "2023-02-04T01:22:22Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "08fb6ea095a0db5823c672d991609418a700308f", "body": "It's not working right now, and we haven't used it in like forever\nto drive anything.\n\n[ci skip]", "is_bot": false, "headline": "Remove CodeClimate badge", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2023-02-03T14:49:26Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "d17d97f32c3b0020cfc080344bffb29bac49d091", "body": "Ref: #1808 [ci skip]", "is_bot": false, "headline": "Point to `main` branch instead of old `master`", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2023-01-30T16:44:07Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "485175830ce36a9b5b431f3ad16730a2a5211c7b", "body": null, "is_bot": false, "headline": "Release v5.2.0", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2023-01-29T13:23:28Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "ad1bb2ef24fc1a90459e7c4c18821edb38c57c2d", "body": "This combination should work fine. Also reorganize the exclusion list of\nbuilds a bit.", "is_bot": false, "headline": "Run the build with Ruby 3.2 + Rails 6.1, update changelog", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2023-01-16T20:25:32Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "edf540f3d14d4999d33ba69bda452da417e2cc15", "body": null, "is_bot": false, "headline": "Bundle update", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2023-01-16T20:10:27Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "341e36c087d78e0d5dbf768652e54cc42663f055", "body": "Adds Ruby 3.2 to the CI matrix", "is_bot": false, "headline": "Merge pull request #1802 from petergoldstein/feature/add_ruby_3_2_to_ci", "author_name": "Vasiliy Ermolovich", "author_login": "nashby", "committed_at": "2022-12-30T08:02:49Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "9b879ccb84c3a7d6d4224046fd94f6ef72203c7d", "body": null, "is_bot": false, "headline": "Adds Ruby 3.2 to the CI matrix. Updates checkout action version.", "author_name": "Peter Goldstein", "author_login": "petergoldstein", "committed_at": "2022-12-29T21:20:55Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "7790db2ea26c94a6c1a473a91d1001655de7b585", "body": "Split country and timezone inputs to fix deprecated way of passing priority countries to country input.", "is_bot": false, "headline": "Merge pull request #1782 from heartcombo/country-timezone-split", "author_name": "Vasiliy Ermolovich", "author_login": "nashby", "committed_at": "2022-12-29T21:13:48Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "b472e19b5d344405e224d7ec6264a2d4793c54e1", "body": "See https://github.com/rails/rails/commit/4e8e82829182cc2c1dc07997acc210bc0656eda4", "is_bot": false, "headline": "ActionView::OutputBuffer doesn't have #replace method anymore.", "author_name": "Vasiliy Ermolovich", "author_login": "nashby", "committed_at": "2022-09-24T08:19:38Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "2b77e9cb000cf9c2aec2b7c67247f52384f3cb08", "body": null, "is_bot": false, "headline": "Specify main branch for Rails edge.", "author_name": "Vasiliy Ermolovich", "author_login": "nashby", "committed_at": "2022-09-24T08:18:47Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "f38c6a1d3acca8e3b5bd650fd92a6466d468eb71", "body": "…iority countries to country input.\n\nIt still uses SimpleForm's PriorityInput for backward compatibility.", "is_bot": false, "headline": "Split country and timezone inputs to fix deprecated way of passing pr…", "author_name": "Vasiliy Ermolovich", "author_login": "nashby", "committed_at": "2022-09-23T15:53:31Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "31fe25504771bd6cd425b585a4e0ed652fba4521", "body": "Fix broken Rubydoc links in README.md", "is_bot": false, "headline": "Merge pull request #1785 from Mir0ff944/mi-readme-rubydoc-url-fix", "author_name": "Vasiliy Ermolovich", "author_login": "nashby", "committed_at": "2022-07-18T14:15:33Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "95a8dba2bf1d1692a04d8b44ee034c95bef1840f", "body": "Use the correct default branch on Rubydoc links.", "is_bot": false, "headline": "Fix broken Rubydoc links in README.md", "author_name": "Miroslav Ivanov", "author_login": "Mir0ff944", "committed_at": "2022-07-16T23:52:24Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "8b8cea1dbd85be82876c612a020a1522b7c9941f", "body": null, "is_bot": false, "headline": "Update CHANGELOG.md", "author_name": "Vasiliy Ermolovich", "author_login": "nashby", "committed_at": "2022-07-13T17:36:01Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "486ff139b6d74f4a7672717022e980bd0357eb97", "body": "Honor `include_hidden` on inline boolean inputs", "is_bot": false, "headline": "Merge pull request #1772 from yboulkaid/main", "author_name": "Vasiliy Ermolovich", "author_login": "nashby", "committed_at": "2022-07-13T17:33:29Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "cf743e7e834dcfe39a3e9485ee44b86b4868d98b", "body": "Revise unchecked docs", "is_bot": false, "headline": "Merge pull request #1784 from paulcc/revise-unchecked-docs", "author_name": "Vasiliy Ermolovich", "author_login": "nashby", "committed_at": "2022-07-12T18:51:48Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "4338d45c2dd259226456efe0082370b75b7f011c", "body": null, "is_bot": false, "headline": "Add clarification re. hidden field and give example of include_hidden:", "author_name": "Paul Callaghan", "author_login": "paulcc", "committed_at": "2022-07-12T11:20:24Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "c3060bd8f8675f543371a910d9451aefa4ab5961", "body": "…ission of hidden field", "is_bot": false, "headline": "Use strings in checked/unchecked examples, to avoid confusion with om…", "author_name": "Paul Callaghan", "author_login": "paulcc", "committed_at": "2022-07-12T11:20:24Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "39787221d97fd21bb372c7cb7822d25e787c4e8f", "body": "…p-method-proc\n\nAllow proc as group_method for grouped collection select", "is_bot": false, "headline": "Merge pull request #1775 from cgunther/grouped-collection-select-grou…", "author_name": "Vasiliy Ermolovich", "author_login": "nashby", "committed_at": "2022-07-08T16:05:33Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "adea6b557c9879daa4c0639dd6f873f872f8e173", "body": "Since Rails v5.2, the group method could be a callable object.", "is_bot": false, "headline": "Allow proc as group_method for grouped collection select", "author_name": "Chris Gunther", "author_login": "cgunther", "committed_at": "2022-06-09T15:43:27Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "27e510280897b005011600f83597b9849ccc2a6b", "body": null, "is_bot": false, "headline": "Honor `include_hidden` on inline boolean inputs", "author_name": "Youssef Boulkaid", "author_login": "yboulkaid", "committed_at": "2022-05-10T18:55:40Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "23205201a935c7e52c39549756e2ec2e2ec47793", "body": null, "is_bot": false, "headline": "Merge pull request #1771 from sajadtorkamani/patch-1", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2022-04-23T11:41:35Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "ee134f87b5c76ddcacaa9c2b36131eeb1d42c90d", "body": null, "is_bot": false, "headline": "Fix anchor link to Bootstrap", "author_name": "Sajad Torkamani", "author_login": "sajadtorkamani", "committed_at": "2022-04-23T10:56:04Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "60f73d2424a6c53beea77b0779d910768d4fb055", "body": "Only call where if needed", "is_bot": false, "headline": "Merge pull request #1765 from asgerb/where-patch", "author_name": "Vasiliy Ermolovich", "author_login": "nashby", "committed_at": "2022-03-31T14:56:59Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "e2e4dd30d27c30aa1dc17966763e4beac6cb39cc", "body": null, "is_bot": false, "headline": "Only call `where` if needed", "author_name": "asgerb", "author_login": "asgerb", "committed_at": "2022-03-11T10:08:44Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "159f4015973c5f57b05253308bbaedc238dbbe07", "body": "Update bootstrap initializer banner", "is_bot": false, "headline": "Merge pull request #1764 from m5o/bootstrap-banner-info", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2022-03-09T17:09:50Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "e277227123f6c51ce0c7337346a70a601839a804", "body": "* remove a misleading sentence\n * `Please do not make direct changes to this file!`\n* 💭 prep & discussion:\n * https://github.com/heartcombo/simple_form-bootstrap/pull/359\n\nfixes #1756\n\n/cc @carlosantoniodasilva @collimarco", "is_bot": false, "headline": "Update bootstrap initializer banner", "author_name": "m5o", "author_login": "m5o", "committed_at": "2022-03-09T17:06:51Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "9159ee109a858dca23bca6d7c013a5216ff402c3", "body": null, "is_bot": false, "headline": "Update CHANGELOG.md", "author_name": "Vasiliy Ermolovich", "author_login": "nashby", "committed_at": "2022-03-07T12:48:41Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "1535f3236773757bc1702d6cdb0f08a565f81e9f", "body": "Update install generator for Bootstrap 5", "is_bot": false, "headline": "Merge pull request #1738 from mhw/bootstrap-5", "author_name": "Vasiliy Ermolovich", "author_login": "nashby", "committed_at": "2022-03-07T12:46:59Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "3238067743729ae294850693ecdb0fd6475940d4", "body": null, "is_bot": false, "headline": "Add changelog entry for #1703 [ci skip]", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2022-02-25T17:37:01Z", "body_truncated": false, "is_coding_agent": false }, { "oid": "8c45bf1a0ce7dcb0bb380f8a13c858ca58c6c5d6", "body": "* Rails and Ruby versions follow the most recent to oldest, except for\n Rails main, so we can keep the Gemfile the first one.\n* Excluding specific matrix combinations based on the Gemfile first,\n Ruby version next, and keep the same order (most recent -> oldest)\n* Quote all Ruby versions to keep t\n[…]\n0' version to avoid the float issue where it'd use the latest\n 3.x instead.\n* Test Rails 6.1 with Ruby 3.1, as Rails test suite supports it.\n\nAlso update Changelog with the 3.1 Ruby support addition.", "is_bot": false, "headline": "Reorganize test matrix & use latest bundler", "author_name": "Carlos Antonio da Silva", "author_login": "carlosantoniodasilva", "committed_at": "2022-02-25T16:40:55Z", "body_truncated": true, "is_coding_agent": false } ], "releases_count": 14, "commits_last_year": 30, "latest_release_at": "2026-01-05T13:07:49Z", "latest_release_tag": "v5.4.1", "releases_from_tags": false, "days_since_last_push": 111, "active_weeks_last_year": 11, "days_since_latest_release": 197, "mean_days_between_releases": 309.8 }, "community": { "has_readme": true, "has_license": true, "has_description": true, "has_contributing": true, "health_percentage": 50, "has_issue_template": true, "has_code_of_conduct": false, "has_pull_request_template": false }, "ecosystem": { "packages": [ { "name": "simple_form", "exists": true, "license": "MIT", "keywords": [], "ecosystem": "rubygems", "matches_repo": true, "registry_url": "https://rubygems.org/gems/simple_form", "is_deprecated": false, "latest_version": "5.4.1", "repository_url": "https://github.com/heartcombo/simple_form", "versions_count": 63, "total_downloads": 95931058, "dependents_count": null, "deprecation_note": null, "maintainers_count": null, "monthly_downloads": null, "first_published_at": "2009-11-09T16:13:30.227000Z", "latest_published_at": "2026-01-05T13:07:06.117000Z", "latest_version_yanked": null, "days_since_latest_publish": 197 } ] }, "popularity": { "forks": 1298, "stars": 8231, "watchers": 150, "fork_history": { "days": [ { "date": "2012-12-27", "count": 1 }, { "date": "2012-12-28", "count": 2 }, { "date": "2013-01-03", "count": 1 }, { "date": "2013-01-14", "count": 1 }, { "date": "2013-01-17", "count": 2 }, { "date": "2013-01-24", "count": 1 }, { "date": "2013-01-26", "count": 2 }, { "date": "2013-01-28", "count": 1 }, { "date": "2013-01-29", "count": 1 }, { "date": "2013-02-05", "count": 1 }, { "date": "2013-02-12", "count": 1 }, { "date": "2013-02-26", "count": 3 }, { "date": "2013-03-01", "count": 1 }, { "date": "2013-03-04", "count": 1 }, { "date": "2013-03-06", "count": 2 }, { "date": "2013-03-07", "count": 1 }, { "date": "2013-03-09", "count": 1 }, { "date": "2013-03-11", "count": 1 }, { "date": "2013-03-12", "count": 2 }, { "date": "2013-03-16", "count": 1 }, { "date": "2013-03-17", "count": 1 }, { "date": "2013-03-18", "count": 1 }, { "date": "2013-03-19", "count": 3 }, { "date": "2013-03-20", "count": 2 }, { "date": "2013-03-21", "count": 2 }, { "date": "2013-03-23", "count": 1 }, { "date": "2013-03-27", "count": 2 }, { "date": "2013-03-29", "count": 1 }, { "date": "2013-04-04", "count": 1 }, { "date": "2013-04-07", "count": 1 }, { "date": "2013-04-08", "count": 1 }, { "date": "2013-04-09", "count": 1 }, { "date": "2013-04-12", "count": 1 }, { "date": "2013-04-13", "count": 1 }, { "date": "2013-04-17", "count": 1 }, { "date": "2013-04-18", "count": 1 }, { "date": "2013-04-23", "count": 1 }, { "date": "2013-04-24", "count": 1 }, { "date": "2013-04-29", "count": 1 }, { "date": "2013-05-01", "count": 1 }, { "date": "2013-05-02", "count": 1 }, { "date": "2013-05-03", "count": 2 }, { "date": "2013-05-05", "count": 1 }, { "date": "2013-05-17", "count": 2 }, { "date": "2013-05-21", "count": 1 }, { "date": "2013-05-31", "count": 3 }, { "date": "2013-06-02", "count": 1 }, { "date": "2013-06-04", "count": 1 }, { "date": "2013-06-05", "count": 2 }, { "date": "2013-06-12", "count": 1 }, { "date": "2013-06-13", "count": 1 }, { "date": "2013-06-15", "count": 1 }, { "date": "2013-06-17", "count": 1 }, { "date": "2013-06-18", "count": 1 }, { "date": "2013-06-19", "count": 1 }, { "date": "2013-06-20", "count": 2 }, { "date": "2013-06-25", "count": 2 }, { "date": "2013-06-26", "count": 1 }, { "date": "2013-06-27", "count": 1 }, { "date": "2013-06-28", "count": 1 }, { "date": "2013-07-03", "count": 1 }, { "date": "2013-07-05", "count": 1 }, { "date": "2013-07-10", "count": 1 }, { "date": "2013-07-15", "count": 1 }, { "date": "2013-07-16", "count": 1 }, { "date": "2013-07-18", "count": 1 }, { "date": "2013-07-19", "count": 1 }, { "date": "2013-07-22", "count": 2 }, { "date": "2013-07-26", "count": 2 }, { "date": "2013-07-29", "count": 3 }, { "date": "2013-07-30", "count": 1 }, { "date": "2013-07-31", "count": 2 }, { "date": "2013-08-07", "count": 1 }, { "date": "2013-08-09", "count": 2 }, { "date": "2013-08-12", "count": 1 }, { "date": "2013-08-15", "count": 1 }, { "date": "2013-08-18", "count": 1 }, { "date": "2013-08-20", "count": 1 }, { "date": "2013-08-21", "count": 3 }, { "date": "2013-08-22", "count": 2 }, { "date": "2013-08-24", "count": 1 }, { "date": "2013-08-26", "count": 2 }, { "date": "2013-08-28", "count": 1 }, { "date": "2013-09-01", "count": 1 }, { "date": "2013-09-04", "count": 1 }, { "date": "2013-09-05", "count": 1 }, { "date": "2013-09-06", "count": 2 }, { "date": "2013-09-10", "count": 1 }, { "date": "2013-09-11", "count": 1 }, { "date": "2013-09-12", "count": 2 }, { "date": "2013-09-16", "count": 2 }, { "date": "2013-09-19", "count": 1 }, { "date": "2013-09-24", "count": 2 }, { "date": "2013-09-27", "count": 1 }, { "date": "2013-09-28", "count": 1 }, { "date": "2013-09-30", "count": 2 }, { "date": "2013-10-01", "count": 1 }, { "date": "2013-10-03", "count": 1 }, { "date": "2013-10-04", "count": 1 }, { "date": "2013-10-07", "count": 3 }, { "date": "2013-10-08", "count": 1 }, { "date": "2013-10-16", "count": 1 }, { "date": "2013-10-17", "count": 3 }, { "date": "2013-10-18", "count": 1 }, { "date": "2013-10-22", "count": 1 }, { "date": "2013-10-25", "count": 1 }, { "date": "2013-10-28", "count": 2 }, { "date": "2013-10-30", "count": 1 }, { "date": "2013-11-05", "count": 2 }, { "date": "2013-11-06", "count": 1 }, { "date": "2013-11-08", "count": 3 }, { "date": "2013-11-09", "count": 1 }, { "date": "2013-11-11", "count": 1 }, { "date": "2013-11-12", "count": 2 }, { "date": "2013-11-15", "count": 1 }, { "date": "2013-11-21", "count": 1 }, { "date": "2013-11-25", "count": 1 }, { "date": "2013-11-26", "count": 2 }, { "date": "2013-11-28", "count": 1 }, { "date": "2013-12-03", "count": 1 }, { "date": "2013-12-04", "count": 1 }, { "date": "2013-12-06", "count": 2 }, { "date": "2013-12-11", "count": 2 }, { "date": "2013-12-12", "count": 1 }, { "date": "2013-12-29", "count": 1 }, { "date": "2013-12-31", "count": 1 }, { "date": "2014-01-07", "count": 1 }, { "date": "2014-01-09", "count": 1 }, { "date": "2014-01-10", "count": 2 }, { "date": "2014-01-11", "count": 1 }, { "date": "2014-01-12", "count": 1 }, { "date": "2014-01-14", "count": 1 }, { "date": "2014-01-16", "count": 1 }, { "date": "2014-01-19", "count": 2 }, { "date": "2014-01-20", "count": 2 }, { "date": "2014-01-21", "count": 1 }, { "date": "2014-01-26", "count": 3 }, { "date": "2014-01-28", "count": 1 }, { "date": "2014-02-02", "count": 1 }, { "date": "2014-02-04", "count": 1 }, { "date": "2014-02-05", "count": 1 }, { "date": "2014-02-09", "count": 1 }, { "date": "2014-02-12", "count": 2 }, { "date": "2014-02-13", "count": 1 }, { "date": "2014-02-14", "count": 1 }, { "date": "2014-02-16", "count": 1 }, { "date": "2014-02-19", "count": 1 }, { "date": "2014-02-21", "count": 1 }, { "date": "2014-02-25", "count": 1 }, { "date": "2014-02-28", "count": 1 }, { "date": "2014-03-05", "count": 1 }, { "date": "2014-03-06", "count": 1 }, { "date": "2014-03-08", "count": 1 }, { "date": "2014-03-11", "count": 1 }, { "date": "2014-03-14", "count": 1 }, { "date": "2014-03-17", "count": 2 }, { "date": "2014-03-20", "count": 2 }, { "date": "2014-03-21", "count": 2 }, { "date": "2014-03-25", "count": 1 }, { "date": "2014-03-26", "count": 1 }, { "date": "2014-03-30", "count": 1 }, { "date": "2014-04-01", "count": 1 }, { "date": "2014-04-03", "count": 2 }, { "date": "2014-04-08", "count": 3 }, { "date": "2014-04-09", "count": 1 }, { "date": "2014-04-11", "count": 1 }, { "date": "2014-04-12", "count": 1 }, { "date": "2014-04-13", "count": 1 }, { "date": "2014-04-14", "count": 1 }, { "date": "2014-04-17", "count": 2 }, { "date": "2014-04-22", "count": 2 }, { "date": "2014-04-23", "count": 2 }, { "date": "2014-04-24", "count": 1 }, { "date": "2014-04-28", "count": 1 }, { "date": "2014-04-29", "count": 2 }, { "date": "2014-05-04", "count": 2 }, { "date": "2014-05-07", "count": 1 }, { "date": "2014-05-14", "count": 1 }, { "date": "2014-05-16", "count": 2 }, { "date": "2014-05-19", "count": 2 }, { "date": "2014-05-20", "count": 1 }, { "date": "2014-05-22", "count": 1 }, { "date": "2014-05-25", "count": 1 }, { "date": "2014-05-26", "count": 1 }, { "date": "2014-05-29", "count": 1 }, { "date": "2014-06-01", "count": 1 }, { "date": "2014-06-05", "count": 1 }, { "date": "2014-06-06", "count": 1 }, { "date": "2014-06-08", "count": 1 }, { "date": "2014-06-10", "count": 1 }, { "date": "2014-06-19", "count": 2 }, { "date": "2014-06-21", "count": 1 }, { "date": "2014-06-26", "count": 1 }, { "date": "2014-06-29", "count": 1 }, { "date": "2014-06-30", "count": 1 }, { "date": "2014-07-01", "count": 1 }, { "date": "2014-07-02", "count": 1 }, { "date": "2014-07-09", "count": 1 }, { "date": "2014-07-15", "count": 2 }, { "date": "2014-07-16", "count": 1 }, { "date": "2014-07-17", "count": 1 }, { "date": "2014-07-18", "count": 1 }, { "date": "2014-07-19", "count": 1 }, { "date": "2014-07-21", "count": 2 }, { "date": "2014-07-23", "count": 2 }, { "date": "2014-07-24", "count": 1 }, { "date": "2014-07-29", "count": 1 }, { "date": "2014-07-31", "count": 1 }, { "date": "2014-08-01", "count": 1 }, { "date": "2014-08-12", "count": 2 }, { "date": "2014-08-13", "count": 2 }, { "date": "2014-08-15", "count": 1 }, { "date": "2014-08-19", "count": 1 }, { "date": "2014-08-21", "count": 2 }, { "date": "2014-08-24", "count": 1 }, { "date": "2014-08-25", "count": 1 }, { "date": "2014-08-26", "count": 1 }, { "date": "2014-09-03", "count": 1 }, { "date": "2014-09-04", "count": 1 }, { "date": "2014-09-05", "count": 2 }, { "date": "2014-09-09", "count": 3 }, { "date": "2014-09-21", "count": 1 }, { "date": "2014-09-23", "count": 1 }, { "date": "2014-09-24", "count": 1 }, { "date": "2014-09-25", "count": 1 }, { "date": "2014-09-29", "count": 2 }, { "date": "2014-10-04", "count": 1 }, { "date": "2014-10-08", "count": 1 }, { "date": "2014-10-10", "count": 1 }, { "date": "2014-10-11", "count": 1 }, { "date": "2014-10-16", "count": 1 }, { "date": "2014-10-17", "count": 3 }, { "date": "2014-10-19", "count": 1 }, { "date": "2014-10-22", "count": 1 }, { "date": "2014-10-24", "count": 1 }, { "date": "2014-10-27", "count": 1 }, { "date": "2014-10-29", "count": 1 }, { "date": "2014-11-01", "count": 1 }, { "date": "2014-11-05", "count": 1 }, { "date": "2014-11-08", "count": 1 }, { "date": "2014-11-10", "count": 1 }, { "date": "2014-11-19", "count": 1 }, { "date": "2014-11-22", "count": 1 }, { "date": "2014-11-23", "count": 1 }, { "date": "2014-11-24", "count": 1 }, { "date": "2014-11-28", "count": 1 }, { "date": "2014-12-02", "count": 1 }, { "date": "2014-12-03", "count": 1 }, { "date": "2014-12-04", "count": 2 }, { "date": "2014-12-08", "count": 1 }, { "date": "2014-12-13", "count": 1 }, { "date": "2014-12-19", "count": 1 }, { "date": "2014-12-21", "count": 1 }, { "date": "2014-12-28", "count": 1 }, { "date": "2015-01-07", "count": 1 }, { "date": "2015-01-08", "count": 1 }, { "date": "2015-01-11", "count": 1 }, { "date": "2015-01-12", "count": 2 }, { "date": "2015-01-19", "count": 1 }, { "date": "2015-01-21", "count": 1 }, { "date": "2015-01-25", "count": 1 }, { "date": "2015-01-26", "count": 1 }, { "date": "2015-01-27", "count": 3 }, { "date": "2015-02-03", "count": 1 }, { "date": "2015-02-04", "count": 2 }, { "date": "2015-02-10", "count": 2 }, { "date": "2015-02-11", "count": 2 }, { "date": "2015-02-13", "count": 2 }, { "date": "2015-02-14", "count": 1 }, { "date": "2015-02-16", "count": 1 }, { "date": "2015-02-19", "count": 2 }, { "date": "2015-02-21", "count": 1 }, { "date": "2015-02-26", "count": 1 }, { "date": "2015-03-03", "count": 1 }, { "date": "2015-03-05", "count": 1 }, { "date": "2015-03-19", "count": 1 }, { "date": "2015-03-20", "count": 1 }, { "date": "2015-03-21", "count": 2 }, { "date": "2015-03-25", "count": 1 }, { "date": "2015-04-05", "count": 1 }, { "date": "2015-04-09", "count": 2 }, { "date": "2015-04-11", "count": 2 }, { "date": "2015-04-14", "count": 1 }, { "date": "2015-04-16", "count": 1 }, { "date": "2015-04-24", "count": 1 }, { "date": "2015-04-27", "count": 1 }, { "date": "2015-04-29", "count": 1 }, { "date": "2015-04-30", "count": 1 }, { "date": "2015-05-07", "count": 1 }, { "date": "2015-05-11", "count": 1 }, { "date": "2015-05-14", "count": 1 }, { "date": "2015-05-21", "count": 1 }, { "date": "2015-05-23", "count": 1 }, { "date": "2015-05-25", "count": 1 }, { "date": "2015-05-26", "count": 3 }, { "date": "2015-05-29", "count": 1 }, { "date": "2015-06-12", "count": 1 }, { "date": "2015-06-13", "count": 1 }, { "date": "2015-06-18", "count": 1 }, { "date": "2015-06-26", "count": 1 }, { "date": "2015-06-28", "count": 2 }, { "date": "2015-07-03", "count": 1 }, { "date": "2015-07-04", "count": 1 }, { "date": "2015-07-06", "count": 2 }, { "date": "2015-07-09", "count": 1 }, { "date": "2015-07-14", "count": 2 }, { "date": "2015-07-16", "count": 1 }, { "date": "2015-07-17", "count": 1 }, { "date": "2015-07-23", "count": 1 }, { "date": "2015-07-24", "count": 1 }, { "date": "2015-07-28", "count": 1 }, { "date": "2015-07-29", "count": 1 }, { "date": "2015-07-31", "count": 1 }, { "date": "2015-08-01", "count": 1 }, { "date": "2015-08-02", "count": 1 }, { "date": "2015-08-04", "count": 1 }, { "date": "2015-08-09", "count": 1 }, { "date": "2015-08-11", "count": 1 }, { "date": "2015-08-12", "count": 1 }, { "date": "2015-08-15", "count": 1 }, { "date": "2015-08-22", "count": 1 }, { "date": "2015-08-24", "count": 1 }, { "date": "2015-08-25", "count": 1 }, { "date": "2015-08-29", "count": 1 }, { "date": "2015-08-30", "count": 2 }, { "date": "2015-09-01", "count": 1 }, { "date": "2015-09-04", "count": 1 }, { "date": "2015-09-06", "count": 1 }, { "date": "2015-09-10", "count": 1 }, { "date": "2015-09-15", "count": 1 }, { "date": "2015-09-17", "count": 1 }, { "date": "2015-09-21", "count": 1 }, { "date": "2015-09-23", "count": 1 }, { "date": "2015-09-30", "count": 1 }, { "date": "2015-10-16", "count": 1 }, { "date": "2015-10-17", "count": 1 }, { "date": "2015-10-20", "count": 1 }, { "date": "2015-10-23", "count": 2 }, { "date": "2015-11-04", "count": 1 }, { "date": "2015-11-07", "count": 1 }, { "date": "2015-11-10", "count": 1 }, { "date": "2015-11-15", "count": 1 }, { "date": "2015-11-16", "count": 2 }, { "date": "2015-11-17", "count": 1 }, { "date": "2015-11-18", "count": 1 }, { "date": "2015-11-19", "count": 1 }, { "date": "2015-11-22", "count": 1 }, { "date": "2015-11-26", "count": 2 }, { "date": "2015-11-28", "count": 1 }, { "date": "2015-11-30", "count": 1 }, { "date": "2015-12-02", "count": 1 }, { "date": "2015-12-07", "count": 1 }, { "date": "2015-12-08", "count": 1 }, { "date": "2015-12-18", "count": 1 }, { "date": "2015-12-19", "count": 1 }, { "date": "2015-12-22", "count": 1 }, { "date": "2015-12-23", "count": 3 }, { "date": "2015-12-24", "count": 1 }, { "date": "2015-12-27", "count": 1 }, { "date": "2015-12-30", "count": 1 }, { "date": "2016-01-03", "count": 1 }, { "date": "2016-01-06", "count": 1 }, { "date": "2016-01-11", "count": 1 }, { "date": "2016-01-12", "count": 1 }, { "date": "2016-01-25", "count": 1 }, { "date": "2016-02-01", "count": 1 }, { "date": "2016-02-02", "count": 1 }, { "date": "2016-02-14", "count": 1 }, { "date": "2016-02-17", "count": 1 }, { "date": "2016-02-20", "count": 1 }, { "date": "2016-02-22", "count": 1 }, { "date": "2016-02-23", "count": 1 }, { "date": "2016-02-27", "count": 1 }, { "date": "2016-02-29", "count": 1 }, { "date": "2016-03-06", "count": 1 }, { "date": "2016-03-07", "count": 2 }, { "date": "2016-03-08", "count": 1 }, { "date": "2016-03-09", "count": 1 }, { "date": "2016-03-10", "count": 2 }, { "date": "2016-03-14", "count": 1 }, { "date": "2016-03-21", "count": 1 }, { "date": "2016-03-24", "count": 1 }, { "date": "2016-03-31", "count": 1 }, { "date": "2016-04-01", "count": 1 }, { "date": "2016-04-11", "count": 2 }, { "date": "2016-04-13", "count": 1 }, { "date": "2016-04-15", "count": 1 }, { "date": "2016-04-19", "count": 1 }, { "date": "2016-04-21", "count": 3 }, { "date": "2016-04-22", "count": 1 }, { "date": "2016-04-23", "count": 1 }, { "date": "2016-04-24", "count": 1 }, { "date": "2016-04-28", "count": 1 }, { "date": "2016-05-02", "count": 1 }, { "date": "2016-05-10", "count": 1 }, { "date": "2016-05-13", "count": 1 }, { "date": "2016-05-26", "count": 1 }, { "date": "2016-06-02", "count": 1 }, { "date": "2016-06-03", "count": 1 }, { "date": "2016-06-06", "count": 1 }, { "date": "2016-06-08", "count": 1 }, { "date": "2016-06-10", "count": 1 }, { "date": "2016-06-21", "count": 2 }, { "date": "2016-06-23", "count": 1 }, { "date": "2016-06-24", "count": 1 }, { "date": "2016-06-28", "count": 1 }, { "date": "2016-07-01", "count": 1 }, { "date": "2016-07-04", "count": 2 }, { "date": "2016-07-07", "count": 1 }, { "date": "2016-07-11", "count": 1 }, { "date": "2016-07-13", "count": 1 }, { "date": "2016-07-20", "count": 1 }, { "date": "2016-07-21", "count": 1 }, { "date": "2016-07-24", "count": 1 }, { "date": "2016-07-27", "count": 1 }, { "date": "2016-07-28", "count": 1 }, { "date": "2016-07-29", "count": 2 }, { "date": "2016-08-03", "count": 1 }, { "date": "2016-08-05", "count": 1 }, { "date": "2016-08-06", "count": 1 }, { "date": "2016-08-08", "count": 1 }, { "date": "2016-08-10", "count": 1 }, { "date": "2016-08-17", "count": 1 }, { "date": "2016-08-18", "count": 1 }, { "date": "2016-08-22", "count": 1 }, { "date": "2016-08-25", "count": 1 }, { "date": "2016-08-26", "count": 1 }, { "date": "2016-08-29", "count": 1 }, { "date": "2016-08-31", "count": 1 }, { "date": "2016-09-01", "count": 1 }, { "date": "2016-09-03", "count": 1 }, { "date": "2016-09-06", "count": 1 }, { "date": "2016-09-07", "count": 1 }, { "date": "2016-09-12", "count": 1 }, { "date": "2016-09-17", "count": 1 }, { "date": "2016-09-18", "count": 1 }, { "date": "2016-09-22", "count": 2 }, { "date": "2016-10-05", "count": 1 }, { "date": "2016-10-10", "count": 1 }, { "date": "2016-10-18", "count": 1 }, { "date": "2016-10-21", "count": 1 }, { "date": "2016-10-27", "count": 1 }, { "date": "2016-10-29", "count": 1 }, { "date": "2016-10-31", "count": 1 }, { "date": "2016-11-24", "count": 1 }, { "date": "2016-11-25", "count": 1 }, { "date": "2016-11-28", "count": 1 }, { "date": "2016-11-29", "count": 1 }, { "date": "2016-12-05", "count": 1 }, { "date": "2016-12-06", "count": 1 }, { "date": "2016-12-07", "count": 1 }, { "date": "2016-12-08", "count": 2 }, { "date": "2016-12-19", "count": 1 }, { "date": "2016-12-20", "count": 1 }, { "date": "2016-12-29", "count": 1 }, { "date": "2016-12-30", "count": 1 }, { "date": "2017-01-05", "count": 1 }, { "date": "2017-01-10", "count": 1 }, { "date": "2017-01-17", "count": 1 }, { "date": "2017-01-19", "count": 2 }, { "date": "2017-01-21", "count": 1 }, { "date": "2017-01-26", "count": 1 }, { "date": "2017-02-02", "count": 1 }, { "date": "2017-02-04", "count": 2 }, { "date": "2017-02-09", "count": 1 }, { "date": "2017-02-19", "count": 1 }, { "date": "2017-02-21", "count": 1 }, { "date": "2017-02-28", "count": 1 }, { "date": "2017-03-08", "count": 1 }, { "date": "2017-03-09", "count": 1 }, { "date": "2017-03-14", "count": 1 }, { "date": "2017-03-19", "count": 1 }, { "date": "2017-03-24", "count": 1 }, { "date": "2017-03-25", "count": 1 }, { "date": "2017-03-26", "count": 1 }, { "date": "2017-03-28", "count": 1 }, { "date": "2017-03-29", "count": 1 }, { "date": "2017-04-04", "count": 1 }, { "date": "2017-04-11", "count": 2 }, { "date": "2017-04-13", "count": 1 }, { "date": "2017-04-16", "count": 1 }, { "date": "2017-04-22", "count": 1 }, { "date": "2017-04-23", "count": 1 }, { "date": "2017-04-24", "count": 1 }, { "date": "2017-04-25", "count": 1 }, { "date": "2017-04-27", "count": 3 }, { "date": "2017-04-28", "count": 8 }, { "date": "2017-04-29", "count": 1 }, { "date": "2017-04-30", "count": 2 }, { "date": "2017-05-01", "count": 1 }, { "date": "2017-05-02", "count": 4 }, { "date": "2017-05-03", "count": 1 }, { "date": "2017-05-05", "count": 1 }, { "date": "2017-05-10", "count": 1 }, { "date": "2017-05-16", "count": 1 }, { "date": "2017-05-17", "count": 3 }, { "date": "2017-05-20", "count": 1 }, { "date": "2017-05-25", "count": 1 }, { "date": "2017-05-26", "count": 1 }, { "date": "2017-05-27", "count": 1 }, { "date": "2017-06-11", "count": 1 }, { "date": "2017-06-13", "count": 1 }, { "date": "2017-06-16", "count": 1 }, { "date": "2017-06-19", "count": 2 }, { "date": "2017-07-04", "count": 1 }, { "date": "2017-07-07", "count": 4 }, { "date": "2017-07-10", "count": 1 }, { "date": "2017-07-15", "count": 1 }, { "date": "2017-07-20", "count": 1 }, { "date": "2017-07-22", "count": 1 }, { "date": "2017-08-03", "count": 1 }, { "date": "2017-08-06", "count": 1 }, { "date": "2017-08-08", "count": 1 }, { "date": "2017-08-24", "count": 1 }, { "date": "2017-08-25", "count": 1 }, { "date": "2017-09-04", "count": 2 }, { "date": "2017-09-06", "count": 1 }, { "date": "2017-09-12", "count": 1 }, { "date": "2017-09-14", "count": 1 }, { "date": "2017-09-15", "count": 1 }, { "date": "2017-09-18", "count": 1 }, { "date": "2017-09-28", "count": 1 }, { "date": "2017-10-04", "count": 1 }, { "date": "2017-10-17", "count": 1 }, { "date": "2017-10-24", "count": 1 }, { "date": "2017-11-02", "count": 1 }, { "date": "2017-11-07", "count": 1 }, { "date": "2017-11-09", "count": 1 }, { "date": "2017-11-10", "count": 1 }, { "date": "2017-11-13", "count": 1 }, { "date": "2017-11-17", "count": 1 }, { "date": "2017-11-19", "count": 1 }, { "date": "2017-11-27", "count": 1 }, { "date": "2017-12-02", "count": 1 }, { "date": "2017-12-11", "count": 1 }, { "date": "2017-12-13", "count": 4 }, { "date": "2017-12-15", "count": 1 }, { "date": "2017-12-18", "count": 1 }, { "date": "2018-01-05", "count": 1 }, { "date": "2018-01-11", "count": 1 }, { "date": "2018-01-15", "count": 1 }, { "date": "2018-01-19", "count": 1 }, { "date": "2018-01-23", "count": 1 }, { "date": "2018-01-24", "count": 1 }, { "date": "2018-01-25", "count": 1 }, { "date": "2018-01-28", "count": 1 }, { "date": "2018-02-01", "count": 1 }, { "date": "2018-02-03", "count": 1 }, { "date": "2018-02-04", "count": 1 }, { "date": "2018-02-05", "count": 2 }, { "date": "2018-02-07", "count": 1 }, { "date": "2018-02-14", "count": 1 }, { "date": "2018-02-15", "count": 1 }, { "date": "2018-02-18", "count": 1 }, { "date": "2018-02-20", "count": 1 }, { "date": "2018-02-25", "count": 1 }, { "date": "2018-02-28", "count": 1 }, { "date": "2018-03-02", "count": 1 }, { "date": "2018-03-08", "count": 1 }, { "date": "2018-03-16", "count": 1 }, { "date": "2018-03-17", "count": 1 }, { "date": "2018-03-21", "count": 2 }, { "date": "2018-03-23", "count": 2 }, { "date": "2018-03-25", "count": 1 }, { "date": "2018-03-26", "count": 1 }, { "date": "2018-03-29", "count": 2 }, { "date": "2018-03-30", "count": 1 }, { "date": "2018-04-10", "count": 1 }, { "date": "2018-04-11", "count": 2 }, { "date": "2018-05-07", "count": 1 }, { "date": "2018-05-10", "count": 1 }, { "date": "2018-05-11", "count": 1 }, { "date": "2018-05-13", "count": 2 }, { "date": "2018-05-17", "count": 1 }, { "date": "2018-05-21", "count": 1 }, { "date": "2018-05-24", "count": 1 }, { "date": "2018-05-28", "count": 1 }, { "date": "2018-06-07", "count": 1 }, { "date": "2018-06-12", "count": 1 }, { "date": "2018-06-13", "count": 1 }, { "date": "2018-06-19", "count": 1 }, { "date": "2018-07-05", "count": 1 }, { "date": "2018-07-23", "count": 1 }, { "date": "2018-07-26", "count": 1 }, { "date": "2018-07-27", "count": 1 }, { "date": "2018-07-30", "count": 1 }, { "date": "2018-08-01", "count": 1 }, { "date": "2018-08-02", "count": 1 }, { "date": "2018-08-14", "count": 1 }, { "date": "2018-08-16", "count": 1 }, { "date": "2018-08-19", "count": 1 }, { "date": "2018-08-29", "count": 1 }, { "date": "2018-08-30", "count": 1 }, { "date": "2018-09-10", "count": 1 }, { "date": "2018-10-11", "count": 1 }, { "date": "2018-10-16", "count": 1 }, { "date": "2018-10-18", "count": 1 }, { "date": "2018-10-30", "count": 1 }, { "date": "2018-11-09", "count": 1 }, { "date": "2018-11-14", "count": 1 }, { "date": "2018-11-19", "count": 1 }, { "date": "2018-11-23", "count": 1 }, { "date": "2018-11-30", "count": 1 }, { "date": "2018-12-04", "count": 1 }, { "date": "2018-12-12", "count": 1 }, { "date": "2018-12-17", "count": 1 }, { "date": "2018-12-21", "count": 1 }, { "date": "2018-12-31", "count": 1 }, { "date": "2019-01-07", "count": 1 }, { "date": "2019-01-18", "count": 1 }, { "date": "2019-01-31", "count": 1 }, { "date": "2019-02-04", "count": 1 }, { "date": "2019-02-11", "count": 2 }, { "date": "2019-02-13", "count": 1 }, { "date": "2019-02-16", "count": 1 }, { "date": "2019-02-21", "count": 2 }, { "date": "2019-02-26", "count": 1 }, { "date": "2019-03-06", "count": 1 }, { "date": "2019-03-11", "count": 1 }, { "date": "2019-03-14", "count": 1 }, { "date": "2019-03-22", "count": 1 }, { "date": "2019-03-23", "count": 1 }, { "date": "2019-03-28", "count": 1 }, { "date": "2019-04-02", "count": 1 }, { "date": "2019-04-04", "count": 1 }, { "date": "2019-04-20", "count": 1 }, { "date": "2019-04-23", "count": 1 }, { "date": "2019-04-24", "count": 1 }, { "date": "2019-05-13", "count": 1 }, { "date": "2019-05-14", "count": 1 }, { "date": "2019-05-15", "count": 1 }, { "date": "2019-05-17", "count": 1 }, { "date": "2019-05-21", "count": 1 }, { "date": "2019-05-22", "count": 2 }, { "date": "2019-05-25", "count": 1 }, { "date": "2019-05-27", "count": 1 }, { "date": "2019-05-29", "count": 1 }, { "date": "2019-05-30", "count": 1 }, { "date": "2019-06-05", "count": 1 }, { "date": "2019-06-10", "count": 1 }, { "date": "2019-06-12", "count": 1 }, { "date": "2019-06-13", "count": 1 }, { "date": "2019-06-17", "count": 1 }, { "date": "2019-06-22", "count": 1 }, { "date": "2019-06-25", "count": 1 }, { "date": "2019-06-30", "count": 1 }, { "date": "2019-07-04", "count": 1 }, { "date": "2019-07-06", "count": 1 }, { "date": "2019-07-14", "count": 1 }, { "date": "2019-07-20", "count": 1 }, { "date": "2019-07-25", "count": 1 }, { "date": "2019-08-02", "count": 1 }, { "date": "2019-08-20", "count": 1 }, { "date": "2019-08-28", "count": 1 }, { "date": "2019-09-01", "count": 1 }, { "date": "2019-09-08", "count": 1 }, { "date": "2019-09-24", "count": 1 }, { "date": "2019-09-25", "count": 1 }, { "date": "2019-09-27", "count": 1 }, { "date": "2019-09-30", "count": 1 }, { "date": "2019-10-01", "count": 1 }, { "date": "2019-10-02", "count": 2 }, { "date": "2019-10-10", "count": 1 }, { "date": "2019-10-14", "count": 1 }, { "date": "2019-10-17", "count": 2 }, { "date": "2019-10-28", "count": 1 }, { "date": "2019-10-30", "count": 3 }, { "date": "2019-10-31", "count": 1 }, { "date": "2019-11-08", "count": 1 }, { "date": "2019-11-22", "count": 1 }, { "date": "2019-11-29", "count": 1 }, { "date": "2019-12-03", "count": 1 }, { "date": "2019-12-16", "count": 1 }, { "date": "2019-12-19", "count": 1 }, { "date": "2019-12-23", "count": 2 }, { "date": "2019-12-27", "count": 2 }, { "date": "2020-01-08", "count": 1 }, { "date": "2020-01-10", "count": 1 }, { "date": "2020-01-22", "count": 1 }, { "date": "2020-01-27", "count": 1 }, { "date": "2020-01-30", "count": 1 }, { "date": "2020-02-04", "count": 1 }, { "date": "2020-02-06", "count": 1 }, { "date": "2020-02-10", "count": 1 }, { "date": "2020-02-12", "count": 1 }, { "date": "2020-02-15", "count": 1 }, { "date": "2020-02-22", "count": 1 }, { "date": "2020-02-29", "count": 1 }, { "date": "2020-03-05", "count": 1 }, { "date": "2020-03-14", "count": 1 }, { "date": "2020-05-01", "count": 1 }, { "date": "2020-05-18", "count": 2 }, { "date": "2020-05-23", "count": 1 }, { "date": "2020-05-25", "count": 1 }, { "date": "2020-05-30", "count": 1 }, { "date": "2020-06-03", "count": 1 }, { "date": "2020-06-04", "count": 1 }, { "date": "2020-06-14", "count": 1 }, { "date": "2020-06-16", "count": 1 }, { "date": "2020-06-18", "count": 1 }, { "date": "2020-06-23", "count": 1 }, { "date": "2020-06-25", "count": 1 }, { "date": "2020-07-01", "count": 1 }, { "date": "2020-07-09", "count": 1 }, { "date": "2020-07-14", "count": 1 }, { "date": "2020-07-31", "count": 1 }, { "date": "2020-08-03", "count": 1 }, { "date": "2020-08-04", "count": 1 }, { "date": "2020-08-19", "count": 1 }, { "date": "2020-09-11", "count": 1 }, { "date": "2020-09-23", "count": 1 }, { "date": "2020-09-30", "count": 1 }, { "date": "2020-11-02", "count": 1 }, { "date": "2020-11-26", "count": 1 }, { "date": "2020-12-09", "count": 1 }, { "date": "2020-12-18", "count": 1 }, { "date": "2020-12-27", "count": 1 }, { "date": "2021-01-04", "count": 1 }, { "date": "2021-01-05", "count": 1 }, { "date": "2021-01-07", "count": 1 }, { "date": "2021-01-08", "count": 1 }, { "date": "2021-01-18", "count": 1 }, { "date": "2021-01-20", "count": 1 }, { "date": "2021-01-28", "count": 1 }, { "date": "2021-01-31", "count": 1 }, { "date": "2021-03-04", "count": 1 }, { "date": "2021-03-09", "count": 1 }, { "date": "2021-03-24", "count": 1 }, { "date": "2021-04-01", "count": 1 }, { "date": "2021-04-13", "count": 2 }, { "date": "2021-04-16", "count": 1 }, { "date": "2021-05-20", "count": 1 }, { "date": "2021-05-21", "count": 1 }, { "date": "2021-05-29", "count": 1 }, { "date": "2021-06-05", "count": 1 }, { "date": "2021-06-17", "count": 2 }, { "date": "2021-07-08", "count": 1 }, { "date": "2021-07-11", "count": 1 }, { "date": "2021-08-02", "count": 1 }, { "date": "2021-08-04", "count": 1 }, { "date": "2021-09-08", "count": 1 }, { "date": "2021-09-14", "count": 1 }, { "date": "2021-09-20", "count": 1 }, { "date": "2021-10-22", "count": 2 }, { "date": "2021-11-02", "count": 1 }, { "date": "2021-11-11", "count": 1 }, { "date": "2021-11-29", "count": 1 }, { "date": "2021-12-02", "count": 1 }, { "date": "2022-01-14", "count": 1 }, { "date": "2022-02-02", "count": 1 }, { "date": "2022-02-06", "count": 1 }, { "date": "2022-02-19", "count": 1 }, { "date": "2022-02-22", "count": 2 }, { "date": "2022-03-04", "count": 1 }, { "date": "2022-03-11", "count": 1 }, { "date": "2022-03-16", "count": 1 }, { "date": "2022-04-11", "count": 1 }, { "date": "2022-04-13", "count": 1 }, { "date": "2022-04-17", "count": 1 }, { "date": "2022-04-27", "count": 1 }, { "date": "2022-05-02", "count": 1 }, { "date": "2022-05-10", "count": 1 }, { "date": "2022-06-09", "count": 1 }, { "date": "2022-06-14", "count": 1 }, { "date": "2022-06-27", "count": 1 }, { "date": "2022-07-08", "count": 1 }, { "date": "2022-07-12", "count": 1 }, { "date": "2022-07-16", "count": 1 }, { "date": "2022-08-21", "count": 1 }, { "date": "2022-08-30", "count": 2 }, { "date": "2022-09-01", "count": 1 }, { "date": "2022-09-19", "count": 1 }, { "date": "2022-09-23", "count": 1 }, { "date": "2022-09-27", "count": 1 }, { "date": "2022-10-13", "count": 1 }, { "date": "2022-10-20", "count": 2 }, { "date": "2022-11-18", "count": 1 }, { "date": "2022-11-23", "count": 1 }, { "date": "2022-11-30", "count": 1 }, { "date": "2023-01-17", "count": 2 }, { "date": "2023-02-08", "count": 1 }, { "date": "2023-02-12", "count": 2 }, { "date": "2023-02-20", "count": 1 }, { "date": "2023-03-01", "count": 1 }, { "date": "2023-03-03", "count": 1 }, { "date": "2023-03-09", "count": 1 }, { "date": "2023-03-29", "count": 1 }, { "date": "2023-04-03", "count": 1 }, { "date": "2023-04-05", "count": 1 }, { "date": "2023-04-26", "count": 1 }, { "date": "2023-05-07", "count": 1 }, { "date": "2023-07-24", "count": 1 }, { "date": "2023-08-04", "count": 1 }, { "date": "2023-08-08", "count": 1 }, { "date": "2023-09-15", "count": 1 }, { "date": "2023-10-16", "count": 1 }, { "date": "2023-11-08", "count": 1 }, { "date": "2023-11-17", "count": 1 }, { "date": "2023-11-30", "count": 1 }, { "date": "2023-12-09", "count": 2 }, { "date": "2023-12-11", "count": 1 }, { "date": "2024-01-26", "count": 1 }, { "date": "2024-01-27", "count": 1 }, { "date": "2024-02-04", "count": 1 }, { "date": "2024-02-14", "count": 1 }, { "date": "2024-02-19", "count": 1 }, { "date": "2024-03-05", "count": 2 }, { "date": "2024-03-07", "count": 1 }, { "date": "2024-04-11", "count": 1 }, { "date": "2024-05-09", "count": 1 }, { "date": "2024-06-06", "count": 1 }, { "date": "2024-06-12", "count": 1 }, { "date": "2024-07-18", "count": 1 }, { "date": "2024-08-22", "count": 1 }, { "date": "2024-09-29", "count": 1 }, { "date": "2024-10-09", "count": 1 }, { "date": "2024-10-23", "count": 1 }, { "date": "2024-11-11", "count": 1 }, { "date": "2025-01-23", "count": 1 }, { "date": "2025-02-15", "count": 1 }, { "date": "2025-03-06", "count": 1 }, { "date": "2025-04-07", "count": 1 }, { "date": "2025-05-14", "count": 1 }, { "date": "2025-07-02", "count": 1 }, { "date": "2025-09-04", "count": 1 }, { "date": "2025-09-09", "count": 1 }, { "date": "2025-10-29", "count": 1 }, { "date": "2025-11-07", "count": 1 }, { "date": "2025-11-27", "count": 1 }, { "date": "2025-12-04", "count": 1 }, { "date": "2026-02-07", "count": 1 }, { "date": "2026-03-29", "count": 1 }, { "date": "2026-04-16", "count": 1 }, { "date": "2026-06-28", "count": 1 }, { "date": "2026-07-19", "count": 3 } ], "complete": false, "collected": 1000, "total_forks": 1298 }, "star_history": { "days": [ { "date": "2020-05-27", "count": 3 }, { "date": "2020-05-28", "count": 1 }, { "date": "2020-05-29", "count": 1 }, { "date": "2020-05-30", "count": 2 }, { "date": "2020-06-01", "count": 2 }, { "date": "2020-06-02", "count": 2 }, { "date": "2020-06-03", "count": 2 }, { "date": "2020-06-04", "count": 3 }, { "date": "2020-06-09", "count": 2 }, { "date": "2020-06-10", "count": 1 }, { "date": "2020-06-16", "count": 1 }, { "date": "2020-06-20", "count": 1 }, { "date": "2020-06-23", "count": 2 }, { "date": "2020-06-24", "count": 4 }, { "date": "2020-06-25", "count": 2 }, { "date": "2020-06-30", "count": 1 }, { "date": "2020-07-01", "count": 1 }, { "date": "2020-07-02", "count": 1 }, { "date": "2020-07-04", "count": 1 }, { "date": "2020-07-05", "count": 1 }, { "date": "2020-07-08", "count": 3 }, { "date": "2020-07-10", "count": 3 }, { "date": "2020-07-11", "count": 1 }, { "date": "2020-07-12", "count": 1 }, { "date": "2020-07-16", "count": 2 }, { "date": "2020-07-17", "count": 2 }, { "date": "2020-07-18", "count": 1 }, { "date": "2020-07-21", "count": 1 }, { "date": "2020-07-22", "count": 1 }, { "date": "2020-07-23", "count": 3 }, { "date": "2020-07-24", "count": 4 }, { "date": "2020-07-27", "count": 1 }, { "date": "2020-07-29", "count": 1 }, { "date": "2020-07-30", "count": 1 }, { "date": "2020-08-02", "count": 1 }, { "date": "2020-08-04", "count": 3 }, { "date": "2020-08-05", "count": 3 }, { "date": "2020-08-09", "count": 2 }, { "date": "2020-08-10", "count": 3 }, { "date": "2020-08-11", "count": 2 }, { "date": "2020-08-12", "count": 1 }, { "date": "2020-08-13", "count": 2 }, { "date": "2020-08-14", "count": 3 }, { "date": "2020-08-17", "count": 2 }, { "date": "2020-08-18", "count": 1 }, { "date": "2020-08-27", "count": 2 }, { "date": "2020-08-28", "count": 1 }, { "date": "2020-09-02", "count": 1 }, { "date": "2020-09-03", "count": 1 }, { "date": "2020-09-04", "count": 1 }, { "date": "2020-09-06", "count": 1 }, { "date": "2020-09-07", "count": 2 }, { "date": "2020-09-09", "count": 1 }, { "date": "2020-09-10", "count": 1 }, { "date": "2020-09-17", "count": 1 }, { "date": "2020-09-18", "count": 1 }, { "date": "2020-09-20", "count": 1 }, { "date": "2020-09-23", "count": 1 }, { "date": "2020-09-24", "count": 1 }, { "date": "2020-09-25", "count": 1 }, { "date": "2020-09-28", "count": 1 }, { "date": "2020-10-01", "count": 2 }, { "date": "2020-10-02", "count": 1 }, { "date": "2020-10-07", "count": 1 }, { "date": "2020-10-08", "count": 1 }, { "date": "2020-10-12", "count": 1 }, { "date": "2020-10-13", "count": 1 }, { "date": "2020-10-14", "count": 1 }, { "date": "2020-10-16", "count": 1 }, { "date": "2020-10-18", "count": 1 }, { "date": "2020-10-19", "count": 2 }, { "date": "2020-10-20", "count": 3 }, { "date": "2020-10-22", "count": 2 }, { "date": "2020-10-23", "count": 1 }, { "date": "2020-10-28", "count": 1 }, { "date": "2020-10-30", "count": 2 }, { "date": "2020-11-01", "count": 1 }, { "date": "2020-11-05", "count": 1 }, { "date": "2020-11-06", "count": 1 }, { "date": "2020-11-09", "count": 1 }, { "date": "2020-11-10", "count": 2 }, { "date": "2020-11-11", "count": 2 }, { "date": "2020-11-13", "count": 1 }, { "date": "2020-11-15", "count": 1 }, { "date": "2020-11-16", "count": 1 }, { "date": "2020-11-17", "count": 2 }, { "date": "2020-11-18", "count": 1 }, { "date": "2020-11-19", "count": 1 }, { "date": "2020-11-26", "count": 1 }, { "date": "2020-11-27", "count": 1 }, { "date": "2020-11-28", "count": 2 }, { "date": "2020-11-29", "count": 1 }, { "date": "2020-12-02", "count": 2 }, { "date": "2020-12-03", "count": 1 }, { "date": "2020-12-04", "count": 1 }, { "date": "2020-12-07", "count": 2 }, { "date": "2020-12-10", "count": 1 }, { "date": "2020-12-11", "count": 1 }, { "date": "2020-12-14", "count": 2 }, { "date": "2020-12-15", "count": 1 }, { "date": "2020-12-19", "count": 1 }, { "date": "2020-12-23", "count": 3 }, { "date": "2020-12-30", "count": 1 }, { "date": "2020-12-31", "count": 1 }, { "date": "2021-01-04", "count": 1 }, { "date": "2021-01-08", "count": 1 }, { "date": "2021-01-10", "count": 1 }, { "date": "2021-01-12", "count": 1 }, { "date": "2021-01-13", "count": 1 }, { "date": "2021-01-15", "count": 3 }, { "date": "2021-01-16", "count": 1 }, { "date": "2021-01-18", "count": 2 }, { "date": "2021-01-19", "count": 1 }, { "date": "2021-01-21", "count": 1 }, { "date": "2021-01-22", "count": 2 }, { "date": "2021-01-23", "count": 1 }, { "date": "2021-01-24", "count": 1 }, { "date": "2021-01-25", "count": 1 }, { "date": "2021-01-26", "count": 1 }, { "date": "2021-01-27", "count": 1 }, { "date": "2021-01-28", "count": 2 }, { "date": "2021-01-31", "count": 2 }, { "date": "2021-02-01", "count": 2 }, { "date": "2021-02-03", "count": 2 }, { "date": "2021-02-05", "count": 1 }, { "date": "2021-02-07", "count": 1 }, { "date": "2021-02-09", "count": 2 }, { "date": "2021-02-11", "count": 3 }, { "date": "2021-02-12", "count": 2 }, { "date": "2021-02-13", "count": 3 }, { "date": "2021-02-14", "count": 4 }, { "date": "2021-02-15", "count": 2 }, { "date": "2021-02-16", "count": 1 }, { "date": "2021-02-18", "count": 2 }, { "date": "2021-02-20", "count": 1 }, { "date": "2021-02-21", "count": 2 }, { "date": "2021-02-22", "count": 1 }, { "date": "2021-02-24", "count": 2 }, { "date": "2021-02-27", "count": 2 }, { "date": "2021-03-01", "count": 1 }, { "date": "2021-03-02", "count": 2 }, { "date": "2021-03-03", "count": 2 }, { "date": "2021-03-05", "count": 3 }, { "date": "2021-03-06", "count": 1 }, { "date": "2021-03-08", "count": 3 }, { "date": "2021-03-11", "count": 1 }, { "date": "2021-03-14", "count": 1 }, { "date": "2021-03-15", "count": 3 }, { "date": "2021-03-16", "count": 1 }, { "date": "2021-03-17", "count": 3 }, { "date": "2021-03-21", "count": 1 }, { "date": "2021-03-23", "count": 2 }, { "date": "2021-03-24", "count": 2 }, { "date": "2021-03-25", "count": 1 }, { "date": "2021-03-26", "count": 1 }, { "date": "2021-04-01", "count": 1 }, { "date": "2021-04-08", "count": 2 }, { "date": "2021-04-11", "count": 1 }, { "date": "2021-04-13", "count": 1 }, { "date": "2021-04-15", "count": 1 }, { "date": "2021-04-16", "count": 1 }, { "date": "2021-04-17", "count": 1 }, { "date": "2021-04-20", "count": 2 }, { "date": "2021-04-21", "count": 2 }, { "date": "2021-05-04", "count": 1 }, { "date": "2021-05-05", "count": 1 }, { "date": "2021-05-06", "count": 2 }, { "date": "2021-05-09", "count": 1 }, { "date": "2021-05-10", "count": 2 }, { "date": "2021-05-16", "count": 1 }, { "date": "2021-05-17", "count": 1 }, { "date": "2021-05-20", "count": 2 }, { "date": "2021-05-24", "count": 1 }, { "date": "2021-05-27", "count": 1 }, { "date": "2021-05-31", "count": 1 }, { "date": "2021-06-01", "count": 2 }, { "date": "2021-06-05", "count": 2 }, { "date": "2021-06-09", "count": 3 }, { "date": "2021-06-14", "count": 1 }, { "date": "2021-06-15", "count": 1 }, { "date": "2021-06-17", "count": 2 }, { "date": "2021-06-19", "count": 1 }, { "date": "2021-06-21", "count": 1 }, { "date": "2021-06-22", "count": 1 }, { "date": "2021-06-25", "count": 1 }, { "date": "2021-06-27", "count": 1 }, { "date": "2021-06-29", "count": 3 }, { "date": "2021-07-03", "count": 2 }, { "date": "2021-07-06", "count": 1 }, { "date": "2021-07-07", "count": 1 }, { "date": "2021-07-13", "count": 2 }, { "date": "2021-07-14", "count": 1 }, { "date": "2021-07-18", "count": 1 }, { "date": "2021-07-19", "count": 1 }, { "date": "2021-07-21", "count": 1 }, { "date": "2021-07-23", "count": 1 }, { "date": "2021-07-24", "count": 1 }, { "date": "2021-07-26", "count": 1 }, { "date": "2021-07-27", "count": 1 }, { "date": "2021-07-30", "count": 1 }, { "date": "2021-08-03", "count": 1 }, { "date": "2021-08-06", "count": 2 }, { "date": "2021-08-10", "count": 1 }, { "date": "2021-08-11", "count": 4 }, { "date": "2021-08-13", "count": 1 }, { "date": "2021-08-18", "count": 2 }, { "date": "2021-08-19", "count": 1 }, { "date": "2021-08-22", "count": 2 }, { "date": "2021-08-27", "count": 1 }, { "date": "2021-08-29", "count": 2 }, { "date": "2021-09-06", "count": 1 }, { "date": "2021-09-08", "count": 1 }, { "date": "2021-09-16", "count": 1 }, { "date": "2021-09-24", "count": 1 }, { "date": "2021-09-28", "count": 1 }, { "date": "2021-09-29", "count": 1 }, { "date": "2021-10-01", "count": 1 }, { "date": "2021-10-03", "count": 1 }, { "date": "2021-10-05", "count": 1 }, { "date": "2021-10-06", "count": 2 }, { "date": "2021-10-07", "count": 1 }, { "date": "2021-10-09", "count": 1 }, { "date": "2021-10-10", "count": 1 }, { "date": "2021-10-15", "count": 1 }, { "date": "2021-10-18", "count": 2 }, { "date": "2021-10-19", "count": 2 }, { "date": "2021-10-23", "count": 1 }, { "date": "2021-10-25", "count": 1 }, { "date": "2021-10-26", "count": 2 }, { "date": "2021-10-30", "count": 1 }, { "date": "2021-11-02", "count": 2 }, { "date": "2021-11-04", "count": 1 }, { "date": "2021-11-05", "count": 1 }, { "date": "2021-11-07", "count": 1 }, { "date": "2021-11-09", "count": 2 }, { "date": "2021-11-11", "count": 2 }, { "date": "2021-11-15", "count": 1 }, { "date": "2021-11-21", "count": 1 }, { "date": "2021-11-22", "count": 1 }, { "date": "2021-11-25", "count": 1 }, { "date": "2021-11-26", "count": 1 }, { "date": "2021-12-02", "count": 1 }, { "date": "2021-12-03", "count": 1 }, { "date": "2021-12-06", "count": 1 }, { "date": "2021-12-07", "count": 1 }, { "date": "2021-12-09", "count": 1 }, { "date": "2021-12-10", "count": 1 }, { "date": "2021-12-15", "count": 1 }, { "date": "2021-12-16", "count": 1 }, { "date": "2021-12-17", "count": 1 }, { "date": "2021-12-20", "count": 1 }, { "date": "2021-12-21", "count": 2 }, { "date": "2021-12-27", "count": 1 }, { "date": "2021-12-29", "count": 1 }, { "date": "2022-01-03", "count": 2 }, { "date": "2022-01-06", "count": 1 }, { "date": "2022-01-07", "count": 1 }, { "date": "2022-01-10", "count": 1 }, { "date": "2022-01-12", "count": 2 }, { "date": "2022-01-13", "count": 1 }, { "date": "2022-01-15", "count": 1 }, { "date": "2022-01-17", "count": 2 }, { "date": "2022-01-18", "count": 2 }, { "date": "2022-01-20", "count": 2 }, { "date": "2022-01-21", "count": 2 }, { "date": "2022-01-22", "count": 2 }, { "date": "2022-01-24", "count": 1 }, { "date": "2022-01-29", "count": 1 }, { "date": "2022-02-01", "count": 1 }, { "date": "2022-02-04", "count": 1 }, { "date": "2022-02-05", "count": 1 }, { "date": "2022-02-06", "count": 2 }, { "date": "2022-02-07", "count": 1 }, { "date": "2022-02-08", "count": 2 }, { "date": "2022-02-09", "count": 1 }, { "date": "2022-02-11", "count": 2 }, { "date": "2022-02-12", "count": 1 }, { "date": "2022-02-13", "count": 2 }, { "date": "2022-02-15", "count": 1 }, { "date": "2022-02-16", "count": 1 }, { "date": "2022-02-17", "count": 4 }, { "date": "2022-02-18", "count": 1 }, { "date": "2022-02-23", "count": 1 }, { "date": "2022-02-25", "count": 2 }, { "date": "2022-02-26", "count": 1 }, { "date": "2022-02-28", "count": 1 }, { "date": "2022-03-01", "count": 1 }, { "date": "2022-03-02", "count": 1 }, { "date": "2022-03-05", "count": 1 }, { "date": "2022-03-07", "count": 1 }, { "date": "2022-03-08", "count": 2 }, { "date": "2022-03-09", "count": 4 }, { "date": "2022-03-13", "count": 1 }, { "date": "2022-03-14", "count": 1 }, { "date": "2022-03-15", "count": 1 }, { "date": "2022-03-18", "count": 1 }, { "date": "2022-03-20", "count": 1 }, { "date": "2022-03-22", "count": 1 }, { "date": "2022-03-25", "count": 1 }, { "date": "2022-03-26", "count": 2 }, { "date": "2022-03-27", "count": 1 }, { "date": "2022-03-28", "count": 1 }, { "date": "2022-03-29", "count": 1 }, { "date": "2022-03-30", "count": 1 }, { "date": "2022-03-31", "count": 1 }, { "date": "2022-04-01", "count": 1 }, { "date": "2022-04-02", "count": 1 }, { "date": "2022-04-04", "count": 1 }, { "date": "2022-04-06", "count": 1 }, { "date": "2022-04-07", "count": 1 }, { "date": "2022-04-08", "count": 1 }, { "date": "2022-04-09", "count": 1 }, { "date": "2022-04-10", "count": 1 }, { "date": "2022-04-12", "count": 2 }, { "date": "2022-04-14", "count": 3 }, { "date": "2022-04-16", "count": 1 }, { "date": "2022-04-18", "count": 2 }, { "date": "2022-04-19", "count": 1 }, { "date": "2022-04-22", "count": 1 }, { "date": "2022-04-25", "count": 1 }, { "date": "2022-04-27", "count": 1 }, { "date": "2022-04-28", "count": 2 }, { "date": "2022-04-29", "count": 1 }, { "date": "2022-05-01", "count": 1 }, { "date": "2022-05-04", "count": 1 }, { "date": "2022-05-05", "count": 2 }, { "date": "2022-05-07", "count": 1 }, { "date": "2022-05-09", "count": 1 }, { "date": "2022-05-13", "count": 1 }, { "date": "2022-05-14", "count": 1 }, { "date": "2022-05-18", "count": 2 }, { "date": "2022-05-21", "count": 1 }, { "date": "2022-05-23", "count": 2 }, { "date": "2022-05-24", "count": 3 }, { "date": "2022-05-25", "count": 3 }, { "date": "2022-05-27", "count": 2 }, { "date": "2022-05-29", "count": 1 }, { "date": "2022-05-31", "count": 1 }, { "date": "2022-06-01", "count": 2 }, { "date": "2022-06-04", "count": 1 }, { "date": "2022-06-06", "count": 2 }, { "date": "2022-06-09", "count": 1 }, { "date": "2022-06-10", "count": 2 }, { "date": "2022-06-13", "count": 1 }, { "date": "2022-06-15", "count": 1 }, { "date": "2022-06-16", "count": 1 }, { "date": "2022-06-20", "count": 1 }, { "date": "2022-06-21", "count": 2 }, { "date": "2022-06-22", "count": 1 }, { "date": "2022-06-24", "count": 1 }, { "date": "2022-06-25", "count": 1 }, { "date": "2022-06-27", "count": 1 }, { "date": "2022-06-29", "count": 2 }, { "date": "2022-07-05", "count": 1 }, { "date": "2022-07-06", "count": 1 }, { "date": "2022-07-08", "count": 1 }, { "date": "2022-07-10", "count": 1 }, { "date": "2022-07-11", "count": 1 }, { "date": "2022-07-15", "count": 2 }, { "date": "2022-07-16", "count": 1 }, { "date": "2022-07-22", "count": 2 }, { "date": "2022-07-25", "count": 1 }, { "date": "2022-07-26", "count": 1 }, { "date": "2022-07-28", "count": 1 }, { "date": "2022-07-31", "count": 1 }, { "date": "2022-08-03", "count": 1 }, { "date": "2022-08-04", "count": 1 }, { "date": "2022-08-11", "count": 1 }, { "date": "2022-08-12", "count": 1 }, { "date": "2022-08-19", "count": 1 }, { "date": "2022-08-22", "count": 3 }, { "date": "2022-08-23", "count": 1 }, { "date": "2022-08-26", "count": 2 }, { "date": "2022-08-27", "count": 2 }, { "date": "2022-08-30", "count": 2 }, { "date": "2022-08-31", "count": 1 }, { "date": "2022-09-02", "count": 1 }, { "date": "2022-09-04", "count": 2 }, { "date": "2022-09-08", "count": 1 }, { "date": "2022-09-12", "count": 2 }, { "date": "2022-09-13", "count": 1 }, { "date": "2022-09-16", "count": 1 }, { "date": "2022-09-19", "count": 1 }, { "date": "2022-09-25", "count": 1 }, { "date": "2022-09-28", "count": 1 }, { "date": "2022-09-29", "count": 2 }, { "date": "2022-09-30", "count": 1 }, { "date": "2022-10-05", "count": 1 }, { "date": "2022-10-08", "count": 1 }, { "date": "2022-10-09", "count": 1 }, { "date": "2022-10-10", "count": 2 }, { "date": "2022-10-11", "count": 2 }, { "date": "2022-10-12", "count": 1 }, { "date": "2022-10-13", "count": 1 }, { "date": "2022-10-15", "count": 1 }, { "date": "2022-10-18", "count": 1 }, { "date": "2022-10-19", "count": 1 }, { "date": "2022-10-20", "count": 3 }, { "date": "2022-10-21", "count": 1 }, { "date": "2022-10-22", "count": 1 }, { "date": "2022-10-23", "count": 1 }, { "date": "2022-10-26", "count": 1 }, { "date": "2022-10-29", "count": 1 }, { "date": "2022-11-02", "count": 2 }, { "date": "2022-11-04", "count": 1 }, { "date": "2022-11-06", "count": 1 }, { "date": "2022-11-12", "count": 1 }, { "date": "2022-11-14", "count": 1 }, { "date": "2022-11-16", "count": 1 }, { "date": "2022-11-17", "count": 4 }, { "date": "2022-11-18", "count": 1 }, { "date": "2022-11-21", "count": 1 }, { "date": "2022-11-22", "count": 1 }, { "date": "2022-11-25", "count": 2 }, { "date": "2022-11-26", "count": 1 }, { "date": "2022-11-28", "count": 1 }, { "date": "2022-11-29", "count": 1 }, { "date": "2022-12-03", "count": 1 }, { "date": "2022-12-05", "count": 1 }, { "date": "2022-12-12", "count": 1 }, { "date": "2022-12-13", "count": 1 }, { "date": "2022-12-15", "count": 1 }, { "date": "2022-12-16", "count": 1 }, { "date": "2022-12-19", "count": 1 }, { "date": "2022-12-20", "count": 1 }, { "date": "2022-12-24", "count": 1 }, { "date": "2022-12-30", "count": 2 }, { "date": "2023-01-04", "count": 1 }, { "date": "2023-01-05", "count": 1 }, { "date": "2023-01-15", "count": 1 }, { "date": "2023-01-17", "count": 1 }, { "date": "2023-01-21", "count": 2 }, { "date": "2023-01-23", "count": 1 }, { "date": "2023-01-24", "count": 1 }, { "date": "2023-01-25", "count": 1 }, { "date": "2023-01-26", "count": 1 }, { "date": "2023-01-30", "count": 3 }, { "date": "2023-02-02", "count": 1 }, { "date": "2023-02-03", "count": 1 }, { "date": "2023-02-04", "count": 2 }, { "date": "2023-02-06", "count": 2 }, { "date": "2023-02-07", "count": 3 }, { "date": "2023-02-09", "count": 1 }, { "date": "2023-02-13", "count": 2 }, { "date": "2023-02-15", "count": 1 }, { "date": "2023-02-18", "count": 1 }, { "date": "2023-02-20", "count": 1 }, { "date": "2023-02-21", "count": 1 }, { "date": "2023-02-24", "count": 2 }, { "date": "2023-02-25", "count": 1 }, { "date": "2023-02-27", "count": 1 }, { "date": "2023-02-28", "count": 1 }, { "date": "2023-03-02", "count": 1 }, { "date": "2023-03-03", "count": 1 }, { "date": "2023-03-04", "count": 2 }, { "date": "2023-03-10", "count": 1 }, { "date": "2023-03-11", "count": 1 }, { "date": "2023-03-13", "count": 2 }, { "date": "2023-03-16", "count": 1 }, { "date": "2023-03-21", "count": 1 }, { "date": "2023-03-22", "count": 1 }, { "date": "2023-03-23", "count": 2 }, { "date": "2023-03-24", "count": 1 }, { "date": "2023-03-29", "count": 1 }, { "date": "2023-03-30", "count": 2 }, { "date": "2023-04-02", "count": 1 }, { "date": "2023-04-03", "count": 1 }, { "date": "2023-04-04", "count": 1 }, { "date": "2023-04-07", "count": 1 }, { "date": "2023-04-16", "count": 1 }, { "date": "2023-04-20", "count": 2 }, { "date": "2023-04-23", "count": 1 }, { "date": "2023-04-29", "count": 1 }, { "date": "2023-05-01", "count": 1 }, { "date": "2023-05-04", "count": 1 }, { "date": "2023-05-09", "count": 1 }, { "date": "2023-05-10", "count": 1 }, { "date": "2023-05-11", "count": 2 }, { "date": "2023-05-16", "count": 1 }, { "date": "2023-05-19", "count": 1 }, { "date": "2023-05-23", "count": 1 }, { "date": "2023-05-24", "count": 1 }, { "date": "2023-05-26", "count": 1 }, { "date": "2023-05-27", "count": 2 }, { "date": "2023-06-01", "count": 1 }, { "date": "2023-06-03", "count": 1 }, { "date": "2023-06-04", "count": 2 }, { "date": "2023-06-07", "count": 2 }, { "date": "2023-06-08", "count": 1 }, { "date": "2023-06-09", "count": 2 }, { "date": "2023-06-15", "count": 1 }, { "date": "2023-06-17", "count": 1 }, { "date": "2023-06-22", "count": 1 }, { "date": "2023-06-23", "count": 1 }, { "date": "2023-06-26", "count": 1 }, { "date": "2023-06-27", "count": 1 }, { "date": "2023-06-30", "count": 2 }, { "date": "2023-07-03", "count": 1 }, { "date": "2023-07-06", "count": 1 }, { "date": "2023-07-13", "count": 1 }, { "date": "2023-07-14", "count": 1 }, { "date": "2023-07-17", "count": 1 }, { "date": "2023-07-20", "count": 1 }, { "date": "2023-07-23", "count": 2 }, { "date": "2023-07-26", "count": 1 }, { "date": "2023-07-27", "count": 1 }, { "date": "2023-07-28", "count": 1 }, { "date": "2023-08-02", "count": 1 }, { "date": "2023-08-03", "count": 1 }, { "date": "2023-08-10", "count": 2 }, { "date": "2023-08-15", "count": 1 }, { "date": "2023-08-22", "count": 1 }, { "date": "2023-08-23", "count": 1 }, { "date": "2023-08-24", "count": 1 }, { "date": "2023-08-25", "count": 1 }, { "date": "2023-09-01", "count": 1 }, { "date": "2023-09-02", "count": 1 }, { "date": "2023-09-05", "count": 2 }, { "date": "2023-09-06", "count": 1 }, { "date": "2023-09-07", "count": 1 }, { "date": "2023-09-13", "count": 1 }, { "date": "2023-09-15", "count": 1 }, { "date": "2023-09-21", "count": 1 }, { "date": "2023-09-22", "count": 2 }, { "date": "2023-09-23", "count": 2 }, { "date": "2023-09-24", "count": 1 }, { "date": "2023-10-01", "count": 1 }, { "date": "2023-10-02", "count": 1 }, { "date": "2023-10-07", "count": 2 }, { "date": "2023-10-11", "count": 1 }, { "date": "2023-10-12", "count": 1 }, { "date": "2023-10-14", "count": 1 }, { "date": "2023-10-17", "count": 1 }, { "date": "2023-10-18", "count": 1 }, { "date": "2023-10-19", "count": 4 }, { "date": "2023-10-22", "count": 1 }, { "date": "2023-10-24", "count": 1 }, { "date": "2023-10-25", "count": 1 }, { "date": "2023-10-26", "count": 3 }, { "date": "2023-10-29", "count": 2 }, { "date": "2023-10-31", "count": 1 }, { "date": "2023-11-01", "count": 1 }, { "date": "2023-11-06", "count": 2 }, { "date": "2023-11-07", "count": 1 }, { "date": "2023-11-09", "count": 1 }, { "date": "2023-11-11", "count": 1 }, { "date": "2023-11-13", "count": 1 }, { "date": "2023-11-14", "count": 1 }, { "date": "2023-11-15", "count": 1 }, { "date": "2023-11-20", "count": 1 }, { "date": "2023-11-22", "count": 3 }, { "date": "2023-11-23", "count": 1 }, { "date": "2023-11-24", "count": 1 }, { "date": "2023-11-27", "count": 2 }, { "date": "2023-11-28", "count": 1 }, { "date": "2023-12-01", "count": 1 }, { "date": "2023-12-04", "count": 1 }, { "date": "2023-12-05", "count": 1 }, { "date": "2023-12-06", "count": 2 }, { "date": "2023-12-07", "count": 1 }, { "date": "2023-12-08", "count": 1 }, { "date": "2023-12-13", "count": 1 }, { "date": "2023-12-14", "count": 1 }, { "date": "2023-12-17", "count": 1 }, { "date": "2023-12-19", "count": 1 }, { "date": "2023-12-23", "count": 1 }, { "date": "2023-12-27", "count": 1 }, { "date": "2023-12-28", "count": 1 }, { "date": "2024-01-06", "count": 1 }, { "date": "2024-01-15", "count": 1 }, { "date": "2024-01-17", "count": 2 }, { "date": "2024-01-19", "count": 1 }, { "date": "2024-01-22", "count": 1 }, { "date": "2024-01-23", "count": 1 }, { "date": "2024-01-25", "count": 1 }, { "date": "2024-02-04", "count": 1 }, { "date": "2024-02-05", "count": 1 }, { "date": "2024-02-07", "count": 2 }, { "date": "2024-02-09", "count": 1 }, { "date": "2024-02-14", "count": 1 }, { "date": "2024-02-15", "count": 1 }, { "date": "2024-02-20", "count": 1 }, { "date": "2024-02-21", "count": 2 }, { "date": "2024-02-27", "count": 1 }, { "date": "2024-02-28", "count": 1 }, { "date": "2024-03-03", "count": 1 }, { "date": "2024-03-11", "count": 2 }, { "date": "2024-03-13", "count": 1 }, { "date": "2024-03-15", "count": 1 }, { "date": "2024-03-18", "count": 2 }, { "date": "2024-03-20", "count": 1 }, { "date": "2024-03-21", "count": 2 }, { "date": "2024-03-22", "count": 1 }, { "date": "2024-03-25", "count": 1 }, { "date": "2024-04-02", "count": 1 }, { "date": "2024-04-07", "count": 2 }, { "date": "2024-04-09", "count": 1 }, { "date": "2024-04-21", "count": 1 }, { "date": "2024-04-24", "count": 2 }, { "date": "2024-04-28", "count": 1 }, { "date": "2024-05-02", "count": 1 }, { "date": "2024-05-08", "count": 1 }, { "date": "2024-05-12", "count": 1 }, { "date": "2024-05-16", "count": 1 }, { "date": "2024-05-18", "count": 1 }, { "date": "2024-05-20", "count": 1 }, { "date": "2024-05-21", "count": 1 }, { "date": "2024-05-22", "count": 1 }, { "date": "2024-05-25", "count": 1 }, { "date": "2024-05-29", "count": 1 }, { "date": "2024-05-30", "count": 1 }, { "date": "2024-06-03", "count": 1 }, { "date": "2024-06-07", "count": 1 }, { "date": "2024-06-12", "count": 1 }, { "date": "2024-06-15", "count": 1 }, { "date": "2024-06-18", "count": 2 }, { "date": "2024-06-21", "count": 1 }, { "date": "2024-06-30", "count": 2 }, { "date": "2024-07-04", "count": 1 }, { "date": "2024-07-05", "count": 2 }, { "date": "2024-07-07", "count": 1 }, { "date": "2024-07-08", "count": 1 }, { "date": "2024-07-09", "count": 1 }, { "date": "2024-07-22", "count": 1 }, { "date": "2024-07-23", "count": 1 }, { "date": "2024-07-30", "count": 1 }, { "date": "2024-07-31", "count": 1 }, { "date": "2024-08-01", "count": 1 }, { "date": "2024-08-13", "count": 1 }, { "date": "2024-08-16", "count": 1 }, { "date": "2024-08-21", "count": 1 }, { "date": "2024-08-22", "count": 1 }, { "date": "2024-08-29", "count": 1 }, { "date": "2024-09-04", "count": 1 }, { "date": "2024-09-07", "count": 1 }, { "date": "2024-09-10", "count": 2 }, { "date": "2024-09-11", "count": 1 }, { "date": "2024-09-16", "count": 1 }, { "date": "2024-09-17", "count": 1 }, { "date": "2024-09-28", "count": 1 }, { "date": "2024-10-02", "count": 2 }, { "date": "2024-10-10", "count": 2 }, { "date": "2024-10-12", "count": 1 }, { "date": "2024-10-15", "count": 1 }, { "date": "2024-10-17", "count": 1 }, { "date": "2024-10-20", "count": 1 }, { "date": "2024-10-23", "count": 1 }, { "date": "2024-10-29", "count": 1 }, { "date": "2024-10-30", "count": 1 }, { "date": "2024-10-31", "count": 1 }, { "date": "2024-11-02", "count": 1 }, { "date": "2024-11-05", "count": 1 }, { "date": "2024-11-06", "count": 2 }, { "date": "2024-11-16", "count": 1 }, { "date": "2024-11-17", "count": 1 }, { "date": "2024-11-23", "count": 1 }, { "date": "2024-12-11", "count": 1 }, { "date": "2024-12-13", "count": 1 }, { "date": "2024-12-27", "count": 1 }, { "date": "2024-12-30", "count": 1 }, { "date": "2025-01-08", "count": 1 }, { "date": "2025-01-16", "count": 1 }, { "date": "2025-01-22", "count": 1 }, { "date": "2025-01-29", "count": 2 }, { "date": "2025-02-05", "count": 1 }, { "date": "2025-02-06", "count": 1 }, { "date": "2025-02-11", "count": 1 }, { "date": "2025-02-17", "count": 1 }, { "date": "2025-02-18", "count": 1 }, { "date": "2025-02-20", "count": 1 }, { "date": "2025-02-21", "count": 1 }, { "date": "2025-02-22", "count": 1 }, { "date": "2025-02-23", "count": 1 }, { "date": "2025-02-26", "count": 1 }, { "date": "2025-03-02", "count": 1 }, { "date": "2025-03-05", "count": 1 }, { "date": "2025-03-13", "count": 2 }, { "date": "2025-03-28", "count": 1 }, { "date": "2025-04-03", "count": 1 }, { "date": "2025-04-04", "count": 1 }, { "date": "2025-04-08", "count": 1 }, { "date": "2025-04-17", "count": 1 }, { "date": "2025-05-04", "count": 1 }, { "date": "2025-05-05", "count": 1 }, { "date": "2025-05-18", "count": 1 }, { "date": "2025-05-28", "count": 2 }, { "date": "2025-05-29", "count": 2 }, { "date": "2025-05-31", "count": 1 }, { "date": "2025-06-07", "count": 1 }, { "date": "2025-06-09", "count": 1 }, { "date": "2025-06-10", "count": 1 }, { "date": "2025-06-15", "count": 1 }, { "date": "2025-06-17", "count": 1 }, { "date": "2025-07-04", "count": 1 }, { "date": "2025-07-07", "count": 2 }, { "date": "2025-07-08", "count": 1 }, { "date": "2025-07-09", "count": 1 }, { "date": "2025-07-11", "count": 2 }, { "date": "2025-07-15", "count": 1 }, { "date": "2025-07-24", "count": 1 }, { "date": "2025-07-27", "count": 2 }, { "date": "2025-08-03", "count": 1 }, { "date": "2025-08-04", "count": 1 }, { "date": "2025-08-12", "count": 1 }, { "date": "2025-08-17", "count": 1 }, { "date": "2025-08-24", "count": 1 }, { "date": "2025-08-26", "count": 1 }, { "date": "2025-09-05", "count": 1 }, { "date": "2025-09-08", "count": 1 }, { "date": "2025-09-17", "count": 2 }, { "date": "2025-09-21", "count": 1 }, { "date": "2025-09-25", "count": 1 }, { "date": "2025-09-29", "count": 1 }, { "date": "2025-10-02", "count": 1 }, { "date": "2025-10-12", "count": 1 }, { "date": "2025-10-24", "count": 1 }, { "date": "2025-10-26", "count": 1 }, { "date": "2025-10-29", "count": 1 }, { "date": "2025-11-05", "count": 1 }, { "date": "2025-11-19", "count": 1 }, { "date": "2025-11-23", "count": 1 }, { "date": "2025-11-24", "count": 1 }, { "date": "2025-11-28", "count": 1 }, { "date": "2025-12-01", "count": 1 }, { "date": "2025-12-02", "count": 1 }, { "date": "2025-12-04", "count": 1 }, { "date": "2025-12-06", "count": 1 }, { "date": "2025-12-20", "count": 1 }, { "date": "2025-12-25", "count": 1 }, { "date": "2026-01-01", "count": 1 }, { "date": "2026-01-13", "count": 1 }, { "date": "2026-01-19", "count": 1 }, { "date": "2026-01-23", "count": 1 }, { "date": "2026-02-06", "count": 1 }, { "date": "2026-02-25", "count": 1 }, { "date": "2026-03-04", "count": 2 }, { "date": "2026-03-14", "count": 1 }, { "date": "2026-03-20", "count": 1 }, { "date": "2026-03-25", "count": 1 }, { "date": "2026-04-14", "count": 1 }, { "date": "2026-04-19", "count": 1 }, { "date": "2026-04-20", "count": 1 }, { "date": "2026-04-25", "count": 1 }, { "date": "2026-04-30", "count": 1 }, { "date": "2026-05-06", "count": 1 }, { "date": "2026-05-11", "count": 1 }, { "date": "2026-05-23", "count": 1 }, { "date": "2026-05-24", "count": 1 }, { "date": "2026-05-25", "count": 7 }, { "date": "2026-05-26", "count": 1 }, { "date": "2026-05-30", "count": 1 }, { "date": "2026-06-15", "count": 1 }, { "date": "2026-06-21", "count": 1 }, { "date": "2026-06-22", "count": 1 }, { "date": "2026-06-26", "count": 1 }, { "date": "2026-07-02", "count": 1 }, { "date": "2026-07-06", "count": 1 } ], "complete": false, "collected": 1000, "total_stars": 8231 }, "open_issues_and_prs": 37 }, "ai_readiness": { "has_nix": false, "example_dirs": [], "has_llms_txt": false, "has_dockerfile": false, "has_mcp_signal": false, "bootstrap_files": [], "api_schema_files": [], "has_devcontainer": false, "typecheck_configs": [], "toolchain_manifests": [], "largest_source_bytes": 29222, "source_files_sampled": 99, "oversized_source_files": 0, "agent_instruction_files": [], "agent_instruction_max_bytes": null }, "dependencies": { "manifests": [ "Gemfile" ], "advisories": { "error": null, "scope": "repository_graph", "source": "osv", "findings": [ { "name": "rack-session", "direct": false, "version": "2.1.1", "severity": "critical", "ecosystem": "rubygems", "cvss_score": 9.1, "advisory_ids": [ "GHSA-33qg-7wpp-89cq" ], "fixed_version": "2.1.2", "advisory_count": 1, "oldest_advisory_days": 105 }, { "name": "concurrent-ruby", "direct": false, "version": "1.3.6", "severity": "high", "ecosystem": "rubygems", "cvss_score": 7.5, "advisory_ids": [ "GHSA-6wx8-w4f5-wwcr", "GHSA-h8w8-99g7-qmvj", "GHSA-wv3x-4vxv-whpp" ], "fixed_version": "1.3.7", "advisory_count": 3, "oldest_advisory_days": 32 }, { "name": "erb", "direct": false, "version": "6.0.2", "severity": "high", "ecosystem": "rubygems", "cvss_score": 8.1, "advisory_ids": [ "GHSA-q339-8rmv-2mhv" ], "fixed_version": "6.0.4", "advisory_count": 1, "oldest_advisory_days": 88 }, { "name": "nokogiri", "direct": false, "version": "1.19.2", "severity": "high", "ecosystem": "rubygems", "cvss_score": 7.5, "advisory_ids": [ "GHSA-5prr-v3j2-97mh", "GHSA-5v8h-3h3q-446p", "GHSA-8678-w3jw-xfc2", "GHSA-9cv2-cfxc-v4v2", "GHSA-c4rq-3m3g-8wgx", "GHSA-p67v-3w7g-wjg7", "GHSA-phwj-rprq-35pp", "GHSA-v2fc-qm4h-8hqv", "GHSA-wfpw-mmfh-qq69", "GHSA-wjv4-x9w8-wm3h" ], "fixed_version": "1.19.4", "advisory_count": 10, "oldest_advisory_days": 76 }, { "name": "rack", "direct": false, "version": "3.2.5", "severity": "high", "ecosystem": "rubygems", "cvss_score": 7.5, "advisory_ids": [ "GHSA-7mqq-6cf9-v2qp", "GHSA-8vqr-qjwx-82mw", "GHSA-g2pf-xv49-m2h5", "GHSA-h2jq-g4cq-5ppq", "GHSA-q2ww-5357-x388", "GHSA-q4qf-9j86-f5mh", "GHSA-qfgr-crr9-7r49", "GHSA-qv7j-4883-hwh7", "GHSA-rx22-g9mx-qrhv", "GHSA-v569-hp3g-36wr" ], "fixed_version": "3.2.6", "advisory_count": 13, "oldest_advisory_days": 110 }, { "name": "loofah", "direct": false, "version": "2.25.1", "severity": "moderate", "ecosystem": "rubygems", "cvss_score": 4.7, "advisory_ids": [ "GHSA-5qhf-9phg-95m2", "GHSA-8whx-365g-h9vv", "GHSA-9wjq-cp2p-hrgf" ], "fixed_version": "2.25.2", "advisory_count": 3, "oldest_advisory_days": 0 }, { "name": "rails-html-sanitizer", "direct": false, "version": "1.7.0", "severity": "low", "ecosystem": "rubygems", "cvss_score": 0, "advisory_ids": [ "GHSA-cj75-f6xr-r4g7" ], "fixed_version": "1.7.1", "advisory_count": 1, "oldest_advisory_days": 0 } ], "collected": true, "malicious": [], "truncated": false, "by_severity": { "low": 1, "high": 4, "critical": 1, "moderate": 1 }, "advisory_count": 32, "affected_count": 7, "assessed_count": 49, "malicious_count": 0, "assessed_package": null, "unassessed_count": 6, "direct_affected_count": 0 }, "ecosystems": [ "rubygems" ], "dependencies": [ { "name": "activemodel", "manifest": "Gemfile", "ecosystem": "rubygems", "version_constraint": "~> 8.1.0" }, { "name": "actionpack", "manifest": "Gemfile", "ecosystem": "rubygems", "version_constraint": "~> 8.1.0" }, { "name": "railties", "manifest": "Gemfile", "ecosystem": "rubygems", "version_constraint": "~> 8.1.0" } ], "all_dependencies": { "error": null, "source": "github-sbom", "packages": [ { "name": "actionpack", "direct": true, "version": null, "ecosystem": "rubygems" }, { "name": "actionpack", "direct": true, "version": "8.1.3", "ecosystem": "rubygems" }, { "name": "activemodel", "direct": true, "version": null, "ecosystem": "rubygems" }, { "name": "activemodel", "direct": true, "version": "8.1.3", "ecosystem": "rubygems" }, { "name": "railties", "direct": true, "version": "8.1.3", "ecosystem": "rubygems" }, { "name": "actionview", "direct": false, "version": "8.1.3", "ecosystem": "rubygems" }, { "name": "activesupport", "direct": false, "version": "8.1.3", "ecosystem": "rubygems" }, { "name": "base64", "direct": false, "version": "0.3.0", "ecosystem": "rubygems" }, { "name": "bigdecimal", "direct": false, "version": "4.0.1", "ecosystem": "rubygems" }, { "name": "builder", "direct": false, "version": "3.3.0", "ecosystem": "rubygems" }, { "name": "concurrent-ruby", "direct": false, "version": "1.3.6", "ecosystem": "rubygems" }, { "name": "connection_pool", "direct": false, "version": "3.0.2", "ecosystem": "rubygems" }, { "name": "countries", "direct": false, "version": "8.1.0", "ecosystem": "rubygems" }, { "name": "country_select", "direct": false, "version": null, "ecosystem": "rubygems" }, { "name": "country_select", "direct": false, "version": "11.0.0", "ecosystem": "rubygems" }, { "name": "crass", "direct": false, "version": "1.0.6", "ecosystem": "rubygems" }, { "name": "date", "direct": false, "version": "3.5.1", "ecosystem": "rubygems" }, { "name": "drb", "direct": false, "version": "2.2.3", "ecosystem": "rubygems" }, { "name": "erb", "direct": false, "version": "6.0.2", "ecosystem": "rubygems" }, { "name": "erubi", "direct": false, "version": "1.13.1", "ecosystem": "rubygems" }, { "name": "i18n", "direct": false, "version": "1.14.8", "ecosystem": "rubygems" }, { "name": "io-console", "direct": false, "version": "0.8.2", "ecosystem": "rubygems" }, { "name": "irb", "direct": false, "version": "1.17.0", "ecosystem": "rubygems" }, { "name": "json", "direct": false, "version": "2.19.3", "ecosystem": "rubygems" }, { "name": "logger", "direct": false, "version": "1.7.0", "ecosystem": "rubygems" }, { "name": "loofah", "direct": false, "version": "2.25.1", "ecosystem": "rubygems" }, { "name": "mini_portile2", "direct": false, "version": "2.8.9", "ecosystem": "rubygems" }, { "name": "minitest", "direct": false, "version": null, "ecosystem": "rubygems" }, { "name": "minitest", "direct": false, "version": "5.27.0", "ecosystem": "rubygems" }, { "name": "nokogiri", "direct": false, "version": "1.19.2", "ecosystem": "rubygems" }, { "name": "pp", "direct": false, "version": "0.6.3", "ecosystem": "rubygems" }, { "name": "prettyprint", "direct": false, "version": "0.2.0", "ecosystem": "rubygems" }, { "name": "prism", "direct": false, "version": "1.9.0", "ecosystem": "rubygems" }, { "name": "psych", "direct": false, "version": "5.3.1", "ecosystem": "rubygems" }, { "name": "racc", "direct": false, "version": "1.8.1", "ecosystem": "rubygems" }, { "name": "rack", "direct": false, "version": "3.2.5", "ecosystem": "rubygems" }, { "name": "rack-session", "direct": false, "version": "2.1.1", "ecosystem": "rubygems" }, { "name": "rack-test", "direct": false, "version": "2.2.0", "ecosystem": "rubygems" }, { "name": "rackup", "direct": false, "version": "2.3.1", "ecosystem": "rubygems" }, { "name": "rails-dom-testing", "direct": false, "version": "2.3.0", "ecosystem": "rubygems" }, { "name": "rails-html-sanitizer", "direct": false, "version": "1.7.0", "ecosystem": "rubygems" }, { "name": "rake", "direct": false, "version": null, "ecosystem": "rubygems" }, { "name": "rake", "direct": false, "version": "13.3.1", "ecosystem": "rubygems" }, { "name": "rdoc", "direct": false, "version": null, "ecosystem": "rubygems" }, { "name": "rdoc", "direct": false, "version": "7.2.0", "ecosystem": "rubygems" }, { "name": "reline", "direct": false, "version": "0.6.3", "ecosystem": "rubygems" }, { "name": "securerandom", "direct": false, "version": "0.4.1", "ecosystem": "rubygems" }, { "name": "stringio", "direct": false, "version": "3.2.0", "ecosystem": "rubygems" }, { "name": "thor", "direct": false, "version": "1.5.0", "ecosystem": "rubygems" }, { "name": "tsort", "direct": false, "version": "0.2.0", "ecosystem": "rubygems" }, { "name": "tzinfo", "direct": false, "version": "2.0.6", "ecosystem": "rubygems" }, { "name": "unaccent", "direct": false, "version": "0.4.0", "ecosystem": "rubygems" }, { "name": "uri", "direct": false, "version": "1.1.1", "ecosystem": "rubygems" }, { "name": "useragent", "direct": false, "version": "0.16.11", "ecosystem": "rubygems" }, { "name": "zeitwerk", "direct": false, "version": "2.7.5", "ecosystem": "rubygems" } ], "collected": true, "truncated": false, "total_count": 55, "direct_count": 5, "indirect_count": 50 } }, "maintainership": { "issues": { "open_prs": 13, "merged_prs": 359, "open_issues": 24, "closed_ratio": 0.981, "closed_issues": 1214, "closed_unmerged_prs": 256 }, "bus_factor": 2, "bot_contributors": 0, "top_contributors": [ { "type": "User", "login": "carlosantoniodasilva", "commits": 497, "avatar_url": "https://avatars.githubusercontent.com/u/26328?v=4" }, { "type": "User", "login": "rafaelfranca", "commits": 446, "avatar_url": "https://avatars.githubusercontent.com/u/47848?v=4" }, { "type": "User", "login": "josevalim", "commits": 227, "avatar_url": "https://avatars.githubusercontent.com/u/9582?v=4" }, { "type": "User", "login": "nashby", "commits": 136, "avatar_url": "https://avatars.githubusercontent.com/u/200500?v=4" }, { "type": "User", "login": "feliperenan", "commits": 104, "avatar_url": "https://avatars.githubusercontent.com/u/27698968?v=4" }, { "type": "User", "login": "lucasmazza", "commits": 65, "avatar_url": "https://avatars.githubusercontent.com/u/80978?v=4" }, { "type": "User", "login": "laurocaetano", "commits": 21, "avatar_url": "https://avatars.githubusercontent.com/u/611891?v=4" }, { "type": "User", "login": "tegon", "commits": 18, "avatar_url": "https://avatars.githubusercontent.com/u/3727827?v=4" }, { "type": "User", "login": "ulissesalmeida", "commits": 15, "avatar_url": "https://avatars.githubusercontent.com/u/867308?v=4" }, { "type": "User", "login": "m5o", "commits": 12, "avatar_url": "https://avatars.githubusercontent.com/u/26371?v=4" } ], "contributors_sampled": 100, "top_contributor_share": 0.275 }, "quality_signals": { "has_ci": true, "has_tests": true, "ci_workflows": [ "test.yml" ], "has_docs_dir": false, "linter_configs": [], "has_editorconfig": false, "has_linter_config": false, "has_precommit_config": false }, "security_signals": { "lockfiles": [ "Gemfile.lock" ], "scorecard": { "checks": [ { "name": "Binary-Artifacts", "score": 10, "reason": "no binaries found in the repo", "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts" }, { "name": "Branch-Protection", "score": 0, "reason": "branch protection not enabled on development/release branches", "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection" }, { "name": "CI-Tests", "score": 8, "reason": "4 out of 5 merged PRs checked by a CI test -- score normalized to 8", "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests" }, { "name": "CII-Best-Practices", "score": 0, "reason": "no effort to earn an OpenSSF best practices badge detected", "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices" }, { "name": "Code-Review", "score": 1, "reason": "Found 3/25 approved changesets -- score normalized to 1", "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review" }, { "name": "Contributors", "score": 10, "reason": "project has 47 contributing companies or organizations", "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors" }, { "name": "Dangerous-Workflow", "score": 10, "reason": "no dangerous workflow patterns detected", "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow" }, { "name": "Dependency-Update-Tool", "score": 0, "reason": "no update tool detected", "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool" }, { "name": "Fuzzing", "score": 0, "reason": "project is not fuzzed", "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing" }, { "name": "License", "score": 10, "reason": "license file detected", "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license" }, { "name": "Maintained", "score": 0, "reason": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0", "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained" }, { "name": "Packaging", "score": null, "reason": "packaging workflow not detected", "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging" }, { "name": "Pinned-Dependencies", "score": 0, "reason": "dependency not pinned by hash detected -- score normalized to 0", "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies" }, { "name": "SAST", "score": 1, "reason": "SAST tool is not run on all commits -- score normalized to 1", "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast" }, { "name": "Security-Policy", "score": 0, "reason": "security policy file not detected", "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy" }, { "name": "Signed-Releases", "score": null, "reason": "no releases found", "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases" }, { "name": "Token-Permissions", "score": 10, "reason": "GitHub workflow tokens follow principle of least privilege", "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions" }, { "name": "Vulnerabilities", "score": 0, "reason": "32 existing vulnerabilities detected", "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities" } ], "commit": "18f38aad0bdeca2ba1815043b94d96fdbbe6a325", "ran_at": "2026-07-22T00:56:59Z", "aggregate_score": 3.6, "scorecard_version": "v5.5.0" }, "has_codeql_workflow": false, "has_security_policy": false, "has_dependabot_config": false }, "contribution_flow": { "collected": true, "ci_last_run_at": "2026-07-18T20:15:08Z", "oldest_open_prs": [ { "number": 1751, "created_at": "2021-11-26T16:26:28Z", "last_comment_at": "2023-10-27T10:13:34Z", "last_comment_author": "ldonnet" }, { "number": 1759, "created_at": "2022-02-02T21:20:29Z", "last_comment_at": null, "last_comment_author": null }, { "number": 1762, "created_at": "2022-02-20T16:13:44Z", "last_comment_at": "2024-07-06T04:06:14Z", "last_comment_author": "JuanVqz" }, { "number": 1794, "created_at": "2022-11-18T07:11:41Z", "last_comment_at": "2022-11-18T07:46:48Z", "last_comment_author": "martinodonnell" }, { "number": 1796, "created_at": "2022-11-23T19:34:30Z", "last_comment_at": "2024-06-17T18:40:56Z", "last_comment_author": "pas256" }, { "number": 1804, "created_at": "2023-01-17T18:39:01Z", "last_comment_at": null, "last_comment_author": null }, { "number": 1813, "created_at": "2023-03-09T11:18:59Z", "last_comment_at": "2023-03-09T11:37:40Z", "last_comment_author": "Nerian" }, { "number": 1830, "created_at": "2024-02-14T20:27:28Z", "last_comment_at": "2024-12-04T18:42:45Z", "last_comment_author": "csculley" }, { "number": 1852, "created_at": "2024-11-11T22:24:14Z", "last_comment_at": null, "last_comment_author": null }, { "number": 1855, "created_at": "2025-05-14T13:47:11Z", "last_comment_at": null, "last_comment_author": null }, { "number": 1856, "created_at": "2025-11-07T13:34:15Z", "last_comment_at": null, "last_comment_author": null }, { "number": 1861, "created_at": "2026-02-07T13:38:38Z", "last_comment_at": "2026-04-19T12:15:49Z", "last_comment_author": "fa11enangel" }, { "number": 1871, "created_at": "2026-06-28T20:47:58Z", "last_comment_at": null, "last_comment_author": null } ], "last_merged_pr_at": "2026-04-01T23:20:59Z", "ci_last_conclusion": "SUCCESS", "oldest_open_issues": [ { "number": 1180, "created_at": "2014-12-19T09:19:05Z", "last_comment_at": "2014-12-20T15:58:29Z", "last_comment_author": "rafaelfranca" }, { "number": 1358, "created_at": "2016-02-13T14:28:37Z", "last_comment_at": "2017-09-29T18:35:26Z", "last_comment_author": "bcardiff" }, { "number": 1464, "created_at": "2017-02-20T20:38:44Z", "last_comment_at": null, "last_comment_author": null }, { "number": 1632, "created_at": "2019-01-25T09:17:01Z", "last_comment_at": "2023-01-12T21:03:54Z", "last_comment_author": "ldonnet" }, { "number": 1659, "created_at": "2019-05-09T13:59:04Z", "last_comment_at": null, "last_comment_author": null }, { "number": 1668, "created_at": "2019-08-21T14:37:19Z", "last_comment_at": "2023-12-11T22:14:39Z", "last_comment_author": "rhulse" }, { "number": 1716, "created_at": "2020-10-20T15:11:41Z", "last_comment_at": null, "last_comment_author": null }, { "number": 1727, "created_at": "2021-02-16T15:40:33Z", "last_comment_at": "2021-05-23T01:14:21Z", "last_comment_author": "yordis" }, { "number": 1739, "created_at": "2021-05-28T17:25:54Z", "last_comment_at": "2024-02-14T20:38:05Z", "last_comment_author": "jamezilla" }, { "number": 1744, "created_at": "2021-07-19T10:52:36Z", "last_comment_at": null, "last_comment_author": null }, { "number": 1746, "created_at": "2021-08-19T11:52:32Z", "last_comment_at": null, "last_comment_author": null }, { "number": 1757, "created_at": "2022-01-14T17:14:38Z", "last_comment_at": null, "last_comment_author": null }, { "number": 1788, "created_at": "2022-08-17T12:49:27Z", "last_comment_at": "2022-11-18T07:04:03Z", "last_comment_author": "martinodonnell" }, { "number": 1795, "created_at": "2022-11-21T11:48:55Z", "last_comment_at": null, "last_comment_author": null }, { "number": 1798, "created_at": "2022-11-30T15:07:09Z", "last_comment_at": "2023-12-02T15:29:08Z", "last_comment_author": "borama" }, { "number": 1800, "created_at": "2022-12-07T13:00:43Z", "last_comment_at": null, "last_comment_author": null }, { "number": 1807, "created_at": "2023-01-30T11:57:55Z", "last_comment_at": "2025-05-28T18:47:33Z", "last_comment_author": "wrkrb33" }, { "number": 1819, "created_at": "2023-08-20T17:42:12Z", "last_comment_at": "2023-10-12T12:59:37Z", "last_comment_author": "attenzione" }, { "number": 1831, "created_at": "2024-02-23T07:40:00Z", "last_comment_at": "2024-06-17T18:18:30Z", "last_comment_author": "pas256" }, { "number": 1840, "created_at": "2024-04-21T15:55:05Z", "last_comment_at": "2026-04-19T23:39:38Z", "last_comment_author": "55728" } ] } }, "config": { "disabled_metrics": [], "disabled_categories": [], "disabled_components": {} }, "source": { "url": "https://github.com/heartcombo/simple_form", "host": "github.com", "name": "simple_form", "owner": "heartcombo" }, "metrics": { "overall": { "key": "overall", "band": "moderate", "name": "Overall health", "note": null, "notes": [], "value": 63, "inputs": { "security": 49, "vitality": 43, "community": 91, "governance": 71, "engineering": 62 }, "components": [] }, "categories": [ { "key": "vitality", "band": "at_risk", "name": "Vitality", "value": 43, "weight": 0.22, "metrics": [ { "key": "development_activity", "band": "at_risk", "name": "Development activity", "note": null, "notes": [], "value": 31, "inputs": { "commits_last_year": 30, "human_commit_share": 1, "days_since_last_push": 111, "active_weeks_last_year": 11 }, "components": [ { "key": "push_recency", "name": "Push recency", "detail": "last push 111 days ago", "points": 9.9, "status": "partial", "details": [ { "code": "push_recency", "params": { "days": 111 } } ], "max_points": 36 }, { "key": "commit_cadence", "name": "Commit cadence", "detail": "11/52 weeks with commits", "points": 7.6, "status": "partial", "details": [ { "code": "commit_cadence_weeks", "params": { "weeks": 11 } } ], "max_points": 36 }, { "key": "commit_volume", "name": "Commit volume", "detail": "30 commits in the last year", "points": 13.4, "status": "partial", "details": [ { "code": "commits_last_year", "params": { "count": 30 } } ], "max_points": 18 }, { "key": "openssf_scorecard_maintained", "name": "OpenSSF Scorecard: Maintained", "detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0", "points": 0, "status": "missed", "details": [], "max_points": 10 } ] }, { "key": "release_discipline", "band": "moderate", "name": "Release discipline", "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.", "notes": [ { "code": "excluded_no_data", "params": { "components": [ "openssf_scorecard_signed_releases" ] } }, { "code": "weights_renormalized", "params": {} } ], "value": 62, "inputs": { "releases_count": 14, "latest_release_tag": "v5.4.1", "releases_from_tags": false, "days_since_latest_release": 197, "mean_days_between_releases": 309.8 }, "components": [ { "key": "ships_releases", "name": "Ships releases", "detail": "14 releases published", "points": 27, "status": "met", "details": [ { "code": "releases_published", "params": { "count": 14 } } ], "max_points": 27 }, { "key": "release_recency", "name": "Release recency", "detail": "latest release 197 days ago", "points": 16.2, "status": "partial", "details": [ { "code": "release_recency", "params": { "days": 197 } } ], "max_points": 36 }, { "key": "release_cadence", "name": "Release cadence", "detail": "a release every ~309.8 days", "points": 12.6, "status": "partial", "details": [ { "code": "release_cadence", "params": { "gap": 309.8 } } ], "max_points": 27 }, { "key": "openssf_scorecard_signed_releases", "name": "OpenSSF Scorecard: Signed-Releases", "detail": "no releases found", "points": 0, "status": "excluded", "details": [ { "code": "no_data", "params": {} } ], "max_points": 10 } ] }, { "key": "abandonment", "band": "excellent", "name": "Abandonment", "note": null, "notes": [], "value": 100, "inputs": { "cap": null, "state": "maintained", "guards": [], "signals": [], "red_flag": false, "multiplier_pct": 100, "declared_reason": null, "unverified_reason": null, "unanswered_open_prs": null, "unanswered_open_issues": null, "days_since_last_merged_pr": null, "days_since_last_human_commit": 111, "days_since_last_human_commit_is_floor": false }, "components": [ { "key": "project_is_still_maintained", "name": "Project is still maintained", "detail": "last human commit 111 days ago", "points": 100, "status": "met", "details": [ { "code": "abandonment_maintained", "params": { "days": 111 } } ], "max_points": 100 } ] } ], "description": "Is the project alive — is code being written and are releases shipping?" }, { "key": "community", "band": "excellent", "name": "Community & Adoption", "value": 91, "weight": 0.18, "metrics": [ { "key": "popularity", "band": "excellent", "name": "Popularity & adoption", "note": null, "notes": [], "value": 97, "inputs": { "forks": 1298, "stars": 8231, "watchers": 150, "growth_state": "organic", "growth_factor_pct": 100 }, "components": [ { "key": "stars", "name": "Stars", "detail": "8,231 stars", "points": 60, "status": "met", "details": [ { "code": "stars", "params": { "count": 8231 } } ], "max_points": 60 }, { "key": "forks", "name": "Forks", "detail": "1,298 forks", "points": 25, "status": "met", "details": [ { "code": "forks", "params": { "count": 1298 } } ], "max_points": 25 }, { "key": "watchers", "name": "Watchers", "detail": "150 watchers", "points": 12.1, "status": "partial", "details": [ { "code": "watchers", "params": { "count": 150 } } ], "max_points": 15 } ] }, { "key": "community_health", "band": "good", "name": "Community health", "note": null, "notes": [], "value": 78, "inputs": { "has_readme": true, "has_license": true, "has_contributing": true, "has_issue_template": true, "has_code_of_conduct": false, "has_pull_request_template": false }, "components": [ { "key": "readme", "name": "README", "detail": null, "points": 22.5, "status": "met", "details": [], "max_points": 22.5 }, { "key": "license", "name": "License", "detail": "recognized license (MIT)", "points": 22.5, "status": "met", "details": [ { "code": "license_standard", "params": {} }, { "code": "license_spdx", "params": { "spdx": "MIT" } } ], "max_points": 22.5 }, { "key": "contributing_guide", "name": "CONTRIBUTING guide", "detail": null, "points": 18, "status": "met", "details": [], "max_points": 18 }, { "key": "code_of_conduct", "name": "Code of conduct", "detail": null, "points": 0, "status": "missed", "details": [], "max_points": 13.5 }, { "key": "issue_template", "name": "Issue template", "detail": null, "points": 7.2, "status": "met", "details": [], "max_points": 7.2 }, { "key": "pr_template", "name": "PR template", "detail": null, "points": 0, "status": "missed", "details": [], "max_points": 6.3 } ] }, { "key": "ecosystem_adoption", "band": "excellent", "name": "Ecosystem adoption (downloads)", "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.", "notes": [ { "code": "excluded_no_data", "params": { "components": [ "registry_dependents" ] } }, { "code": "weights_renormalized", "params": {} } ], "value": 100, "inputs": { "packages": [ "simple_form" ], "dependents": null, "ecosystems": "rubygems", "total_downloads": 95931058, "monthly_downloads": null }, "components": [ { "key": "total_downloads", "name": "Total downloads", "detail": "95,931,058 downloads all-time across rubygems", "points": 80, "status": "met", "details": [ { "code": "downloads_total", "params": { "count": 95931058, "ecosystems": "rubygems" } } ], "max_points": 80 }, { "key": "registry_dependents", "name": "Registry dependents", "detail": "not reported by this ecosystem", "points": 0, "status": "excluded", "details": [ { "code": "not_reported_by_this_ecosystem", "params": {} } ], "max_points": 20 } ] } ], "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?" }, { "key": "governance", "band": "good", "name": "Sustainability & Governance", "value": 71, "weight": 0.24, "metrics": [ { "key": "maintainer_resilience", "band": "moderate", "name": "Maintainer resilience (bus factor)", "note": null, "notes": [], "value": 65, "inputs": { "bus_factor": 2, "contributors_sampled": 100, "top_contributor_share": 0.275 }, "components": [ { "key": "bus_factor", "name": "Bus factor", "detail": "2 contributor(s) cover half of all commits", "points": 25.2, "status": "partial", "details": [ { "code": "bus_factor", "params": { "count": 2 } } ], "max_points": 54 }, { "key": "commit_distribution", "name": "Commit distribution", "detail": "top contributor authored 28% of commits", "points": 16.3, "status": "partial", "details": [ { "code": "top_contributor_share", "params": { "share": 28 } } ], "max_points": 22.5 }, { "key": "contributor_breadth", "name": "Contributor breadth", "detail": "100 contributors", "points": 13.5, "status": "met", "details": [ { "code": "contributors_sampled", "params": { "count": 100 } } ], "max_points": 13.5 }, { "key": "openssf_scorecard_contributors", "name": "OpenSSF Scorecard: Contributors", "detail": "project has 47 contributing companies or organizations", "points": 10, "status": "met", "details": [], "max_points": 10 } ] }, { "key": "responsiveness", "band": "good", "name": "Issue & PR responsiveness", "note": null, "notes": [], "value": 70, "inputs": { "merged_prs": 359, "open_issues": 24, "closed_issues": 1214, "issue_closed_ratio": 0.981, "closed_unmerged_prs": 256 }, "components": [ { "key": "issue_resolution", "name": "Issue resolution", "detail": "98% of issues closed", "points": 45.9, "status": "partial", "details": [ { "code": "issues_closed_share", "params": { "share": 98 } } ], "max_points": 46.75 }, { "key": "pr_acceptance", "name": "PR acceptance", "detail": "359/615 decided PRs merged", "points": 22.3, "status": "partial", "details": [ { "code": "decided_prs_merged", "params": { "merged": 359, "decided": 615 } } ], "max_points": 38.25 }, { "key": "openssf_scorecard_code_review", "name": "OpenSSF Scorecard: Code-Review", "detail": "Found 3/25 approved changesets -- score normalized to 1", "points": 1.5, "status": "partial", "details": [], "max_points": 15 } ] }, { "key": "stewardship", "band": "moderate", "name": "Ownership & stewardship", "note": null, "notes": [], "value": 65, "inputs": { "followers": 154, "owner_type": "Organization", "is_verified": null, "owner_login": "heartcombo", "public_repos": 8, "account_age_days": 2388 }, "components": [ { "key": "ownership_backing", "name": "Ownership backing", "detail": "organization-owned", "points": 30, "status": "met", "details": [ { "code": "owner_organization", "params": {} } ], "max_points": 30 }, { "key": "verified_domain", "name": "Verified domain", "detail": null, "points": 0, "status": "missed", "details": [], "max_points": 20 }, { "key": "owner_reach", "name": "Owner reach", "detail": "154 followers of heartcombo", "points": 15.7, "status": "partial", "details": [ { "code": "owner_followers", "params": { "count": 154, "login": "heartcombo" } } ], "max_points": 25 }, { "key": "track_record", "name": "Track record", "detail": "8 public repos, account ~6 yr old", "points": 18.9, "status": "partial", "details": [ { "code": "public_repos", "params": { "count": 8 } }, { "code": "account_age_years", "params": { "years": 6 } } ], "max_points": 25 } ] }, { "key": "package_maintenance", "band": "excellent", "name": "Package maintenance", "note": null, "notes": [], "value": 91, "inputs": { "packages": [ "simple_form" ], "ecosystems": "rubygems", "any_deprecated": false, "min_days_since_publish": 197 }, "components": [ { "key": "published_resolvable", "name": "Published & resolvable", "detail": "1 package(s) on rubygems", "points": 25, "status": "met", "details": [ { "code": "packages_published", "params": { "count": 1, "ecosystems": "rubygems" } } ], "max_points": 25 }, { "key": "publish_recency", "name": "Publish recency", "detail": "latest publish 197 days ago", "points": 26, "status": "partial", "details": [ { "code": "publish_recency", "params": { "days": 197 } } ], "max_points": 35 }, { "key": "version_history", "name": "Version history", "detail": "63 published versions", "points": 20, "status": "met", "details": [ { "code": "published_versions", "params": { "count": 63 } } ], "max_points": 20 }, { "key": "not_deprecated", "name": "Not deprecated", "detail": "active, not deprecated or yanked", "points": 20, "status": "met", "details": [ { "code": "package_not_deprecated", "params": {} } ], "max_points": 20 } ] } ], "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?" }, { "key": "engineering", "band": "moderate", "name": "Engineering Quality", "value": 62, "weight": 0.2, "metrics": [ { "key": "engineering_practices", "band": "moderate", "name": "Engineering practices", "note": null, "notes": [], "value": 64, "inputs": { "has_ci": true, "has_tests": true, "has_editorconfig": false, "has_linter_config": false, "has_precommit_config": false }, "components": [ { "key": "ci_workflows", "name": "CI workflows", "detail": "1 workflow(s)", "points": 24, "status": "met", "details": [ { "code": "ci_workflows", "params": { "count": 1 } } ], "max_points": 24 }, { "key": "tests_present", "name": "Tests present", "detail": null, "points": 24, "status": "met", "details": [], "max_points": 24 }, { "key": "linter_config", "name": "Linter config", "detail": null, "points": 0, "status": "missed", "details": [], "max_points": 16 }, { "key": "pre_commit_hooks", "name": "Pre-commit hooks", "detail": null, "points": 0, "status": "missed", "details": [], "max_points": 9.6 }, { "key": "editorconfig", "name": ".editorconfig", "detail": null, "points": 0, "status": "missed", "details": [], "max_points": 6.4 }, { "key": "openssf_scorecard_ci_tests", "name": "OpenSSF Scorecard: CI-Tests", "detail": "4 out of 5 merged PRs checked by a CI test -- score normalized to 8", "points": 16, "status": "partial", "details": [], "max_points": 20 } ] }, { "key": "documentation", "band": "moderate", "name": "Documentation", "note": null, "notes": [], "value": 60, "inputs": { "topics": [ "form-builder", "rails-helper", "ruby", "rails", "dsl" ], "has_wiki": true, "homepage": null, "has_readme": true, "has_docs_dir": false, "has_description": true }, "components": [ { "key": "readme", "name": "README", "detail": null, "points": 30, "status": "met", "details": [], "max_points": 30 }, { "key": "documentation_directory", "name": "Documentation directory", "detail": null, "points": 0, "status": "missed", "details": [], "max_points": 25 }, { "key": "documentation_homepage_site", "name": "Documentation / homepage site", "detail": null, "points": 0, "status": "missed", "details": [], "max_points": 15 }, { "key": "repository_description", "name": "Repository description", "detail": null, "points": 10, "status": "met", "details": [], "max_points": 10 }, { "key": "topics", "name": "Topics", "detail": "5 topics", "points": 10, "status": "met", "details": [ { "code": "topics_count", "params": { "count": 5 } } ], "max_points": 10 }, { "key": "wiki", "name": "Wiki", "detail": null, "points": 10, "status": "met", "details": [], "max_points": 10 } ] } ], "description": "Are baseline engineering and documentation practices in place?" }, { "key": "security", "band": "at_risk", "name": "Security", "value": 49, "weight": 0.16, "metrics": [ { "key": "security_posture", "band": "at_risk", "name": "Security posture", "note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.", "notes": [ { "code": "excluded_no_data", "params": { "components": [ "packaging", "signed_releases" ] } }, { "code": "weights_renormalized", "params": {} } ], "value": 36, "inputs": { "source": "openssf_scorecard", "checks_evaluated": 16, "scorecard_version": "v5.5.0", "checks_inconclusive": 2, "scorecard_aggregate": 3.6 }, "components": [ { "key": "binary_artifacts", "name": "Binary-Artifacts", "detail": "no binaries found in the repo", "points": 7.5, "status": "met", "details": [], "max_points": 7.5 }, { "key": "branch_protection", "name": "Branch-Protection", "detail": "branch protection not enabled on development/release branches", "points": 0, "status": "missed", "details": [], "max_points": 7.5 }, { "key": "ci_tests", "name": "CI-Tests", "detail": "4 out of 5 merged PRs checked by a CI test -- score normalized to 8", "points": 2, "status": "partial", "details": [], "max_points": 2.5 }, { "key": "cii_best_practices", "name": "CII-Best-Practices", "detail": "no effort to earn an OpenSSF best practices badge detected", "points": 0, "status": "missed", "details": [], "max_points": 2.5 }, { "key": "code_review", "name": "Code-Review", "detail": "Found 3/25 approved changesets -- score normalized to 1", "points": 0.8, "status": "partial", "details": [], "max_points": 7.5 }, { "key": "contributors", "name": "Contributors", "detail": "project has 47 contributing companies or organizations", "points": 2.5, "status": "met", "details": [], "max_points": 2.5 }, { "key": "dangerous_workflow", "name": "Dangerous-Workflow", "detail": "no dangerous workflow patterns detected", "points": 10, "status": "met", "details": [], "max_points": 10 }, { "key": "dependency_update_tool", "name": "Dependency-Update-Tool", "detail": "no update tool detected", "points": 0, "status": "missed", "details": [], "max_points": 7.5 }, { "key": "fuzzing", "name": "Fuzzing", "detail": "project is not fuzzed", "points": 0, "status": "missed", "details": [], "max_points": 5 }, { "key": "license", "name": "License", "detail": "license file detected", "points": 2.5, "status": "met", "details": [], "max_points": 2.5 }, { "key": "maintained", "name": "Maintained", "detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0", "points": 0, "status": "missed", "details": [], "max_points": 7.5 }, { "key": "packaging", "name": "Packaging", "detail": "packaging workflow not detected", "points": 0, "status": "excluded", "details": [ { "code": "no_data", "params": {} } ], "max_points": 5 }, { "key": "pinned_dependencies", "name": "Pinned-Dependencies", "detail": "dependency not pinned by hash detected -- score normalized to 0", "points": 0, "status": "missed", "details": [], "max_points": 5 }, { "key": "sast", "name": "SAST", "detail": "SAST tool is not run on all commits -- score normalized to 1", "points": 0.5, "status": "partial", "details": [], "max_points": 5 }, { "key": "security_policy", "name": "Security-Policy", "detail": "security policy file not detected", "points": 0, "status": "missed", "details": [], "max_points": 5 }, { "key": "signed_releases", "name": "Signed-Releases", "detail": "no releases found", "points": 0, "status": "excluded", "details": [ { "code": "no_data", "params": {} } ], "max_points": 7.5 }, { "key": "token_permissions", "name": "Token-Permissions", "detail": "GitHub workflow tokens follow principle of least privilege", "points": 7.5, "status": "met", "details": [], "max_points": 7.5 }, { "key": "vulnerabilities", "name": "Vulnerabilities", "detail": "32 existing vulnerabilities detected", "points": 0, "status": "missed", "details": [], "max_points": 7.5 } ] }, { "key": "dependency_advisories", "band": "excellent", "name": "Dependency advisories", "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 49 resolved dependencies against OSV; 6 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.", "notes": [ { "code": "excluded_no_data", "params": { "components": [ "indirect_dependencies_free_of_known_advisories", "no_advisories_left_outstanding" ] } }, { "code": "weights_renormalized", "params": {} }, { "code": "advisories_scope_repository", "params": { "assessed": 49 } }, { "code": "advisories_unassessed", "params": { "count": 6 } }, { "code": "advisories_repo_graph_caveat", "params": {} }, { "code": "advisories_reachability", "params": {} } ], "value": 100, "inputs": { "source": "osv", "advisories": 32, "affected_packages": 7, "assessed_packages": 49, "unassessed_packages": 6, "affected_by_severity": "critical 1, high 4, moderate 1, low 1", "direct_affected_packages": 0 }, "components": [ { "key": "direct_dependencies_free_of_known_advisories", "name": "Direct dependencies free of known advisories", "detail": "no direct dependency carries a known advisory", "points": 35, "status": "met", "details": [ { "code": "no_direct_advisories", "params": {} } ], "max_points": 35 }, { "key": "indirect_dependencies_free_of_known_advisories", "name": "Indirect dependencies free of known advisories", "detail": "transitive set not separable from development and test dependencies in this scope", "points": 0, "status": "excluded", "details": [ { "code": "advisories_scope_not_separable", "params": {} } ], "max_points": 25 }, { "key": "no_advisories_left_outstanding", "name": "No advisories left outstanding", "detail": "no advisory carries a publication date", "points": 0, "status": "excluded", "details": [ { "code": "advisories_no_publication_date", "params": {} } ], "max_points": 40 } ] }, { "key": "malicious_dependencies", "band": "excellent", "name": "Malicious dependencies", "note": null, "notes": [], "value": 100, "inputs": { "source": "osv", "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored", "packages": [], "red_flag": false, "assessed_packages": 49, "malicious_packages": 0, "direct_malicious_packages": 0, "withdrawn_malicious_packages": 0, "installable_malicious_packages": 0 }, "components": [ { "key": "no_dependency_reported_as_a_malicious_package", "name": "No dependency reported as a malicious package", "detail": "no dependency is reported as a malicious package", "points": 100, "status": "met", "details": [ { "code": "no_malicious_dependencies", "params": {} } ], "max_points": 100 } ] }, { "key": "high_risk_jurisdiction_exposure", "band": "excellent", "name": "High-Risk Jurisdiction Exposure", "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.", "notes": [ { "code": "jurisdiction_evidence_limits", "params": {} } ], "value": 100, "inputs": { "meaning": "self-published location evidence; not nationality or citizenship", "red_flag": false, "exposures": [], "policy_countries": [ "Russia", "Iran", "North Korea" ], "review_only_matches": 0, "assessed_self_published_locations": 16 }, "components": [ { "key": "policy_exposure_multiplier", "name": "Policy exposure multiplier", "detail": "no confirmed policy-scope location match", "points": 100, "status": "met", "details": [ { "code": "jurisdiction_no_match", "params": {} } ], "max_points": 100 } ] } ], "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?" }, { "key": "ai_readiness", "band": "at_risk", "name": "AI Readiness", "value": 34, "weight": 0, "metrics": [ { "key": "ai_agent_context", "band": "critical", "name": "Agent context & guidance", "note": null, "notes": [], "value": 27, "inputs": { "has_llms_txt": false, "legible_history_share": 0.5, "agent_instruction_files": [], "agent_instruction_max_bytes": null }, "components": [ { "key": "agent_instructions", "name": "Agent instructions", "detail": "no CLAUDE.md / AGENTS.md / editor rules", "points": 0, "status": "missed", "details": [ { "code": "no_agent_instructions", "params": {} } ], "max_points": 45 }, { "key": "machine_readable_docs_llms_txt", "name": "Machine-readable docs (llms.txt)", "detail": null, "points": 0, "status": "missed", "details": [], "max_points": 15 }, { "key": "legible_commit_history", "name": "Legible commit history", "detail": "50 of 100 human commits state their intent (structured subject or explanatory body)", "points": 26.7, "status": "partial", "details": [ { "code": "legible_history", "params": { "legible": 50, "sampled": 100 } } ], "max_points": 40 } ] }, { "key": "ai_verify_loop", "band": "at_risk", "name": "Verify loop (build / test / typecheck)", "note": null, "notes": [], "value": 32, "inputs": { "has_nix": false, "has_tests": true, "lockfiles": [ "Gemfile.lock" ], "has_dockerfile": false, "typed_language": false, "bootstrap_files": [], "has_devcontainer": false, "has_linter_config": false, "typecheck_configs": [], "agent_commit_share": 0, "toolchain_manifests": [], "dependency_bot_commit_share": 0 }, "components": [ { "key": "one_command_bootstrap", "name": "One-command bootstrap", "detail": null, "points": 0, "status": "missed", "details": [], "max_points": 18 }, { "key": "automated_tests", "name": "Automated tests", "detail": null, "points": 22, "status": "met", "details": [], "max_points": 22 }, { "key": "lint_format_config", "name": "Lint / format config", "detail": null, "points": 0, "status": "missed", "details": [], "max_points": 11 }, { "key": "static_type_checking", "name": "Static type checking", "detail": null, "points": 0, "status": "missed", "details": [], "max_points": 11 }, { "key": "reproducible_environment", "name": "Reproducible environment", "detail": "lockfile", "points": 10, "status": "met", "details": [ { "code": "file_list", "params": { "files": "lockfile" } } ], "max_points": 10 }, { "key": "demonstrated_agent_practice", "name": "Demonstrated agent practice", "detail": "no agent-authored commits among the last 100", "points": 0, "status": "missed", "details": [ { "code": "no_agent_authored_commits", "params": { "sampled": 100 } } ], "max_points": 10 }, { "key": "automated_maintenance", "name": "Automated maintenance", "detail": "no automated dependency updates observed", "points": 0, "status": "missed", "details": [ { "code": "no_dependency_automation", "params": {} } ], "max_points": 8 }, { "key": "openssf_scorecard_pinned_dependencies", "name": "OpenSSF Scorecard: Pinned-Dependencies", "detail": "dependency not pinned by hash detected -- score normalized to 0", "points": 0, "status": "missed", "details": [], "max_points": 10 } ] }, { "key": "ai_code_legibility", "band": "moderate", "name": "Code legibility for models", "note": null, "notes": [], "value": 55, "inputs": { "primary_language": "Ruby", "largest_source_bytes": 29222, "source_files_sampled": 99, "oversized_source_files": 0 }, "components": [ { "key": "type_checkable_code", "name": "Type-checkable code", "detail": "Ruby without a type-check config", "points": 0, "status": "missed", "details": [ { "code": "no_typecheck_config_language", "params": { "language": "Ruby" } } ], "max_points": 45 }, { "key": "manageable_file_sizes", "name": "Manageable file sizes", "detail": "0/99 source files over 60KB", "points": 55, "status": "met", "details": [ { "code": "oversized_source_files", "params": { "kb": 60, "sampled": 99, "oversized": 0 } } ], "max_points": 55 } ] } ], "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score." } ], "metrics_version": "1.13.0" }, "warnings": [], "report_type": "repository", "generated_at": "2026-07-22T00:57:20.497622Z", "schema_version": "0.26.0", "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/h/heartcombo/simple_form.svg", "full_name": "heartcombo/simple_form", "license_state": "standard", "license_spdx": "MIT" }, "repoMeta": null, "notFound": false, "related": [ { "id": 273, "full_name": "rails/rails", "url": "https://github.com/rails/rails", "description": "Ruby on Rails", "ecosystem": "npm", "ecosystems": [ "npm", "rubygems" ], "primary_language": "Ruby", "languages": [ "Ruby" ], "topics": [ "rails", "mvc", "html", "activerecord", "activejob", "ruby", "framework", "websockets", "actioncable" ], "license_spdx": "MIT", "license_state": "standard", "stars": 58641, "forks": 22363, "watchers": 2334, "monthly_downloads": 12634223, "latest_score": 86, "latest_band": "excellent", "latest_scanned_at": "2026-07-21T23:15:52.789308Z", "has_high_risk_jurisdiction_exposure": false, "has_malicious_dependency": false, "growth_authenticity": "organic", "abandonment_state": "maintained", "red_flags": [], "badge_url": "" }, { "id": 27759, "full_name": "chatwoot/chatwoot", "url": "https://github.com/chatwoot/chatwoot", "description": "Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬", "ecosystem": "npm", "ecosystems": [ "npm", "rubygems" ], "primary_language": "Ruby", "languages": [ "Ruby", "Vue", "JavaScript" ], "topics": [ "vuejs", "intercom", "zendesk", "rails", "design", "sass", "actioncable", "opensource", "livechat", "javascript", "docker", "docker-image", "heroku", "conversation", "customer-support", "whatsapp", "chat-widget", "dashboard", "ruby" ], "license_spdx": null, "license_state": "custom", "stars": 34574, "forks": 8243, "watchers": 279, "monthly_downloads": null, "latest_score": 86, "latest_band": "excellent", "latest_scanned_at": "2026-07-20T11:57:10.051267Z", "has_high_risk_jurisdiction_exposure": false, "has_malicious_dependency": false, "growth_authenticity": "unverified", "abandonment_state": "unverified", "red_flags": [], "badge_url": "" }, { "id": 32156, "full_name": "openfoodfoundation/openfoodnetwork", "url": "https://github.com/openfoodfoundation/openfoodnetwork", "description": "Connect suppliers, distributors and consumers to trade local produce.", "ecosystem": "npm", "ecosystems": [ "npm", "rubygems" ], "primary_language": "Ruby", "languages": [ "Ruby" ], "topics": [ "food", "ruby", "food-hubs", "rails", "farmers", "sustainable-consumption", "nonprofit", "hacktoberfest" ], "license_spdx": "AGPL-3.0", "license_state": "standard", "stars": 1258, "forks": 794, "watchers": 68, "monthly_downloads": null, "latest_score": 85, "latest_band": "excellent", "latest_scanned_at": "2026-07-21T07:29:17.910989Z", "has_high_risk_jurisdiction_exposure": false, "has_malicious_dependency": false, "growth_authenticity": "organic", "abandonment_state": "unverified", "red_flags": [], "badge_url": "" }, { "id": 27828, "full_name": "solidusio/solidus", "url": "https://github.com/solidusio/solidus", "description": "🛒 Solidus, the open-source eCommerce framework for industry trailblazers.", "ecosystem": "rubygems", "ecosystems": [ "rubygems" ], "primary_language": "Ruby", "languages": [ "Ruby", "HTML" ], "topics": [ "solidus", "ruby", "rails", "storefront", "ecommerce", "ecommerce-platform", "ecommerce-framework", "hacktoberfest" ], "license_spdx": null, "license_state": "custom", "stars": 5318, "forks": 1397, "watchers": 113, "monthly_downloads": null, "latest_score": 85, "latest_band": "excellent", "latest_scanned_at": "2026-07-20T12:16:01.138242Z", "has_high_risk_jurisdiction_exposure": false, "has_malicious_dependency": false, "growth_authenticity": "unverified", "abandonment_state": "unverified", "red_flags": [], "badge_url": "" }, { "id": 2193, "full_name": "activeadmin/activeadmin", "url": "https://github.com/activeadmin/activeadmin", "description": "The administration framework for Ruby on Rails applications.", "ecosystem": "npm", "ecosystems": [ "npm", "rubygems" ], "primary_language": "Ruby", "languages": [ "Ruby", "Gherkin" ], "topics": [ "ruby", "activeadmin", "arbre", "rails", "admin-ui", "administration", "administrative" ], "license_spdx": "MIT", "license_state": "standard", "stars": 9705, "forks": 3324, "watchers": 178, "monthly_downloads": 337262, "latest_score": 85, "latest_band": "excellent", "latest_scanned_at": "2026-07-22T01:19:56.119134Z", "has_high_risk_jurisdiction_exposure": false, "has_malicious_dependency": false, "growth_authenticity": "organic", "abandonment_state": "maintained", "red_flags": [], "badge_url": "" }, { "id": 31661, "full_name": "primer/view_components", "url": "https://github.com/primer/view_components", "description": "ViewComponents for the Primer Design System", "ecosystem": "npm", "ecosystems": [ "npm", "rubygems" ], "primary_language": "Ruby", "languages": [ "Ruby", "CSS" ], "topics": [ "viewcomponents", "primer", "ruby", "rails", "design-system", "viewcomponent", "view-components", "components", "library" ], "license_spdx": "MIT", "license_state": "standard", "stars": 579, "forks": 140, "watchers": 9, "monthly_downloads": 136442, "latest_score": 84, "latest_band": "good", "latest_scanned_at": "2026-07-21T05:47:03.298211Z", "has_high_risk_jurisdiction_exposure": false, "has_malicious_dependency": false, "growth_authenticity": "organic", "abandonment_state": "unverified", "red_flags": [], "badge_url": "" } ] } }
Forms made easy for Rails! It's tied to a simple DSL, with no opinion on markup.
heartcombo/simple_form holds a health index of 63 out of 100, placing it in the Moderate band. It scores highest on Community & Adoption (91/100) and lowest on AI Readiness (34/100). It was last updated 111 days ago. 2 contributors account for most of its recent work.
Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At risk ceiling of 49. AI Readiness sits outside the overall score.
Each axis is a category. The shape matters more than the average — a healthy subject fills the whole shape, while a spike-and-crater profile means strength in one dimension is masking risk in another.
This repository is backed by an organization — shared, accountable stewardship that can outlive any single maintainer.
| Registry | Package | Version | Downloads / mo | Versions | Last publish |
|---|---|---|---|---|---|
| RubyGems | simple_form | 5.4.1 | - | 63 | 197 days ago |
Is the project alive — is code being written and are releases shipping?
| 9.9/36 | Push recency — last push 111 days ago |
| 7.6/36 | Commit cadence — 11/52 weeks with commits |
| 13.4/18 | Commit volume — 30 commits in the last year |
| 0/10 | OpenSSF Scorecard: Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0 |
| commits_last_year | 30 |
| human_commit_share | 1 |
| days_since_last_push | 111 |
| active_weeks_last_year | 11 |
| 27/27 | Ships releases — 14 releases published |
| 16.2/36 | Release recency — latest release 197 days ago |
| 12.6/27 | Release cadence — a release every ~309.8 days |
| 0/10 | OpenSSF Scorecard: Signed-Releases — no data |
| releases_count | 14 |
| latest_release_tag | v5.4.1 |
| releases_from_tags | no |
| days_since_latest_release | 197 |
| mean_days_between_releases | 309.8 |
Does the project have users, downloads, attention, and a welcoming setup for contributors?
| 60/60 | Stars — 8,231 stars |
| 25/25 | Forks — 1,298 forks |
| 12.1/15 | Watchers — 150 watchers |
| forks | 1,298 |
| stars | 8,231 |
| watchers | 150 |
| growth_state | organic |
| growth_factor_pct | 100 |
| 22.5/22.5 | README |
| 22.5/22.5 | License — recognized license (MIT) |
| 18/18 | CONTRIBUTING guide |
| 0/13.5 | Code of conduct |
| 7.2/7.2 | Issue template |
| 0/6.3 | PR template |
| has_readme | yes |
| has_license | yes |
| has_contributing | yes |
| has_issue_template | yes |
| has_code_of_conduct | no |
| has_pull_request_template | no |
| 80/80 | Total downloads — 95,931,058 downloads all-time across rubygems |
| 0/20 | Registry dependents — not reported by this ecosystem |
| packages | simple_form |
| dependents | — |
| ecosystems | rubygems |
| total_downloads | 95,931,058 |
| monthly_downloads | — |
Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?
| 25.2/54 | Bus factor — 2 contributor(s) cover half of all commits |
| 16.3/22.5 | Commit distribution — top contributor authored 28% of commits |
| 13.5/13.5 | Contributor breadth — 100 contributors |
| 10/10 | OpenSSF Scorecard: Contributors — project has 47 contributing companies or organizations |
| bus_factor | 2 |
| contributors_sampled | 100 |
| top_contributor_share | 0.275 |
| 45.9/46.8 | Issue resolution — 98% of issues closed |
| 22.3/38.3 | PR acceptance — 359/615 decided PRs merged |
| 1.5/15 | OpenSSF Scorecard: Code-Review — Found 3/25 approved changesets -- score normalized to 1 |
| merged_prs | 359 |
| open_issues | 24 |
| closed_issues | 1,214 |
| issue_closed_ratio | 0.981 |
| closed_unmerged_prs | 256 |
| 30/30 | Ownership backing — organization-owned |
| 0/20 | Verified domain |
| 15.7/25 | Owner reach — 154 followers of heartcombo |
| 18.9/25 | Track record — 8 public repos, account ~6 yr old |
| followers | 154 |
| owner_type | Organization |
| is_verified | — |
| owner_login | heartcombo |
| public_repos | 8 |
| account_age_days | 2,388 |
| 25/25 | Published & resolvable — 1 package(s) on rubygems |
| 26/35 | Publish recency — latest publish 197 days ago |
| 20/20 | Version history — 63 published versions |
| 20/20 | Not deprecated — active, not deprecated or yanked |
| packages | simple_form |
| ecosystems | rubygems |
| any_deprecated | no |
| min_days_since_publish | 197 |
Are baseline engineering and documentation practices in place?
| 24/24 | CI workflows — 1 workflow(s) |
| 24/24 | Tests present |
| 0/16 | Linter config |
| 0/9.6 | Pre-commit hooks |
| 0/6.4 | .editorconfig |
| 16/20 | OpenSSF Scorecard: CI-Tests — 4 out of 5 merged PRs checked by a CI test -- score normalized to 8 |
| has_ci | yes |
| has_tests | yes |
| has_editorconfig | no |
| has_linter_config | no |
| has_precommit_config | no |
| 30/30 | README |
| 0/25 | Documentation directory |
| 0/15 | Documentation / homepage site |
| 10/10 | Repository description |
| 10/10 | Topics — 5 topics |
| 10/10 | Wiki |
| topics | form-builder, rails-helper, ruby, rails, dsl |
| has_wiki | yes |
| homepage | — |
| has_readme | yes |
| has_docs_dir | no |
| has_description | yes |
Are visible security and supply-chain practices strong, without unresolved high-risk jurisdiction exposure?
| 7.5/7.5 | Binary-Artifacts — no binaries found in the repo |
| 0/7.5 | Branch-Protection — branch protection not enabled on development/release branches |
| 2/2.5 | CI-Tests — 4 out of 5 merged PRs checked by a CI test -- score normalized to 8 |
| 0/2.5 | CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected |
| 0.8/7.5 | Code-Review — Found 3/25 approved changesets -- score normalized to 1 |
| 2.5/2.5 | Contributors — project has 47 contributing companies or organizations |
| 10/10 | Dangerous-Workflow — no dangerous workflow patterns detected |
| 0/7.5 | Dependency-Update-Tool — no update tool detected |
| 0/5 | Fuzzing — project is not fuzzed |
| 2.5/2.5 | License — license file detected |
| 0/7.5 | Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0 |
| 0/5 | Packaging — no data |
| 0/5 | Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0 |
| 0.5/5 | SAST — SAST tool is not run on all commits -- score normalized to 1 |
| 0/5 | Security-Policy — security policy file not detected |
| 0/7.5 | Signed-Releases — no data |
| 7.5/7.5 | Token-Permissions — GitHub workflow tokens follow principle of least privilege |
| 0/7.5 | Vulnerabilities — 32 existing vulnerabilities detected |
| source | openssf_scorecard |
| checks_evaluated | 16 |
| scorecard_version | v5.5.0 |
| checks_inconclusive | 2 |
| scorecard_aggregate | 3.6 |
| 35/35 | Direct dependencies free of known advisories — no direct dependency carries a known advisory |
| 0/25 | Indirect dependencies free of known advisories — transitive set not separable from development and test dependencies in this scope |
| 0/40 | No advisories left outstanding — no advisory carries a publication date |
| source | osv |
| advisories | 32 |
| affected_packages | 7 |
| assessed_packages | 49 |
| unassessed_packages | 6 |
| affected_by_severity | critical 1, high 4, moderate 1, low 1 |
| direct_affected_packages | 0 |
How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score.
| 0/45 | Agent instructions — no CLAUDE.md / AGENTS.md / editor rules |
| 0/15 | Machine-readable docs (llms.txt) |
| 26.7/40 | Legible commit history — 50 of 100 human commits state their intent (structured subject or explanatory body) |
| has_llms_txt | no |
| legible_history_share | 0.5 |
| agent_instruction_files | — |
| agent_instruction_max_bytes | — |
| 0/18 | One-command bootstrap |
| 22/22 | Automated tests |
| 0/11 | Lint / format config |
| 0/11 | Static type checking |
| 10/10 | Reproducible environment — lockfile |
| 0/10 | Demonstrated agent practice — no agent-authored commits among the last 100 |
| 0/8 | Automated maintenance — no automated dependency updates observed |
| 0/10 | OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0 |
| has_nix | no |
| has_tests | yes |
| lockfiles | Gemfile.lock |
| has_dockerfile | no |
| typed_language | no |
| bootstrap_files | — |
| has_devcontainer | no |
| has_linter_config | no |
| typecheck_configs | — |
| agent_commit_share | 0 |
| toolchain_manifests | — |
| dependency_bot_commit_share | 0 |
| 0/45 | Type-checkable code — Ruby without a type-check config |
| 55/55 | Manageable file sizes — 0/99 source files over 60KB |
| primary_language | Ruby |
| largest_source_bytes | 29,222 |
| source_files_sampled | 99 |
| oversized_source_files | 0 |
When each star and fork was added, collected from GitHub and bucketed by day. Cumulative growth sits directly above the daily additions it is made of, so the two read against each other: steady organic accretion looks nothing like an abrupt, short-lived burst. Where that difference is measurable, it is reported as growth authenticity.
Only the most recent history is shown — this repository exceeds the collection window, so the earliest history is not captured.
Each point covers 13 days.
Independent, tool-agnostic security assessment from the open-source OpenSSF Scorecard. Each check rewards a security practice, not a specific vendor's tool. Checks Scorecard could not determine are marked n/a and excluded from the security score (never counted as zero).
| 10 | Binary-Artifacts | no binaries found in the repo |
| 0 | Branch-Protection | branch protection not enabled on development/release branches |
| 8 | CI-Tests | 4 out of 5 merged PRs checked by a CI test -- score normalized to 8 |
| 0 | CII-Best-Practices | no effort to earn an OpenSSF best practices badge detected |
| 1 | Code-Review | Found 3/25 approved changesets -- score normalized to 1 |
| 10 | Contributors | project has 47 contributing companies or organizations |
| 10 | Dangerous-Workflow | no dangerous workflow patterns detected |
| 0 | Dependency-Update-Tool | no update tool detected |
| 0 | Fuzzing | project is not fuzzed |
| 10 | License | license file detected |
| 0 | Maintained | 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0 |
| n/a | Packaging | packaging workflow not detected |
| 0 | Pinned-Dependencies | dependency not pinned by hash detected -- score normalized to 0 |
| 1 | SAST | SAST tool is not run on all commits -- score normalized to 1 |
| 0 | Security-Policy | security policy file not detected |
| n/a | Signed-Releases | no releases found |
| 10 | Token-Permissions | GitHub workflow tokens follow principle of least privilege |
| 0 | Vulnerabilities | 32 existing vulnerabilities detected |
| Registry | Package | Version constraint | Manifest |
|---|---|---|---|
| RubyGems | activemodel | ~> 8.1.0 | Gemfile |
| RubyGems | actionpack | ~> 8.1.0 | Gemfile |
| RubyGems | railties | ~> 8.1.0 | Gemfile |
Full resolved dependency set from the GitHub dependency graph: 5 direct and 50 indirect (transitive) packages. The transitive closure is complete when the repository commits a lockfile.
| Registry | Package | Version | Relation |
|---|---|---|---|
| RubyGems | actionpack | — | direct |
| RubyGems | actionpack | 8.1.3 | direct |
| RubyGems | activemodel | — | direct |
| RubyGems | activemodel | 8.1.3 | direct |
| RubyGems | railties | 8.1.3 | direct |
| RubyGems | actionview | 8.1.3 | indirect |
| RubyGems | activesupport | 8.1.3 | indirect |
| RubyGems | base64 | 0.3.0 | indirect |
| RubyGems | bigdecimal | 4.0.1 | indirect |
| RubyGems | builder | 3.3.0 | indirect |
| RubyGems | concurrent-ruby | 1.3.6 | indirect |
| RubyGems | connection_pool | 3.0.2 | indirect |
| RubyGems | countries | 8.1.0 | indirect |
| RubyGems | country_select | — | indirect |
| RubyGems | country_select | 11.0.0 | indirect |
| RubyGems | crass | 1.0.6 | indirect |
| RubyGems | date | 3.5.1 | indirect |
| RubyGems | drb | 2.2.3 | indirect |
| RubyGems | erb | 6.0.2 | indirect |
| RubyGems | erubi | 1.13.1 | indirect |
| RubyGems | i18n | 1.14.8 | indirect |
| RubyGems | io-console | 0.8.2 | indirect |
| RubyGems | irb | 1.17.0 | indirect |
| RubyGems | json | 2.19.3 | indirect |
| RubyGems | logger | 1.7.0 | indirect |
| RubyGems | loofah | 2.25.1 | indirect |
| RubyGems | mini_portile2 | 2.8.9 | indirect |
| RubyGems | minitest | — | indirect |
| RubyGems | minitest | 5.27.0 | indirect |
| RubyGems | nokogiri | 1.19.2 | indirect |
| RubyGems | pp | 0.6.3 | indirect |
| RubyGems | prettyprint | 0.2.0 | indirect |
| RubyGems | prism | 1.9.0 | indirect |
| RubyGems | psych | 5.3.1 | indirect |
| RubyGems | racc | 1.8.1 | indirect |
| RubyGems | rack | 3.2.5 | indirect |
| RubyGems | rack-session | 2.1.1 | indirect |
| RubyGems | rack-test | 2.2.0 | indirect |
| RubyGems | rackup | 2.3.1 | indirect |
| RubyGems | rails-dom-testing | 2.3.0 | indirect |
| RubyGems | rails-html-sanitizer | 1.7.0 | indirect |
| RubyGems | rake | — | indirect |
| RubyGems | rake | 13.3.1 | indirect |
| RubyGems | rdoc | — | indirect |
| RubyGems | rdoc | 7.2.0 | indirect |
| RubyGems | reline | 0.6.3 | indirect |
| RubyGems | securerandom | 0.4.1 | indirect |
| RubyGems | stringio | 3.2.0 | indirect |
| RubyGems | thor | 1.5.0 | indirect |
| RubyGems | tsort | 0.2.0 | indirect |
| RubyGems | tzinfo | 2.0.6 | indirect |
| RubyGems | unaccent | 0.4.0 | indirect |
| RubyGems | uri | 1.1.1 | indirect |
| RubyGems | useragent | 0.16.11 | indirect |
| RubyGems | zeitwerk | 2.7.5 | indirect |
This repository publishes no package the index resolves, so its own dependency graph was assessed — 49 packages, which also include development and test pins that never ship: 7 carry known advisories, of which 0 are direct. 6 could not be assessed — no resolved version, an unsupported ecosystem, or beyond the reported package list.
| Package | Version | Relation | Severity | Advisories | Fixed in |
|---|---|---|---|---|---|
| rack-session | 2.1.1 | indirect | critical | 1 | 2.1.2 |
| concurrent-ruby | 1.3.6 | indirect | high | 3 | 1.3.7 |
| erb | 6.0.2 | indirect | high | 1 | 6.0.4 |
| nokogiri | 1.19.2 | indirect | high | 10 | 1.19.4 |
| rack | 3.2.5 | indirect | high | 13 | 3.2.6 |
| loofah | 2.25.1 | indirect | moderate | 3 | 2.25.2 |
| rails-html-sanitizer | 1.7.0 | indirect | low | 1 | 1.7.1 |
An advisory means the version recorded in the dependency graph falls inside an advisory’s affected range. Reachability is not analysed, and the graph includes development and test pins — a finding may concern tooling rather than shipped software.
{
"data": {
"repo": {
"topics": [
"form-builder",
"rails-helper",
"ruby",
"rails",
"dsl"
],
"is_fork": false,
"size_kb": 2877,
"has_wiki": true,
"homepage": null,
"languages": {
"HTML": 497,
"Haml": 408,
"Ruby": 385790,
"Slim": 373
},
"pushed_at": "2026-04-01T23:20:59Z",
"created_at": "2009-12-28T14:23:48Z",
"owner_type": "Organization",
"updated_at": "2026-07-06T23:47:24Z",
"description": "Forms made easy for Rails! It's tied to a simple DSL, with no opinion on markup.",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "Ruby",
"significant_languages": [
"Ruby"
]
},
"owner": {
"blog": null,
"name": null,
"type": "Organization",
"login": "heartcombo",
"company": null,
"location": null,
"followers": 154,
"avatar_url": "https://avatars.githubusercontent.com/u/59584037?v=4",
"created_at": "2020-01-06T22:13:20Z",
"is_verified": null,
"public_repos": 8,
"account_age_days": 2388
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v5.4.1",
"kind": "patch",
"published_at": "2026-01-05T13:07:49Z"
},
{
"tag": "v5.4.0",
"kind": "minor",
"published_at": "2025-10-24T14:51:06Z"
},
{
"tag": "v5.3.0",
"kind": "minor",
"published_at": "2023-10-11T22:05:50Z"
},
{
"tag": "v5.2.0",
"kind": "minor",
"published_at": "2023-01-29T13:25:34Z"
},
{
"tag": "v5.1.0",
"kind": "minor",
"published_at": "2021-02-09T12:16:13Z"
},
{
"tag": "v5.0.2",
"kind": "patch",
"published_at": "2020-02-06T19:00:39Z"
},
{
"tag": "v5.0.1",
"kind": "patch",
"published_at": "2019-10-04T14:44:40Z"
},
{
"tag": "v5.0.0",
"kind": "major",
"published_at": "2019-09-27T20:05:51Z"
},
{
"tag": "v4.1.0",
"kind": "minor",
"published_at": "2018-11-22T22:16:32Z"
},
{
"tag": "v4.0.1",
"kind": "patch",
"published_at": "2018-05-18T22:33:09Z"
},
{
"tag": "v4.0.0",
"kind": "major",
"published_at": "2018-04-11T12:54:04Z"
},
{
"tag": "v3.5.1",
"kind": "patch",
"published_at": "2018-02-15T21:14:09Z"
},
{
"tag": "v3.1.0.rc2",
"kind": "other",
"published_at": "2014-07-08T00:39:49Z"
},
{
"tag": "v3.0.0",
"kind": "major",
"published_at": "2013-09-21T15:10:25Z"
}
],
"recent_commits": [
{
"oid": "18f38aad0bdeca2ba1815043b94d96fdbbe6a325",
"body": "…1864)\n\nSimpleForm will render errors marked as HTML-safe as-is, without\nescaping them, so you can include HTML in model errors and they will be\nrendered just fine.\n\nYou can also pass HTML to the error/full_error components and if they're\nmarked `html_safe` they'll be rendered as-is as well, without\n[…]\n will automatically mark them as safe,\nbut models don't have that, and translation of errors is a Rails\nconcern, not a SimpleForm concern.\n\nCloses https://github.com/heartcombo/simple_form/issues/1863",
"is_bot": false,
"headline": "Document and expand tests about error rendering behavior with HTML (#…",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2026-04-01T23:20:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f28f208c2e429a7d094f4594e600b575e9181346",
"body": null,
"is_bot": false,
"headline": "Bundle update",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2026-03-27T12:49:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "55bec8024c3b9e7490e48fd127ae66cc122ff9a9",
"body": null,
"is_bot": false,
"headline": "Bundle update",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2026-03-13T12:57:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "652597396db3f9b667a9b8ada87c2f28d6c93ed0",
"body": null,
"is_bot": false,
"headline": "Configure default permissions as read-only for the workflow",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2026-03-13T12:57:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "24b49c466af00fb0d905265f214cff443945958d",
"body": "Build pushes to the main branch and open PRs, but not pushes to other\nbranches. Allow workflow_dispatch to build them manually if we want to.",
"is_bot": false,
"headline": "Stop building both branch & PR with pushes",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2026-03-13T12:56:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ed28ad9d7fdafec3c431b9cb5bdf2b6c3a92e0a",
"body": null,
"is_bot": false,
"headline": "Ignore test/** folder for GH default code scanning",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2026-03-13T12:56:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "91c4fe0ccde53292e248743a1de8c4f9ae9229ad",
"body": "No longer want to point to the app if it can go down, let the repo point\nto a deployed app if any exist, and SimpleForm will point to the repo.\n\n[ci skip]",
"is_bot": false,
"headline": "Update bootstrap install readme to point to app repo",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2026-02-13T13:31:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef36ed0c58b4b11406a8891b0f0ce255447195dc",
"body": "Additionally:\n- Use https where possible\n- Fix 404s to Foundation docs\n- Remove the link to a legacy example application hosted on Heroku",
"is_bot": false,
"headline": "Use svg badge (#1860)",
"author_name": "Geremia Taglialatela",
"author_login": "tagliala",
"committed_at": "2026-02-13T13:28:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2df5c7df85e0ae01d1bd781df9b3689828a15713",
"body": null,
"is_bot": false,
"headline": "Release v5.4.1",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2026-01-05T13:06:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f231160157a20f9b579f5b813f35db7261241c09",
"body": null,
"is_bot": false,
"headline": "Stop updating copyright every year [ci skip]",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2026-01-05T13:02:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "55e66f1db6248890e868f4159e8a0fe61dec2fd2",
"body": "It dropped support to Ruby 3.2 which is expected to be EOL by\n2026-03-31.",
"is_bot": false,
"headline": "Exclude Rails main + Ruby 3.2",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2026-01-05T12:38:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9dce1a071eb876ed756d254186d8ea6a9e3e6725",
"body": "Devise changed their password validations to use a proc for\nminimum/maximum for additional customization, but that apparently broke\nSimpleForm minlength/maxlength logic since it wasn't handling that.\n\nInstead of implementing it custom by checking for the value responding\nto `call` like we do for a c\n[…]\ne` implementation across\nthe board, so other validations like numericality and format apply the\nsame logic to better match Rails behavior.\n\nCloses https://github.com/heartcombo/simple_form/issues/1858",
"is_bot": false,
"headline": "Handle length validator with procs, improve validators support (#1859)",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2026-01-05T12:28:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "584127a00bfe027ff5fb779fa11f859045d5ae9f",
"body": "https://www.ruby-lang.org/en/news/2025/12/25/ruby-4-0-0-released/",
"is_bot": false,
"headline": "Test with Ruby 4.0",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2025-12-29T19:13:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c13176ea1ae41ac3fc486f7b569bc16a6102d4d2",
"body": null,
"is_bot": false,
"headline": "Make rdoc a dev dependency on the gemspec",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2025-12-29T19:13:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef3e121e512b0ab5ed8aadd4ee6a43f5c263e1f9",
"body": "Lock minitest < 6 since v6 has some incompatibilities with released\nversions of Rails that will be fixed in future versions.\n\nThis is something I didn't run into a few other gems, but SimpleForm\ndid, presumabily because it touches additional areas like AV tests.",
"is_bot": false,
"headline": "Bundle update",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2025-12-29T19:13:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "44384d3ca7c77aef1e56d965b22197af62a80c5f",
"body": "Rails just released v7.0.10 which contains the fixes for Ruby 3.4 we\nneeded to get the build green, so no need to point to GH anymore.\n\nhttps://rubyonrails.org/2025/10/29/new-rails-releases-and-end-of-support-announcement\n\nNote that v7.0 has reached EOL for a while now.",
"is_bot": false,
"headline": "Test with the released version of v7.0",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2025-10-29T11:48:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ac606d70f8dccf03db0109222ebf42c647d7c1c8",
"body": null,
"is_bot": false,
"headline": "Add version to changelog (oops!) [ci skip]",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2025-10-24T14:50:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9e7c934f090f37067142801ce588b83e0c61776f",
"body": null,
"is_bot": false,
"headline": "Release v5.4.0",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2025-10-24T14:48:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c497d2fbf1ec9ab23d35eb3de9555a1c26523a6f",
"body": null,
"is_bot": false,
"headline": "Expand changelog [ci skip]",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2025-10-24T14:47:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8b3e5cc89ac1ebb61386555ab0634bb4a02d0c7e",
"body": null,
"is_bot": false,
"headline": "Update to test with Rails v8.1.0 final",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2025-10-24T14:22:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b930f9d2d7b0ae60f2c594b27ea4310f6dc8ec27",
"body": null,
"is_bot": false,
"headline": "Update to test with Rails v8.1.0.rc1",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2025-10-16T13:07:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2f5d481eba855d764380fd325720a369e3429d14",
"body": "Improve test descriptions for disabled select / options on collection\nselect input.",
"is_bot": false,
"headline": "Expand collection select input test with multiple disabled options",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2025-10-09T20:35:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a12f4b75878986e52b784792dec34d4720e027f1",
"body": "Fix typos [ci skip]",
"is_bot": false,
"headline": "Merge pull request #1849 from tagliala/chore/fix-typos",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2025-10-09T20:31:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "74b9c684f9809720d1527b50fe20b2bf57438b94",
"body": "Update Ruby/Rails support\n\n* Add support for Ruby 3.4 and Rails 7.2/8.0/8.1. (no changes required)\n* Drop support for Rails < 7 and Ruby < 2.7.",
"is_bot": false,
"headline": "Merge pull request #1845 from heartcombo/drop-old-rubies",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2025-10-03T17:58:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fee331e8cbca0cc6b84b42232210d6b04160c1ef",
"body": "So it can be properly linked and we don't need to add it to each gemfile.",
"is_bot": false,
"headline": "Make country_select a development dependency on the gemspec",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2025-10-03T17:56:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6f866e0b0a5b7adf2b1aaa097a41f8b1c7632a83",
"body": "They changed to use an `<hr>` element now rather than a disabled option\nwith `-` as separator.\n\nhttps://github.com/countries/country_select/pull/229",
"is_bot": false,
"headline": "Fix country_select tests looking for separator option",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2025-10-03T17:50:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "651f119e6f8369f15fdcd109a3498c547b47b6a1",
"body": null,
"is_bot": false,
"headline": "Remove more extraneous version checks",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2025-10-03T17:37:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8aca05e4b7eda577b987d84a20f2fa9e1e8b84b8",
"body": "* Add support for Ruby 3.4 and Rails 7.2/8.0/8.1.\n* Drop support for Rails < 7 and Ruby < 2.7.",
"is_bot": false,
"headline": "Update Ruby/Rails support",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2025-10-03T15:55:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "de57a91b2ac7c64e2d57abbe23bbe31a3f947885",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' into drop-old-rubies",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2025-10-03T15:50:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "006cf5de2efe82b06049353b571e126269ef595f",
"body": null,
"is_bot": false,
"headline": "Cleanup readme, update copyright, use new email [ci skip]",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2025-10-03T15:44:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "57f20d6bc6924a8c8f570b15c27d617e82c3de2f",
"body": "Found with `codespell`, plus manual fixes",
"is_bot": false,
"headline": "Fix typos",
"author_name": "Geremia Taglialatela",
"author_login": "tagliala",
"committed_at": "2024-08-22T16:52:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c2c7faf3e532072e1ef511a97d677ae0e7c38957",
"body": "…tes_improperly_casted\n\nFix encrypted attributes improperly casted",
"is_bot": false,
"headline": "Merge pull request #1836 from Michaelvilleneuve/fix_encrypted_attribu…",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2024-07-12T13:03:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4c43a75f0b0352913261217b0bfa03e009022a41",
"body": "Add weekday select input.",
"is_bot": false,
"headline": "Merge pull request #1846 from heartcombo/weekday-input",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2024-07-12T11:50:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "14b6b2e5fd8cf849508dd816d0239bbc1adeaa0c",
"body": "Closes https://github.com/heartcombo/simple_form/issues/1770",
"is_bot": false,
"headline": "Add weekday input.",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2024-07-12T11:45:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "627575cadda2d5df3fb8ef099729a3bdb2c5d2bd",
"body": null,
"is_bot": false,
"headline": "Drop support for Ruby < 2.7 and Rails < 6.0",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2024-06-30T10:43:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "246c7977a96d5a04434f7d186f4099f88f45f359",
"body": "…rror.\n\nFollow up of https://github.com/heartcombo/simple_form/pull/1812",
"is_bot": false,
"headline": "Pass form object to human_attribute_name when it's called from full_e…",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2024-06-26T08:51:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b8abb1bad18a0d852ebec9558b4f6352570dd02e",
"body": "Pass base object to `human_attribute_name` for labels",
"is_bot": false,
"headline": "Merge pull request #1812 from motine/pass-base-to-i18n",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2024-06-25T20:37:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "33b1c546a97a21f87ca9d56148b129b773c67375",
"body": "Improve docs on Non Active Record",
"is_bot": false,
"headline": "Merge pull request #1839 from abinoam/improve_docs_on_non_ar",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2024-06-25T18:55:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "62149be7f093ed67cdb23a5a7a4eaaee6946b9b8",
"body": "closes https://github.com/heartcombo/simple_form/pull/1793",
"is_bot": false,
"headline": "Add `rich_text_area` to list of mappings in README",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2024-06-24T19:02:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef9f350e829d3df521a119d53be1ef73b606a00c",
"body": "Integrate `:rich_text_area` with placeholders",
"is_bot": false,
"headline": "Merge pull request #1842 from seanpdoyle/rich-text-area-placeholder",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2024-06-24T09:17:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "824d17914794c137782e697ef4c9bbad8527f081",
"body": null,
"is_bot": false,
"headline": "Move changelog to unreleased section [ci skip]",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2024-06-21T13:43:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c439da934e3cde005e83483320f3c12060b27d58",
"body": "The reason is that the fields are already assigned the required attribute which would be used by assistive technology to convey the field requirement",
"is_bot": false,
"headline": "Remove aria-required for required fields in HTML5 (#1823)",
"author_name": "Andrew Duthie",
"author_login": "aduth",
"committed_at": "2024-06-21T13:39:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1217d049778d444b421f3334fd702d7993969233",
"body": "Trix (the rich text editor that's rendered by Action View's form\nbuilder) has supported the `[placeholder]` attribute since at least\nversion [0.9.0][] (and continues to support it in [2.1.1][].\n\nThis commit enables `:placeholder` support in the\n`SimpleForm::Inputs::RichTextAreaInput` class to transf\n[…]\nHTML\nattributes.\n\n[0.9.0]: https://github.com/basecamp/trix/tree/0.9.0?tab=readme-ov-file#creating-an-editor\n[2.1.1]: https://github.com/basecamp/trix/tree/v2.1.1?tab=readme-ov-file#creating-an-editor",
"is_bot": false,
"headline": "Integrate `:rich_text_area` with placeholders",
"author_name": "Sean Doyle",
"author_login": "seanpdoyle",
"committed_at": "2024-06-06T13:27:05Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d3a594920a14a692836392b5a7c0cd4708e25cb3",
"body": null,
"is_bot": false,
"headline": "Release v5.3.1",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2024-05-24T14:44:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "406847d78e4c38d2315d550f982c447b5d947ee9",
"body": null,
"is_bot": false,
"headline": "Update GH action to checkout v4",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2024-05-24T14:42:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ba02a8b62015359abbed26ce7931116cb5c56c8f",
"body": "The check is slightly different but should work for our purposes here.\n\nUsing `end_with?(mapping)` to keep a similar check doesn't work because\nsome Ruby versions include \"did you mean\", which make the error message\nlook something like this:\n\n NameError: uninitialized constant StringInput\n\n \n[…]\n^^^^^^^^\n Did you mean? StringInputTest\n\nThe regexp check worked because it was matching the end of the line, not\nend of string, with `$`, so it'd match the first line of the error\nmessage always.",
"is_bot": false,
"headline": "Avoid creating multiple regexp objects",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2024-05-24T14:41:26Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ae12516978a07b75bb3f929829170b7f5716f53c",
"body": "This reverts commit b6ae67d28599b3c676b670e23e478063aba14cf6, reversing\nchanges made to 0ef4a58daae41ab091d25ac1dc3fb4ede35743b1.\n\nThis caused custom inputs to not load properly on non-eager load\nenvironments like dev/test, because those constants may not have been\ndefined yet.\n\nThe previous code would try to constantize them and force-load the\nlazily-loaded files/constants, the new code breaks that behavior, so\nwe're reverting.\n\nCloses #1824, see for more info.",
"is_bot": false,
"headline": "Revert \"Merge pull request #1810 from meanphil/mappings-slow-exception\"",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2024-05-14T21:37:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4387c28361c38561fd6a7fec91be1f34950e2182",
"body": null,
"is_bot": false,
"headline": "Improve docs on Non Active Record",
"author_name": "Abinoam P. Marques Jr",
"author_login": "abinoam",
"committed_at": "2024-04-14T23:58:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bad4ce04c4a9cc6e54b148620045ee8a4ba652db",
"body": null,
"is_bot": false,
"headline": "Bump year [ci skip]",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2024-04-09T19:57:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5103d7d1c68f8c169c8d159a40742edd27eeea85",
"body": "Rails main changed `object` to be `false` instead of `nil`, causing the\nspecific check we were doing for `object.nil?` to fail, and the custom\nerrors were not displaying for forms without an object. Our test suite\ncaught that, and the fix is to simply not check specifically for `nil?`,\nbut just whet\n[…]\nity, probably not something worth\nchanging the framework for, but one worth mentioning.\n\nSource is likely to be:\n- https://github.com/rails/rails/pull/49943\n- https://github.com/rails/rails/pull/50931",
"is_bot": false,
"headline": "Fix error component without object on Rails main to display properly",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2024-04-09T19:33:45Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "416894aab486fd7bf51e6e24738795fb439165f9",
"body": null,
"is_bot": false,
"headline": "No need to `send` anymore, `include` is public",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2024-04-09T19:30:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "24c5cd46cc4e9855bc8978b703b6cb63536ad60a",
"body": "Exclude previous Ruby versions from running against Rails main, since it\nonly supports Ruby 3.1+ now.",
"is_bot": false,
"headline": "Add support to Ruby 3.3 (no changes required)",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2024-04-09T18:12:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae5fd7cb876086674e1b82f63ac0e6850b5fb276",
"body": "Note that we need to keep Nokogiri on v1.15.6 and Bundler on v2.4.22 due\nto Ruby 2.7 compatibility for now.\n\nWe also need to lock country_select on v8.x since v9.x will load\ncountries v6, which does not support Ruby 2.7 anymore either.\n\n(soon we'll have to drop it too apparently!)",
"is_bot": false,
"headline": "Run tests with latest gems, specifically country_select v9.0.0",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2024-04-09T18:12:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3a2fa07ecc1d33daf5ae0e8812eb982d8fc822aa",
"body": null,
"is_bot": false,
"headline": "Fix encrypted attributes improperly casted",
"author_name": "Michaël Villeneuve",
"author_login": "Michaelvilleneuve",
"committed_at": "2024-03-07T10:39:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f77f598b32ed11b0d56c44481607a6e911bcecb",
"body": null,
"is_bot": false,
"headline": "Release v5.3.0",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2023-10-11T22:05:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bf1013ac46987adf3163db523f403861ca3f9bf2",
"body": "Rails 7.1",
"is_bot": false,
"headline": "Merge pull request #1821 from heartcombo/ca/rails-71",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2023-10-11T11:15:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1c27ae66e4f4a1b718d5ba70da68a30cce287d56",
"body": null,
"is_bot": false,
"headline": "Update changelog with Rails 7.1 mention [ci skip]",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2023-10-10T22:49:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "80915d5c263b49c961c32cc3e6e7b859a031d44b",
"body": "Rails 7.1 is deprecating the `ActiveSupport::Deprecation.instance` usage\nin favor of defining library-specific deprecators, this implements one\nfor SimpleForm going forward.",
"is_bot": false,
"headline": "Add a custom deprecator to SimpleForm",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2023-10-10T22:47:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a76a4ed5de15f5668a2cd8c85efc58e99520b33",
"body": null,
"is_bot": false,
"headline": "Test with Rails 7.1 by default, create new Gemfile for 7.0",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2023-10-10T21:54:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b9ba1ceeb59fd0ed7de4289db1380b52f36745e6",
"body": "Update MiniTest => Minitest constant reference.\n\n`rails-dom-testing` changed the `NO_STRIP` constant around, update the\ncode that references it via `ActionDispatch::Assertions` (because it was\nincluded there) to point to the lib directly, making it more explicit.",
"is_bot": false,
"headline": "Update dependencies and fix tests with the latest",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2023-10-10T21:50:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1d9890e82af1b3d32c030f9ebb6b181eafe7f859",
"body": null,
"is_bot": false,
"headline": "pass base object to human_attribute_name in labels",
"author_name": "Tom Rothe",
"author_login": "motine",
"committed_at": "2023-03-01T08:02:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "921ce9c3fc100e1737125ba1b5a2037c03f2de1b",
"body": null,
"is_bot": false,
"headline": "Remove extraneous explicit return",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2023-02-20T14:37:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f46628bd5c23cc32bc77fb57f2c9ea2ee9e3f6a5",
"body": null,
"is_bot": false,
"headline": "Add changelog entry for #1810 [ci skip]",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2023-02-20T14:37:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6ae67d28599b3c676b670e23e478063aba14cf6",
"body": "Speed up nested #simple_fields_for usage by a considerable amount\r\n\r\nCloses #1725 \r\nCloses #1791 \r\nCloses #1790",
"is_bot": false,
"headline": "Merge pull request #1810 from meanphil/mappings-slow-exception",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2023-02-20T14:31:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ff3903fe9346199e39538a39ea4e5a5694e31541",
"body": "Exceptions are slow due to generating backtraces - and then when other\ndebugging gems (such as did_you mean, which are included with\nRuby and Rails these days) get involved it resulted in excessive Object\nallocation.",
"is_bot": false,
"headline": "Speed up nested #simple_fields_for usage by a considerable amount",
"author_name": "Phil Murray",
"author_login": "meanphil",
"committed_at": "2023-02-20T02:24:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0ef4a58daae41ab091d25ac1dc3fb4ede35743b1",
"body": null,
"is_bot": false,
"headline": "Update copyright year [ci skip]",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2023-02-16T12:10:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "159b70aea62443aeb0e32382de3095bcb571ee0e",
"body": null,
"is_bot": false,
"headline": "Add changelog for #1809 [ci skip]",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2023-02-04T12:39:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "573ee5eeb700fb321ca08054659e56edf0970d8c",
"body": "Remove test files from the gem package",
"is_bot": false,
"headline": "Merge pull request #1809 from orien/reduce-gem-contents",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2023-02-04T12:37:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ecf5239303af7fc281509f4d58253bd6c8e49521",
"body": "There are several files in the gem package that aren't useful for\ndownstream projects. Removing these reduces the gem package size from\n83K to 50K!",
"is_bot": false,
"headline": "Remove test files from the gem package",
"author_name": "Orien Madgwick",
"author_login": "orien",
"committed_at": "2023-02-04T01:22:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "08fb6ea095a0db5823c672d991609418a700308f",
"body": "It's not working right now, and we haven't used it in like forever\nto drive anything.\n\n[ci skip]",
"is_bot": false,
"headline": "Remove CodeClimate badge",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2023-02-03T14:49:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d17d97f32c3b0020cfc080344bffb29bac49d091",
"body": "Ref: #1808 [ci skip]",
"is_bot": false,
"headline": "Point to `main` branch instead of old `master`",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2023-01-30T16:44:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "485175830ce36a9b5b431f3ad16730a2a5211c7b",
"body": null,
"is_bot": false,
"headline": "Release v5.2.0",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2023-01-29T13:23:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad1bb2ef24fc1a90459e7c4c18821edb38c57c2d",
"body": "This combination should work fine. Also reorganize the exclusion list of\nbuilds a bit.",
"is_bot": false,
"headline": "Run the build with Ruby 3.2 + Rails 6.1, update changelog",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2023-01-16T20:25:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "edf540f3d14d4999d33ba69bda452da417e2cc15",
"body": null,
"is_bot": false,
"headline": "Bundle update",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2023-01-16T20:10:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "341e36c087d78e0d5dbf768652e54cc42663f055",
"body": "Adds Ruby 3.2 to the CI matrix",
"is_bot": false,
"headline": "Merge pull request #1802 from petergoldstein/feature/add_ruby_3_2_to_ci",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2022-12-30T08:02:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9b879ccb84c3a7d6d4224046fd94f6ef72203c7d",
"body": null,
"is_bot": false,
"headline": "Adds Ruby 3.2 to the CI matrix. Updates checkout action version.",
"author_name": "Peter Goldstein",
"author_login": "petergoldstein",
"committed_at": "2022-12-29T21:20:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7790db2ea26c94a6c1a473a91d1001655de7b585",
"body": "Split country and timezone inputs to fix deprecated way of passing priority countries to country input.",
"is_bot": false,
"headline": "Merge pull request #1782 from heartcombo/country-timezone-split",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2022-12-29T21:13:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b472e19b5d344405e224d7ec6264a2d4793c54e1",
"body": "See https://github.com/rails/rails/commit/4e8e82829182cc2c1dc07997acc210bc0656eda4",
"is_bot": false,
"headline": "ActionView::OutputBuffer doesn't have #replace method anymore.",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2022-09-24T08:19:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2b77e9cb000cf9c2aec2b7c67247f52384f3cb08",
"body": null,
"is_bot": false,
"headline": "Specify main branch for Rails edge.",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2022-09-24T08:18:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f38c6a1d3acca8e3b5bd650fd92a6466d468eb71",
"body": "…iority countries to country input.\n\nIt still uses SimpleForm's PriorityInput for backward compatibility.",
"is_bot": false,
"headline": "Split country and timezone inputs to fix deprecated way of passing pr…",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2022-09-23T15:53:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31fe25504771bd6cd425b585a4e0ed652fba4521",
"body": "Fix broken Rubydoc links in README.md",
"is_bot": false,
"headline": "Merge pull request #1785 from Mir0ff944/mi-readme-rubydoc-url-fix",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2022-07-18T14:15:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "95a8dba2bf1d1692a04d8b44ee034c95bef1840f",
"body": "Use the correct default branch on Rubydoc links.",
"is_bot": false,
"headline": "Fix broken Rubydoc links in README.md",
"author_name": "Miroslav Ivanov",
"author_login": "Mir0ff944",
"committed_at": "2022-07-16T23:52:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8b8cea1dbd85be82876c612a020a1522b7c9941f",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG.md",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2022-07-13T17:36:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "486ff139b6d74f4a7672717022e980bd0357eb97",
"body": "Honor `include_hidden` on inline boolean inputs",
"is_bot": false,
"headline": "Merge pull request #1772 from yboulkaid/main",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2022-07-13T17:33:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cf743e7e834dcfe39a3e9485ee44b86b4868d98b",
"body": "Revise unchecked docs",
"is_bot": false,
"headline": "Merge pull request #1784 from paulcc/revise-unchecked-docs",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2022-07-12T18:51:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4338d45c2dd259226456efe0082370b75b7f011c",
"body": null,
"is_bot": false,
"headline": "Add clarification re. hidden field and give example of include_hidden:",
"author_name": "Paul Callaghan",
"author_login": "paulcc",
"committed_at": "2022-07-12T11:20:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c3060bd8f8675f543371a910d9451aefa4ab5961",
"body": "…ission of hidden field",
"is_bot": false,
"headline": "Use strings in checked/unchecked examples, to avoid confusion with om…",
"author_name": "Paul Callaghan",
"author_login": "paulcc",
"committed_at": "2022-07-12T11:20:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "39787221d97fd21bb372c7cb7822d25e787c4e8f",
"body": "…p-method-proc\n\nAllow proc as group_method for grouped collection select",
"is_bot": false,
"headline": "Merge pull request #1775 from cgunther/grouped-collection-select-grou…",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2022-07-08T16:05:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "adea6b557c9879daa4c0639dd6f873f872f8e173",
"body": "Since Rails v5.2, the group method could be a callable object.",
"is_bot": false,
"headline": "Allow proc as group_method for grouped collection select",
"author_name": "Chris Gunther",
"author_login": "cgunther",
"committed_at": "2022-06-09T15:43:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "27e510280897b005011600f83597b9849ccc2a6b",
"body": null,
"is_bot": false,
"headline": "Honor `include_hidden` on inline boolean inputs",
"author_name": "Youssef Boulkaid",
"author_login": "yboulkaid",
"committed_at": "2022-05-10T18:55:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "23205201a935c7e52c39549756e2ec2e2ec47793",
"body": null,
"is_bot": false,
"headline": "Merge pull request #1771 from sajadtorkamani/patch-1",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2022-04-23T11:41:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ee134f87b5c76ddcacaa9c2b36131eeb1d42c90d",
"body": null,
"is_bot": false,
"headline": "Fix anchor link to Bootstrap",
"author_name": "Sajad Torkamani",
"author_login": "sajadtorkamani",
"committed_at": "2022-04-23T10:56:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "60f73d2424a6c53beea77b0779d910768d4fb055",
"body": "Only call where if needed",
"is_bot": false,
"headline": "Merge pull request #1765 from asgerb/where-patch",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2022-03-31T14:56:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e2e4dd30d27c30aa1dc17966763e4beac6cb39cc",
"body": null,
"is_bot": false,
"headline": "Only call `where` if needed",
"author_name": "asgerb",
"author_login": "asgerb",
"committed_at": "2022-03-11T10:08:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "159f4015973c5f57b05253308bbaedc238dbbe07",
"body": "Update bootstrap initializer banner",
"is_bot": false,
"headline": "Merge pull request #1764 from m5o/bootstrap-banner-info",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2022-03-09T17:09:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e277227123f6c51ce0c7337346a70a601839a804",
"body": "* remove a misleading sentence\n * `Please do not make direct changes to this file!`\n* 💭 prep & discussion:\n * https://github.com/heartcombo/simple_form-bootstrap/pull/359\n\nfixes #1756\n\n/cc @carlosantoniodasilva @collimarco",
"is_bot": false,
"headline": "Update bootstrap initializer banner",
"author_name": "m5o",
"author_login": "m5o",
"committed_at": "2022-03-09T17:06:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9159ee109a858dca23bca6d7c013a5216ff402c3",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG.md",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2022-03-07T12:48:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1535f3236773757bc1702d6cdb0f08a565f81e9f",
"body": "Update install generator for Bootstrap 5",
"is_bot": false,
"headline": "Merge pull request #1738 from mhw/bootstrap-5",
"author_name": "Vasiliy Ermolovich",
"author_login": "nashby",
"committed_at": "2022-03-07T12:46:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3238067743729ae294850693ecdb0fd6475940d4",
"body": null,
"is_bot": false,
"headline": "Add changelog entry for #1703 [ci skip]",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2022-02-25T17:37:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c45bf1a0ce7dcb0bb380f8a13c858ca58c6c5d6",
"body": "* Rails and Ruby versions follow the most recent to oldest, except for\n Rails main, so we can keep the Gemfile the first one.\n* Excluding specific matrix combinations based on the Gemfile first,\n Ruby version next, and keep the same order (most recent -> oldest)\n* Quote all Ruby versions to keep t\n[…]\n0' version to avoid the float issue where it'd use the latest\n 3.x instead.\n* Test Rails 6.1 with Ruby 3.1, as Rails test suite supports it.\n\nAlso update Changelog with the 3.1 Ruby support addition.",
"is_bot": false,
"headline": "Reorganize test matrix & use latest bundler",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2022-02-25T16:40:55Z",
"body_truncated": true,
"is_coding_agent": false
}
],
"releases_count": 14,
"commits_last_year": 30,
"latest_release_at": "2026-01-05T13:07:49Z",
"latest_release_tag": "v5.4.1",
"releases_from_tags": false,
"days_since_last_push": 111,
"active_weeks_last_year": 11,
"days_since_latest_release": 197,
"mean_days_between_releases": 309.8
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 50,
"has_issue_template": true,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "simple_form",
"exists": true,
"license": "MIT",
"keywords": [],
"ecosystem": "rubygems",
"matches_repo": true,
"registry_url": "https://rubygems.org/gems/simple_form",
"is_deprecated": false,
"latest_version": "5.4.1",
"repository_url": "https://github.com/heartcombo/simple_form",
"versions_count": 63,
"total_downloads": 95931058,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": "2009-11-09T16:13:30.227000Z",
"latest_published_at": "2026-01-05T13:07:06.117000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 197
}
]
},
"popularity": {
"forks": 1298,
"stars": 8231,
"watchers": 150,
"fork_history": {
"days": [
{
"date": "2012-12-27",
"count": 1
},
{
"date": "2012-12-28",
"count": 2
},
{
"date": "2013-01-03",
"count": 1
},
{
"date": "2013-01-14",
"count": 1
},
{
"date": "2013-01-17",
"count": 2
},
{
"date": "2013-01-24",
"count": 1
},
{
"date": "2013-01-26",
"count": 2
},
{
"date": "2013-01-28",
"count": 1
},
{
"date": "2013-01-29",
"count": 1
},
{
"date": "2013-02-05",
"count": 1
},
{
"date": "2013-02-12",
"count": 1
},
{
"date": "2013-02-26",
"count": 3
},
{
"date": "2013-03-01",
"count": 1
},
{
"date": "2013-03-04",
"count": 1
},
{
"date": "2013-03-06",
"count": 2
},
{
"date": "2013-03-07",
"count": 1
},
{
"date": "2013-03-09",
"count": 1
},
{
"date": "2013-03-11",
"count": 1
},
{
"date": "2013-03-12",
"count": 2
},
{
"date": "2013-03-16",
"count": 1
},
{
"date": "2013-03-17",
"count": 1
},
{
"date": "2013-03-18",
"count": 1
},
{
"date": "2013-03-19",
"count": 3
},
{
"date": "2013-03-20",
"count": 2
},
{
"date": "2013-03-21",
"count": 2
},
{
"date": "2013-03-23",
"count": 1
},
{
"date": "2013-03-27",
"count": 2
},
{
"date": "2013-03-29",
"count": 1
},
{
"date": "2013-04-04",
"count": 1
},
{
"date": "2013-04-07",
"count": 1
},
{
"date": "2013-04-08",
"count": 1
},
{
"date": "2013-04-09",
"count": 1
},
{
"date": "2013-04-12",
"count": 1
},
{
"date": "2013-04-13",
"count": 1
},
{
"date": "2013-04-17",
"count": 1
},
{
"date": "2013-04-18",
"count": 1
},
{
"date": "2013-04-23",
"count": 1
},
{
"date": "2013-04-24",
"count": 1
},
{
"date": "2013-04-29",
"count": 1
},
{
"date": "2013-05-01",
"count": 1
},
{
"date": "2013-05-02",
"count": 1
},
{
"date": "2013-05-03",
"count": 2
},
{
"date": "2013-05-05",
"count": 1
},
{
"date": "2013-05-17",
"count": 2
},
{
"date": "2013-05-21",
"count": 1
},
{
"date": "2013-05-31",
"count": 3
},
{
"date": "2013-06-02",
"count": 1
},
{
"date": "2013-06-04",
"count": 1
},
{
"date": "2013-06-05",
"count": 2
},
{
"date": "2013-06-12",
"count": 1
},
{
"date": "2013-06-13",
"count": 1
},
{
"date": "2013-06-15",
"count": 1
},
{
"date": "2013-06-17",
"count": 1
},
{
"date": "2013-06-18",
"count": 1
},
{
"date": "2013-06-19",
"count": 1
},
{
"date": "2013-06-20",
"count": 2
},
{
"date": "2013-06-25",
"count": 2
},
{
"date": "2013-06-26",
"count": 1
},
{
"date": "2013-06-27",
"count": 1
},
{
"date": "2013-06-28",
"count": 1
},
{
"date": "2013-07-03",
"count": 1
},
{
"date": "2013-07-05",
"count": 1
},
{
"date": "2013-07-10",
"count": 1
},
{
"date": "2013-07-15",
"count": 1
},
{
"date": "2013-07-16",
"count": 1
},
{
"date": "2013-07-18",
"count": 1
},
{
"date": "2013-07-19",
"count": 1
},
{
"date": "2013-07-22",
"count": 2
},
{
"date": "2013-07-26",
"count": 2
},
{
"date": "2013-07-29",
"count": 3
},
{
"date": "2013-07-30",
"count": 1
},
{
"date": "2013-07-31",
"count": 2
},
{
"date": "2013-08-07",
"count": 1
},
{
"date": "2013-08-09",
"count": 2
},
{
"date": "2013-08-12",
"count": 1
},
{
"date": "2013-08-15",
"count": 1
},
{
"date": "2013-08-18",
"count": 1
},
{
"date": "2013-08-20",
"count": 1
},
{
"date": "2013-08-21",
"count": 3
},
{
"date": "2013-08-22",
"count": 2
},
{
"date": "2013-08-24",
"count": 1
},
{
"date": "2013-08-26",
"count": 2
},
{
"date": "2013-08-28",
"count": 1
},
{
"date": "2013-09-01",
"count": 1
},
{
"date": "2013-09-04",
"count": 1
},
{
"date": "2013-09-05",
"count": 1
},
{
"date": "2013-09-06",
"count": 2
},
{
"date": "2013-09-10",
"count": 1
},
{
"date": "2013-09-11",
"count": 1
},
{
"date": "2013-09-12",
"count": 2
},
{
"date": "2013-09-16",
"count": 2
},
{
"date": "2013-09-19",
"count": 1
},
{
"date": "2013-09-24",
"count": 2
},
{
"date": "2013-09-27",
"count": 1
},
{
"date": "2013-09-28",
"count": 1
},
{
"date": "2013-09-30",
"count": 2
},
{
"date": "2013-10-01",
"count": 1
},
{
"date": "2013-10-03",
"count": 1
},
{
"date": "2013-10-04",
"count": 1
},
{
"date": "2013-10-07",
"count": 3
},
{
"date": "2013-10-08",
"count": 1
},
{
"date": "2013-10-16",
"count": 1
},
{
"date": "2013-10-17",
"count": 3
},
{
"date": "2013-10-18",
"count": 1
},
{
"date": "2013-10-22",
"count": 1
},
{
"date": "2013-10-25",
"count": 1
},
{
"date": "2013-10-28",
"count": 2
},
{
"date": "2013-10-30",
"count": 1
},
{
"date": "2013-11-05",
"count": 2
},
{
"date": "2013-11-06",
"count": 1
},
{
"date": "2013-11-08",
"count": 3
},
{
"date": "2013-11-09",
"count": 1
},
{
"date": "2013-11-11",
"count": 1
},
{
"date": "2013-11-12",
"count": 2
},
{
"date": "2013-11-15",
"count": 1
},
{
"date": "2013-11-21",
"count": 1
},
{
"date": "2013-11-25",
"count": 1
},
{
"date": "2013-11-26",
"count": 2
},
{
"date": "2013-11-28",
"count": 1
},
{
"date": "2013-12-03",
"count": 1
},
{
"date": "2013-12-04",
"count": 1
},
{
"date": "2013-12-06",
"count": 2
},
{
"date": "2013-12-11",
"count": 2
},
{
"date": "2013-12-12",
"count": 1
},
{
"date": "2013-12-29",
"count": 1
},
{
"date": "2013-12-31",
"count": 1
},
{
"date": "2014-01-07",
"count": 1
},
{
"date": "2014-01-09",
"count": 1
},
{
"date": "2014-01-10",
"count": 2
},
{
"date": "2014-01-11",
"count": 1
},
{
"date": "2014-01-12",
"count": 1
},
{
"date": "2014-01-14",
"count": 1
},
{
"date": "2014-01-16",
"count": 1
},
{
"date": "2014-01-19",
"count": 2
},
{
"date": "2014-01-20",
"count": 2
},
{
"date": "2014-01-21",
"count": 1
},
{
"date": "2014-01-26",
"count": 3
},
{
"date": "2014-01-28",
"count": 1
},
{
"date": "2014-02-02",
"count": 1
},
{
"date": "2014-02-04",
"count": 1
},
{
"date": "2014-02-05",
"count": 1
},
{
"date": "2014-02-09",
"count": 1
},
{
"date": "2014-02-12",
"count": 2
},
{
"date": "2014-02-13",
"count": 1
},
{
"date": "2014-02-14",
"count": 1
},
{
"date": "2014-02-16",
"count": 1
},
{
"date": "2014-02-19",
"count": 1
},
{
"date": "2014-02-21",
"count": 1
},
{
"date": "2014-02-25",
"count": 1
},
{
"date": "2014-02-28",
"count": 1
},
{
"date": "2014-03-05",
"count": 1
},
{
"date": "2014-03-06",
"count": 1
},
{
"date": "2014-03-08",
"count": 1
},
{
"date": "2014-03-11",
"count": 1
},
{
"date": "2014-03-14",
"count": 1
},
{
"date": "2014-03-17",
"count": 2
},
{
"date": "2014-03-20",
"count": 2
},
{
"date": "2014-03-21",
"count": 2
},
{
"date": "2014-03-25",
"count": 1
},
{
"date": "2014-03-26",
"count": 1
},
{
"date": "2014-03-30",
"count": 1
},
{
"date": "2014-04-01",
"count": 1
},
{
"date": "2014-04-03",
"count": 2
},
{
"date": "2014-04-08",
"count": 3
},
{
"date": "2014-04-09",
"count": 1
},
{
"date": "2014-04-11",
"count": 1
},
{
"date": "2014-04-12",
"count": 1
},
{
"date": "2014-04-13",
"count": 1
},
{
"date": "2014-04-14",
"count": 1
},
{
"date": "2014-04-17",
"count": 2
},
{
"date": "2014-04-22",
"count": 2
},
{
"date": "2014-04-23",
"count": 2
},
{
"date": "2014-04-24",
"count": 1
},
{
"date": "2014-04-28",
"count": 1
},
{
"date": "2014-04-29",
"count": 2
},
{
"date": "2014-05-04",
"count": 2
},
{
"date": "2014-05-07",
"count": 1
},
{
"date": "2014-05-14",
"count": 1
},
{
"date": "2014-05-16",
"count": 2
},
{
"date": "2014-05-19",
"count": 2
},
{
"date": "2014-05-20",
"count": 1
},
{
"date": "2014-05-22",
"count": 1
},
{
"date": "2014-05-25",
"count": 1
},
{
"date": "2014-05-26",
"count": 1
},
{
"date": "2014-05-29",
"count": 1
},
{
"date": "2014-06-01",
"count": 1
},
{
"date": "2014-06-05",
"count": 1
},
{
"date": "2014-06-06",
"count": 1
},
{
"date": "2014-06-08",
"count": 1
},
{
"date": "2014-06-10",
"count": 1
},
{
"date": "2014-06-19",
"count": 2
},
{
"date": "2014-06-21",
"count": 1
},
{
"date": "2014-06-26",
"count": 1
},
{
"date": "2014-06-29",
"count": 1
},
{
"date": "2014-06-30",
"count": 1
},
{
"date": "2014-07-01",
"count": 1
},
{
"date": "2014-07-02",
"count": 1
},
{
"date": "2014-07-09",
"count": 1
},
{
"date": "2014-07-15",
"count": 2
},
{
"date": "2014-07-16",
"count": 1
},
{
"date": "2014-07-17",
"count": 1
},
{
"date": "2014-07-18",
"count": 1
},
{
"date": "2014-07-19",
"count": 1
},
{
"date": "2014-07-21",
"count": 2
},
{
"date": "2014-07-23",
"count": 2
},
{
"date": "2014-07-24",
"count": 1
},
{
"date": "2014-07-29",
"count": 1
},
{
"date": "2014-07-31",
"count": 1
},
{
"date": "2014-08-01",
"count": 1
},
{
"date": "2014-08-12",
"count": 2
},
{
"date": "2014-08-13",
"count": 2
},
{
"date": "2014-08-15",
"count": 1
},
{
"date": "2014-08-19",
"count": 1
},
{
"date": "2014-08-21",
"count": 2
},
{
"date": "2014-08-24",
"count": 1
},
{
"date": "2014-08-25",
"count": 1
},
{
"date": "2014-08-26",
"count": 1
},
{
"date": "2014-09-03",
"count": 1
},
{
"date": "2014-09-04",
"count": 1
},
{
"date": "2014-09-05",
"count": 2
},
{
"date": "2014-09-09",
"count": 3
},
{
"date": "2014-09-21",
"count": 1
},
{
"date": "2014-09-23",
"count": 1
},
{
"date": "2014-09-24",
"count": 1
},
{
"date": "2014-09-25",
"count": 1
},
{
"date": "2014-09-29",
"count": 2
},
{
"date": "2014-10-04",
"count": 1
},
{
"date": "2014-10-08",
"count": 1
},
{
"date": "2014-10-10",
"count": 1
},
{
"date": "2014-10-11",
"count": 1
},
{
"date": "2014-10-16",
"count": 1
},
{
"date": "2014-10-17",
"count": 3
},
{
"date": "2014-10-19",
"count": 1
},
{
"date": "2014-10-22",
"count": 1
},
{
"date": "2014-10-24",
"count": 1
},
{
"date": "2014-10-27",
"count": 1
},
{
"date": "2014-10-29",
"count": 1
},
{
"date": "2014-11-01",
"count": 1
},
{
"date": "2014-11-05",
"count": 1
},
{
"date": "2014-11-08",
"count": 1
},
{
"date": "2014-11-10",
"count": 1
},
{
"date": "2014-11-19",
"count": 1
},
{
"date": "2014-11-22",
"count": 1
},
{
"date": "2014-11-23",
"count": 1
},
{
"date": "2014-11-24",
"count": 1
},
{
"date": "2014-11-28",
"count": 1
},
{
"date": "2014-12-02",
"count": 1
},
{
"date": "2014-12-03",
"count": 1
},
{
"date": "2014-12-04",
"count": 2
},
{
"date": "2014-12-08",
"count": 1
},
{
"date": "2014-12-13",
"count": 1
},
{
"date": "2014-12-19",
"count": 1
},
{
"date": "2014-12-21",
"count": 1
},
{
"date": "2014-12-28",
"count": 1
},
{
"date": "2015-01-07",
"count": 1
},
{
"date": "2015-01-08",
"count": 1
},
{
"date": "2015-01-11",
"count": 1
},
{
"date": "2015-01-12",
"count": 2
},
{
"date": "2015-01-19",
"count": 1
},
{
"date": "2015-01-21",
"count": 1
},
{
"date": "2015-01-25",
"count": 1
},
{
"date": "2015-01-26",
"count": 1
},
{
"date": "2015-01-27",
"count": 3
},
{
"date": "2015-02-03",
"count": 1
},
{
"date": "2015-02-04",
"count": 2
},
{
"date": "2015-02-10",
"count": 2
},
{
"date": "2015-02-11",
"count": 2
},
{
"date": "2015-02-13",
"count": 2
},
{
"date": "2015-02-14",
"count": 1
},
{
"date": "2015-02-16",
"count": 1
},
{
"date": "2015-02-19",
"count": 2
},
{
"date": "2015-02-21",
"count": 1
},
{
"date": "2015-02-26",
"count": 1
},
{
"date": "2015-03-03",
"count": 1
},
{
"date": "2015-03-05",
"count": 1
},
{
"date": "2015-03-19",
"count": 1
},
{
"date": "2015-03-20",
"count": 1
},
{
"date": "2015-03-21",
"count": 2
},
{
"date": "2015-03-25",
"count": 1
},
{
"date": "2015-04-05",
"count": 1
},
{
"date": "2015-04-09",
"count": 2
},
{
"date": "2015-04-11",
"count": 2
},
{
"date": "2015-04-14",
"count": 1
},
{
"date": "2015-04-16",
"count": 1
},
{
"date": "2015-04-24",
"count": 1
},
{
"date": "2015-04-27",
"count": 1
},
{
"date": "2015-04-29",
"count": 1
},
{
"date": "2015-04-30",
"count": 1
},
{
"date": "2015-05-07",
"count": 1
},
{
"date": "2015-05-11",
"count": 1
},
{
"date": "2015-05-14",
"count": 1
},
{
"date": "2015-05-21",
"count": 1
},
{
"date": "2015-05-23",
"count": 1
},
{
"date": "2015-05-25",
"count": 1
},
{
"date": "2015-05-26",
"count": 3
},
{
"date": "2015-05-29",
"count": 1
},
{
"date": "2015-06-12",
"count": 1
},
{
"date": "2015-06-13",
"count": 1
},
{
"date": "2015-06-18",
"count": 1
},
{
"date": "2015-06-26",
"count": 1
},
{
"date": "2015-06-28",
"count": 2
},
{
"date": "2015-07-03",
"count": 1
},
{
"date": "2015-07-04",
"count": 1
},
{
"date": "2015-07-06",
"count": 2
},
{
"date": "2015-07-09",
"count": 1
},
{
"date": "2015-07-14",
"count": 2
},
{
"date": "2015-07-16",
"count": 1
},
{
"date": "2015-07-17",
"count": 1
},
{
"date": "2015-07-23",
"count": 1
},
{
"date": "2015-07-24",
"count": 1
},
{
"date": "2015-07-28",
"count": 1
},
{
"date": "2015-07-29",
"count": 1
},
{
"date": "2015-07-31",
"count": 1
},
{
"date": "2015-08-01",
"count": 1
},
{
"date": "2015-08-02",
"count": 1
},
{
"date": "2015-08-04",
"count": 1
},
{
"date": "2015-08-09",
"count": 1
},
{
"date": "2015-08-11",
"count": 1
},
{
"date": "2015-08-12",
"count": 1
},
{
"date": "2015-08-15",
"count": 1
},
{
"date": "2015-08-22",
"count": 1
},
{
"date": "2015-08-24",
"count": 1
},
{
"date": "2015-08-25",
"count": 1
},
{
"date": "2015-08-29",
"count": 1
},
{
"date": "2015-08-30",
"count": 2
},
{
"date": "2015-09-01",
"count": 1
},
{
"date": "2015-09-04",
"count": 1
},
{
"date": "2015-09-06",
"count": 1
},
{
"date": "2015-09-10",
"count": 1
},
{
"date": "2015-09-15",
"count": 1
},
{
"date": "2015-09-17",
"count": 1
},
{
"date": "2015-09-21",
"count": 1
},
{
"date": "2015-09-23",
"count": 1
},
{
"date": "2015-09-30",
"count": 1
},
{
"date": "2015-10-16",
"count": 1
},
{
"date": "2015-10-17",
"count": 1
},
{
"date": "2015-10-20",
"count": 1
},
{
"date": "2015-10-23",
"count": 2
},
{
"date": "2015-11-04",
"count": 1
},
{
"date": "2015-11-07",
"count": 1
},
{
"date": "2015-11-10",
"count": 1
},
{
"date": "2015-11-15",
"count": 1
},
{
"date": "2015-11-16",
"count": 2
},
{
"date": "2015-11-17",
"count": 1
},
{
"date": "2015-11-18",
"count": 1
},
{
"date": "2015-11-19",
"count": 1
},
{
"date": "2015-11-22",
"count": 1
},
{
"date": "2015-11-26",
"count": 2
},
{
"date": "2015-11-28",
"count": 1
},
{
"date": "2015-11-30",
"count": 1
},
{
"date": "2015-12-02",
"count": 1
},
{
"date": "2015-12-07",
"count": 1
},
{
"date": "2015-12-08",
"count": 1
},
{
"date": "2015-12-18",
"count": 1
},
{
"date": "2015-12-19",
"count": 1
},
{
"date": "2015-12-22",
"count": 1
},
{
"date": "2015-12-23",
"count": 3
},
{
"date": "2015-12-24",
"count": 1
},
{
"date": "2015-12-27",
"count": 1
},
{
"date": "2015-12-30",
"count": 1
},
{
"date": "2016-01-03",
"count": 1
},
{
"date": "2016-01-06",
"count": 1
},
{
"date": "2016-01-11",
"count": 1
},
{
"date": "2016-01-12",
"count": 1
},
{
"date": "2016-01-25",
"count": 1
},
{
"date": "2016-02-01",
"count": 1
},
{
"date": "2016-02-02",
"count": 1
},
{
"date": "2016-02-14",
"count": 1
},
{
"date": "2016-02-17",
"count": 1
},
{
"date": "2016-02-20",
"count": 1
},
{
"date": "2016-02-22",
"count": 1
},
{
"date": "2016-02-23",
"count": 1
},
{
"date": "2016-02-27",
"count": 1
},
{
"date": "2016-02-29",
"count": 1
},
{
"date": "2016-03-06",
"count": 1
},
{
"date": "2016-03-07",
"count": 2
},
{
"date": "2016-03-08",
"count": 1
},
{
"date": "2016-03-09",
"count": 1
},
{
"date": "2016-03-10",
"count": 2
},
{
"date": "2016-03-14",
"count": 1
},
{
"date": "2016-03-21",
"count": 1
},
{
"date": "2016-03-24",
"count": 1
},
{
"date": "2016-03-31",
"count": 1
},
{
"date": "2016-04-01",
"count": 1
},
{
"date": "2016-04-11",
"count": 2
},
{
"date": "2016-04-13",
"count": 1
},
{
"date": "2016-04-15",
"count": 1
},
{
"date": "2016-04-19",
"count": 1
},
{
"date": "2016-04-21",
"count": 3
},
{
"date": "2016-04-22",
"count": 1
},
{
"date": "2016-04-23",
"count": 1
},
{
"date": "2016-04-24",
"count": 1
},
{
"date": "2016-04-28",
"count": 1
},
{
"date": "2016-05-02",
"count": 1
},
{
"date": "2016-05-10",
"count": 1
},
{
"date": "2016-05-13",
"count": 1
},
{
"date": "2016-05-26",
"count": 1
},
{
"date": "2016-06-02",
"count": 1
},
{
"date": "2016-06-03",
"count": 1
},
{
"date": "2016-06-06",
"count": 1
},
{
"date": "2016-06-08",
"count": 1
},
{
"date": "2016-06-10",
"count": 1
},
{
"date": "2016-06-21",
"count": 2
},
{
"date": "2016-06-23",
"count": 1
},
{
"date": "2016-06-24",
"count": 1
},
{
"date": "2016-06-28",
"count": 1
},
{
"date": "2016-07-01",
"count": 1
},
{
"date": "2016-07-04",
"count": 2
},
{
"date": "2016-07-07",
"count": 1
},
{
"date": "2016-07-11",
"count": 1
},
{
"date": "2016-07-13",
"count": 1
},
{
"date": "2016-07-20",
"count": 1
},
{
"date": "2016-07-21",
"count": 1
},
{
"date": "2016-07-24",
"count": 1
},
{
"date": "2016-07-27",
"count": 1
},
{
"date": "2016-07-28",
"count": 1
},
{
"date": "2016-07-29",
"count": 2
},
{
"date": "2016-08-03",
"count": 1
},
{
"date": "2016-08-05",
"count": 1
},
{
"date": "2016-08-06",
"count": 1
},
{
"date": "2016-08-08",
"count": 1
},
{
"date": "2016-08-10",
"count": 1
},
{
"date": "2016-08-17",
"count": 1
},
{
"date": "2016-08-18",
"count": 1
},
{
"date": "2016-08-22",
"count": 1
},
{
"date": "2016-08-25",
"count": 1
},
{
"date": "2016-08-26",
"count": 1
},
{
"date": "2016-08-29",
"count": 1
},
{
"date": "2016-08-31",
"count": 1
},
{
"date": "2016-09-01",
"count": 1
},
{
"date": "2016-09-03",
"count": 1
},
{
"date": "2016-09-06",
"count": 1
},
{
"date": "2016-09-07",
"count": 1
},
{
"date": "2016-09-12",
"count": 1
},
{
"date": "2016-09-17",
"count": 1
},
{
"date": "2016-09-18",
"count": 1
},
{
"date": "2016-09-22",
"count": 2
},
{
"date": "2016-10-05",
"count": 1
},
{
"date": "2016-10-10",
"count": 1
},
{
"date": "2016-10-18",
"count": 1
},
{
"date": "2016-10-21",
"count": 1
},
{
"date": "2016-10-27",
"count": 1
},
{
"date": "2016-10-29",
"count": 1
},
{
"date": "2016-10-31",
"count": 1
},
{
"date": "2016-11-24",
"count": 1
},
{
"date": "2016-11-25",
"count": 1
},
{
"date": "2016-11-28",
"count": 1
},
{
"date": "2016-11-29",
"count": 1
},
{
"date": "2016-12-05",
"count": 1
},
{
"date": "2016-12-06",
"count": 1
},
{
"date": "2016-12-07",
"count": 1
},
{
"date": "2016-12-08",
"count": 2
},
{
"date": "2016-12-19",
"count": 1
},
{
"date": "2016-12-20",
"count": 1
},
{
"date": "2016-12-29",
"count": 1
},
{
"date": "2016-12-30",
"count": 1
},
{
"date": "2017-01-05",
"count": 1
},
{
"date": "2017-01-10",
"count": 1
},
{
"date": "2017-01-17",
"count": 1
},
{
"date": "2017-01-19",
"count": 2
},
{
"date": "2017-01-21",
"count": 1
},
{
"date": "2017-01-26",
"count": 1
},
{
"date": "2017-02-02",
"count": 1
},
{
"date": "2017-02-04",
"count": 2
},
{
"date": "2017-02-09",
"count": 1
},
{
"date": "2017-02-19",
"count": 1
},
{
"date": "2017-02-21",
"count": 1
},
{
"date": "2017-02-28",
"count": 1
},
{
"date": "2017-03-08",
"count": 1
},
{
"date": "2017-03-09",
"count": 1
},
{
"date": "2017-03-14",
"count": 1
},
{
"date": "2017-03-19",
"count": 1
},
{
"date": "2017-03-24",
"count": 1
},
{
"date": "2017-03-25",
"count": 1
},
{
"date": "2017-03-26",
"count": 1
},
{
"date": "2017-03-28",
"count": 1
},
{
"date": "2017-03-29",
"count": 1
},
{
"date": "2017-04-04",
"count": 1
},
{
"date": "2017-04-11",
"count": 2
},
{
"date": "2017-04-13",
"count": 1
},
{
"date": "2017-04-16",
"count": 1
},
{
"date": "2017-04-22",
"count": 1
},
{
"date": "2017-04-23",
"count": 1
},
{
"date": "2017-04-24",
"count": 1
},
{
"date": "2017-04-25",
"count": 1
},
{
"date": "2017-04-27",
"count": 3
},
{
"date": "2017-04-28",
"count": 8
},
{
"date": "2017-04-29",
"count": 1
},
{
"date": "2017-04-30",
"count": 2
},
{
"date": "2017-05-01",
"count": 1
},
{
"date": "2017-05-02",
"count": 4
},
{
"date": "2017-05-03",
"count": 1
},
{
"date": "2017-05-05",
"count": 1
},
{
"date": "2017-05-10",
"count": 1
},
{
"date": "2017-05-16",
"count": 1
},
{
"date": "2017-05-17",
"count": 3
},
{
"date": "2017-05-20",
"count": 1
},
{
"date": "2017-05-25",
"count": 1
},
{
"date": "2017-05-26",
"count": 1
},
{
"date": "2017-05-27",
"count": 1
},
{
"date": "2017-06-11",
"count": 1
},
{
"date": "2017-06-13",
"count": 1
},
{
"date": "2017-06-16",
"count": 1
},
{
"date": "2017-06-19",
"count": 2
},
{
"date": "2017-07-04",
"count": 1
},
{
"date": "2017-07-07",
"count": 4
},
{
"date": "2017-07-10",
"count": 1
},
{
"date": "2017-07-15",
"count": 1
},
{
"date": "2017-07-20",
"count": 1
},
{
"date": "2017-07-22",
"count": 1
},
{
"date": "2017-08-03",
"count": 1
},
{
"date": "2017-08-06",
"count": 1
},
{
"date": "2017-08-08",
"count": 1
},
{
"date": "2017-08-24",
"count": 1
},
{
"date": "2017-08-25",
"count": 1
},
{
"date": "2017-09-04",
"count": 2
},
{
"date": "2017-09-06",
"count": 1
},
{
"date": "2017-09-12",
"count": 1
},
{
"date": "2017-09-14",
"count": 1
},
{
"date": "2017-09-15",
"count": 1
},
{
"date": "2017-09-18",
"count": 1
},
{
"date": "2017-09-28",
"count": 1
},
{
"date": "2017-10-04",
"count": 1
},
{
"date": "2017-10-17",
"count": 1
},
{
"date": "2017-10-24",
"count": 1
},
{
"date": "2017-11-02",
"count": 1
},
{
"date": "2017-11-07",
"count": 1
},
{
"date": "2017-11-09",
"count": 1
},
{
"date": "2017-11-10",
"count": 1
},
{
"date": "2017-11-13",
"count": 1
},
{
"date": "2017-11-17",
"count": 1
},
{
"date": "2017-11-19",
"count": 1
},
{
"date": "2017-11-27",
"count": 1
},
{
"date": "2017-12-02",
"count": 1
},
{
"date": "2017-12-11",
"count": 1
},
{
"date": "2017-12-13",
"count": 4
},
{
"date": "2017-12-15",
"count": 1
},
{
"date": "2017-12-18",
"count": 1
},
{
"date": "2018-01-05",
"count": 1
},
{
"date": "2018-01-11",
"count": 1
},
{
"date": "2018-01-15",
"count": 1
},
{
"date": "2018-01-19",
"count": 1
},
{
"date": "2018-01-23",
"count": 1
},
{
"date": "2018-01-24",
"count": 1
},
{
"date": "2018-01-25",
"count": 1
},
{
"date": "2018-01-28",
"count": 1
},
{
"date": "2018-02-01",
"count": 1
},
{
"date": "2018-02-03",
"count": 1
},
{
"date": "2018-02-04",
"count": 1
},
{
"date": "2018-02-05",
"count": 2
},
{
"date": "2018-02-07",
"count": 1
},
{
"date": "2018-02-14",
"count": 1
},
{
"date": "2018-02-15",
"count": 1
},
{
"date": "2018-02-18",
"count": 1
},
{
"date": "2018-02-20",
"count": 1
},
{
"date": "2018-02-25",
"count": 1
},
{
"date": "2018-02-28",
"count": 1
},
{
"date": "2018-03-02",
"count": 1
},
{
"date": "2018-03-08",
"count": 1
},
{
"date": "2018-03-16",
"count": 1
},
{
"date": "2018-03-17",
"count": 1
},
{
"date": "2018-03-21",
"count": 2
},
{
"date": "2018-03-23",
"count": 2
},
{
"date": "2018-03-25",
"count": 1
},
{
"date": "2018-03-26",
"count": 1
},
{
"date": "2018-03-29",
"count": 2
},
{
"date": "2018-03-30",
"count": 1
},
{
"date": "2018-04-10",
"count": 1
},
{
"date": "2018-04-11",
"count": 2
},
{
"date": "2018-05-07",
"count": 1
},
{
"date": "2018-05-10",
"count": 1
},
{
"date": "2018-05-11",
"count": 1
},
{
"date": "2018-05-13",
"count": 2
},
{
"date": "2018-05-17",
"count": 1
},
{
"date": "2018-05-21",
"count": 1
},
{
"date": "2018-05-24",
"count": 1
},
{
"date": "2018-05-28",
"count": 1
},
{
"date": "2018-06-07",
"count": 1
},
{
"date": "2018-06-12",
"count": 1
},
{
"date": "2018-06-13",
"count": 1
},
{
"date": "2018-06-19",
"count": 1
},
{
"date": "2018-07-05",
"count": 1
},
{
"date": "2018-07-23",
"count": 1
},
{
"date": "2018-07-26",
"count": 1
},
{
"date": "2018-07-27",
"count": 1
},
{
"date": "2018-07-30",
"count": 1
},
{
"date": "2018-08-01",
"count": 1
},
{
"date": "2018-08-02",
"count": 1
},
{
"date": "2018-08-14",
"count": 1
},
{
"date": "2018-08-16",
"count": 1
},
{
"date": "2018-08-19",
"count": 1
},
{
"date": "2018-08-29",
"count": 1
},
{
"date": "2018-08-30",
"count": 1
},
{
"date": "2018-09-10",
"count": 1
},
{
"date": "2018-10-11",
"count": 1
},
{
"date": "2018-10-16",
"count": 1
},
{
"date": "2018-10-18",
"count": 1
},
{
"date": "2018-10-30",
"count": 1
},
{
"date": "2018-11-09",
"count": 1
},
{
"date": "2018-11-14",
"count": 1
},
{
"date": "2018-11-19",
"count": 1
},
{
"date": "2018-11-23",
"count": 1
},
{
"date": "2018-11-30",
"count": 1
},
{
"date": "2018-12-04",
"count": 1
},
{
"date": "2018-12-12",
"count": 1
},
{
"date": "2018-12-17",
"count": 1
},
{
"date": "2018-12-21",
"count": 1
},
{
"date": "2018-12-31",
"count": 1
},
{
"date": "2019-01-07",
"count": 1
},
{
"date": "2019-01-18",
"count": 1
},
{
"date": "2019-01-31",
"count": 1
},
{
"date": "2019-02-04",
"count": 1
},
{
"date": "2019-02-11",
"count": 2
},
{
"date": "2019-02-13",
"count": 1
},
{
"date": "2019-02-16",
"count": 1
},
{
"date": "2019-02-21",
"count": 2
},
{
"date": "2019-02-26",
"count": 1
},
{
"date": "2019-03-06",
"count": 1
},
{
"date": "2019-03-11",
"count": 1
},
{
"date": "2019-03-14",
"count": 1
},
{
"date": "2019-03-22",
"count": 1
},
{
"date": "2019-03-23",
"count": 1
},
{
"date": "2019-03-28",
"count": 1
},
{
"date": "2019-04-02",
"count": 1
},
{
"date": "2019-04-04",
"count": 1
},
{
"date": "2019-04-20",
"count": 1
},
{
"date": "2019-04-23",
"count": 1
},
{
"date": "2019-04-24",
"count": 1
},
{
"date": "2019-05-13",
"count": 1
},
{
"date": "2019-05-14",
"count": 1
},
{
"date": "2019-05-15",
"count": 1
},
{
"date": "2019-05-17",
"count": 1
},
{
"date": "2019-05-21",
"count": 1
},
{
"date": "2019-05-22",
"count": 2
},
{
"date": "2019-05-25",
"count": 1
},
{
"date": "2019-05-27",
"count": 1
},
{
"date": "2019-05-29",
"count": 1
},
{
"date": "2019-05-30",
"count": 1
},
{
"date": "2019-06-05",
"count": 1
},
{
"date": "2019-06-10",
"count": 1
},
{
"date": "2019-06-12",
"count": 1
},
{
"date": "2019-06-13",
"count": 1
},
{
"date": "2019-06-17",
"count": 1
},
{
"date": "2019-06-22",
"count": 1
},
{
"date": "2019-06-25",
"count": 1
},
{
"date": "2019-06-30",
"count": 1
},
{
"date": "2019-07-04",
"count": 1
},
{
"date": "2019-07-06",
"count": 1
},
{
"date": "2019-07-14",
"count": 1
},
{
"date": "2019-07-20",
"count": 1
},
{
"date": "2019-07-25",
"count": 1
},
{
"date": "2019-08-02",
"count": 1
},
{
"date": "2019-08-20",
"count": 1
},
{
"date": "2019-08-28",
"count": 1
},
{
"date": "2019-09-01",
"count": 1
},
{
"date": "2019-09-08",
"count": 1
},
{
"date": "2019-09-24",
"count": 1
},
{
"date": "2019-09-25",
"count": 1
},
{
"date": "2019-09-27",
"count": 1
},
{
"date": "2019-09-30",
"count": 1
},
{
"date": "2019-10-01",
"count": 1
},
{
"date": "2019-10-02",
"count": 2
},
{
"date": "2019-10-10",
"count": 1
},
{
"date": "2019-10-14",
"count": 1
},
{
"date": "2019-10-17",
"count": 2
},
{
"date": "2019-10-28",
"count": 1
},
{
"date": "2019-10-30",
"count": 3
},
{
"date": "2019-10-31",
"count": 1
},
{
"date": "2019-11-08",
"count": 1
},
{
"date": "2019-11-22",
"count": 1
},
{
"date": "2019-11-29",
"count": 1
},
{
"date": "2019-12-03",
"count": 1
},
{
"date": "2019-12-16",
"count": 1
},
{
"date": "2019-12-19",
"count": 1
},
{
"date": "2019-12-23",
"count": 2
},
{
"date": "2019-12-27",
"count": 2
},
{
"date": "2020-01-08",
"count": 1
},
{
"date": "2020-01-10",
"count": 1
},
{
"date": "2020-01-22",
"count": 1
},
{
"date": "2020-01-27",
"count": 1
},
{
"date": "2020-01-30",
"count": 1
},
{
"date": "2020-02-04",
"count": 1
},
{
"date": "2020-02-06",
"count": 1
},
{
"date": "2020-02-10",
"count": 1
},
{
"date": "2020-02-12",
"count": 1
},
{
"date": "2020-02-15",
"count": 1
},
{
"date": "2020-02-22",
"count": 1
},
{
"date": "2020-02-29",
"count": 1
},
{
"date": "2020-03-05",
"count": 1
},
{
"date": "2020-03-14",
"count": 1
},
{
"date": "2020-05-01",
"count": 1
},
{
"date": "2020-05-18",
"count": 2
},
{
"date": "2020-05-23",
"count": 1
},
{
"date": "2020-05-25",
"count": 1
},
{
"date": "2020-05-30",
"count": 1
},
{
"date": "2020-06-03",
"count": 1
},
{
"date": "2020-06-04",
"count": 1
},
{
"date": "2020-06-14",
"count": 1
},
{
"date": "2020-06-16",
"count": 1
},
{
"date": "2020-06-18",
"count": 1
},
{
"date": "2020-06-23",
"count": 1
},
{
"date": "2020-06-25",
"count": 1
},
{
"date": "2020-07-01",
"count": 1
},
{
"date": "2020-07-09",
"count": 1
},
{
"date": "2020-07-14",
"count": 1
},
{
"date": "2020-07-31",
"count": 1
},
{
"date": "2020-08-03",
"count": 1
},
{
"date": "2020-08-04",
"count": 1
},
{
"date": "2020-08-19",
"count": 1
},
{
"date": "2020-09-11",
"count": 1
},
{
"date": "2020-09-23",
"count": 1
},
{
"date": "2020-09-30",
"count": 1
},
{
"date": "2020-11-02",
"count": 1
},
{
"date": "2020-11-26",
"count": 1
},
{
"date": "2020-12-09",
"count": 1
},
{
"date": "2020-12-18",
"count": 1
},
{
"date": "2020-12-27",
"count": 1
},
{
"date": "2021-01-04",
"count": 1
},
{
"date": "2021-01-05",
"count": 1
},
{
"date": "2021-01-07",
"count": 1
},
{
"date": "2021-01-08",
"count": 1
},
{
"date": "2021-01-18",
"count": 1
},
{
"date": "2021-01-20",
"count": 1
},
{
"date": "2021-01-28",
"count": 1
},
{
"date": "2021-01-31",
"count": 1
},
{
"date": "2021-03-04",
"count": 1
},
{
"date": "2021-03-09",
"count": 1
},
{
"date": "2021-03-24",
"count": 1
},
{
"date": "2021-04-01",
"count": 1
},
{
"date": "2021-04-13",
"count": 2
},
{
"date": "2021-04-16",
"count": 1
},
{
"date": "2021-05-20",
"count": 1
},
{
"date": "2021-05-21",
"count": 1
},
{
"date": "2021-05-29",
"count": 1
},
{
"date": "2021-06-05",
"count": 1
},
{
"date": "2021-06-17",
"count": 2
},
{
"date": "2021-07-08",
"count": 1
},
{
"date": "2021-07-11",
"count": 1
},
{
"date": "2021-08-02",
"count": 1
},
{
"date": "2021-08-04",
"count": 1
},
{
"date": "2021-09-08",
"count": 1
},
{
"date": "2021-09-14",
"count": 1
},
{
"date": "2021-09-20",
"count": 1
},
{
"date": "2021-10-22",
"count": 2
},
{
"date": "2021-11-02",
"count": 1
},
{
"date": "2021-11-11",
"count": 1
},
{
"date": "2021-11-29",
"count": 1
},
{
"date": "2021-12-02",
"count": 1
},
{
"date": "2022-01-14",
"count": 1
},
{
"date": "2022-02-02",
"count": 1
},
{
"date": "2022-02-06",
"count": 1
},
{
"date": "2022-02-19",
"count": 1
},
{
"date": "2022-02-22",
"count": 2
},
{
"date": "2022-03-04",
"count": 1
},
{
"date": "2022-03-11",
"count": 1
},
{
"date": "2022-03-16",
"count": 1
},
{
"date": "2022-04-11",
"count": 1
},
{
"date": "2022-04-13",
"count": 1
},
{
"date": "2022-04-17",
"count": 1
},
{
"date": "2022-04-27",
"count": 1
},
{
"date": "2022-05-02",
"count": 1
},
{
"date": "2022-05-10",
"count": 1
},
{
"date": "2022-06-09",
"count": 1
},
{
"date": "2022-06-14",
"count": 1
},
{
"date": "2022-06-27",
"count": 1
},
{
"date": "2022-07-08",
"count": 1
},
{
"date": "2022-07-12",
"count": 1
},
{
"date": "2022-07-16",
"count": 1
},
{
"date": "2022-08-21",
"count": 1
},
{
"date": "2022-08-30",
"count": 2
},
{
"date": "2022-09-01",
"count": 1
},
{
"date": "2022-09-19",
"count": 1
},
{
"date": "2022-09-23",
"count": 1
},
{
"date": "2022-09-27",
"count": 1
},
{
"date": "2022-10-13",
"count": 1
},
{
"date": "2022-10-20",
"count": 2
},
{
"date": "2022-11-18",
"count": 1
},
{
"date": "2022-11-23",
"count": 1
},
{
"date": "2022-11-30",
"count": 1
},
{
"date": "2023-01-17",
"count": 2
},
{
"date": "2023-02-08",
"count": 1
},
{
"date": "2023-02-12",
"count": 2
},
{
"date": "2023-02-20",
"count": 1
},
{
"date": "2023-03-01",
"count": 1
},
{
"date": "2023-03-03",
"count": 1
},
{
"date": "2023-03-09",
"count": 1
},
{
"date": "2023-03-29",
"count": 1
},
{
"date": "2023-04-03",
"count": 1
},
{
"date": "2023-04-05",
"count": 1
},
{
"date": "2023-04-26",
"count": 1
},
{
"date": "2023-05-07",
"count": 1
},
{
"date": "2023-07-24",
"count": 1
},
{
"date": "2023-08-04",
"count": 1
},
{
"date": "2023-08-08",
"count": 1
},
{
"date": "2023-09-15",
"count": 1
},
{
"date": "2023-10-16",
"count": 1
},
{
"date": "2023-11-08",
"count": 1
},
{
"date": "2023-11-17",
"count": 1
},
{
"date": "2023-11-30",
"count": 1
},
{
"date": "2023-12-09",
"count": 2
},
{
"date": "2023-12-11",
"count": 1
},
{
"date": "2024-01-26",
"count": 1
},
{
"date": "2024-01-27",
"count": 1
},
{
"date": "2024-02-04",
"count": 1
},
{
"date": "2024-02-14",
"count": 1
},
{
"date": "2024-02-19",
"count": 1
},
{
"date": "2024-03-05",
"count": 2
},
{
"date": "2024-03-07",
"count": 1
},
{
"date": "2024-04-11",
"count": 1
},
{
"date": "2024-05-09",
"count": 1
},
{
"date": "2024-06-06",
"count": 1
},
{
"date": "2024-06-12",
"count": 1
},
{
"date": "2024-07-18",
"count": 1
},
{
"date": "2024-08-22",
"count": 1
},
{
"date": "2024-09-29",
"count": 1
},
{
"date": "2024-10-09",
"count": 1
},
{
"date": "2024-10-23",
"count": 1
},
{
"date": "2024-11-11",
"count": 1
},
{
"date": "2025-01-23",
"count": 1
},
{
"date": "2025-02-15",
"count": 1
},
{
"date": "2025-03-06",
"count": 1
},
{
"date": "2025-04-07",
"count": 1
},
{
"date": "2025-05-14",
"count": 1
},
{
"date": "2025-07-02",
"count": 1
},
{
"date": "2025-09-04",
"count": 1
},
{
"date": "2025-09-09",
"count": 1
},
{
"date": "2025-10-29",
"count": 1
},
{
"date": "2025-11-07",
"count": 1
},
{
"date": "2025-11-27",
"count": 1
},
{
"date": "2025-12-04",
"count": 1
},
{
"date": "2026-02-07",
"count": 1
},
{
"date": "2026-03-29",
"count": 1
},
{
"date": "2026-04-16",
"count": 1
},
{
"date": "2026-06-28",
"count": 1
},
{
"date": "2026-07-19",
"count": 3
}
],
"complete": false,
"collected": 1000,
"total_forks": 1298
},
"star_history": {
"days": [
{
"date": "2020-05-27",
"count": 3
},
{
"date": "2020-05-28",
"count": 1
},
{
"date": "2020-05-29",
"count": 1
},
{
"date": "2020-05-30",
"count": 2
},
{
"date": "2020-06-01",
"count": 2
},
{
"date": "2020-06-02",
"count": 2
},
{
"date": "2020-06-03",
"count": 2
},
{
"date": "2020-06-04",
"count": 3
},
{
"date": "2020-06-09",
"count": 2
},
{
"date": "2020-06-10",
"count": 1
},
{
"date": "2020-06-16",
"count": 1
},
{
"date": "2020-06-20",
"count": 1
},
{
"date": "2020-06-23",
"count": 2
},
{
"date": "2020-06-24",
"count": 4
},
{
"date": "2020-06-25",
"count": 2
},
{
"date": "2020-06-30",
"count": 1
},
{
"date": "2020-07-01",
"count": 1
},
{
"date": "2020-07-02",
"count": 1
},
{
"date": "2020-07-04",
"count": 1
},
{
"date": "2020-07-05",
"count": 1
},
{
"date": "2020-07-08",
"count": 3
},
{
"date": "2020-07-10",
"count": 3
},
{
"date": "2020-07-11",
"count": 1
},
{
"date": "2020-07-12",
"count": 1
},
{
"date": "2020-07-16",
"count": 2
},
{
"date": "2020-07-17",
"count": 2
},
{
"date": "2020-07-18",
"count": 1
},
{
"date": "2020-07-21",
"count": 1
},
{
"date": "2020-07-22",
"count": 1
},
{
"date": "2020-07-23",
"count": 3
},
{
"date": "2020-07-24",
"count": 4
},
{
"date": "2020-07-27",
"count": 1
},
{
"date": "2020-07-29",
"count": 1
},
{
"date": "2020-07-30",
"count": 1
},
{
"date": "2020-08-02",
"count": 1
},
{
"date": "2020-08-04",
"count": 3
},
{
"date": "2020-08-05",
"count": 3
},
{
"date": "2020-08-09",
"count": 2
},
{
"date": "2020-08-10",
"count": 3
},
{
"date": "2020-08-11",
"count": 2
},
{
"date": "2020-08-12",
"count": 1
},
{
"date": "2020-08-13",
"count": 2
},
{
"date": "2020-08-14",
"count": 3
},
{
"date": "2020-08-17",
"count": 2
},
{
"date": "2020-08-18",
"count": 1
},
{
"date": "2020-08-27",
"count": 2
},
{
"date": "2020-08-28",
"count": 1
},
{
"date": "2020-09-02",
"count": 1
},
{
"date": "2020-09-03",
"count": 1
},
{
"date": "2020-09-04",
"count": 1
},
{
"date": "2020-09-06",
"count": 1
},
{
"date": "2020-09-07",
"count": 2
},
{
"date": "2020-09-09",
"count": 1
},
{
"date": "2020-09-10",
"count": 1
},
{
"date": "2020-09-17",
"count": 1
},
{
"date": "2020-09-18",
"count": 1
},
{
"date": "2020-09-20",
"count": 1
},
{
"date": "2020-09-23",
"count": 1
},
{
"date": "2020-09-24",
"count": 1
},
{
"date": "2020-09-25",
"count": 1
},
{
"date": "2020-09-28",
"count": 1
},
{
"date": "2020-10-01",
"count": 2
},
{
"date": "2020-10-02",
"count": 1
},
{
"date": "2020-10-07",
"count": 1
},
{
"date": "2020-10-08",
"count": 1
},
{
"date": "2020-10-12",
"count": 1
},
{
"date": "2020-10-13",
"count": 1
},
{
"date": "2020-10-14",
"count": 1
},
{
"date": "2020-10-16",
"count": 1
},
{
"date": "2020-10-18",
"count": 1
},
{
"date": "2020-10-19",
"count": 2
},
{
"date": "2020-10-20",
"count": 3
},
{
"date": "2020-10-22",
"count": 2
},
{
"date": "2020-10-23",
"count": 1
},
{
"date": "2020-10-28",
"count": 1
},
{
"date": "2020-10-30",
"count": 2
},
{
"date": "2020-11-01",
"count": 1
},
{
"date": "2020-11-05",
"count": 1
},
{
"date": "2020-11-06",
"count": 1
},
{
"date": "2020-11-09",
"count": 1
},
{
"date": "2020-11-10",
"count": 2
},
{
"date": "2020-11-11",
"count": 2
},
{
"date": "2020-11-13",
"count": 1
},
{
"date": "2020-11-15",
"count": 1
},
{
"date": "2020-11-16",
"count": 1
},
{
"date": "2020-11-17",
"count": 2
},
{
"date": "2020-11-18",
"count": 1
},
{
"date": "2020-11-19",
"count": 1
},
{
"date": "2020-11-26",
"count": 1
},
{
"date": "2020-11-27",
"count": 1
},
{
"date": "2020-11-28",
"count": 2
},
{
"date": "2020-11-29",
"count": 1
},
{
"date": "2020-12-02",
"count": 2
},
{
"date": "2020-12-03",
"count": 1
},
{
"date": "2020-12-04",
"count": 1
},
{
"date": "2020-12-07",
"count": 2
},
{
"date": "2020-12-10",
"count": 1
},
{
"date": "2020-12-11",
"count": 1
},
{
"date": "2020-12-14",
"count": 2
},
{
"date": "2020-12-15",
"count": 1
},
{
"date": "2020-12-19",
"count": 1
},
{
"date": "2020-12-23",
"count": 3
},
{
"date": "2020-12-30",
"count": 1
},
{
"date": "2020-12-31",
"count": 1
},
{
"date": "2021-01-04",
"count": 1
},
{
"date": "2021-01-08",
"count": 1
},
{
"date": "2021-01-10",
"count": 1
},
{
"date": "2021-01-12",
"count": 1
},
{
"date": "2021-01-13",
"count": 1
},
{
"date": "2021-01-15",
"count": 3
},
{
"date": "2021-01-16",
"count": 1
},
{
"date": "2021-01-18",
"count": 2
},
{
"date": "2021-01-19",
"count": 1
},
{
"date": "2021-01-21",
"count": 1
},
{
"date": "2021-01-22",
"count": 2
},
{
"date": "2021-01-23",
"count": 1
},
{
"date": "2021-01-24",
"count": 1
},
{
"date": "2021-01-25",
"count": 1
},
{
"date": "2021-01-26",
"count": 1
},
{
"date": "2021-01-27",
"count": 1
},
{
"date": "2021-01-28",
"count": 2
},
{
"date": "2021-01-31",
"count": 2
},
{
"date": "2021-02-01",
"count": 2
},
{
"date": "2021-02-03",
"count": 2
},
{
"date": "2021-02-05",
"count": 1
},
{
"date": "2021-02-07",
"count": 1
},
{
"date": "2021-02-09",
"count": 2
},
{
"date": "2021-02-11",
"count": 3
},
{
"date": "2021-02-12",
"count": 2
},
{
"date": "2021-02-13",
"count": 3
},
{
"date": "2021-02-14",
"count": 4
},
{
"date": "2021-02-15",
"count": 2
},
{
"date": "2021-02-16",
"count": 1
},
{
"date": "2021-02-18",
"count": 2
},
{
"date": "2021-02-20",
"count": 1
},
{
"date": "2021-02-21",
"count": 2
},
{
"date": "2021-02-22",
"count": 1
},
{
"date": "2021-02-24",
"count": 2
},
{
"date": "2021-02-27",
"count": 2
},
{
"date": "2021-03-01",
"count": 1
},
{
"date": "2021-03-02",
"count": 2
},
{
"date": "2021-03-03",
"count": 2
},
{
"date": "2021-03-05",
"count": 3
},
{
"date": "2021-03-06",
"count": 1
},
{
"date": "2021-03-08",
"count": 3
},
{
"date": "2021-03-11",
"count": 1
},
{
"date": "2021-03-14",
"count": 1
},
{
"date": "2021-03-15",
"count": 3
},
{
"date": "2021-03-16",
"count": 1
},
{
"date": "2021-03-17",
"count": 3
},
{
"date": "2021-03-21",
"count": 1
},
{
"date": "2021-03-23",
"count": 2
},
{
"date": "2021-03-24",
"count": 2
},
{
"date": "2021-03-25",
"count": 1
},
{
"date": "2021-03-26",
"count": 1
},
{
"date": "2021-04-01",
"count": 1
},
{
"date": "2021-04-08",
"count": 2
},
{
"date": "2021-04-11",
"count": 1
},
{
"date": "2021-04-13",
"count": 1
},
{
"date": "2021-04-15",
"count": 1
},
{
"date": "2021-04-16",
"count": 1
},
{
"date": "2021-04-17",
"count": 1
},
{
"date": "2021-04-20",
"count": 2
},
{
"date": "2021-04-21",
"count": 2
},
{
"date": "2021-05-04",
"count": 1
},
{
"date": "2021-05-05",
"count": 1
},
{
"date": "2021-05-06",
"count": 2
},
{
"date": "2021-05-09",
"count": 1
},
{
"date": "2021-05-10",
"count": 2
},
{
"date": "2021-05-16",
"count": 1
},
{
"date": "2021-05-17",
"count": 1
},
{
"date": "2021-05-20",
"count": 2
},
{
"date": "2021-05-24",
"count": 1
},
{
"date": "2021-05-27",
"count": 1
},
{
"date": "2021-05-31",
"count": 1
},
{
"date": "2021-06-01",
"count": 2
},
{
"date": "2021-06-05",
"count": 2
},
{
"date": "2021-06-09",
"count": 3
},
{
"date": "2021-06-14",
"count": 1
},
{
"date": "2021-06-15",
"count": 1
},
{
"date": "2021-06-17",
"count": 2
},
{
"date": "2021-06-19",
"count": 1
},
{
"date": "2021-06-21",
"count": 1
},
{
"date": "2021-06-22",
"count": 1
},
{
"date": "2021-06-25",
"count": 1
},
{
"date": "2021-06-27",
"count": 1
},
{
"date": "2021-06-29",
"count": 3
},
{
"date": "2021-07-03",
"count": 2
},
{
"date": "2021-07-06",
"count": 1
},
{
"date": "2021-07-07",
"count": 1
},
{
"date": "2021-07-13",
"count": 2
},
{
"date": "2021-07-14",
"count": 1
},
{
"date": "2021-07-18",
"count": 1
},
{
"date": "2021-07-19",
"count": 1
},
{
"date": "2021-07-21",
"count": 1
},
{
"date": "2021-07-23",
"count": 1
},
{
"date": "2021-07-24",
"count": 1
},
{
"date": "2021-07-26",
"count": 1
},
{
"date": "2021-07-27",
"count": 1
},
{
"date": "2021-07-30",
"count": 1
},
{
"date": "2021-08-03",
"count": 1
},
{
"date": "2021-08-06",
"count": 2
},
{
"date": "2021-08-10",
"count": 1
},
{
"date": "2021-08-11",
"count": 4
},
{
"date": "2021-08-13",
"count": 1
},
{
"date": "2021-08-18",
"count": 2
},
{
"date": "2021-08-19",
"count": 1
},
{
"date": "2021-08-22",
"count": 2
},
{
"date": "2021-08-27",
"count": 1
},
{
"date": "2021-08-29",
"count": 2
},
{
"date": "2021-09-06",
"count": 1
},
{
"date": "2021-09-08",
"count": 1
},
{
"date": "2021-09-16",
"count": 1
},
{
"date": "2021-09-24",
"count": 1
},
{
"date": "2021-09-28",
"count": 1
},
{
"date": "2021-09-29",
"count": 1
},
{
"date": "2021-10-01",
"count": 1
},
{
"date": "2021-10-03",
"count": 1
},
{
"date": "2021-10-05",
"count": 1
},
{
"date": "2021-10-06",
"count": 2
},
{
"date": "2021-10-07",
"count": 1
},
{
"date": "2021-10-09",
"count": 1
},
{
"date": "2021-10-10",
"count": 1
},
{
"date": "2021-10-15",
"count": 1
},
{
"date": "2021-10-18",
"count": 2
},
{
"date": "2021-10-19",
"count": 2
},
{
"date": "2021-10-23",
"count": 1
},
{
"date": "2021-10-25",
"count": 1
},
{
"date": "2021-10-26",
"count": 2
},
{
"date": "2021-10-30",
"count": 1
},
{
"date": "2021-11-02",
"count": 2
},
{
"date": "2021-11-04",
"count": 1
},
{
"date": "2021-11-05",
"count": 1
},
{
"date": "2021-11-07",
"count": 1
},
{
"date": "2021-11-09",
"count": 2
},
{
"date": "2021-11-11",
"count": 2
},
{
"date": "2021-11-15",
"count": 1
},
{
"date": "2021-11-21",
"count": 1
},
{
"date": "2021-11-22",
"count": 1
},
{
"date": "2021-11-25",
"count": 1
},
{
"date": "2021-11-26",
"count": 1
},
{
"date": "2021-12-02",
"count": 1
},
{
"date": "2021-12-03",
"count": 1
},
{
"date": "2021-12-06",
"count": 1
},
{
"date": "2021-12-07",
"count": 1
},
{
"date": "2021-12-09",
"count": 1
},
{
"date": "2021-12-10",
"count": 1
},
{
"date": "2021-12-15",
"count": 1
},
{
"date": "2021-12-16",
"count": 1
},
{
"date": "2021-12-17",
"count": 1
},
{
"date": "2021-12-20",
"count": 1
},
{
"date": "2021-12-21",
"count": 2
},
{
"date": "2021-12-27",
"count": 1
},
{
"date": "2021-12-29",
"count": 1
},
{
"date": "2022-01-03",
"count": 2
},
{
"date": "2022-01-06",
"count": 1
},
{
"date": "2022-01-07",
"count": 1
},
{
"date": "2022-01-10",
"count": 1
},
{
"date": "2022-01-12",
"count": 2
},
{
"date": "2022-01-13",
"count": 1
},
{
"date": "2022-01-15",
"count": 1
},
{
"date": "2022-01-17",
"count": 2
},
{
"date": "2022-01-18",
"count": 2
},
{
"date": "2022-01-20",
"count": 2
},
{
"date": "2022-01-21",
"count": 2
},
{
"date": "2022-01-22",
"count": 2
},
{
"date": "2022-01-24",
"count": 1
},
{
"date": "2022-01-29",
"count": 1
},
{
"date": "2022-02-01",
"count": 1
},
{
"date": "2022-02-04",
"count": 1
},
{
"date": "2022-02-05",
"count": 1
},
{
"date": "2022-02-06",
"count": 2
},
{
"date": "2022-02-07",
"count": 1
},
{
"date": "2022-02-08",
"count": 2
},
{
"date": "2022-02-09",
"count": 1
},
{
"date": "2022-02-11",
"count": 2
},
{
"date": "2022-02-12",
"count": 1
},
{
"date": "2022-02-13",
"count": 2
},
{
"date": "2022-02-15",
"count": 1
},
{
"date": "2022-02-16",
"count": 1
},
{
"date": "2022-02-17",
"count": 4
},
{
"date": "2022-02-18",
"count": 1
},
{
"date": "2022-02-23",
"count": 1
},
{
"date": "2022-02-25",
"count": 2
},
{
"date": "2022-02-26",
"count": 1
},
{
"date": "2022-02-28",
"count": 1
},
{
"date": "2022-03-01",
"count": 1
},
{
"date": "2022-03-02",
"count": 1
},
{
"date": "2022-03-05",
"count": 1
},
{
"date": "2022-03-07",
"count": 1
},
{
"date": "2022-03-08",
"count": 2
},
{
"date": "2022-03-09",
"count": 4
},
{
"date": "2022-03-13",
"count": 1
},
{
"date": "2022-03-14",
"count": 1
},
{
"date": "2022-03-15",
"count": 1
},
{
"date": "2022-03-18",
"count": 1
},
{
"date": "2022-03-20",
"count": 1
},
{
"date": "2022-03-22",
"count": 1
},
{
"date": "2022-03-25",
"count": 1
},
{
"date": "2022-03-26",
"count": 2
},
{
"date": "2022-03-27",
"count": 1
},
{
"date": "2022-03-28",
"count": 1
},
{
"date": "2022-03-29",
"count": 1
},
{
"date": "2022-03-30",
"count": 1
},
{
"date": "2022-03-31",
"count": 1
},
{
"date": "2022-04-01",
"count": 1
},
{
"date": "2022-04-02",
"count": 1
},
{
"date": "2022-04-04",
"count": 1
},
{
"date": "2022-04-06",
"count": 1
},
{
"date": "2022-04-07",
"count": 1
},
{
"date": "2022-04-08",
"count": 1
},
{
"date": "2022-04-09",
"count": 1
},
{
"date": "2022-04-10",
"count": 1
},
{
"date": "2022-04-12",
"count": 2
},
{
"date": "2022-04-14",
"count": 3
},
{
"date": "2022-04-16",
"count": 1
},
{
"date": "2022-04-18",
"count": 2
},
{
"date": "2022-04-19",
"count": 1
},
{
"date": "2022-04-22",
"count": 1
},
{
"date": "2022-04-25",
"count": 1
},
{
"date": "2022-04-27",
"count": 1
},
{
"date": "2022-04-28",
"count": 2
},
{
"date": "2022-04-29",
"count": 1
},
{
"date": "2022-05-01",
"count": 1
},
{
"date": "2022-05-04",
"count": 1
},
{
"date": "2022-05-05",
"count": 2
},
{
"date": "2022-05-07",
"count": 1
},
{
"date": "2022-05-09",
"count": 1
},
{
"date": "2022-05-13",
"count": 1
},
{
"date": "2022-05-14",
"count": 1
},
{
"date": "2022-05-18",
"count": 2
},
{
"date": "2022-05-21",
"count": 1
},
{
"date": "2022-05-23",
"count": 2
},
{
"date": "2022-05-24",
"count": 3
},
{
"date": "2022-05-25",
"count": 3
},
{
"date": "2022-05-27",
"count": 2
},
{
"date": "2022-05-29",
"count": 1
},
{
"date": "2022-05-31",
"count": 1
},
{
"date": "2022-06-01",
"count": 2
},
{
"date": "2022-06-04",
"count": 1
},
{
"date": "2022-06-06",
"count": 2
},
{
"date": "2022-06-09",
"count": 1
},
{
"date": "2022-06-10",
"count": 2
},
{
"date": "2022-06-13",
"count": 1
},
{
"date": "2022-06-15",
"count": 1
},
{
"date": "2022-06-16",
"count": 1
},
{
"date": "2022-06-20",
"count": 1
},
{
"date": "2022-06-21",
"count": 2
},
{
"date": "2022-06-22",
"count": 1
},
{
"date": "2022-06-24",
"count": 1
},
{
"date": "2022-06-25",
"count": 1
},
{
"date": "2022-06-27",
"count": 1
},
{
"date": "2022-06-29",
"count": 2
},
{
"date": "2022-07-05",
"count": 1
},
{
"date": "2022-07-06",
"count": 1
},
{
"date": "2022-07-08",
"count": 1
},
{
"date": "2022-07-10",
"count": 1
},
{
"date": "2022-07-11",
"count": 1
},
{
"date": "2022-07-15",
"count": 2
},
{
"date": "2022-07-16",
"count": 1
},
{
"date": "2022-07-22",
"count": 2
},
{
"date": "2022-07-25",
"count": 1
},
{
"date": "2022-07-26",
"count": 1
},
{
"date": "2022-07-28",
"count": 1
},
{
"date": "2022-07-31",
"count": 1
},
{
"date": "2022-08-03",
"count": 1
},
{
"date": "2022-08-04",
"count": 1
},
{
"date": "2022-08-11",
"count": 1
},
{
"date": "2022-08-12",
"count": 1
},
{
"date": "2022-08-19",
"count": 1
},
{
"date": "2022-08-22",
"count": 3
},
{
"date": "2022-08-23",
"count": 1
},
{
"date": "2022-08-26",
"count": 2
},
{
"date": "2022-08-27",
"count": 2
},
{
"date": "2022-08-30",
"count": 2
},
{
"date": "2022-08-31",
"count": 1
},
{
"date": "2022-09-02",
"count": 1
},
{
"date": "2022-09-04",
"count": 2
},
{
"date": "2022-09-08",
"count": 1
},
{
"date": "2022-09-12",
"count": 2
},
{
"date": "2022-09-13",
"count": 1
},
{
"date": "2022-09-16",
"count": 1
},
{
"date": "2022-09-19",
"count": 1
},
{
"date": "2022-09-25",
"count": 1
},
{
"date": "2022-09-28",
"count": 1
},
{
"date": "2022-09-29",
"count": 2
},
{
"date": "2022-09-30",
"count": 1
},
{
"date": "2022-10-05",
"count": 1
},
{
"date": "2022-10-08",
"count": 1
},
{
"date": "2022-10-09",
"count": 1
},
{
"date": "2022-10-10",
"count": 2
},
{
"date": "2022-10-11",
"count": 2
},
{
"date": "2022-10-12",
"count": 1
},
{
"date": "2022-10-13",
"count": 1
},
{
"date": "2022-10-15",
"count": 1
},
{
"date": "2022-10-18",
"count": 1
},
{
"date": "2022-10-19",
"count": 1
},
{
"date": "2022-10-20",
"count": 3
},
{
"date": "2022-10-21",
"count": 1
},
{
"date": "2022-10-22",
"count": 1
},
{
"date": "2022-10-23",
"count": 1
},
{
"date": "2022-10-26",
"count": 1
},
{
"date": "2022-10-29",
"count": 1
},
{
"date": "2022-11-02",
"count": 2
},
{
"date": "2022-11-04",
"count": 1
},
{
"date": "2022-11-06",
"count": 1
},
{
"date": "2022-11-12",
"count": 1
},
{
"date": "2022-11-14",
"count": 1
},
{
"date": "2022-11-16",
"count": 1
},
{
"date": "2022-11-17",
"count": 4
},
{
"date": "2022-11-18",
"count": 1
},
{
"date": "2022-11-21",
"count": 1
},
{
"date": "2022-11-22",
"count": 1
},
{
"date": "2022-11-25",
"count": 2
},
{
"date": "2022-11-26",
"count": 1
},
{
"date": "2022-11-28",
"count": 1
},
{
"date": "2022-11-29",
"count": 1
},
{
"date": "2022-12-03",
"count": 1
},
{
"date": "2022-12-05",
"count": 1
},
{
"date": "2022-12-12",
"count": 1
},
{
"date": "2022-12-13",
"count": 1
},
{
"date": "2022-12-15",
"count": 1
},
{
"date": "2022-12-16",
"count": 1
},
{
"date": "2022-12-19",
"count": 1
},
{
"date": "2022-12-20",
"count": 1
},
{
"date": "2022-12-24",
"count": 1
},
{
"date": "2022-12-30",
"count": 2
},
{
"date": "2023-01-04",
"count": 1
},
{
"date": "2023-01-05",
"count": 1
},
{
"date": "2023-01-15",
"count": 1
},
{
"date": "2023-01-17",
"count": 1
},
{
"date": "2023-01-21",
"count": 2
},
{
"date": "2023-01-23",
"count": 1
},
{
"date": "2023-01-24",
"count": 1
},
{
"date": "2023-01-25",
"count": 1
},
{
"date": "2023-01-26",
"count": 1
},
{
"date": "2023-01-30",
"count": 3
},
{
"date": "2023-02-02",
"count": 1
},
{
"date": "2023-02-03",
"count": 1
},
{
"date": "2023-02-04",
"count": 2
},
{
"date": "2023-02-06",
"count": 2
},
{
"date": "2023-02-07",
"count": 3
},
{
"date": "2023-02-09",
"count": 1
},
{
"date": "2023-02-13",
"count": 2
},
{
"date": "2023-02-15",
"count": 1
},
{
"date": "2023-02-18",
"count": 1
},
{
"date": "2023-02-20",
"count": 1
},
{
"date": "2023-02-21",
"count": 1
},
{
"date": "2023-02-24",
"count": 2
},
{
"date": "2023-02-25",
"count": 1
},
{
"date": "2023-02-27",
"count": 1
},
{
"date": "2023-02-28",
"count": 1
},
{
"date": "2023-03-02",
"count": 1
},
{
"date": "2023-03-03",
"count": 1
},
{
"date": "2023-03-04",
"count": 2
},
{
"date": "2023-03-10",
"count": 1
},
{
"date": "2023-03-11",
"count": 1
},
{
"date": "2023-03-13",
"count": 2
},
{
"date": "2023-03-16",
"count": 1
},
{
"date": "2023-03-21",
"count": 1
},
{
"date": "2023-03-22",
"count": 1
},
{
"date": "2023-03-23",
"count": 2
},
{
"date": "2023-03-24",
"count": 1
},
{
"date": "2023-03-29",
"count": 1
},
{
"date": "2023-03-30",
"count": 2
},
{
"date": "2023-04-02",
"count": 1
},
{
"date": "2023-04-03",
"count": 1
},
{
"date": "2023-04-04",
"count": 1
},
{
"date": "2023-04-07",
"count": 1
},
{
"date": "2023-04-16",
"count": 1
},
{
"date": "2023-04-20",
"count": 2
},
{
"date": "2023-04-23",
"count": 1
},
{
"date": "2023-04-29",
"count": 1
},
{
"date": "2023-05-01",
"count": 1
},
{
"date": "2023-05-04",
"count": 1
},
{
"date": "2023-05-09",
"count": 1
},
{
"date": "2023-05-10",
"count": 1
},
{
"date": "2023-05-11",
"count": 2
},
{
"date": "2023-05-16",
"count": 1
},
{
"date": "2023-05-19",
"count": 1
},
{
"date": "2023-05-23",
"count": 1
},
{
"date": "2023-05-24",
"count": 1
},
{
"date": "2023-05-26",
"count": 1
},
{
"date": "2023-05-27",
"count": 2
},
{
"date": "2023-06-01",
"count": 1
},
{
"date": "2023-06-03",
"count": 1
},
{
"date": "2023-06-04",
"count": 2
},
{
"date": "2023-06-07",
"count": 2
},
{
"date": "2023-06-08",
"count": 1
},
{
"date": "2023-06-09",
"count": 2
},
{
"date": "2023-06-15",
"count": 1
},
{
"date": "2023-06-17",
"count": 1
},
{
"date": "2023-06-22",
"count": 1
},
{
"date": "2023-06-23",
"count": 1
},
{
"date": "2023-06-26",
"count": 1
},
{
"date": "2023-06-27",
"count": 1
},
{
"date": "2023-06-30",
"count": 2
},
{
"date": "2023-07-03",
"count": 1
},
{
"date": "2023-07-06",
"count": 1
},
{
"date": "2023-07-13",
"count": 1
},
{
"date": "2023-07-14",
"count": 1
},
{
"date": "2023-07-17",
"count": 1
},
{
"date": "2023-07-20",
"count": 1
},
{
"date": "2023-07-23",
"count": 2
},
{
"date": "2023-07-26",
"count": 1
},
{
"date": "2023-07-27",
"count": 1
},
{
"date": "2023-07-28",
"count": 1
},
{
"date": "2023-08-02",
"count": 1
},
{
"date": "2023-08-03",
"count": 1
},
{
"date": "2023-08-10",
"count": 2
},
{
"date": "2023-08-15",
"count": 1
},
{
"date": "2023-08-22",
"count": 1
},
{
"date": "2023-08-23",
"count": 1
},
{
"date": "2023-08-24",
"count": 1
},
{
"date": "2023-08-25",
"count": 1
},
{
"date": "2023-09-01",
"count": 1
},
{
"date": "2023-09-02",
"count": 1
},
{
"date": "2023-09-05",
"count": 2
},
{
"date": "2023-09-06",
"count": 1
},
{
"date": "2023-09-07",
"count": 1
},
{
"date": "2023-09-13",
"count": 1
},
{
"date": "2023-09-15",
"count": 1
},
{
"date": "2023-09-21",
"count": 1
},
{
"date": "2023-09-22",
"count": 2
},
{
"date": "2023-09-23",
"count": 2
},
{
"date": "2023-09-24",
"count": 1
},
{
"date": "2023-10-01",
"count": 1
},
{
"date": "2023-10-02",
"count": 1
},
{
"date": "2023-10-07",
"count": 2
},
{
"date": "2023-10-11",
"count": 1
},
{
"date": "2023-10-12",
"count": 1
},
{
"date": "2023-10-14",
"count": 1
},
{
"date": "2023-10-17",
"count": 1
},
{
"date": "2023-10-18",
"count": 1
},
{
"date": "2023-10-19",
"count": 4
},
{
"date": "2023-10-22",
"count": 1
},
{
"date": "2023-10-24",
"count": 1
},
{
"date": "2023-10-25",
"count": 1
},
{
"date": "2023-10-26",
"count": 3
},
{
"date": "2023-10-29",
"count": 2
},
{
"date": "2023-10-31",
"count": 1
},
{
"date": "2023-11-01",
"count": 1
},
{
"date": "2023-11-06",
"count": 2
},
{
"date": "2023-11-07",
"count": 1
},
{
"date": "2023-11-09",
"count": 1
},
{
"date": "2023-11-11",
"count": 1
},
{
"date": "2023-11-13",
"count": 1
},
{
"date": "2023-11-14",
"count": 1
},
{
"date": "2023-11-15",
"count": 1
},
{
"date": "2023-11-20",
"count": 1
},
{
"date": "2023-11-22",
"count": 3
},
{
"date": "2023-11-23",
"count": 1
},
{
"date": "2023-11-24",
"count": 1
},
{
"date": "2023-11-27",
"count": 2
},
{
"date": "2023-11-28",
"count": 1
},
{
"date": "2023-12-01",
"count": 1
},
{
"date": "2023-12-04",
"count": 1
},
{
"date": "2023-12-05",
"count": 1
},
{
"date": "2023-12-06",
"count": 2
},
{
"date": "2023-12-07",
"count": 1
},
{
"date": "2023-12-08",
"count": 1
},
{
"date": "2023-12-13",
"count": 1
},
{
"date": "2023-12-14",
"count": 1
},
{
"date": "2023-12-17",
"count": 1
},
{
"date": "2023-12-19",
"count": 1
},
{
"date": "2023-12-23",
"count": 1
},
{
"date": "2023-12-27",
"count": 1
},
{
"date": "2023-12-28",
"count": 1
},
{
"date": "2024-01-06",
"count": 1
},
{
"date": "2024-01-15",
"count": 1
},
{
"date": "2024-01-17",
"count": 2
},
{
"date": "2024-01-19",
"count": 1
},
{
"date": "2024-01-22",
"count": 1
},
{
"date": "2024-01-23",
"count": 1
},
{
"date": "2024-01-25",
"count": 1
},
{
"date": "2024-02-04",
"count": 1
},
{
"date": "2024-02-05",
"count": 1
},
{
"date": "2024-02-07",
"count": 2
},
{
"date": "2024-02-09",
"count": 1
},
{
"date": "2024-02-14",
"count": 1
},
{
"date": "2024-02-15",
"count": 1
},
{
"date": "2024-02-20",
"count": 1
},
{
"date": "2024-02-21",
"count": 2
},
{
"date": "2024-02-27",
"count": 1
},
{
"date": "2024-02-28",
"count": 1
},
{
"date": "2024-03-03",
"count": 1
},
{
"date": "2024-03-11",
"count": 2
},
{
"date": "2024-03-13",
"count": 1
},
{
"date": "2024-03-15",
"count": 1
},
{
"date": "2024-03-18",
"count": 2
},
{
"date": "2024-03-20",
"count": 1
},
{
"date": "2024-03-21",
"count": 2
},
{
"date": "2024-03-22",
"count": 1
},
{
"date": "2024-03-25",
"count": 1
},
{
"date": "2024-04-02",
"count": 1
},
{
"date": "2024-04-07",
"count": 2
},
{
"date": "2024-04-09",
"count": 1
},
{
"date": "2024-04-21",
"count": 1
},
{
"date": "2024-04-24",
"count": 2
},
{
"date": "2024-04-28",
"count": 1
},
{
"date": "2024-05-02",
"count": 1
},
{
"date": "2024-05-08",
"count": 1
},
{
"date": "2024-05-12",
"count": 1
},
{
"date": "2024-05-16",
"count": 1
},
{
"date": "2024-05-18",
"count": 1
},
{
"date": "2024-05-20",
"count": 1
},
{
"date": "2024-05-21",
"count": 1
},
{
"date": "2024-05-22",
"count": 1
},
{
"date": "2024-05-25",
"count": 1
},
{
"date": "2024-05-29",
"count": 1
},
{
"date": "2024-05-30",
"count": 1
},
{
"date": "2024-06-03",
"count": 1
},
{
"date": "2024-06-07",
"count": 1
},
{
"date": "2024-06-12",
"count": 1
},
{
"date": "2024-06-15",
"count": 1
},
{
"date": "2024-06-18",
"count": 2
},
{
"date": "2024-06-21",
"count": 1
},
{
"date": "2024-06-30",
"count": 2
},
{
"date": "2024-07-04",
"count": 1
},
{
"date": "2024-07-05",
"count": 2
},
{
"date": "2024-07-07",
"count": 1
},
{
"date": "2024-07-08",
"count": 1
},
{
"date": "2024-07-09",
"count": 1
},
{
"date": "2024-07-22",
"count": 1
},
{
"date": "2024-07-23",
"count": 1
},
{
"date": "2024-07-30",
"count": 1
},
{
"date": "2024-07-31",
"count": 1
},
{
"date": "2024-08-01",
"count": 1
},
{
"date": "2024-08-13",
"count": 1
},
{
"date": "2024-08-16",
"count": 1
},
{
"date": "2024-08-21",
"count": 1
},
{
"date": "2024-08-22",
"count": 1
},
{
"date": "2024-08-29",
"count": 1
},
{
"date": "2024-09-04",
"count": 1
},
{
"date": "2024-09-07",
"count": 1
},
{
"date": "2024-09-10",
"count": 2
},
{
"date": "2024-09-11",
"count": 1
},
{
"date": "2024-09-16",
"count": 1
},
{
"date": "2024-09-17",
"count": 1
},
{
"date": "2024-09-28",
"count": 1
},
{
"date": "2024-10-02",
"count": 2
},
{
"date": "2024-10-10",
"count": 2
},
{
"date": "2024-10-12",
"count": 1
},
{
"date": "2024-10-15",
"count": 1
},
{
"date": "2024-10-17",
"count": 1
},
{
"date": "2024-10-20",
"count": 1
},
{
"date": "2024-10-23",
"count": 1
},
{
"date": "2024-10-29",
"count": 1
},
{
"date": "2024-10-30",
"count": 1
},
{
"date": "2024-10-31",
"count": 1
},
{
"date": "2024-11-02",
"count": 1
},
{
"date": "2024-11-05",
"count": 1
},
{
"date": "2024-11-06",
"count": 2
},
{
"date": "2024-11-16",
"count": 1
},
{
"date": "2024-11-17",
"count": 1
},
{
"date": "2024-11-23",
"count": 1
},
{
"date": "2024-12-11",
"count": 1
},
{
"date": "2024-12-13",
"count": 1
},
{
"date": "2024-12-27",
"count": 1
},
{
"date": "2024-12-30",
"count": 1
},
{
"date": "2025-01-08",
"count": 1
},
{
"date": "2025-01-16",
"count": 1
},
{
"date": "2025-01-22",
"count": 1
},
{
"date": "2025-01-29",
"count": 2
},
{
"date": "2025-02-05",
"count": 1
},
{
"date": "2025-02-06",
"count": 1
},
{
"date": "2025-02-11",
"count": 1
},
{
"date": "2025-02-17",
"count": 1
},
{
"date": "2025-02-18",
"count": 1
},
{
"date": "2025-02-20",
"count": 1
},
{
"date": "2025-02-21",
"count": 1
},
{
"date": "2025-02-22",
"count": 1
},
{
"date": "2025-02-23",
"count": 1
},
{
"date": "2025-02-26",
"count": 1
},
{
"date": "2025-03-02",
"count": 1
},
{
"date": "2025-03-05",
"count": 1
},
{
"date": "2025-03-13",
"count": 2
},
{
"date": "2025-03-28",
"count": 1
},
{
"date": "2025-04-03",
"count": 1
},
{
"date": "2025-04-04",
"count": 1
},
{
"date": "2025-04-08",
"count": 1
},
{
"date": "2025-04-17",
"count": 1
},
{
"date": "2025-05-04",
"count": 1
},
{
"date": "2025-05-05",
"count": 1
},
{
"date": "2025-05-18",
"count": 1
},
{
"date": "2025-05-28",
"count": 2
},
{
"date": "2025-05-29",
"count": 2
},
{
"date": "2025-05-31",
"count": 1
},
{
"date": "2025-06-07",
"count": 1
},
{
"date": "2025-06-09",
"count": 1
},
{
"date": "2025-06-10",
"count": 1
},
{
"date": "2025-06-15",
"count": 1
},
{
"date": "2025-06-17",
"count": 1
},
{
"date": "2025-07-04",
"count": 1
},
{
"date": "2025-07-07",
"count": 2
},
{
"date": "2025-07-08",
"count": 1
},
{
"date": "2025-07-09",
"count": 1
},
{
"date": "2025-07-11",
"count": 2
},
{
"date": "2025-07-15",
"count": 1
},
{
"date": "2025-07-24",
"count": 1
},
{
"date": "2025-07-27",
"count": 2
},
{
"date": "2025-08-03",
"count": 1
},
{
"date": "2025-08-04",
"count": 1
},
{
"date": "2025-08-12",
"count": 1
},
{
"date": "2025-08-17",
"count": 1
},
{
"date": "2025-08-24",
"count": 1
},
{
"date": "2025-08-26",
"count": 1
},
{
"date": "2025-09-05",
"count": 1
},
{
"date": "2025-09-08",
"count": 1
},
{
"date": "2025-09-17",
"count": 2
},
{
"date": "2025-09-21",
"count": 1
},
{
"date": "2025-09-25",
"count": 1
},
{
"date": "2025-09-29",
"count": 1
},
{
"date": "2025-10-02",
"count": 1
},
{
"date": "2025-10-12",
"count": 1
},
{
"date": "2025-10-24",
"count": 1
},
{
"date": "2025-10-26",
"count": 1
},
{
"date": "2025-10-29",
"count": 1
},
{
"date": "2025-11-05",
"count": 1
},
{
"date": "2025-11-19",
"count": 1
},
{
"date": "2025-11-23",
"count": 1
},
{
"date": "2025-11-24",
"count": 1
},
{
"date": "2025-11-28",
"count": 1
},
{
"date": "2025-12-01",
"count": 1
},
{
"date": "2025-12-02",
"count": 1
},
{
"date": "2025-12-04",
"count": 1
},
{
"date": "2025-12-06",
"count": 1
},
{
"date": "2025-12-20",
"count": 1
},
{
"date": "2025-12-25",
"count": 1
},
{
"date": "2026-01-01",
"count": 1
},
{
"date": "2026-01-13",
"count": 1
},
{
"date": "2026-01-19",
"count": 1
},
{
"date": "2026-01-23",
"count": 1
},
{
"date": "2026-02-06",
"count": 1
},
{
"date": "2026-02-25",
"count": 1
},
{
"date": "2026-03-04",
"count": 2
},
{
"date": "2026-03-14",
"count": 1
},
{
"date": "2026-03-20",
"count": 1
},
{
"date": "2026-03-25",
"count": 1
},
{
"date": "2026-04-14",
"count": 1
},
{
"date": "2026-04-19",
"count": 1
},
{
"date": "2026-04-20",
"count": 1
},
{
"date": "2026-04-25",
"count": 1
},
{
"date": "2026-04-30",
"count": 1
},
{
"date": "2026-05-06",
"count": 1
},
{
"date": "2026-05-11",
"count": 1
},
{
"date": "2026-05-23",
"count": 1
},
{
"date": "2026-05-24",
"count": 1
},
{
"date": "2026-05-25",
"count": 7
},
{
"date": "2026-05-26",
"count": 1
},
{
"date": "2026-05-30",
"count": 1
},
{
"date": "2026-06-15",
"count": 1
},
{
"date": "2026-06-21",
"count": 1
},
{
"date": "2026-06-22",
"count": 1
},
{
"date": "2026-06-26",
"count": 1
},
{
"date": "2026-07-02",
"count": 1
},
{
"date": "2026-07-06",
"count": 1
}
],
"complete": false,
"collected": 1000,
"total_stars": 8231
},
"open_issues_and_prs": 37
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": 29222,
"source_files_sampled": 99,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"Gemfile"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "rack-session",
"direct": false,
"version": "2.1.1",
"severity": "critical",
"ecosystem": "rubygems",
"cvss_score": 9.1,
"advisory_ids": [
"GHSA-33qg-7wpp-89cq"
],
"fixed_version": "2.1.2",
"advisory_count": 1,
"oldest_advisory_days": 105
},
{
"name": "concurrent-ruby",
"direct": false,
"version": "1.3.6",
"severity": "high",
"ecosystem": "rubygems",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-6wx8-w4f5-wwcr",
"GHSA-h8w8-99g7-qmvj",
"GHSA-wv3x-4vxv-whpp"
],
"fixed_version": "1.3.7",
"advisory_count": 3,
"oldest_advisory_days": 32
},
{
"name": "erb",
"direct": false,
"version": "6.0.2",
"severity": "high",
"ecosystem": "rubygems",
"cvss_score": 8.1,
"advisory_ids": [
"GHSA-q339-8rmv-2mhv"
],
"fixed_version": "6.0.4",
"advisory_count": 1,
"oldest_advisory_days": 88
},
{
"name": "nokogiri",
"direct": false,
"version": "1.19.2",
"severity": "high",
"ecosystem": "rubygems",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-5prr-v3j2-97mh",
"GHSA-5v8h-3h3q-446p",
"GHSA-8678-w3jw-xfc2",
"GHSA-9cv2-cfxc-v4v2",
"GHSA-c4rq-3m3g-8wgx",
"GHSA-p67v-3w7g-wjg7",
"GHSA-phwj-rprq-35pp",
"GHSA-v2fc-qm4h-8hqv",
"GHSA-wfpw-mmfh-qq69",
"GHSA-wjv4-x9w8-wm3h"
],
"fixed_version": "1.19.4",
"advisory_count": 10,
"oldest_advisory_days": 76
},
{
"name": "rack",
"direct": false,
"version": "3.2.5",
"severity": "high",
"ecosystem": "rubygems",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-7mqq-6cf9-v2qp",
"GHSA-8vqr-qjwx-82mw",
"GHSA-g2pf-xv49-m2h5",
"GHSA-h2jq-g4cq-5ppq",
"GHSA-q2ww-5357-x388",
"GHSA-q4qf-9j86-f5mh",
"GHSA-qfgr-crr9-7r49",
"GHSA-qv7j-4883-hwh7",
"GHSA-rx22-g9mx-qrhv",
"GHSA-v569-hp3g-36wr"
],
"fixed_version": "3.2.6",
"advisory_count": 13,
"oldest_advisory_days": 110
},
{
"name": "loofah",
"direct": false,
"version": "2.25.1",
"severity": "moderate",
"ecosystem": "rubygems",
"cvss_score": 4.7,
"advisory_ids": [
"GHSA-5qhf-9phg-95m2",
"GHSA-8whx-365g-h9vv",
"GHSA-9wjq-cp2p-hrgf"
],
"fixed_version": "2.25.2",
"advisory_count": 3,
"oldest_advisory_days": 0
},
{
"name": "rails-html-sanitizer",
"direct": false,
"version": "1.7.0",
"severity": "low",
"ecosystem": "rubygems",
"cvss_score": 0,
"advisory_ids": [
"GHSA-cj75-f6xr-r4g7"
],
"fixed_version": "1.7.1",
"advisory_count": 1,
"oldest_advisory_days": 0
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"low": 1,
"high": 4,
"critical": 1,
"moderate": 1
},
"advisory_count": 32,
"affected_count": 7,
"assessed_count": 49,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 6,
"direct_affected_count": 0
},
"ecosystems": [
"rubygems"
],
"dependencies": [
{
"name": "activemodel",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "~> 8.1.0"
},
{
"name": "actionpack",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "~> 8.1.0"
},
{
"name": "railties",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "~> 8.1.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "actionpack",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "actionpack",
"direct": true,
"version": "8.1.3",
"ecosystem": "rubygems"
},
{
"name": "activemodel",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "activemodel",
"direct": true,
"version": "8.1.3",
"ecosystem": "rubygems"
},
{
"name": "railties",
"direct": true,
"version": "8.1.3",
"ecosystem": "rubygems"
},
{
"name": "actionview",
"direct": false,
"version": "8.1.3",
"ecosystem": "rubygems"
},
{
"name": "activesupport",
"direct": false,
"version": "8.1.3",
"ecosystem": "rubygems"
},
{
"name": "base64",
"direct": false,
"version": "0.3.0",
"ecosystem": "rubygems"
},
{
"name": "bigdecimal",
"direct": false,
"version": "4.0.1",
"ecosystem": "rubygems"
},
{
"name": "builder",
"direct": false,
"version": "3.3.0",
"ecosystem": "rubygems"
},
{
"name": "concurrent-ruby",
"direct": false,
"version": "1.3.6",
"ecosystem": "rubygems"
},
{
"name": "connection_pool",
"direct": false,
"version": "3.0.2",
"ecosystem": "rubygems"
},
{
"name": "countries",
"direct": false,
"version": "8.1.0",
"ecosystem": "rubygems"
},
{
"name": "country_select",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "country_select",
"direct": false,
"version": "11.0.0",
"ecosystem": "rubygems"
},
{
"name": "crass",
"direct": false,
"version": "1.0.6",
"ecosystem": "rubygems"
},
{
"name": "date",
"direct": false,
"version": "3.5.1",
"ecosystem": "rubygems"
},
{
"name": "drb",
"direct": false,
"version": "2.2.3",
"ecosystem": "rubygems"
},
{
"name": "erb",
"direct": false,
"version": "6.0.2",
"ecosystem": "rubygems"
},
{
"name": "erubi",
"direct": false,
"version": "1.13.1",
"ecosystem": "rubygems"
},
{
"name": "i18n",
"direct": false,
"version": "1.14.8",
"ecosystem": "rubygems"
},
{
"name": "io-console",
"direct": false,
"version": "0.8.2",
"ecosystem": "rubygems"
},
{
"name": "irb",
"direct": false,
"version": "1.17.0",
"ecosystem": "rubygems"
},
{
"name": "json",
"direct": false,
"version": "2.19.3",
"ecosystem": "rubygems"
},
{
"name": "logger",
"direct": false,
"version": "1.7.0",
"ecosystem": "rubygems"
},
{
"name": "loofah",
"direct": false,
"version": "2.25.1",
"ecosystem": "rubygems"
},
{
"name": "mini_portile2",
"direct": false,
"version": "2.8.9",
"ecosystem": "rubygems"
},
{
"name": "minitest",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "minitest",
"direct": false,
"version": "5.27.0",
"ecosystem": "rubygems"
},
{
"name": "nokogiri",
"direct": false,
"version": "1.19.2",
"ecosystem": "rubygems"
},
{
"name": "pp",
"direct": false,
"version": "0.6.3",
"ecosystem": "rubygems"
},
{
"name": "prettyprint",
"direct": false,
"version": "0.2.0",
"ecosystem": "rubygems"
},
{
"name": "prism",
"direct": false,
"version": "1.9.0",
"ecosystem": "rubygems"
},
{
"name": "psych",
"direct": false,
"version": "5.3.1",
"ecosystem": "rubygems"
},
{
"name": "racc",
"direct": false,
"version": "1.8.1",
"ecosystem": "rubygems"
},
{
"name": "rack",
"direct": false,
"version": "3.2.5",
"ecosystem": "rubygems"
},
{
"name": "rack-session",
"direct": false,
"version": "2.1.1",
"ecosystem": "rubygems"
},
{
"name": "rack-test",
"direct": false,
"version": "2.2.0",
"ecosystem": "rubygems"
},
{
"name": "rackup",
"direct": false,
"version": "2.3.1",
"ecosystem": "rubygems"
},
{
"name": "rails-dom-testing",
"direct": false,
"version": "2.3.0",
"ecosystem": "rubygems"
},
{
"name": "rails-html-sanitizer",
"direct": false,
"version": "1.7.0",
"ecosystem": "rubygems"
},
{
"name": "rake",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "rake",
"direct": false,
"version": "13.3.1",
"ecosystem": "rubygems"
},
{
"name": "rdoc",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "rdoc",
"direct": false,
"version": "7.2.0",
"ecosystem": "rubygems"
},
{
"name": "reline",
"direct": false,
"version": "0.6.3",
"ecosystem": "rubygems"
},
{
"name": "securerandom",
"direct": false,
"version": "0.4.1",
"ecosystem": "rubygems"
},
{
"name": "stringio",
"direct": false,
"version": "3.2.0",
"ecosystem": "rubygems"
},
{
"name": "thor",
"direct": false,
"version": "1.5.0",
"ecosystem": "rubygems"
},
{
"name": "tsort",
"direct": false,
"version": "0.2.0",
"ecosystem": "rubygems"
},
{
"name": "tzinfo",
"direct": false,
"version": "2.0.6",
"ecosystem": "rubygems"
},
{
"name": "unaccent",
"direct": false,
"version": "0.4.0",
"ecosystem": "rubygems"
},
{
"name": "uri",
"direct": false,
"version": "1.1.1",
"ecosystem": "rubygems"
},
{
"name": "useragent",
"direct": false,
"version": "0.16.11",
"ecosystem": "rubygems"
},
{
"name": "zeitwerk",
"direct": false,
"version": "2.7.5",
"ecosystem": "rubygems"
}
],
"collected": true,
"truncated": false,
"total_count": 55,
"direct_count": 5,
"indirect_count": 50
}
},
"maintainership": {
"issues": {
"open_prs": 13,
"merged_prs": 359,
"open_issues": 24,
"closed_ratio": 0.981,
"closed_issues": 1214,
"closed_unmerged_prs": 256
},
"bus_factor": 2,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "carlosantoniodasilva",
"commits": 497,
"avatar_url": "https://avatars.githubusercontent.com/u/26328?v=4"
},
{
"type": "User",
"login": "rafaelfranca",
"commits": 446,
"avatar_url": "https://avatars.githubusercontent.com/u/47848?v=4"
},
{
"type": "User",
"login": "josevalim",
"commits": 227,
"avatar_url": "https://avatars.githubusercontent.com/u/9582?v=4"
},
{
"type": "User",
"login": "nashby",
"commits": 136,
"avatar_url": "https://avatars.githubusercontent.com/u/200500?v=4"
},
{
"type": "User",
"login": "feliperenan",
"commits": 104,
"avatar_url": "https://avatars.githubusercontent.com/u/27698968?v=4"
},
{
"type": "User",
"login": "lucasmazza",
"commits": 65,
"avatar_url": "https://avatars.githubusercontent.com/u/80978?v=4"
},
{
"type": "User",
"login": "laurocaetano",
"commits": 21,
"avatar_url": "https://avatars.githubusercontent.com/u/611891?v=4"
},
{
"type": "User",
"login": "tegon",
"commits": 18,
"avatar_url": "https://avatars.githubusercontent.com/u/3727827?v=4"
},
{
"type": "User",
"login": "ulissesalmeida",
"commits": 15,
"avatar_url": "https://avatars.githubusercontent.com/u/867308?v=4"
},
{
"type": "User",
"login": "m5o",
"commits": 12,
"avatar_url": "https://avatars.githubusercontent.com/u/26371?v=4"
}
],
"contributors_sampled": 100,
"top_contributor_share": 0.275
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"test.yml"
],
"has_docs_dir": false,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"Gemfile.lock"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 8,
"reason": "4 out of 5 merged PRs checked by a CI test -- score normalized to 8",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 1,
"reason": "Found 3/25 approved changesets -- score normalized to 1",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 47 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 0,
"reason": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 1,
"reason": "SAST tool is not run on all commits -- score normalized to 1",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 10,
"reason": "GitHub workflow tokens follow principle of least privilege",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "32 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "18f38aad0bdeca2ba1815043b94d96fdbbe6a325",
"ran_at": "2026-07-22T00:56:59Z",
"aggregate_score": 3.6,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-18T20:15:08Z",
"oldest_open_prs": [
{
"number": 1751,
"created_at": "2021-11-26T16:26:28Z",
"last_comment_at": "2023-10-27T10:13:34Z",
"last_comment_author": "ldonnet"
},
{
"number": 1759,
"created_at": "2022-02-02T21:20:29Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1762,
"created_at": "2022-02-20T16:13:44Z",
"last_comment_at": "2024-07-06T04:06:14Z",
"last_comment_author": "JuanVqz"
},
{
"number": 1794,
"created_at": "2022-11-18T07:11:41Z",
"last_comment_at": "2022-11-18T07:46:48Z",
"last_comment_author": "martinodonnell"
},
{
"number": 1796,
"created_at": "2022-11-23T19:34:30Z",
"last_comment_at": "2024-06-17T18:40:56Z",
"last_comment_author": "pas256"
},
{
"number": 1804,
"created_at": "2023-01-17T18:39:01Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1813,
"created_at": "2023-03-09T11:18:59Z",
"last_comment_at": "2023-03-09T11:37:40Z",
"last_comment_author": "Nerian"
},
{
"number": 1830,
"created_at": "2024-02-14T20:27:28Z",
"last_comment_at": "2024-12-04T18:42:45Z",
"last_comment_author": "csculley"
},
{
"number": 1852,
"created_at": "2024-11-11T22:24:14Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1855,
"created_at": "2025-05-14T13:47:11Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1856,
"created_at": "2025-11-07T13:34:15Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1861,
"created_at": "2026-02-07T13:38:38Z",
"last_comment_at": "2026-04-19T12:15:49Z",
"last_comment_author": "fa11enangel"
},
{
"number": 1871,
"created_at": "2026-06-28T20:47:58Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-04-01T23:20:59Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 1180,
"created_at": "2014-12-19T09:19:05Z",
"last_comment_at": "2014-12-20T15:58:29Z",
"last_comment_author": "rafaelfranca"
},
{
"number": 1358,
"created_at": "2016-02-13T14:28:37Z",
"last_comment_at": "2017-09-29T18:35:26Z",
"last_comment_author": "bcardiff"
},
{
"number": 1464,
"created_at": "2017-02-20T20:38:44Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1632,
"created_at": "2019-01-25T09:17:01Z",
"last_comment_at": "2023-01-12T21:03:54Z",
"last_comment_author": "ldonnet"
},
{
"number": 1659,
"created_at": "2019-05-09T13:59:04Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1668,
"created_at": "2019-08-21T14:37:19Z",
"last_comment_at": "2023-12-11T22:14:39Z",
"last_comment_author": "rhulse"
},
{
"number": 1716,
"created_at": "2020-10-20T15:11:41Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1727,
"created_at": "2021-02-16T15:40:33Z",
"last_comment_at": "2021-05-23T01:14:21Z",
"last_comment_author": "yordis"
},
{
"number": 1739,
"created_at": "2021-05-28T17:25:54Z",
"last_comment_at": "2024-02-14T20:38:05Z",
"last_comment_author": "jamezilla"
},
{
"number": 1744,
"created_at": "2021-07-19T10:52:36Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1746,
"created_at": "2021-08-19T11:52:32Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1757,
"created_at": "2022-01-14T17:14:38Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1788,
"created_at": "2022-08-17T12:49:27Z",
"last_comment_at": "2022-11-18T07:04:03Z",
"last_comment_author": "martinodonnell"
},
{
"number": 1795,
"created_at": "2022-11-21T11:48:55Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1798,
"created_at": "2022-11-30T15:07:09Z",
"last_comment_at": "2023-12-02T15:29:08Z",
"last_comment_author": "borama"
},
{
"number": 1800,
"created_at": "2022-12-07T13:00:43Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1807,
"created_at": "2023-01-30T11:57:55Z",
"last_comment_at": "2025-05-28T18:47:33Z",
"last_comment_author": "wrkrb33"
},
{
"number": 1819,
"created_at": "2023-08-20T17:42:12Z",
"last_comment_at": "2023-10-12T12:59:37Z",
"last_comment_author": "attenzione"
},
{
"number": 1831,
"created_at": "2024-02-23T07:40:00Z",
"last_comment_at": "2024-06-17T18:18:30Z",
"last_comment_author": "pas256"
},
{
"number": 1840,
"created_at": "2024-04-21T15:55:05Z",
"last_comment_at": "2026-04-19T23:39:38Z",
"last_comment_author": "55728"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/heartcombo/simple_form",
"host": "github.com",
"name": "simple_form",
"owner": "heartcombo"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 63,
"inputs": {
"security": 49,
"vitality": 43,
"community": 91,
"governance": 71,
"engineering": 62
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "at_risk",
"name": "Vitality",
"value": 43,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "at_risk",
"name": "Development activity",
"note": null,
"notes": [],
"value": 31,
"inputs": {
"commits_last_year": 30,
"human_commit_share": 1,
"days_since_last_push": 111,
"active_weeks_last_year": 11
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 111 days ago",
"points": 9.9,
"status": "partial",
"details": [
{
"code": "push_recency",
"params": {
"days": 111
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "11/52 weeks with commits",
"points": 7.6,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 11
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "30 commits in the last year",
"points": 13.4,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 30
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "moderate",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 62,
"inputs": {
"releases_count": 14,
"latest_release_tag": "v5.4.1",
"releases_from_tags": false,
"days_since_latest_release": 197,
"mean_days_between_releases": 309.8
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "14 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 14
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 197 days ago",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "release_recency",
"params": {
"days": 197
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~309.8 days",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 309.8
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 111,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 111 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 111
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "excellent",
"name": "Community & Adoption",
"value": 91,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "excellent",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 97,
"inputs": {
"forks": 1298,
"stars": 8231,
"watchers": 150,
"growth_state": "organic",
"growth_factor_pct": 100
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "8,231 stars",
"points": 60,
"status": "met",
"details": [
{
"code": "stars",
"params": {
"count": 8231
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "1,298 forks",
"points": 25,
"status": "met",
"details": [
{
"code": "forks",
"params": {
"count": 1298
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "150 watchers",
"points": 12.1,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 150
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "good",
"name": "Community health",
"note": null,
"notes": [],
"value": 78,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": true,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 7.2,
"status": "met",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "excellent",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"packages": [
"simple_form"
],
"dependents": null,
"ecosystems": "rubygems",
"total_downloads": 95931058,
"monthly_downloads": null
},
"components": [
{
"key": "total_downloads",
"name": "Total downloads",
"detail": "95,931,058 downloads all-time across rubygems",
"points": 80,
"status": "met",
"details": [
{
"code": "downloads_total",
"params": {
"count": 95931058,
"ecosystems": "rubygems"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "good",
"name": "Sustainability & Governance",
"value": 71,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "moderate",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 65,
"inputs": {
"bus_factor": 2,
"contributors_sampled": 100,
"top_contributor_share": 0.275
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "2 contributor(s) cover half of all commits",
"points": 25.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 2
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 28% of commits",
"points": 16.3,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 28
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "100 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 100
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 47 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 70,
"inputs": {
"merged_prs": 359,
"open_issues": 24,
"closed_issues": 1214,
"issue_closed_ratio": 0.981,
"closed_unmerged_prs": 256
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "98% of issues closed",
"points": 45.9,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 98
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "359/615 decided PRs merged",
"points": 22.3,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 359,
"decided": 615
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 3/25 approved changesets -- score normalized to 1",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 65,
"inputs": {
"followers": 154,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "heartcombo",
"public_repos": 8,
"account_age_days": 2388
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "154 followers of heartcombo",
"points": 15.7,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 154,
"login": "heartcombo"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "8 public repos, account ~6 yr old",
"points": 18.9,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 8
}
},
{
"code": "account_age_years",
"params": {
"years": 6
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 91,
"inputs": {
"packages": [
"simple_form"
],
"ecosystems": "rubygems",
"any_deprecated": false,
"min_days_since_publish": 197
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on rubygems",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "rubygems"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 197 days ago",
"points": 26,
"status": "partial",
"details": [
{
"code": "publish_recency",
"params": {
"days": 197
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "63 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 63
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "moderate",
"name": "Engineering Quality",
"value": 62,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "1 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 1
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "4 out of 5 merged PRs checked by a CI test -- score normalized to 8",
"points": 16,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"topics": [
"form-builder",
"rails-helper",
"ruby",
"rails",
"dsl"
],
"has_wiki": true,
"homepage": null,
"has_readme": true,
"has_docs_dir": false,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "5 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 5
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 49,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 36,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 3.6
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "4 out of 5 merged PRs checked by a CI test -- score normalized to 8",
"points": 2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 3/25 approved changesets -- score normalized to 1",
"points": 0.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 47 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 1",
"points": 0.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "GitHub workflow tokens follow principle of least privilege",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "32 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 49 resolved dependencies against OSV; 6 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 49
}
},
{
"code": "advisories_unassessed",
"params": {
"count": 6
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 32,
"affected_packages": 7,
"assessed_packages": 49,
"unassessed_packages": 6,
"affected_by_severity": "critical 1, high 4, moderate 1, low 1",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 49,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 16
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "at_risk",
"name": "AI Readiness",
"value": 34,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 27,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.5,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "50 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 26.7,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 50,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "at_risk",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 32,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"Gemfile.lock"
],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"primary_language": "Ruby",
"largest_source_bytes": 29222,
"source_files_sampled": 99,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Ruby without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "Ruby"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/99 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 99,
"oversized": 0
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [],
"report_type": "repository",
"generated_at": "2026-07-22T00:57:20.497622Z",
"schema_version": "0.26.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/h/heartcombo/simple_form.svg",
"full_name": "heartcombo/simple_form",
"license_state": "standard",
"license_spdx": "MIT"
}Scores are signals, not warranties. They reflect publicly visible practices on GitHub — not a code audit, and not a security guarantee.
Missing data is excluded and weights renormalized, never scored as zero. Methodology is versioned and open: metrics v1.13.0, schema v0.26.0 — full methodology · metrics wiki.
How one result sits in the wider record: aggregate statistics — RubyGems.