Skip to content

Release v1.142.0 – stagingmaster #12229

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 62 commits into from
May 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
3b9100b
fix: [M3-9847] - PayPal button styles in dark mode (#12136)
bnussman-akamai May 1, 2025
c6e15e8
chore: [M3-9889] - Lint whole monorepo for perfectionist rules (#12140)
abailly-akamai May 1, 2025
4db0e0c
test: [M3 9573] - Fix OBJ enrollment test failures in DevCloud (#12135)
dmcintyr-akamai May 1, 2025
072ccd5
upcoming: [DI-24840] - Disable create button when list api is loading…
santoshp210-akamai May 2, 2025
d756675
test [M3-9568]: Bugfix for LKE landing page Cypress test (#12142)
dmcintyr-akamai May 2, 2025
9a23e63
refactor: [M3-9851] - Migrate `NotFound` to linode/ui and improve err…
abailly-akamai May 2, 2025
cfcfed7
change: [M3-9835] - Move Linode create flow PG warning to helper text…
abailly-akamai May 2, 2025
261324a
build(deps-dev): Bump vite from 6.3.2 to 6.3.4 (#12137)
dependabot[bot] May 2, 2025
3a44ba2
upcoming: [M3-9490] – Add support for VPC IPv6 feature flag (#12151)
dwiley-akamai May 2, 2025
f6cfa20
upcoming: [DI-24750] - Capability to delete an user alert (#12134)
santoshp210-akamai May 5, 2025
37545ed
test: [M3-9579] - Bugfix for Image Search test (#12149)
dmcintyr-akamai May 5, 2025
60ac219
change: [M3-9271] - linode/ui Hidden Component (#12128)
abailly-akamai May 5, 2025
85d60c8
upcoming: [M3-9741] - Disable action menu and MTC plans on Linode Re…
pmakode-akamai May 5, 2025
8fc19da
upcoming: [M3-9423] – Update types based on changes to `v4/vpcs` endp…
dwiley-akamai May 5, 2025
8f40e97
upcoming: [M3-9766] - Restrict Migration Region options to MTC avail…
pmakode-akamai May 6, 2025
2569d36
upcoming: [M3-9499] - Maintenance policy types and queries (#11990)
hkhalil-akamai May 6, 2025
f782b4b
Refactor: [M3-9033] Deprecate useDialogData & DeletionDialog (#12153)
abailly-akamai May 6, 2025
9945d54
upcoming: [M3-9846, M3-9908] - Improve Network Interface Table for sm…
coliu-akamai May 6, 2025
cbe9040
Merge branch 'master' into develop
carrillo-erik May 6, 2025
e4c30cc
upcoming: [M3-9458] - LKE for Restricted users (#11956)
hasyed-akamai May 7, 2025
692aacb
mock regions provided (#12156)
dmcintyr-akamai May 7, 2025
9df25a9
test: [M3-9838] - Add test coverage for Adobe Launch and Cloud Manage…
mjac0bs May 7, 2025
7e8e8e2
test: [M3-7515] - Add Cypress integration tests for restricted user d…
cliu-akamai May 7, 2025
60de2a5
test: [M3-9479] - Fix DBaaS Cypress test region mocks so tests pass i…
cliu-akamai May 7, 2025
97cbc53
test: [M3-9915] - Improve Cypress OBJ bucket clean up stability (#12164)
jdamore-linode May 7, 2025
d3d4125
fix: [M3-8994] OBJ landing redirect (#12165)
abailly-akamai May 7, 2025
cd9e44c
upcoming: [M3-9909] - Update MTC plan check per updated design doc (#…
pmakode-akamai May 8, 2025
260d6f1
upcoming: [M3-9861] - Support Linode Interfaces in the Linode Create …
bnussman-akamai May 8, 2025
1970f15
test: [M3-9924] - Fix Cypress rebuild test by using Alpine Linux 3.20…
jdamore-linode May 8, 2025
e3b1a7e
feat: [UIE-8762, UIE-8621] - IAM RBAC: update text, fix sorting (#12167)
aaleksee-akamai May 8, 2025
dd8e69b
M3-9479 Remove mock regions for Database Cluster (#12173)
cliu-akamai May 8, 2025
90e854b
change: [M3-9925] - Add validation rules on changeset description (#1…
mjac0bs May 8, 2025
9d20be2
fix: [M3-9705] - IPv6 rDNS does not update immediately in Cloud Manag…
carrillo-erik May 8, 2025
0e4c884
refactor: [M3-9656] - [Akamai Design System] Label Component (#12005)
carrillo-erik May 8, 2025
deed2a8
upcoming: [M3-9492] - Add queries for VPC IPs endpoints (#12177)
hana-akamai May 8, 2025
04b5124
test [M3-9575]: Bugfix for Object Storage create integration test (#…
dmcintyr-akamai May 9, 2025
5bd3774
change: [M3-9433] - Update styles to match CDS for Entity Header, Not…
cpathipa May 9, 2025
b5571a6
fix: [M3-9917] - Internal Akamai Employee Firewall Policy banner logi…
bnussman-akamai May 9, 2025
0a1bb41
Merge branch 'master' into develop
carrillo-erik May 9, 2025
8ec78b7
upcoming: [DI-24898] - Add view control for cloudpulse filters (#12174)
ankita-akamai May 12, 2025
309fbbd
fix: [UIE-8679, UIE-8532] - Assigned Permissions Panel, Entities Tabl…
mpolotsk-akamai May 12, 2025
c204815
tech-story: [M3-9832] - Update `@paypal/react-paypal-js` to `^8.8.3` …
bnussman-akamai May 12, 2025
9f8a29c
Revert "refactor: [M3-9656] - [Akamai Design System] Label Component …
abailly-akamai May 12, 2025
2437b2e
tech story: [M3-9964] - Delete root level `.eslintrc.js` (#12195)
bnussman-akamai May 12, 2025
b5c697f
fix: [M3-9894] - Use outlined warning icon in Firewall warning banner…
hkhalil-akamai May 12, 2025
e1ca823
fix: [M3-9958] - StackScripts Landing description truncation (#12194)
bnussman-akamai May 12, 2025
7029a42
fix: [M3-9957] - Add `/v4beta` endpoints for Node Pools and use POST …
mjac0bs May 12, 2025
4bc218f
upcoming: [DI-24826] - Added text box in create alert (#12175)
nikhagra-akamai May 13, 2025
6fdbc54
upcoming: [DI-24984] - Changes for removing tags filter from linode c…
venkymano-akamai May 13, 2025
a082ed2
upcoming: [M3-9953] - Add beta ACLP contextual Metrics on Linode deta…
pmakode-akamai May 13, 2025
bdd6f90
Fix:[DI-25092] - Refine tooltip behavior for zoom button interactions…
ankita-akamai May 13, 2025
7457300
change: [M3-9942-M3-9923-M3-9967] - Quotas UI updates for GA (#12197)
abailly-akamai May 13, 2025
d4a08e5
fix: [M3-9969] - Fix console warnings related to first-child pseudo c…
cpathipa May 13, 2025
6a2dce3
upcoming: [M3-9918] - Add Alerts legacy-beta preference toggle (#12180)
pmakode-akamai May 14, 2025
6505d1d
test: [M3-9475] - Use chooseCluster() in object-storage e2e test (#12…
dmcintyr-akamai May 14, 2025
ea214e0
feat: [UIE-8618] - IAM RBAC: fix styles for the Assigned Roles Table …
aaleksee-akamai May 14, 2025
dff8c10
Remove the feature flag check so that beta customers can add node poo…
mjac0bs May 14, 2025
8cc7333
feat: [UIE-8734] - IAM RBAC - Assign Selected Roles drawer (#12182)
rodonnel-akamai May 14, 2025
f3639f9
test [M3-9926]: fix for misc test failures (#12198)
dmcintyr-akamai May 14, 2025
9b867ae
Cloud version 1.142.0, API v4 version 0.140.0, Validation version 0.6…
DevDW May 14, 2025
47c7911
Update CM changelog
DevDW May 15, 2025
d8435fb
Merge pull request #12222 from linode/release-v1.142.0
dwiley-akamai May 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 0 additions & 5 deletions .eslintrc.js

This file was deleted.

1 change: 1 addition & 0 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ Two reviews from members of the Cloud Manager team are required before merge. Af

Follow these best practices to write a good changeset:

- Summarize your changes succinctly in 150 characters or less. A changeset shouldn't describe every line of code edited in the PR.
- Use a consistent tense in all changeset entries. We have chosen to use **imperative (present)** tense. (This follows established [git commit message best practices](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).)
- Avoid starting a changeset with the verb "Add", "Remove", "Change" or "Fix" when listed under that respective `Added`, `Removed`, `Changed` or `Fixed` section. It is unnecessary repetition.
- For `Fixed` changesets, describe the bug that needed to be fixed, rather than the fix itself. (e.g. say "Missing button labels in action buttons" rather than "Make label prop required for action buttons").
Expand Down
9 changes: 9 additions & 0 deletions packages/api-v4/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
## [2025-05-20] - v0.140.0

### Upcoming Features:

- Add Host & VM Maintenance types and queries ([#11990](https://github.com/linode/manager/pull/11990))
- Add `SubnetAssignedNodeBalancerData` interface, `nodebalancers` property to `Subnet` interface, and `nodebalancer_id` property to `VCPIP` interface ([#12099](https://github.com/linode/manager/pull/12099))
- CloudPulse: Add payload `DeleteAlertFeature` and request `deleteAlertDefinition` for handling user alert deletion ([#12134](https://github.com/linode/manager/pull/12134))
- Add `/v4beta` endpoints and types for Node Pool requests ([#12188](https://github.com/linode/manager/pull/12188))

## [2025-05-06] - v0.139.0

### Upcoming Features:
Expand Down
2 changes: 1 addition & 1 deletion packages/api-v4/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@linode/api-v4",
"version": "0.139.0",
"version": "0.140.0",
"homepage": "https://github.com/linode/manager/tree/develop/packages/api-v4",
"bugs": {
"url": "https://github.com/linode/manager/issues"
Expand Down
42 changes: 22 additions & 20 deletions packages/api-v4/src/account/account.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,29 @@ import {
updateAccountSchema,
UpdateAccountSettingsSchema,
} from '@linode/validation/lib/account.schema';

import { API_ROOT, BETA_API_ROOT } from '../constants';
import Request, {
setData,
setHeaders,
setMethod,
setURL,
setParams,
setURL,
setXFilter,
} from '../request';
import {

import type { Token } from '../profile';
import type { Filter, Params, RequestOptions, ResourcePage } from '../types';
import type {
Account,
AccountAvailability,
AccountSettings,
Agreements,
CancelAccount,
CancelAccountPayload,
Agreements,
RegionalNetworkUtilization,
ChildAccountPayload,
RegionalNetworkUtilization,
} from './types';
import type { Filter, ResourcePage, Params, RequestOptions } from '../types';
import type { Token } from '../profile';

/**
* getAccountInfo
Expand All @@ -44,7 +46,7 @@ export const getAccountInfo = () => {
export const getNetworkUtilization = () =>
Request<RegionalNetworkUtilization>(
setURL(`${API_ROOT}/account/transfer`),
setMethod('GET')
setMethod('GET'),
);

/**
Expand All @@ -57,7 +59,7 @@ export const updateAccountInfo = (data: Partial<Account>) =>
Request<Account>(
setURL(`${API_ROOT}/account`),
setMethod('PUT'),
setData(data, updateAccountSchema)
setData(data, updateAccountSchema),
);

/**
Expand All @@ -69,7 +71,7 @@ export const updateAccountInfo = (data: Partial<Account>) =>
export const getAccountSettings = () =>
Request<AccountSettings>(
setURL(`${API_ROOT}/account/settings`),
setMethod('GET')
setMethod('GET'),
);

/**
Expand All @@ -82,7 +84,7 @@ export const updateAccountSettings = (data: Partial<AccountSettings>) =>
Request<AccountSettings>(
setURL(`${API_ROOT}/account/settings`),
setMethod('PUT'),
setData(data, UpdateAccountSettingsSchema)
setData(data, UpdateAccountSettingsSchema),
);

/**
Expand All @@ -94,7 +96,7 @@ export const cancelAccount = (data: CancelAccountPayload) => {
return Request<CancelAccount>(
setURL(`${API_ROOT}/account/cancel`),
setMethod('POST'),
setData(data)
setData(data),
);
};

Expand All @@ -107,7 +109,7 @@ export const cancelAccount = (data: CancelAccountPayload) => {
export const getAccountAgreements = () =>
Request<Agreements>(
setURL(`${BETA_API_ROOT}/account/agreements`),
setMethod('GET')
setMethod('GET'),
);

/**
Expand All @@ -122,7 +124,7 @@ export const getAccountAvailabilities = (params?: Params, filter?: Filter) =>
setURL(`${BETA_API_ROOT}/account/availability`),
setMethod('GET'),
setParams(params),
setXFilter(filter)
setXFilter(filter),
);

/**
Expand All @@ -135,9 +137,9 @@ export const getAccountAvailabilities = (params?: Params, filter?: Filter) =>
export const getAccountAvailability = (regionId: string) =>
Request<AccountAvailability>(
setURL(
`${BETA_API_ROOT}/account/availability/${encodeURIComponent(regionId)}`
`${BETA_API_ROOT}/account/availability/${encodeURIComponent(regionId)}`,
),
setMethod('GET')
setMethod('GET'),
);

/**
Expand All @@ -149,7 +151,7 @@ export const signAgreement = (data: Partial<Agreements>) => {
return Request<{}>(
setURL(`${BETA_API_ROOT}/account/agreements`),
setMethod('POST'),
setData(data)
setData(data),
);
};

Expand All @@ -165,7 +167,7 @@ export const getChildAccounts = ({ filter, params, headers }: RequestOptions) =>
setMethod('GET'),
setHeaders(headers),
setParams(params),
setXFilter(filter)
setXFilter(filter),
);

/**
Expand All @@ -178,7 +180,7 @@ export const getChildAccount = ({ euuid, headers }: ChildAccountPayload) =>
Request<Account>(
setURL(`${API_ROOT}/account/child-accounts/${encodeURIComponent(euuid)}`),
setMethod('GET'),
setHeaders(headers)
setHeaders(headers),
);

/**
Expand All @@ -198,9 +200,9 @@ export const createChildAccountPersonalAccessToken = ({
}: ChildAccountPayload) =>
Request<Token>(
setURL(
`${API_ROOT}/account/child-accounts/${encodeURIComponent(euuid)}/token`
`${API_ROOT}/account/child-accounts/${encodeURIComponent(euuid)}/token`,
),
setMethod('POST'),
setHeaders(headers),
setData(euuid)
setData(euuid),
);
13 changes: 7 additions & 6 deletions packages/api-v4/src/account/betas.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import { API_ROOT } from '../constants';
import Request, {
setData,
setMethod,
setParams,
setURL,
setXFilter,
setData,
} from '../request';
import { Filter, Params, ResourcePage } from '../types';
import { AccountBeta, EnrollInBetaPayload } from './types';

import type { Filter, Params, ResourcePage } from '../types';
import type { AccountBeta, EnrollInBetaPayload } from './types';

/**
* getBetas
Expand All @@ -19,7 +20,7 @@ export const getAccountBetas = (params?: Params, filter?: Filter) =>
setURL(`${API_ROOT}/account/betas`),
setMethod('GET'),
setParams(params),
setXFilter(filter)
setXFilter(filter),
);

/**
Expand All @@ -31,7 +32,7 @@ export const getAccountBetas = (params?: Params, filter?: Filter) =>
export const getAccountBeta = (betaId: string) =>
Request<AccountBeta>(
setURL(`${API_ROOT}/account/betas/${encodeURIComponent(betaId)}`),
setMethod('GET')
setMethod('GET'),
);

/**
Expand All @@ -45,5 +46,5 @@ export const enrollInBeta = (data: EnrollInBetaPayload) =>
Request<{}>(
setURL(`${API_ROOT}/account/betas`),
setMethod('POST'),
setData(data)
setData(data),
);
15 changes: 8 additions & 7 deletions packages/api-v4/src/account/events.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { API_ROOT } from '../constants';
import Request, { setMethod, setParams, setURL, setXFilter } from '../request';
import { Filter, Params, ResourcePage } from '../types';
import { Event, Notification } from './types';

import type { Filter, Params, ResourcePage } from '../types';
import type { Event, Notification } from './types';

/**
* getEvents
Expand All @@ -14,7 +15,7 @@ export const getEvents = (params: Params = {}, filter: Filter = {}) =>
setURL(`${API_ROOT}/account/events`),
setMethod('GET'),
setXFilter(filter),
setParams(params)
setParams(params),
);

/**
Expand All @@ -26,7 +27,7 @@ export const getEvents = (params: Params = {}, filter: Filter = {}) =>
export const getEvent = (eventId: number) =>
Request<Event>(
setURL(`${API_ROOT}/account/events/${encodeURIComponent(eventId)}`),
setMethod('GET')
setMethod('GET'),
);

/**
Expand All @@ -39,7 +40,7 @@ export const getEvent = (eventId: number) =>
export const markEventSeen = (eventId: number) =>
Request<{}>(
setURL(`${API_ROOT}/account/events/${encodeURIComponent(eventId)}/seen`),
setMethod('POST')
setMethod('POST'),
);

/**
Expand All @@ -53,7 +54,7 @@ export const markEventSeen = (eventId: number) =>
export const markEventRead = (eventId: number) =>
Request<{}>(
setURL(`${API_ROOT}/account/events/${encodeURIComponent(eventId)}/read`),
setMethod('POST')
setMethod('POST'),
);

/**
Expand All @@ -67,5 +68,5 @@ export const getNotifications = (params?: Params, filter?: Filter) =>
setURL(`${API_ROOT}/account/notifications`),
setMethod('GET'),
setParams(params),
setXFilter(filter)
setXFilter(filter),
);
10 changes: 5 additions & 5 deletions packages/api-v4/src/account/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@ export * from './events';

export * from './invoices';

export * from './payments';
export * from './logins';

export * from './users';
export * from './maintenance';

export * from './oauth';

export * from './payments';

export * from './promos';

export * from './types';

export * from './maintenance';

export * from './logins';
export * from './users';
15 changes: 8 additions & 7 deletions packages/api-v4/src/account/invoices.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { API_ROOT } from '../constants';
import Request, { setMethod, setParams, setURL, setXFilter } from '../request';
import { Filter, Params, ResourcePage } from '../types';
import { Invoice, InvoiceItem } from './types';

import type { Filter, Params, ResourcePage } from '../types';
import type { Invoice, InvoiceItem } from './types';

/**
* getInvoices
Expand All @@ -14,7 +15,7 @@ export const getInvoices = (params?: Params, filter?: Filter) =>
setURL(`${API_ROOT}/account/invoices`),
setMethod('GET'),
setParams(params),
setXFilter(filter)
setXFilter(filter),
);

/**
Expand All @@ -28,7 +29,7 @@ export const getInvoices = (params?: Params, filter?: Filter) =>
export const getInvoice = (invoiceId: number) =>
Request<Invoice>(
setURL(`${API_ROOT}/account/invoices/${encodeURIComponent(invoiceId)}`),
setMethod('GET')
setMethod('GET'),
);

/**
Expand All @@ -43,13 +44,13 @@ export const getInvoice = (invoiceId: number) =>
export const getInvoiceItems = (
invoiceId: number,
params?: Params,
filter?: Filter
filter?: Filter,
) =>
Request<ResourcePage<InvoiceItem>>(
setURL(
`${API_ROOT}/account/invoices/${encodeURIComponent(invoiceId)}/items`
`${API_ROOT}/account/invoices/${encodeURIComponent(invoiceId)}/items`,
),
setMethod('GET'),
setParams(params),
setXFilter(filter)
setXFilter(filter),
);
9 changes: 5 additions & 4 deletions packages/api-v4/src/account/logins.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { API_ROOT } from '../constants';
import Request, { setMethod, setParams, setURL, setXFilter } from '../request';
import { Filter, Params, ResourcePage } from '../types';
import { AccountLogin } from './types';

import type { Filter, Params, ResourcePage } from '../types';
import type { AccountLogin } from './types';

/**
* getAccountLogins
Expand All @@ -14,7 +15,7 @@ export const getAccountLogins = (params?: Params, filter?: Filter) =>
setURL(`${API_ROOT}/account/logins`),
setMethod('GET'),
setParams(params),
setXFilter(filter)
setXFilter(filter),
);

/**
Expand All @@ -28,5 +29,5 @@ export const getAccountLogins = (params?: Params, filter?: Filter) =>
export const getAccountLogin = (loginId: number) =>
Request<AccountLogin>(
setURL(`${API_ROOT}/account/logins/${encodeURIComponent(loginId)}`),
setMethod('GET')
setMethod('GET'),
);
Loading
Loading