{"source":"https://contributable.vercel.app","licence":"CC BY 4.0","methodology":"https://contributable.vercel.app/methodology","v":2,"owner":"processing","name":"p5.js","updatedAt":"2026-10-11T05:35:04.094Z","coveredSince":"2025-10-04T13:07:08.313Z","facts":{"owner":"processing","name":"p5.js","description":"p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. Looking for p5.js 2.0? http://beta.p5js.org","stars":24110,"forks":3856,"archived":false,"isFork":false,"license":"LGPL-2.1","defaultBranch":"main","pushedAt":"2026-10-09T13:38:43Z","createdAt":"2013-02-26T03:14:47Z","topics":["javascript","graphics","education","learning","art","design","sound","html","p5js","creative-coding","processing"],"languages":{"JavaScript":5815835,"Markdown":2058905,"HTML":205767,"GLSL":56199,"TypeScript":19388,"CSS":436},"frameworks":["TypeScript","Vite","Vitest"],"commits90d":642,"releases365d":30,"lastReleaseAt":"2026-09-25T20:01:55Z","gettingStarted":{"contributing":true,"codeOfConduct":true,"issueTemplates":true,"devcontainer":false,"cla":"none","channels":[{"kind":"forum","url":"https://discourse.processing.org/c/p5js"}],"policy":null}},"metrics":{"computedAt":"2026-10-11T05:35:04.094Z","outsidePulls":{"cohort":{"n":86,"merged":45,"closedUnmerged":24,"open":17,"mergeRate":0.6521739130434783,"openShare":0.19767441860465115,"evidence":{"merged":[9155,9154,9142,9140,9136,9120,9115,9112,9109,9103,9102,9087,9086,9085,9082,9073,9071,9055,9036,9034],"closedUnmerged":[9098,9061,9060,9059,9058,9057,9056,9054,9052,9051,9050,9047,9046,9045,9044,9027,9008,8954,8948,8947],"open":[9135,9122,9119,9116,9114,9106,9101,9015,9012,8998,8983,8971,8960,8944,8936,8935,8919]}},"firstTimers":{"n":34,"merged":21,"closedUnmerged":5,"open":8,"mergeRate":0.8076923076923077,"openShare":0.23529411764705882,"evidence":{"merged":[9142,9140,9120,9115,9085,9073,9071,9032,9025,9010,9009,8997,8995,8994,8993,8966,8965,8964,8937,8934],"closedUnmerged":[9098,9044,9027,9008,8938],"open":[9106,9101,9015,8983,8971,8960,8936,8919]}},"year":{"n":400,"merged":225,"closedUnmerged":126,"open":49,"mergeRate":0.6410256410256411,"openShare":0.1225,"evidence":{"merged":[9155,9154,9142,9140,9136,9120,9115,9112,9109,9103,9102,9087,9086,9085,9082,9073,9071,9055,9036,9034],"closedUnmerged":[9098,9061,9060,9059,9058,9057,9056,9054,9052,9051,9050,9047,9046,9045,9044,9027,9008,8954,8948,8947],"open":[9135,9122,9119,9116,9114,9106,9101,9015,9012,8998,8983,8971,8960,8944,8936,8935,8919,8820,8817,8774]}}},"pullFirstResponse":{"n":86,"answered":74,"waiting":12,"medianHours":47.83888888888889,"p75Hours":608.3063888888889,"within48h":0.5,"within7d":0.6511627906976745,"curve":[{"hours":0.04833333333333333,"waiting":0.9883720930232558},{"hours":0.8252777777777778,"waiting":0.9651162790697676},{"hours":1.265,"waiting":0.9534883720930234},{"hours":1.8152777777777778,"waiting":0.930232558139535},{"hours":2.017777777777778,"waiting":0.9186046511627909},{"hours":3.7383333333333333,"waiting":0.8953488372093027},{"hours":4.3005555555555555,"waiting":0.8837209302325585},{"hours":5.864166666666667,"waiting":0.8604651162790701},{"hours":6.84,"waiting":0.8488372093023259},{"hours":9.43,"waiting":0.8255813953488376},{"hours":9.69361111111111,"waiting":0.8023255813953493},{"hours":9.992777777777778,"waiting":0.7906976744186051},{"hours":12.714722222222223,"waiting":0.7674418604651168},{"hours":15.490277777777777,"waiting":0.7558139534883725},{"hours":18.476388888888888,"waiting":0.7325581395348841},{"hours":19.212777777777777,"waiting":0.7209302325581399},{"hours":22.685833333333335,"waiting":0.6976744186046515},{"hours":24.16027777777778,"waiting":0.6860465116279073},{"hours":26.743333333333332,"waiting":0.6627906976744189},{"hours":31.645,"waiting":0.6395348837209305},{"hours":35.53888888888889,"waiting":0.6279069767441863},{"hours":37.213055555555556,"waiting":0.6046511627906979},{"hours":37.2175,"waiting":0.5930232558139537},{"hours":37.2225,"waiting":0.5697674418604652},{"hours":37.22361111111111,"waiting":0.558139534883721},{"hours":44.481944444444444,"waiting":0.5348837209302326},{"hours":45.17138888888889,"waiting":0.5232558139534884},{"hours":47.83888888888889,"waiting":0.5},{"hours":56.335,"waiting":0.4883720930232558},{"hours":59.605555555555554,"waiting":0.4651162790697674},{"hours":70.4025,"waiting":0.44186046511627897},{"hours":79.70305555555555,"waiting":0.4302325581395348},{"hours":79.8411111111111,"waiting":0.40697674418604646},{"hours":92.46166666666667,"waiting":0.39534883720930225},{"hours":111.59722222222223,"waiting":0.3720930232558139},{"hours":119.0025,"waiting":0.3604651162790697},{"hours":168.93972222222223,"waiting":0.33720930232558133},{"hours":173.0536111111111,"waiting":0.3255813953488372},{"hours":234.61305555555555,"waiting":0.3023255813953488},{"hours":317.0386111111111,"waiting":0.27906976744186046},{"hours":385.5652777777778,"waiting":0.2674418604651163},{"hours":608.3063888888889,"waiting":0.24418604651162792},{"hours":688.6566666666666,"waiting":0.23255813953488372},{"hours":704.2316666666667,"waiting":0.20930232558139533},{"hours":743.8997222222222,"waiting":0.19767441860465115},{"hours":986.2952777777778,"waiting":0.1744186046511628},{"hours":1061.3102777777779,"waiting":0.16279069767441862},{"hours":1890.1369444444445,"waiting":0.12880143112701253}],"evidence":{"answered":[9155,9154,9142,9140,9136,9135,9122,9120,9119,9116,9115,9114,9109,9106,9103,9102,9101,9098,9087,9086],"waiting":[9112,9082,9046,9045,9044,9015,8974,8950,8946,8945,8944,8935]}},"timeToMerge":{"n":86,"merged":45,"medianHours":1774.9541666666667,"evidence":[9155,9154,9142,9140,9136,9120,9115,9112,9109,9103,9102,9087,9086,9085,9082,9073,9071,9055,9036,9034]},"issueFirstResponse":{"n":85,"answered":62,"waiting":23,"medianHours":60.26083333333333,"p75Hours":null,"within48h":0.47058823529411764,"within7d":0.611764705882353,"curve":[{"hours":0.105,"waiting":0.9882352941176471},{"hours":0.2708333333333333,"waiting":0.9764705882352942},{"hours":0.7233333333333334,"waiting":0.9529411764705883},{"hours":0.7427777777777778,"waiting":0.9411764705882353},{"hours":0.9327777777777778,"waiting":0.9294117647058824},{"hours":1.1375,"waiting":0.9176470588235295},{"hours":1.8630555555555555,"waiting":0.8941176470588237},{"hours":2.0766666666666667,"waiting":0.8823529411764707},{"hours":2.191388888888889,"waiting":0.8705882352941178},{"hours":2.921388888888889,"waiting":0.8470588235294119},{"hours":4.616388888888889,"waiting":0.835294117647059},{"hours":5.067777777777778,"waiting":0.8235294117647061},{"hours":8.331944444444444,"waiting":0.8000000000000003},{"hours":9.603055555555555,"waiting":0.7882352941176474},{"hours":11.13861111111111,"waiting":0.7764705882352944},{"hours":11.908333333333333,"waiting":0.7647058823529415},{"hours":18.555,"waiting":0.7411764705882357},{"hours":18.557777777777776,"waiting":0.7294117647058828},{"hours":20.88138888888889,"waiting":0.7176470588235299},{"hours":21.768333333333334,"waiting":0.6941176470588238},{"hours":21.8725,"waiting":0.6823529411764709},{"hours":22.116666666666667,"waiting":0.6705882352941179},{"hours":23.030833333333334,"waiting":0.6470588235294119},{"hours":26.3325,"waiting":0.635294117647059},{"hours":27.29277777777778,"waiting":0.6235294117647061},{"hours":27.364722222222223,"waiting":0.6117647058823532},{"hours":27.674166666666668,"waiting":0.5882352941176472},{"hours":29.022777777777776,"waiting":0.5764705882352943},{"hours":35.85388888888889,"waiting":0.5647058823529413},{"hours":42.172222222222224,"waiting":0.5411764705882353},{"hours":46.820277777777775,"waiting":0.5294117647058824},{"hours":49.87166666666667,"waiting":0.5176470588235293},{"hours":60.26083333333333,"waiting":0.4941176470588235},{"hours":67.08805555555556,"waiting":0.48235294117647054},{"hours":68.66972222222222,"waiting":0.4705882352941176},{"hours":82.06111111111112,"waiting":0.45882352941176463},{"hours":115.98555555555555,"waiting":0.4352941176470588},{"hours":117.11833333333334,"waiting":0.4235294117647059},{"hours":118.97055555555555,"waiting":0.4117647058823529},{"hours":150.8177777777778,"waiting":0.388235294117647},{"hours":208.5886111111111,"waiting":0.37647058823529406},{"hours":289.41194444444443,"waiting":0.3647058823529411},{"hours":371.3905555555556,"waiting":0.3411764705882352},{"hours":423.2608333333333,"waiting":0.3294117647058823},{"hours":446.1116666666667,"waiting":0.31764705882352934},{"hours":475.2577777777778,"waiting":0.30588235294117644},{"hours":629.0158333333334,"waiting":0.28235294117647053},{"hours":1321.1047222222223,"waiting":0.2621848739495798}],"evidence":{"answered":[9159,9151,9146,9144,9139,9138,9134,9133,9132,9131,9129,9126,9121,9113,9107,9105,9099,9097,9094,9084],"waiting":[9153,9152,9141,9130,9128,9125,9124,9111,9108,9100,9093,9092,9091,9088,9080,9072,9069,9041,9013,9004]}},"starter":{"counts":{"available":0,"claimed":1,"in-progress":10,"stale":0},"helpWantedAvailable":1,"issues":[{"n":9218,"title":"Better error messages for bad property access in p5.strands","state":"in-progress","label":"help-wanted","createdAt":"2026-09-26T12:57:25Z","updatedAt":"2026-09-30T00:06:56Z"},{"n":9176,"title":"A false positive FES error on function \"loadModel\"","state":"in-progress","label":"beginner","createdAt":"2026-09-15T17:19:36Z","updatedAt":"2026-09-30T13:03:59Z"},{"n":9171,"title":"[p5.js 2.0+ Bug Report]: Minor issues in the creating libraries contributor doc","state":"in-progress","label":"help-wanted","createdAt":"2026-09-13T14:30:33Z","updatedAt":"2026-09-14T09:49:53Z"},{"n":9105,"title":"Update describe function limits and best practices","state":"in-progress","label":"beginner","createdAt":"2026-08-21T08:01:12Z","updatedAt":"2026-10-02T22:04:35Z"},{"n":8961,"title":"[p5.js 2.0+ Bug Report]: Bugs in 2.x p5.Vector documentation","state":"claimed","label":"help-wanted","createdAt":"2026-06-27T23:29:32Z","updatedAt":"2026-07-25T03:28:07Z"},{"n":8884,"title":"[p5.js 2.0+ Bug Report]: Floats in strands shaders are always rounded to 4 decimals","state":"claimed","label":"help-wanted","createdAt":"2026-06-08T17:52:07Z","updatedAt":"2026-09-27T19:50:20Z"},{"n":8847,"title":"[p5.js 2.0+ Question]: Stroke Scaling is Different in p5 WebGL and WebGPU","state":"in-progress","label":"help-wanted","createdAt":"2026-05-29T04:01:32Z","updatedAt":"2026-07-24T09:13:23Z"},{"n":8843,"title":"[p5.js 2.0+ Bug Report]: Color String Representation Is Incorrect","state":"claimed","label":"help-wanted","createdAt":"2026-05-28T23:20:06Z","updatedAt":"2026-08-14T12:45:52Z"},{"n":8776,"title":"Use random() more in p5.strands examples","state":"in-progress","label":"help-wanted","createdAt":"2026-05-10T12:51:06Z","updatedAt":"2026-10-02T21:54:21Z"},{"n":8771,"title":"textAscent() and textDescent() broken if textSize > 200","state":"stale","label":"help-wanted","createdAt":"2026-05-08T10:04:09Z","updatedAt":"2026-07-18T09:06:42Z"},{"n":8550,"title":"Add additional WebGL filter stress scenarios to visual regression suite","state":"stale","label":"help-wanted","createdAt":"2026-02-21T23:03:52Z","updatedAt":"2026-06-17T22:16:56Z"},{"n":8407,"title":"[p5.js 2.0 Bug Report]: noise(null) is treated as noise(0) while noise(undefined) errors, and this behaviour is undocumented and inconsistent.","state":"in-progress","label":"beginner","createdAt":"2026-01-13T06:07:51Z","updatedAt":"2026-07-24T09:06:01Z"},{"n":8387,"title":"[p5.js 2.0 Bug Report]: Warnings about omitting strokes on high-detail 3D primitives don't use FES","state":"in-progress","label":"beginner","createdAt":"2026-01-07T18:54:54Z","updatedAt":"2026-09-10T11:31:30Z"},{"n":8274,"title":"[p5.js 2.0 Bug Report]: That one font test is flaky","state":"in-progress","label":"help-wanted","createdAt":"2025-11-18T14:00:41Z","updatedAt":"2026-06-02T15:43:19Z"},{"n":8218,"title":"[2.x] Update handling of different dimensions in `rotate()` method of `p5.Vector`","state":"in-progress","label":"help-wanted","createdAt":"2025-10-28T22:09:02Z","updatedAt":"2026-06-16T15:28:11Z"},{"n":8215,"title":"[2.x] Fix dimensional quirk in the `setHeading()` method of `p5.Vector`","state":"in-progress","label":"beginner","createdAt":"2025-10-28T15:19:17Z","updatedAt":"2026-10-06T12:39:42Z"},{"n":8214,"title":"[2.x] Fix dimensional quirk in the `heading()` method of `p5.Vector`","state":"in-progress","label":"help-wanted","createdAt":"2025-10-28T15:01:54Z","updatedAt":"2026-06-17T19:11:38Z"},{"n":8154,"title":"[2.0] Include `w` field of `p5.Vector` in documentation","state":"in-progress","label":"beginner","createdAt":"2025-10-15T13:34:01Z","updatedAt":"2026-06-18T08:26:53Z"},{"n":8103,"title":"[p5.js 2.0 Bug Report]: textToContours() results are browser dependent","state":"in-progress","label":"help-wanted","createdAt":"2025-09-23T03:01:31Z","updatedAt":"2025-09-29T11:05:13Z"},{"n":8097,"title":"new getCamera function for V1 & V2","state":"in-progress","label":"beginner","createdAt":"2025-09-19T11:25:16Z","updatedAt":"2025-11-28T06:08:54Z"},{"n":7975,"title":"Auto-link / Close Issues for 2.0 PRs (p5.js & p5.js-website)","state":"in-progress","label":"help-wanted","createdAt":"2025-07-17T23:42:23Z","updatedAt":"2026-08-16T13:51:58Z"},{"n":7968,"title":"[p5.js 2.0 Bug Report]: p5 reference error for p5.MediaElement","state":"in-progress","label":"beginner","createdAt":"2025-07-13T14:43:37Z","updatedAt":"2025-11-16T08:24:23Z"},{"n":7958,"title":"saveFrames() does not honor frame rate","state":"in-progress","label":"help-wanted","createdAt":"2025-07-08T12:42:39Z","updatedAt":"2026-07-23T12:12:55Z"},{"n":7854,"title":"[p5.js 2.0 Bug Report]: IO loadTable test failed","state":"stale","label":"help-wanted","createdAt":"2025-05-31T08:04:54Z","updatedAt":"2025-07-18T17:09:32Z"},{"n":7820,"title":"[p5.js 2.0 Bug Report]: width/height/options overloads inconsistent/incorrect for typography methods","state":"stale","label":"help-wanted","createdAt":"2025-05-15T18:50:34Z","updatedAt":"2025-10-21T14:45:22Z"},{"n":7752,"title":"[2.0]: Properties of objects aren't being checked correctly by FES","state":"in-progress","label":"help-wanted","createdAt":"2025-04-17T17:40:47Z","updatedAt":"2026-09-22T18:06:39Z"},{"n":7745,"title":"[p5.js 2.0 Beta Bug Report]: Document difference between textWidth and fontWidth with respect to whitespace","state":"in-progress","label":"beginner","createdAt":"2025-04-17T00:02:30Z","updatedAt":"2026-07-24T23:28:45Z"},{"n":7737,"title":"Support for Top-Level Global Mode","state":"stale","label":"help-wanted","createdAt":"2025-04-15T03:53:53Z","updatedAt":"2026-06-01T14:08:38Z"},{"n":7700,"title":"Add a way to clean up image texture resources in WebGL","state":"in-progress","label":"help-wanted","createdAt":"2025-04-04T17:36:09Z","updatedAt":"2025-10-29T10:36:23Z"},{"n":7569,"title":"key may be incorrect inside an event handler","state":"in-progress","label":"help-wanted","createdAt":"2025-02-20T12:34:22Z","updatedAt":"2026-09-15T11:31:10Z"},{"n":7548,"title":"noSmooth() breaks positioned WEBGL canvas","state":"in-progress","label":"beginner","createdAt":"2025-02-15T01:34:36Z","updatedAt":"2026-03-18T15:17:13Z"},{"n":7486,"title":"[p5.js 2.0 Beta Bug Report]: Some google fonts don't load","state":"in-progress","label":"help-wanted","createdAt":"2025-01-22T00:49:09Z","updatedAt":"2026-09-24T17:39:02Z"},{"n":7430,"title":"noise() is not Perlin noise","state":"stale","label":"help-wanted","createdAt":"2024-12-17T13:47:17Z","updatedAt":"2025-04-06T21:43:36Z"},{"n":7313,"title":"Add Gradients for Fill and Strokes","state":"stale","label":"help-wanted","createdAt":"2024-10-14T16:05:18Z","updatedAt":"2026-06-10T23:43:32Z"},{"n":6805,"title":"[p5.js 2.0 RFC Proposal]: Batching for the rendering of objects.","state":"claimed","label":"help-wanted","createdAt":"2024-02-12T02:34:51Z","updatedAt":"2026-06-10T17:55:06Z"},{"n":6795,"title":"Visual loading indicator fallback while assets are loading","state":"claimed","label":"beginner","createdAt":"2024-02-07T12:27:35Z","updatedAt":"2026-08-14T14:52:53Z"},{"n":6369,"title":"WebGL Error Triggered by `noSmooth()` Invocation Between Framebuffer Creation and Drawing on Framebuffer","state":"stale","label":"help-wanted","createdAt":"2023-08-22T12:25:32Z","updatedAt":"2026-06-09T10:03:47Z"},{"n":6305,"title":"Clarifying Doc Contribution Workflow","state":"in-progress","label":"help-wanted","createdAt":"2023-07-28T20:43:08Z","updatedAt":"2023-10-07T06:18:49Z"},{"n":6152,"title":"noiseMode(SIMPLEX) add-on library","state":"available","label":"help-wanted","createdAt":"2023-05-22T13:45:43Z","updatedAt":"2026-09-22T20:38:30Z"},{"n":5902,"title":"setAttributes() invalidates references to earlier canvases","state":"stale","label":"help-wanted","createdAt":"2022-12-16T23:58:16Z","updatedAt":"2026-06-20T03:43:23Z"},{"n":5859,"title":"p5js WEBGL textureWrap can't collaborate with video streaming ","state":"stale","label":"help-wanted","createdAt":"2022-11-11T20:20:14Z","updatedAt":"2023-08-19T00:21:56Z"},{"n":5718,"title":"deviceShaken() does not work on Android >= 11.0 on Firefox","state":"claimed","label":"help-wanted","createdAt":"2022-07-11T10:59:28Z","updatedAt":"2026-07-27T16:29:05Z"},{"n":5670,"title":"Add dashed lines to the core API","state":"in-progress","label":"help-wanted","createdAt":"2022-05-07T17:51:58Z","updatedAt":"2026-04-12T18:42:33Z"},{"n":5228,"title":"GIFs that don't loop break unless reset before play()","state":"claimed","label":"help-wanted","createdAt":"2021-05-06T23:15:48Z","updatedAt":"2024-06-18T19:36:56Z"},{"n":5156,"title":"large webGL canvases draw at unpredictable locations","state":"stale","label":"help-wanted","createdAt":"2021-04-03T20:47:20Z","updatedAt":"2023-08-19T00:23:35Z"},{"n":4223,"title":"Mouse/touch event handling bug","state":"stale","label":"help-wanted","createdAt":"2020-01-02T20:22:08Z","updatedAt":"2024-08-18T19:56:00Z"},{"n":3354,"title":"Support 'justified' alignment as an option for textAlign","state":"claimed","label":"help-wanted","createdAt":"2018-12-03T00:14:52Z","updatedAt":"2025-06-07T08:32:03Z"}]},"responseWindow":{"hours":[1,3,1,0,0,0,0,0,0,3,2,0,0,2,13,4,3,4,2,4,4,3,4,2,2,0,7,1,0,1,1,3,1,1,0,2,4,2,0,0,0,5,2,0,4,1,0,0,2,0,0,0,1,4,0,1,1,2,3,2,2,2,0,0,2,2,4,2,4,5,0,4,6,0,0,0,0,0,0,0,0,4,3,5,2,0,1,1,1,0,4,4,3,0,0,0,0,1,0,0,0,0,0,0,3,10,2,3,2,6,6,1,4,4,1,0,1,0,6,0,1,0,0,0,1,0,0,0,1,0,0,2,0,0,2,1,1,0,0,0,0,0,0,1,2,3,6,0,0,0,0,0,1,1,1,0,1,1,2,0,0,4,1,0,0,6,2,0],"people":7,"replies":260},"activeMaintainers":8},"series":[{"week":"2025-10-12","opened":5,"merged":3,"answered7d":4,"activity":16},{"week":"2025-10-19","opened":15,"merged":10,"answered7d":10,"activity":29},{"week":"2025-10-26","opened":9,"merged":6,"answered7d":5,"activity":26},{"week":"2025-11-02","opened":9,"merged":3,"answered7d":6,"activity":34},{"week":"2025-11-09","opened":9,"merged":5,"answered7d":7,"activity":28},{"week":"2025-11-16","opened":11,"merged":4,"answered7d":4,"activity":18},{"week":"2025-11-23","opened":10,"merged":4,"answered7d":4,"activity":24},{"week":"2025-11-30","opened":10,"merged":6,"answered7d":9,"activity":22},{"week":"2025-12-07","opened":3,"merged":2,"answered7d":1,"activity":8},{"week":"2025-12-14","opened":10,"merged":9,"answered7d":6,"activity":18},{"week":"2025-12-21","opened":8,"merged":6,"answered7d":8,"activity":17},{"week":"2025-12-28","opened":7,"merged":4,"answered7d":3,"activity":8},{"week":"2026-01-04","opened":10,"merged":7,"answered7d":4,"activity":17},{"week":"2026-01-11","opened":10,"merged":7,"answered7d":3,"activity":12},{"week":"2026-01-18","opened":6,"merged":3,"answered7d":4,"activity":14},{"week":"2026-01-25","opened":12,"merged":6,"answered7d":5,"activity":28},{"week":"2026-02-01","opened":11,"merged":9,"answered7d":7,"activity":25},{"week":"2026-02-08","opened":13,"merged":11,"answered7d":9,"activity":18},{"week":"2026-02-15","opened":11,"merged":5,"answered7d":2,"activity":18},{"week":"2026-02-22","opened":10,"merged":6,"answered7d":4,"activity":18},{"week":"2026-03-01","opened":24,"merged":1,"answered7d":18,"activity":44},{"week":"2026-03-08","opened":8,"merged":7,"answered7d":4,"activity":26},{"week":"2026-03-15","opened":9,"merged":7,"answered7d":5,"activity":33},{"week":"2026-03-22","opened":3,"merged":0,"answered7d":1,"activity":8},{"week":"2026-03-29","opened":6,"merged":5,"answered7d":4,"activity":24},{"week":"2026-04-05","opened":6,"merged":4,"answered7d":3,"activity":20},{"week":"2026-04-12","opened":3,"merged":3,"answered7d":0,"activity":10},{"week":"2026-04-19","opened":9,"merged":6,"answered7d":4,"activity":14},{"week":"2026-04-26","opened":9,"merged":7,"answered7d":6,"activity":13},{"week":"2026-05-03","opened":3,"merged":1,"answered7d":3,"activity":14},{"week":"2026-05-10","opened":12,"merged":11,"answered7d":7,"activity":40},{"week":"2026-05-17","opened":8,"merged":4,"answered7d":6,"activity":21},{"week":"2026-05-24","opened":13,"merged":2,"answered7d":5,"activity":34},{"week":"2026-05-31","opened":6,"merged":6,"answered7d":6,"activity":44},{"week":"2026-06-07","opened":4,"merged":0,"answered7d":4,"activity":34},{"week":"2026-06-14","opened":13,"merged":4,"answered7d":8,"activity":30},{"week":"2026-06-21","opened":5,"merged":2,"answered7d":3,"activity":15},{"week":"2026-06-28","opened":1,"merged":1,"answered7d":1,"activity":2},{"week":"2026-07-05","opened":4,"merged":3,"answered7d":1,"activity":7},{"week":"2026-07-12","opened":3,"merged":2,"answered7d":3,"activity":17},{"week":"2026-07-19","opened":12,"merged":8,"answered7d":9,"activity":52},{"week":"2026-07-26","opened":5,"merged":4,"answered7d":3,"activity":26},{"week":"2026-08-02","opened":18,"merged":4,"answered7d":14,"activity":27},{"week":"2026-08-09","opened":3,"merged":3,"answered7d":1,"activity":33},{"week":"2026-08-16","opened":8,"merged":5,"answered7d":5,"activity":18},{"week":"2026-08-23","opened":6,"merged":3,"answered7d":4,"activity":21},{"week":"2026-08-30","opened":6,"merged":4,"answered7d":2,"activity":24},{"week":"2026-09-06","opened":10,"merged":9,"answered7d":10,"activity":32},{"week":"2026-09-13","opened":11,"merged":5,"answered7d":7,"activity":43},{"week":"2026-09-20","opened":9,"merged":5,"answered7d":7,"activity":33},{"week":"2026-09-27","opened":8,"merged":3,"answered7d":6,"activity":20},{"week":"2026-10-04","opened":12,"merged":2,"answered7d":4,"activity":25}],"trend":{"flag":"steady","recentMedianHours":68.27388888888889,"previousMedianHours":52.743611111111115,"recentN":40,"previousN":30,"openedThisWeek":12,"openedLastWeek":8},"programs":[{"program":"gsoc","slug":"processing-foundation","name":"Processing Foundation","years":[2025,2026]}]}