mirror of
https://github.com/dokploy/dokploy.git
synced 2026-06-13 19:09:49 +00:00
30b3e1fe48
* fix(migrate-auth-secret): exit cleanly when there are no 2FA records The empty-records branch of `main()` returned without calling `process.exit(0)`, leaving the Drizzle Postgres connection pool holding the event loop open. The `migrate-auth-secret` process then hangs indefinitely after printing "No 2FA records found, nothing to migrate." causing the upstream `0.29.3.sh` security migration script (which calls this via `docker exec`) to never reach its final `docker service update` step that mounts the new Docker Secret. Operators end up with the new secret created but the dokploy service still configured with the hardcoded `BETTER_AUTH_SECRET`, while believing the migration completed. Match the success branch a few lines below which already does `process.exit(0)`, and the pattern used in sibling scripts `reset-password.ts` and `reset-2fa.ts`. Closes #4392 * feat(compose): add import from base64 in create service dropdown Adds an "Import" option to the Create Service dropdown that lets users paste a base64-encoded compose export, preview the template (compose YAML, domains, envs, mounts) before confirming, and create the service only on confirm. Adds a `previewTemplate` tRPC procedure that processes the base64 without touching the DB, with server access validation via session. * [autofix.ci] apply automated fixes * Enhance version synchronization workflow to include SDK repository - Updated the GitHub Actions workflow to sync versioning across MCP, CLI, and SDK repositories. - Added steps to bump the version in the SDK repository and regenerate tools from the latest OpenAPI spec. - Improved commit message formatting to include source and release information for all repositories. - Ensured successful synchronization messages for each repository after the version update. * feat(deployment): add readLogs procedure to fetch deployment logs - Introduced a new `readLogs` procedure that allows users to retrieve logs for a specific deployment by providing the deployment ID and an optional tail parameter. - Implemented permission checks to ensure users have access to the requested logs. - Enhanced log retrieval for both cloud and non-cloud environments, utilizing appropriate commands based on the server context. Resolve https://github.com/Dokploy/mcp/issues/14 * feat(deployment): add server access validation for deployment actions - Implemented server access validation in deployment procedures to ensure users can only access deployments associated with their active organization. - Added checks to throw an UNAUTHORIZED error if a user attempts to access a deployment linked to a server outside their organization. This enhancement improves security and access control within the deployment management system. * feat(organization): prevent inviting users with owner role - Added validation to prevent users from being invited with the owner role in the organization and user routers. - Implemented TRPCError responses to ensure proper error handling when attempting to assign the owner role. This change enhances role management and security within the organization structure. https://github.com/Dokploy/dokploy/security/advisories/GHSA-fm9p-wmpw-gxjh * feat(user): implement session cleanup on user update - Added functionality to delete old sessions when a user updates their password, ensuring that only the current session remains active. - This change enhances security by preventing unauthorized access from previous sessions after a password change. Close here https://github.com/Dokploy/dokploy/security/advisories/GHSA-rr9m-w87g-46f3 * feat(settings): add copy button to server IP in web server settings (#4397) * fix: copy Dokploy server IP when clicking server badge (#4390) * fix: copy Dokploy server IP when clicking server badge When a service runs on the local Dokploy server (no remote server), clicking the server badge did nothing because `data.server` is null. Now falls back to the server IP from settings so the badge always copies an IP address. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat(copy-ip): implement IP address copying functionality across database service components - Added the ability to copy the server IP address to the clipboard when clicking the server badge in various database service components (Libsql, MariaDB, MongoDB, MySQL, PostgreSQL, Redis). - Integrated the `copy-to-clipboard` library and `sonner` for user feedback upon successful copy action. - Ensured fallback to the server IP from settings when the service data is not available, enhancing user experience and functionality. --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Mauricio Siu <siumauricio@icloud.com> * fix: responsive layout (#4391) Signed-off-by: Nahidujjaman Hridoy <hridoyboss12@gmail.com> * fix: automatically converting username to lowercase both in creation of register, and build for extra. (#4382) * fix: allow square brackets in zip path validation for Next.js dynamic routes (#4468) * fix: allow square brackets in zip drop path validation for Next.js dynamic routes ZIP uploads containing Next.js dynamic route files (e.g. app/api/[id]/route.ts, pages/[slug].tsx) were rejected by readValidDirectory because the path regex did not include square bracket characters. * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * fix: prevent webhook deploy crash when commit data lacks modified files (#4470) shouldDeploy passed undefined/null entries from commit.modified straight into micromatch, which throws "Expected input to be a string" and fails every webhook deployment when watch paths are configured. Filter out non-string values before matching. * fix: add type="button" to TooltipTrigger in form components to prevent accidental submission (#4422) Co-authored-by: Maks Pikov <mixelburg@users.noreply.github.com> * fix: enable comment toggle shortcut in env variable editor (#4402) (#4473) * fix: add tls=true label for domains when certificateType is none (#4018) (#4474) * fix: add tls=true label for compose domains when certificateType is none (#4018) * test: cover tls=true label for certificateType none, require https * fix: scope tls fix to compose labels, leave traefik file config unchanged (#4018) * chore: update version to v0.29.5 in package.json * chore(deps): upgrade next to 16.2.6 (#4477) Upgraded next dependency in apps/dokploy to 16.2.6 exactly. Verified typescript typecheck passes successfully. * feat: add self-hosted enterprise restrictions (remote-servers-only, enforce-sso) (#4511) * feat: add self-hosted enterprise restrictions (remote-servers-only, enforce-sso) - Add `remoteServersOnly` field to webServerSettings: prevents creating services on the local Dokploy VM, forcing all deployments to remote servers. Validated in all 8 service routers (application, compose, postgres, mysql, mongo, redis, mariadb, libsql). - Add `enforceSSO` field to webServerSettings: hides the email/password login form and shows only the SSO button on the login page. - Both settings are enterprise-only (enterpriseProcedure) and self-hosted-only (blocked at the API level when IS_CLOUD=true). - UI toggles added to the SSO settings page under a new "Self-hosted Restrictions" card (hidden in cloud). Login page reads enforceSSO from getServerSideProps to avoid client-side flash. - Migrations: 0167_fresh_goliath.sql, 0168_long_justice.sql * fix: add missing final newlines to migration files * refactor: improve code formatting for better readability in multiple components - Adjusted formatting in `add-application.tsx`, `add-compose.tsx`, and `add-database.tsx` to enhance readability by adding line breaks and consistent indentation. - Updated `toggle-enforce-sso.tsx` to simplify the Switch component's props. - Reformatted imports in `index.tsx` and `sso.tsx` for consistency. - Cleaned up conditional statements in various router files for improved clarity. * fix: add enforceSSO to test mock * fix: grant create and delete SSH key permissions when canAccessToSSHKeys is enabled for members (#4512) * fix: use create permission for basic auth delete instead of delete (#4513) * fix: wrap long server names and keep actions menu visible (#4434) On settings/servers, a long server name in the card title (h3) did not wrap and overflowed its container, overlapping nearby content and squeezing the three-dots actions menu until it disappeared. Allow the title block to shrink and wrap (min-w-0 + break-words), keep the server icon and the actions trigger from being crushed (shrink-0), and add gap between the title and the actions button. * chore: update version to v0.29.6 in package.json * fix: preserve HOME in compose deploy so --with-registry-auth can read docker config (#4485) The compose/stack deploy command runs under `env -i PATH="$PATH"`, which clears the environment except for PATH. That strips HOME, so when the generated command is `docker stack deploy --prune --with-registry-auth` the docker CLI cannot resolve `~/.docker/config.json` (e.g. `/root/.docker/config.json`) and ships no registry credentials to the swarm. Private-registry images then fail to pull on the nodes: image registry.example.com/... could not be accessed on a registry to record its digest. Each node will access ... independently while the deploy still logs "Docker Compose Deployed: ✅". Keep PATH isolation but preserve HOME so docker can read its config for both `stack deploy --with-registry-auth` and `compose up -d --build`. Add a regression test asserting the generated command preserves `HOME="$HOME"` for both stack and docker-compose deploys. Fixes #4401 Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Signed-off-by: Nahidujjaman Hridoy <hridoyboss12@gmail.com> Co-authored-by: ngenohkevin <ngenohkevin19@gmail.com> Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Co-authored-by: Mauricio Siu <siumauricio@icloud.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Volodymyr Kravchuk <volodymyr.kravch@gmail.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Nahidujjaman Hridoy <75487507+nhridoy@users.noreply.github.com> Co-authored-by: Francis <9560564+Baker@users.noreply.github.com> Co-authored-by: mixelburg <52622705+mixelburg@users.noreply.github.com> Co-authored-by: Maks Pikov <mixelburg@users.noreply.github.com> Co-authored-by: Jasael <67719321+jasael@users.noreply.github.com> Co-authored-by: Philippe Parage <69145356+pparage@users.noreply.github.com> Co-authored-by: youcef zr <93142224+youcefzemmar@users.noreply.github.com>
1190 lines
24 KiB
JSON
1190 lines
24 KiB
JSON
{
|
|
"version": "5",
|
|
"dialect": "pg",
|
|
"entries": [
|
|
{
|
|
"idx": 0,
|
|
"version": "5",
|
|
"when": 1713262741218,
|
|
"tag": "0000_reflective_puck",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 1,
|
|
"version": "5",
|
|
"when": 1713761637676,
|
|
"tag": "0001_striped_tattoo",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 2,
|
|
"version": "5",
|
|
"when": 1713763492341,
|
|
"tag": "0002_ambiguous_carlie_cooper",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 3,
|
|
"version": "5",
|
|
"when": 1713947141424,
|
|
"tag": "0003_square_lightspeed",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 4,
|
|
"version": "5",
|
|
"when": 1714004732716,
|
|
"tag": "0004_nice_tenebrous",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 5,
|
|
"version": "5",
|
|
"when": 1715551130605,
|
|
"tag": "0005_cute_terror",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 6,
|
|
"version": "6",
|
|
"when": 1715563165991,
|
|
"tag": "0006_oval_jimmy_woo",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 7,
|
|
"version": "6",
|
|
"when": 1715563497100,
|
|
"tag": "0007_cute_guardsmen",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 8,
|
|
"version": "6",
|
|
"when": 1715564143641,
|
|
"tag": "0008_lazy_sage",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 9,
|
|
"version": "6",
|
|
"when": 1715564774423,
|
|
"tag": "0009_majestic_spencer_smythe",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 10,
|
|
"version": "6",
|
|
"when": 1715574037832,
|
|
"tag": "0010_lean_black_widow",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 11,
|
|
"version": "6",
|
|
"when": 1715574230599,
|
|
"tag": "0011_petite_calypso",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 12,
|
|
"version": "6",
|
|
"when": 1716015716708,
|
|
"tag": "0012_chubby_umar",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 13,
|
|
"version": "6",
|
|
"when": 1716076179443,
|
|
"tag": "0013_blushing_starjammers",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 14,
|
|
"version": "6",
|
|
"when": 1716715367982,
|
|
"tag": "0014_same_hammerhead",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 15,
|
|
"version": "6",
|
|
"when": 1717564517104,
|
|
"tag": "0015_fearless_callisto",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 16,
|
|
"version": "6",
|
|
"when": 1719109196484,
|
|
"tag": "0016_chunky_leopardon",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 17,
|
|
"version": "6",
|
|
"when": 1719547174326,
|
|
"tag": "0017_minor_post",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 18,
|
|
"version": "6",
|
|
"when": 1719928377858,
|
|
"tag": "0018_careful_killmonger",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 19,
|
|
"version": "6",
|
|
"when": 1721110706912,
|
|
"tag": "0019_heavy_freak",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 20,
|
|
"version": "6",
|
|
"when": 1721363861686,
|
|
"tag": "0020_fantastic_slapstick",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 21,
|
|
"version": "6",
|
|
"when": 1721370423752,
|
|
"tag": "0021_premium_sebastian_shaw",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 22,
|
|
"version": "6",
|
|
"when": 1721531163852,
|
|
"tag": "0022_warm_colonel_america",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 23,
|
|
"version": "6",
|
|
"when": 1721542782659,
|
|
"tag": "0023_icy_maverick",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 24,
|
|
"version": "6",
|
|
"when": 1721603595092,
|
|
"tag": "0024_dapper_supernaut",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 25,
|
|
"version": "6",
|
|
"when": 1721633853118,
|
|
"tag": "0025_lying_mephisto",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 26,
|
|
"version": "6",
|
|
"when": 1721979220929,
|
|
"tag": "0026_known_dormammu",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 27,
|
|
"version": "6",
|
|
"when": 1722445099203,
|
|
"tag": "0027_red_lady_bullseye",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 28,
|
|
"version": "6",
|
|
"when": 1722503439951,
|
|
"tag": "0028_jittery_eternity",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 29,
|
|
"version": "6",
|
|
"when": 1722578386823,
|
|
"tag": "0029_colossal_zodiak",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 30,
|
|
"version": "6",
|
|
"when": 1723608499147,
|
|
"tag": "0030_little_kabuki",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 31,
|
|
"version": "6",
|
|
"when": 1723701656243,
|
|
"tag": "0031_steep_vulture",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 32,
|
|
"version": "6",
|
|
"when": 1723705257806,
|
|
"tag": "0032_flashy_shadow_king",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 33,
|
|
"version": "6",
|
|
"when": 1725250322137,
|
|
"tag": "0033_white_hawkeye",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 34,
|
|
"version": "6",
|
|
"when": 1725256397019,
|
|
"tag": "0034_aspiring_secret_warriors",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 35,
|
|
"version": "6",
|
|
"when": 1725429324584,
|
|
"tag": "0035_cool_gravity",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 36,
|
|
"version": "6",
|
|
"when": 1725519351871,
|
|
"tag": "0036_tired_ronan",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 37,
|
|
"version": "6",
|
|
"when": 1726988289562,
|
|
"tag": "0037_legal_namor",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 38,
|
|
"version": "6",
|
|
"when": 1727942090102,
|
|
"tag": "0038_rapid_landau",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 39,
|
|
"version": "6",
|
|
"when": 1728021127765,
|
|
"tag": "0039_many_tiger_shark",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 40,
|
|
"version": "6",
|
|
"when": 1728780577084,
|
|
"tag": "0040_graceful_wolfsbane",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 41,
|
|
"version": "6",
|
|
"when": 1729667438853,
|
|
"tag": "0041_huge_bruce_banner",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 42,
|
|
"version": "6",
|
|
"when": 1729984439862,
|
|
"tag": "0042_fancy_havok",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 43,
|
|
"version": "6",
|
|
"when": 1731873965888,
|
|
"tag": "0043_closed_naoko",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 44,
|
|
"version": "6",
|
|
"when": 1731875539532,
|
|
"tag": "0044_sour_true_believers",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 45,
|
|
"version": "6",
|
|
"when": 1732644181718,
|
|
"tag": "0045_smiling_blur",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 46,
|
|
"version": "6",
|
|
"when": 1732851191048,
|
|
"tag": "0046_purple_sleeper",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 47,
|
|
"version": "6",
|
|
"when": 1733599090582,
|
|
"tag": "0047_tidy_revanche",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 48,
|
|
"version": "6",
|
|
"when": 1733599163710,
|
|
"tag": "0048_flat_expediter",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 49,
|
|
"version": "6",
|
|
"when": 1733628762978,
|
|
"tag": "0049_dark_leopardon",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 50,
|
|
"version": "6",
|
|
"when": 1733889104203,
|
|
"tag": "0050_nappy_wrecker",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 51,
|
|
"version": "6",
|
|
"when": 1734241482851,
|
|
"tag": "0051_hard_gorgon",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 52,
|
|
"version": "6",
|
|
"when": 1734809337308,
|
|
"tag": "0052_bumpy_luckman",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 53,
|
|
"version": "6",
|
|
"when": 1735118844878,
|
|
"tag": "0053_broken_kulan_gath",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 54,
|
|
"version": "6",
|
|
"when": 1736669421560,
|
|
"tag": "0054_nervous_spencer_smythe",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 55,
|
|
"version": "6",
|
|
"when": 1736669623831,
|
|
"tag": "0055_next_serpent_society",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 56,
|
|
"version": "6",
|
|
"when": 1736789918294,
|
|
"tag": "0056_majestic_skaar",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 57,
|
|
"version": "6",
|
|
"when": 1737306063563,
|
|
"tag": "0057_tricky_living_tribunal",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 58,
|
|
"version": "6",
|
|
"when": 1737612903012,
|
|
"tag": "0058_brown_sharon_carter",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 59,
|
|
"version": "6",
|
|
"when": 1737615160768,
|
|
"tag": "0059_striped_bill_hollister",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 60,
|
|
"version": "6",
|
|
"when": 1737929896838,
|
|
"tag": "0060_disable-aggressive-cache",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 61,
|
|
"version": "7",
|
|
"when": 1738481304953,
|
|
"tag": "0061_many_molten_man",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 62,
|
|
"version": "7",
|
|
"when": 1738482795112,
|
|
"tag": "0062_slippery_white_tiger",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 63,
|
|
"version": "7",
|
|
"when": 1738522845992,
|
|
"tag": "0063_panoramic_dreadnoughts",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 64,
|
|
"version": "7",
|
|
"when": 1738564387043,
|
|
"tag": "0064_previous_agent_brand",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 65,
|
|
"version": "7",
|
|
"when": 1739087857244,
|
|
"tag": "0065_daily_zaladane",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 66,
|
|
"version": "7",
|
|
"when": 1739426913392,
|
|
"tag": "0066_yielding_echo",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 67,
|
|
"version": "7",
|
|
"when": 1740892043121,
|
|
"tag": "0067_condemned_sugar_man",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 68,
|
|
"version": "7",
|
|
"when": 1740897756774,
|
|
"tag": "0068_complex_rhino",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 69,
|
|
"version": "7",
|
|
"when": 1741152916611,
|
|
"tag": "0069_legal_bill_hollister",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 70,
|
|
"version": "7",
|
|
"when": 1741322697251,
|
|
"tag": "0070_useful_serpent_society",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 71,
|
|
"version": "7",
|
|
"when": 1741460060541,
|
|
"tag": "0071_flaky_black_queen",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 72,
|
|
"version": "7",
|
|
"when": 1741487009559,
|
|
"tag": "0072_green_susan_delgado",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 73,
|
|
"version": "7",
|
|
"when": 1741489681190,
|
|
"tag": "0073_hot_domino",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 74,
|
|
"version": "7",
|
|
"when": 1741490064139,
|
|
"tag": "0074_black_quasar",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 75,
|
|
"version": "7",
|
|
"when": 1741491527516,
|
|
"tag": "0075_young_typhoid_mary",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 76,
|
|
"version": "7",
|
|
"when": 1741493754270,
|
|
"tag": "0076_young_sharon_ventura",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 77,
|
|
"version": "7",
|
|
"when": 1741510086231,
|
|
"tag": "0077_chemical_dreadnoughts",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 78,
|
|
"version": "7",
|
|
"when": 1742112194375,
|
|
"tag": "0078_uneven_omega_sentinel",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 79,
|
|
"version": "7",
|
|
"when": 1742281690186,
|
|
"tag": "0079_bizarre_wendell_rand",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 80,
|
|
"version": "7",
|
|
"when": 1743280866402,
|
|
"tag": "0080_sleepy_sinister_six",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 81,
|
|
"version": "7",
|
|
"when": 1743281254393,
|
|
"tag": "0081_lovely_mentallo",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 82,
|
|
"version": "7",
|
|
"when": 1743287689974,
|
|
"tag": "0082_clean_mandarin",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 83,
|
|
"version": "7",
|
|
"when": 1743288371413,
|
|
"tag": "0083_parallel_stranger",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 84,
|
|
"version": "7",
|
|
"when": 1743923992280,
|
|
"tag": "0084_thin_iron_lad",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 85,
|
|
"version": "7",
|
|
"when": 1745705609181,
|
|
"tag": "0085_equal_captain_stacy",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 86,
|
|
"version": "7",
|
|
"when": 1745706676004,
|
|
"tag": "0086_rainy_gertrude_yorkes",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 87,
|
|
"version": "7",
|
|
"when": 1745723563822,
|
|
"tag": "0087_lively_risque",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 88,
|
|
"version": "7",
|
|
"when": 1746256928101,
|
|
"tag": "0088_illegal_ma_gnuci",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 89,
|
|
"version": "7",
|
|
"when": 1746392564463,
|
|
"tag": "0089_noisy_sandman",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 90,
|
|
"version": "7",
|
|
"when": 1746509318678,
|
|
"tag": "0090_clean_wolf_cub",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 91,
|
|
"version": "7",
|
|
"when": 1746518402168,
|
|
"tag": "0091_spotty_kulan_gath",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 92,
|
|
"version": "7",
|
|
"when": 1747713229160,
|
|
"tag": "0092_stiff_the_watchers",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 93,
|
|
"version": "7",
|
|
"when": 1750397258622,
|
|
"tag": "0093_nice_gorilla_man",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 94,
|
|
"version": "7",
|
|
"when": 1750559214977,
|
|
"tag": "0094_numerous_carmella_unuscione",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 95,
|
|
"version": "7",
|
|
"when": 1750562292392,
|
|
"tag": "0095_curly_justice",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 96,
|
|
"version": "7",
|
|
"when": 1750566830268,
|
|
"tag": "0096_small_shaman",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 97,
|
|
"version": "7",
|
|
"when": 1750567641441,
|
|
"tag": "0097_hard_lizard",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 98,
|
|
"version": "7",
|
|
"when": 1751233265357,
|
|
"tag": "0098_conscious_chat",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 99,
|
|
"version": "7",
|
|
"when": 1751693569786,
|
|
"tag": "0099_wise_golden_guardian",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 100,
|
|
"version": "7",
|
|
"when": 1751741736144,
|
|
"tag": "0100_purple_rogue",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 101,
|
|
"version": "7",
|
|
"when": 1751751631943,
|
|
"tag": "0101_moaning_blazing_skull",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 102,
|
|
"version": "7",
|
|
"when": 1751848685503,
|
|
"tag": "0102_opposite_grandmaster",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 103,
|
|
"version": "7",
|
|
"when": 1752465764072,
|
|
"tag": "0103_cultured_pestilence",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 104,
|
|
"version": "7",
|
|
"when": 1754207407121,
|
|
"tag": "0104_omniscient_randall",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 105,
|
|
"version": "7",
|
|
"when": 1754259281559,
|
|
"tag": "0105_clumsy_quicksilver",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 106,
|
|
"version": "7",
|
|
"when": 1754912062243,
|
|
"tag": "0106_purple_maggott",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 107,
|
|
"version": "7",
|
|
"when": 1756793713380,
|
|
"tag": "0107_loud_kang",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 108,
|
|
"version": "7",
|
|
"when": 1756955718127,
|
|
"tag": "0108_lazy_next_avengers",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 109,
|
|
"version": "7",
|
|
"when": 1757052053574,
|
|
"tag": "0109_remarkable_sauron",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 110,
|
|
"version": "7",
|
|
"when": 1757189541734,
|
|
"tag": "0110_red_psynapse",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 111,
|
|
"version": "7",
|
|
"when": 1758445844561,
|
|
"tag": "0111_mushy_wolfsbane",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 112,
|
|
"version": "7",
|
|
"when": 1758483520214,
|
|
"tag": "0112_freezing_skrulls",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 113,
|
|
"version": "7",
|
|
"when": 1758960816504,
|
|
"tag": "0113_complete_rafael_vega",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 114,
|
|
"version": "7",
|
|
"when": 1759643172958,
|
|
"tag": "0114_dry_black_tom",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 115,
|
|
"version": "7",
|
|
"when": 1759644540829,
|
|
"tag": "0115_serious_black_bird",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 116,
|
|
"version": "7",
|
|
"when": 1759645163834,
|
|
"tag": "0116_amusing_firedrake",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 117,
|
|
"version": "7",
|
|
"when": 1761370953274,
|
|
"tag": "0117_lumpy_nuke",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 118,
|
|
"version": "7",
|
|
"when": 1761415824484,
|
|
"tag": "0118_loose_anita_blake",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 119,
|
|
"version": "7",
|
|
"when": 1762142756443,
|
|
"tag": "0119_bouncy_morbius",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 120,
|
|
"version": "7",
|
|
"when": 1762632540024,
|
|
"tag": "0120_lame_captain_midlands",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 121,
|
|
"version": "7",
|
|
"when": 1763755037033,
|
|
"tag": "0121_rainy_cargill",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 122,
|
|
"version": "7",
|
|
"when": 1764479387555,
|
|
"tag": "0122_absent_frightful_four",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 123,
|
|
"version": "7",
|
|
"when": 1764525308939,
|
|
"tag": "0123_cloudy_piledriver",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 124,
|
|
"version": "7",
|
|
"when": 1764571454170,
|
|
"tag": "0124_certain_cloak",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 125,
|
|
"version": "7",
|
|
"when": 1764573207555,
|
|
"tag": "0125_neat_the_phantom",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 126,
|
|
"version": "7",
|
|
"when": 1765065295708,
|
|
"tag": "0126_nifty_monster_badoon",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 127,
|
|
"version": "7",
|
|
"when": 1765095189368,
|
|
"tag": "0127_superb_alice",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 128,
|
|
"version": "7",
|
|
"when": 1765101709413,
|
|
"tag": "0128_hard_falcon",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 129,
|
|
"version": "7",
|
|
"when": 1765136384035,
|
|
"tag": "0129_pale_roughhouse",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 130,
|
|
"version": "7",
|
|
"when": 1765167657813,
|
|
"tag": "0130_perpetual_screwball",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 131,
|
|
"version": "7",
|
|
"when": 1765342621312,
|
|
"tag": "0131_volatile_beast",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 132,
|
|
"version": "7",
|
|
"when": 1765346573500,
|
|
"tag": "0132_clean_layla_miller",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 133,
|
|
"version": "7",
|
|
"when": 1766301478005,
|
|
"tag": "0133_striped_the_order",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 134,
|
|
"version": "7",
|
|
"when": 1767871040249,
|
|
"tag": "0134_strong_hercules",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 135,
|
|
"version": "7",
|
|
"when": 1768271617042,
|
|
"tag": "0135_illegal_magik",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 136,
|
|
"version": "7",
|
|
"when": 1769580434296,
|
|
"tag": "0136_tidy_puff_adder",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 137,
|
|
"version": "7",
|
|
"when": 1770274109332,
|
|
"tag": "0137_colossal_sally_floyd",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 138,
|
|
"version": "7",
|
|
"when": 1770324882572,
|
|
"tag": "0138_pretty_ironclad",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 139,
|
|
"version": "7",
|
|
"when": 1770442690721,
|
|
"tag": "0139_brave_bloodstorm",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 140,
|
|
"version": "7",
|
|
"when": 1770489900075,
|
|
"tag": "0140_lame_mattie_franklin",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 141,
|
|
"version": "7",
|
|
"when": 1770490719123,
|
|
"tag": "0141_plain_earthquake",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 142,
|
|
"version": "7",
|
|
"when": 1770615019498,
|
|
"tag": "0142_outstanding_tusk",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 143,
|
|
"version": "7",
|
|
"when": 1770961667210,
|
|
"tag": "0143_brown_ultron",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 144,
|
|
"version": "7",
|
|
"when": 1771297084611,
|
|
"tag": "0144_odd_gunslinger",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 145,
|
|
"version": "7",
|
|
"when": 1771447229358,
|
|
"tag": "0145_remarkable_titania",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 146,
|
|
"version": "7",
|
|
"when": 1771670009325,
|
|
"tag": "0146_bumpy_morg",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 147,
|
|
"version": "7",
|
|
"when": 1771830695385,
|
|
"tag": "0147_right_lake",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 148,
|
|
"version": "7",
|
|
"when": 1773129798212,
|
|
"tag": "0148_futuristic_bullseye",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 149,
|
|
"version": "7",
|
|
"when": 1773637297592,
|
|
"tag": "0149_rare_radioactive_man",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 150,
|
|
"version": "7",
|
|
"when": 1773870095817,
|
|
"tag": "0150_nappy_blue_blade",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 151,
|
|
"version": "7",
|
|
"when": 1773872561300,
|
|
"tag": "0151_modern_sunfire",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 152,
|
|
"version": "7",
|
|
"when": 1773903778014,
|
|
"tag": "0152_odd_firelord",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 153,
|
|
"version": "7",
|
|
"when": 1774322599182,
|
|
"tag": "0153_motionless_mastermind",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 154,
|
|
"version": "7",
|
|
"when": 1774337356154,
|
|
"tag": "0154_careful_eternals",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 155,
|
|
"version": "7",
|
|
"when": 1774794547865,
|
|
"tag": "0155_careless_clea",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 156,
|
|
"version": "7",
|
|
"when": 1774910955774,
|
|
"tag": "0156_fair_vargas",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 157,
|
|
"version": "7",
|
|
"when": 1775246622387,
|
|
"tag": "0157_stiff_misty_knight",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 158,
|
|
"version": "7",
|
|
"when": 1775270343231,
|
|
"tag": "0158_amused_synch",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 159,
|
|
"version": "7",
|
|
"when": 1775274158009,
|
|
"tag": "0159_polite_puppet_master",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 160,
|
|
"version": "7",
|
|
"when": 1775316657754,
|
|
"tag": "0160_burly_odin",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 161,
|
|
"version": "7",
|
|
"when": 1775317611429,
|
|
"tag": "0161_solid_newton_destine",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 162,
|
|
"version": "7",
|
|
"when": 1775348977418,
|
|
"tag": "0162_happy_alex_wilder",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 163,
|
|
"version": "7",
|
|
"when": 1775367585821,
|
|
"tag": "0163_perfect_lethal_legion",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 164,
|
|
"version": "7",
|
|
"when": 1775369858244,
|
|
"tag": "0164_slippery_sasquatch",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 165,
|
|
"version": "7",
|
|
"when": 1775845419261,
|
|
"tag": "0165_abnormal_greymalkin",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 166,
|
|
"version": "7",
|
|
"when": 1778303519111,
|
|
"tag": "0166_nosy_slapstick",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 167,
|
|
"version": "7",
|
|
"when": 1780122576214,
|
|
"tag": "0167_fresh_goliath",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 168,
|
|
"version": "7",
|
|
"when": 1780122833339,
|
|
"tag": "0168_long_justice",
|
|
"breakpoints": true
|
|
}
|
|
]
|
|
}
|