, 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": 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": 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": 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 tiene un índice de salud de 63 sobre 100, lo que lo sitúa en la banda Moderado. Su puntuación más alta es Community & Adoption (91/100) y la más baja, AI Readiness (34/100). Se actualizó por última vez hace 111 días. 2 personas concentran la mayor parte del trabajo reciente.
Las métricas se agrupan en categorías ponderadas sobre una escala de 1 a 100. El resultado global parte de su media; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe el límite 49 (En riesgo). Preparación para IA queda fuera.
Cada eje es una categoría. La forma importa más que la media: un proyecto sano llena toda la figura, mientras que un perfil de picos y cráteres indica que la fortaleza en una dimensión enmascara el riesgo en otra.
Este repositorio está respaldado por una organización: una custodia compartida y responsable que puede sobrevivir a cualquier mantenedor individual.
| Registro | Paquete | Versión | Descargas / mes | Versiones | Última publicación |
|---|---|---|---|---|---|
| RubyGems | simple_form | 5.4.1 | - | 63 | hace 197 días |
¿Está vivo el proyecto: se escribe código y se publican versiones?
| 9.9/36 | Recencia de push — último push hace 111 días |
| 7.6/36 | Cadencia de commits — 11/52 semanas con commits |
| 13.4/18 | Volumen de commits — 30 commits en el último año |
| 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 | Publica versiones — 14 versiones publicadas |
| 16.2/36 | Recencia de las versiones — última versión hace 197 días |
| 12.6/27 | Cadencia de publicación — una versión cada ~309,8 días |
| 0/10 | OpenSSF Scorecard: Signed-Releases — sin datos |
| releases_count | 14 |
| latest_release_tag | v5.4.1 |
| releases_from_tags | no |
| days_since_latest_release | 197 |
| mean_days_between_releases | 309,8 |
¿Tiene el proyecto usuarios, descargas, atención y unas condiciones acogedoras para quienes contribuyen?
| 60/60 | Estrellas — 8231 estrellas |
| 25/25 | Forks — 1298 forks |
| 12.1/15 | Observadores — 150 observadores |
| forks | 1298 |
| stars | 8231 |
| watchers | 150 |
| growth_state | organic |
| growth_factor_pct | 100 |
| 22.5/22.5 | README |
| 22.5/22.5 | Licencia — licencia reconocida (MIT) |
| 18/18 | Guía CONTRIBUTING |
| 0/13.5 | Código de conducta |
| 7.2/7.2 | Plantilla de issues |
| 0/6.3 | Plantilla de PR |
| has_readme | sí |
| has_license | sí |
| has_contributing | sí |
| has_issue_template | sí |
| has_code_of_conduct | no |
| has_pull_request_template | no |
| 80/80 | Descargas totales — 95.931.058 descargas históricas en rubygems |
| 0/20 | Dependientes en el registro — no lo informa este ecosistema |
| packages | simple_form |
| dependents | — |
| ecosystems | rubygems |
| total_downloads | 95.931.058 |
| monthly_downloads | — |
¿Sobrevivirá el proyecto a sus personas: factor bus, capacidad de respuesta, quién lo respalda y mantenimiento del paquete?
| 25.2/54 | Factor bus — la mitad de los commits recae en 2 contribuyente(s) |
| 16.3/22.5 | Distribución de commits — el principal contribuyente firma el 28% de los commits |
| 13.5/13.5 | Amplitud de contribuyentes — 100 contribuyentes |
| 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 | Resolución de issues — 98% de issues cerradas |
| 22.3/38.3 | Aceptación de PR — 359/615 PR decididos fusionados |
| 1.5/15 | OpenSSF Scorecard: Code-Review — Found 3/25 approved changesets -- score normalized to 1 |
| merged_prs | 359 |
| open_issues | 24 |
| closed_issues | 1214 |
| issue_closed_ratio | 0,981 |
| closed_unmerged_prs | 256 |
| 30/30 | Respaldo de la propiedad — propiedad de una organización |
| 0/20 | Dominio verificado |
| 15.7/25 | Alcance del propietario — 154 seguidores de heartcombo |
| 18.9/25 | Trayectoria — 8 repos públicos, cuenta de ~6 años |
| followers | 154 |
| owner_type | Organization |
| is_verified | — |
| owner_login | heartcombo |
| public_repos | 8 |
| account_age_days | 2388 |
| 25/25 | Publicado y resoluble — 1 paquete(s) en rubygems |
| 26/35 | Recencia de publicación — última publicación hace 197 días |
| 20/20 | Historial de versiones — 63 versiones en el registro |
| 20/20 | No obsoleto — activo, ni obsoleto ni retirado |
| packages | simple_form |
| ecosystems | rubygems |
| any_deprecated | no |
| min_days_since_publish | 197 |
¿Existen unas prácticas mínimas de ingeniería y documentación?
| 24/24 | Flujos de trabajo de CI — 1 flujo(s) de trabajo |
| 24/24 | Pruebas presentes |
| 0/16 | Configuración de linter |
| 0/9.6 | Hooks de pre-commit |
| 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 | sí |
| has_tests | sí |
| has_editorconfig | no |
| has_linter_config | no |
| has_precommit_config | no |
| 30/30 | README |
| 0/25 | Directorio de documentación |
| 0/15 | Sitio de documentación / página del proyecto |
| 10/10 | Descripción del repositorio |
| 10/10 | Topics — 5 topics |
| 10/10 | Wiki |
| topics | form-builder, rails-helper, ruby, rails, dsl |
| has_wiki | sí |
| homepage | — |
| has_readme | sí |
| has_docs_dir | no |
| has_description | sí |
¿Son sólidas las prácticas visibles de seguridad y de cadena de suministro, sin exposición jurisdiccional de alto riesgo sin resolver?
| 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 | Licencia — 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 — sin datos |
| 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 — sin datos |
| 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 | Dependencias directas libres de avisos conocidos — ninguna dependencia directa tiene un aviso conocido |
| 0/25 | Dependencias indirectas libres de avisos conocidos — el conjunto transitivo no es separable de las dependencias de desarrollo y prueba en este alcance |
| 0/40 | Sin avisos pendientes — ningún aviso tiene fecha de publicación |
| 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 |
¿Hasta qué punto está el repositorio preparado para desarrollarse y mantenerse con agentes de codificación de IA? Es una insignia independiente y experimental — peso 0,0, de modo que se presenta por separado y no afecta a la puntuación de salud global.
| 0/45 | Instrucciones para agentes — sin CLAUDE.md / AGENTS.md / reglas de editor |
| 0/15 | Documentación legible por máquinas (llms.txt) |
| 26.7/40 | Historial de commits legible — 50 de 100 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo) |
| has_llms_txt | no |
| legible_history_share | 0,5 |
| agent_instruction_files | — |
| agent_instruction_max_bytes | — |
| 0/18 | Arranque con un solo comando |
| 22/22 | Pruebas automatizadas |
| 0/11 | Configuración de lint / formato |
| 0/11 | Verificación estática de tipos |
| 10/10 | Entorno reproducible — lockfile |
| 0/10 | Práctica demostrada con agentes — ningún commit con autoría de agente entre los últimos 100 |
| 0/8 | Mantenimiento automatizado — no se observan actualizaciones automáticas de dependencias |
| 0/10 | OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0 |
| has_nix | no |
| has_tests | sí |
| 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 | Código verificable por tipos — Ruby sin configuración de verificación de tipos |
| 55/55 | Tamaños de archivo manejables — 0/99 archivos fuente de más de 60 KB |
| primary_language | Ruby |
| largest_source_bytes | 29.222 |
| source_files_sampled | 99 |
| oversized_source_files | 0 |
Cuándo se añadió cada estrella y fork, recopilado de GitHub y agrupado por día. El crecimiento acumulado se sitúa justo encima de las adiciones diarias que lo componen, de modo que ambos se leen en conjunto: la acumulación orgánica sostenida no se parece en nada a un pico abrupto y efímero. Cuando esa diferencia es medible, se informa como autenticidad del crecimiento.
Solo se muestra el historial más reciente: este repositorio supera la ventana de recopilación, por lo que no se captura el historial más antiguo.
Cada punto abarca 13 días.
Evaluación de seguridad independiente y agnóstica en cuanto a herramientas, procedente del proyecto de código abierto OpenSSF Scorecard. Cada comprobación premia una práctica de seguridad, no la herramienta de un proveedor concreto. Las comprobaciones que Scorecard no pudo determinar se marcan como n/d y se excluyen de la puntuación de seguridad (nunca se cuentan como cero).
| 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/d | 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/d | Signed-Releases | no releases found |
| 10 | Token-Permissions | GitHub workflow tokens follow principle of least privilege |
| 0 | Vulnerabilities | 32 existing vulnerabilities detected |
| Registro | Paquete | Restricción de versión | Manifiesto |
|---|---|---|---|
| RubyGems | activemodel | ~> 8.1.0 | Gemfile |
| RubyGems | actionpack | ~> 8.1.0 | Gemfile |
| RubyGems | railties | ~> 8.1.0 | Gemfile |
Conjunto completo de dependencias resueltas según el grafo de dependencias de GitHub: 5 paquetes directos y 50 indirectos (transitivos). El cierre transitivo es completo cuando el repositorio incluye un lockfile.
| Registro | Paquete | Versión | Relación |
|---|---|---|---|
| RubyGems | actionpack | — | directa |
| RubyGems | actionpack | 8.1.3 | directa |
| RubyGems | activemodel | — | directa |
| RubyGems | activemodel | 8.1.3 | directa |
| RubyGems | railties | 8.1.3 | directa |
| RubyGems | actionview | 8.1.3 | indirecta |
| RubyGems | activesupport | 8.1.3 | indirecta |
| RubyGems | base64 | 0.3.0 | indirecta |
| RubyGems | bigdecimal | 4.0.1 | indirecta |
| RubyGems | builder | 3.3.0 | indirecta |
| RubyGems | concurrent-ruby | 1.3.6 | indirecta |
| RubyGems | connection_pool | 3.0.2 | indirecta |
| RubyGems | countries | 8.1.0 | indirecta |
| RubyGems | country_select | — | indirecta |
| RubyGems | country_select | 11.0.0 | indirecta |
| RubyGems | crass | 1.0.6 | indirecta |
| RubyGems | date | 3.5.1 | indirecta |
| RubyGems | drb | 2.2.3 | indirecta |
| RubyGems | erb | 6.0.2 | indirecta |
| RubyGems | erubi | 1.13.1 | indirecta |
| RubyGems | i18n | 1.14.8 | indirecta |
| RubyGems | io-console | 0.8.2 | indirecta |
| RubyGems | irb | 1.17.0 | indirecta |
| RubyGems | json | 2.19.3 | indirecta |
| RubyGems | logger | 1.7.0 | indirecta |
| RubyGems | loofah | 2.25.1 | indirecta |
| RubyGems | mini_portile2 | 2.8.9 | indirecta |
| RubyGems | minitest | — | indirecta |
| RubyGems | minitest | 5.27.0 | indirecta |
| RubyGems | nokogiri | 1.19.2 | indirecta |
| RubyGems | pp | 0.6.3 | indirecta |
| RubyGems | prettyprint | 0.2.0 | indirecta |
| RubyGems | prism | 1.9.0 | indirecta |
| RubyGems | psych | 5.3.1 | indirecta |
| RubyGems | racc | 1.8.1 | indirecta |
| RubyGems | rack | 3.2.5 | indirecta |
| RubyGems | rack-session | 2.1.1 | indirecta |
| RubyGems | rack-test | 2.2.0 | indirecta |
| RubyGems | rackup | 2.3.1 | indirecta |
| RubyGems | rails-dom-testing | 2.3.0 | indirecta |
| RubyGems | rails-html-sanitizer | 1.7.0 | indirecta |
| RubyGems | rake | — | indirecta |
| RubyGems | rake | 13.3.1 | indirecta |
| RubyGems | rdoc | — | indirecta |
| RubyGems | rdoc | 7.2.0 | indirecta |
| RubyGems | reline | 0.6.3 | indirecta |
| RubyGems | securerandom | 0.4.1 | indirecta |
| RubyGems | stringio | 3.2.0 | indirecta |
| RubyGems | thor | 1.5.0 | indirecta |
| RubyGems | tsort | 0.2.0 | indirecta |
| RubyGems | tzinfo | 2.0.6 | indirecta |
| RubyGems | unaccent | 0.4.0 | indirecta |
| RubyGems | uri | 1.1.1 | indirecta |
| RubyGems | useragent | 0.16.11 | indirecta |
| RubyGems | zeitwerk | 2.7.5 | indirecta |
Este repositorio no publica ningún paquete que el índice resuelva, así que se evaluó su propio grafo de dependencias — 49 paquetes, que incluyen también fijaciones de desarrollo y prueba que nunca se distribuyen: 7 tienen avisos conocidos, de los cuales 0 son directas. 6 no pudieron evaluarse: sin versión resuelta, ecosistema no admitido, o fuera de la lista de paquetes informada.
| Paquete | Versión | Relación | Gravedad | Avisos | Corregido en |
|---|---|---|---|---|---|
| rack-session | 2.1.1 | indirecta | crítica | 1 | 2.1.2 |
| concurrent-ruby | 1.3.6 | indirecta | alta | 3 | 1.3.7 |
| erb | 6.0.2 | indirecta | alta | 1 | 6.0.4 |
| nokogiri | 1.19.2 | indirecta | alta | 10 | 1.19.4 |
| rack | 3.2.5 | indirecta | alta | 13 | 3.2.6 |
| loofah | 2.25.1 | indirecta | moderada | 3 | 2.25.2 |
| rails-html-sanitizer | 1.7.0 | indirecta | baja | 1 | 1.7.1 |
Un aviso significa que la versión registrada en el grafo de dependencias cae dentro del rango afectado de un aviso. No se analiza la alcanzabilidad, y el grafo incluye fijaciones de desarrollo y prueba: un hallazgo puede referirse al utillaje y no al software distribuido.
{
"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"
}Las puntuaciones son señales, no garantías. Reflejan prácticas públicamente visibles en GitHub; no son una auditoría de código ni una garantía de seguridad.
Los datos ausentes se excluyen y los pesos se renormalizan; nunca se puntúan como cero. La metodología es versionada y abierta: métricas v1.13.0, esquema v0.26.0 — metodología completa · wiki de métricas.
Cómo se sitúa un resultado dentro del registro general: estadísticas agregadas — RubyGems.