Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
e77c677
upcoming: [DI-29113] - Support for User Channel Details in Alert flow…
santoshp210-akamai Jan 7, 2026
b026e5f
Revert "upcoming: [DI-29113] - Support for User Channel Details in Al…
santoshp210-akamai Jan 8, 2026
d423815
change: [UIE-9919] - Address post-demo feedback for Network Load Bala…
tanushree-akamai Jan 8, 2026
5a108c3
change: [UIE-9919] - Address post-demo feedback(points 4,5) (#13251)
tanushree-akamai Jan 8, 2026
0f20350
chore: [UIE-9913] - IAM: Cleanup `iamRbacPrimaryNavChanges` feature f…
abailly-akamai Jan 8, 2026
921d956
fix: [UIE-9841] - Hide dual stack option if no IPv6 prefixes availabl…
grevanak-akamai Jan 9, 2026
34557c0
change: [UIE-9908] - Update Generational Plans default sort to show n…
pmakode-akamai Jan 9, 2026
312c07b
change: [UIE-9890] - changes related to private IP field in create li…
grevanak-akamai Jan 9, 2026
2947bce
change: [UIE-9919] - Address post-demo feedback(points 6,7) (#13258)
tanushree-akamai Jan 9, 2026
ae5748e
change: [UIE-9920] - Billing: Disable "Make payment" button for Akama…
abailly-akamai Jan 9, 2026
25a4879
upcoming: [M3-9225] - Add API queries for MarketplaceV2 (#13255)
harsh-akamai Jan 9, 2026
0145e69
fix: [UIE-9933], [UIE-9935] - IAM: UX copy updates, breadcrumbs fix (…
mpolotsk-akamai Jan 9, 2026
7fe3915
change: [UIE-9860] - Change the default selection of network interfac…
grevanak-akamai Jan 12, 2026
9d3c968
chore: [UIE-9926] - Bump `jspdf` to 4.0.0 (#13248)
abailly-akamai Jan 12, 2026
c3bd7ca
feat: [UIE-9931] - IAM: fix payload for updateChildAccountDelegates (…
aaleksee-akamai Jan 12, 2026
9639de9
upcoming: [UIE-9817] - Add Breadcrumb to Marketplace Product Landing …
pmakode-akamai Jan 12, 2026
e793c25
upcoming: [UIE-9826] - Add reusable Product Selection Card component …
pmakode-akamai Jan 12, 2026
4f2cc9f
fix: [UIE-9952] - IAM - Fix hydration error on User Detail pages (#13…
abailly-akamai Jan 12, 2026
90d09c1
Merge pull request #13263 from linode/staging
jdamore-linode Jan 12, 2026
81f29fe
Merge branch 'master' into develop
jdamore-linode Jan 12, 2026
64174db
change: [UIE-9942] - IAM - Replace `view_account` with fine-grained p…
abailly-akamai Jan 13, 2026
9d9f778
test: [UIE-9996] - Fix `chooseRegion` mock region test failures when …
jdamore-linode Jan 13, 2026
d549891
upcoming: [DI-29059] - Add delete action for user alert channels (#13…
ankita-akamai Jan 14, 2026
c2a9115
change: [UIE-9861] - Handle Incompatibility of linode interfaces in c…
grevanak-akamai Jan 14, 2026
64060c2
change: [UIE-9859] - Improvements in Add Network interface drawer (#1…
grevanak-akamai Jan 14, 2026
173688a
feat: [UIE-9934] - IAM: reset to prev page when removing last role (#…
aaleksee-akamai Jan 14, 2026
6dbabd7
upcoming: [UIE-9327] - Add service URIs to Database summary tab (#13261)
hana-akamai Jan 14, 2026
a5f9748
test: fix previous month calculation tests for year boundaries (#13240)
agorthi-akamai Jan 16, 2026
cd23757
change: [UIE-9945] - Implement UX and user feedback for linode interf…
grevanak-akamai Jan 16, 2026
904a1b8
fix: [UIE-9943], [UIE-9944], [UIE-9950], [UIE-9951], [UIE-9954] - IAM…
mpolotsk-akamai Jan 16, 2026
26f4109
fix: [UIE-10011] - IAM Parent/Child selected roles drawer fix (#13282)
mpolotsk-akamai Jan 16, 2026
a1cc683
chore: [UIE-9953] - IAM - Clean up beta flag + BETA/LA logic (#13266)
abailly-akamai Jan 16, 2026
8b2e89d
fix: [UIE-9987] - IAM Parent/Child - Various fixes to Parent Account …
abailly-akamai Jan 16, 2026
f3f99c6
upcoming: [UIE-9814] - Implement the main product grid with category …
harsh-akamai Jan 19, 2026
2574088
fix: [UIE-10043] - Copy in Plans Panel generational plans tooltip (#1…
abailly-akamai Jan 19, 2026
dfe06c0
upcoming: [DI-29061] - Notification Channel Show Details - Overview, …
santoshp210-akamai Jan 19, 2026
49571de
feat: [UIE-9988] - IAM Delegation: fix payload for changing role flow…
aaleksee-akamai Jan 19, 2026
ca3a471
chore: [UIE-9949] - Update to linode/design-language-system to v5.3.2…
aaleksee-akamai Jan 20, 2026
13625b6
feat [OCA-1602] - Add Mistral 7B Instruct with Open WebUI and Chroma …
n0vabyte Jan 20, 2026
4cd9662
fix: [DI-29314] - Wrong time range sent in metrics payload on prefere…
venkymano-akamai Jan 21, 2026
9219e31
upcoming: [DI-29061] - Notification Channel Show Details - Associated…
santoshp210-akamai Jan 21, 2026
938de59
fix: [DI-29215] - sort service type column on label (#13295)
santoshp210-akamai Jan 21, 2026
7b2da0c
fix: [UIE-10041] - IAM routing cleanup (#13288)
abailly-akamai Jan 21, 2026
f4c3558
change: STORIF-165 - Updated content usage status format. (#13296)
dchyrva-akamai Jan 21, 2026
5b3df4a
fix: [DI-29215] - End character validation for specific characters (#…
santoshp210-akamai Jan 21, 2026
45b2877
upcoming: [DI-29177] - Exclude account/region alerts in api payload w…
ankita-akamai Jan 21, 2026
23541c4
upcoming: [DI-28506] - Filter linode resources based on associated ac…
ankita-akamai Jan 21, 2026
fea3859
refine selector (#13091)
dmcintyr-akamai Jan 21, 2026
7aa578b
upcoming: [UIE-9781] - Add CRUD MSW mocks for Locks(Linodes is in sco…
tanushree-akamai Jan 22, 2026
5793cfc
fix: [UIE-10016] - Show notice in add interface drawer when adding Pu…
grevanak-akamai Jan 22, 2026
928b39f
change: [DPS-35018] - Logs: Add new status - Provisioning (#13284)
kagora-akamai Jan 22, 2026
d51583a
change: [DPS-36291] - Text changes after tech writing review (#13291)
kagora-akamai Jan 22, 2026
ac0fdf1
change: [UIE-10012] - Implement UX and user feedback for linode inter…
grevanak-akamai Jan 22, 2026
7ffb24a
feat: [UIE-10051] - IAM Delegation: allow sending an empty array (#13…
aaleksee-akamai Jan 22, 2026
bdaa80c
feat: [UIE-10006] - IAM Delegation: reset to prev page when changing …
aaleksee-akamai Jan 22, 2026
8920b32
Cloud version 1.158.0, API v4 version 0.156.0, Validation version 0.8…
abailly-akamai Jan 22, 2026
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
  •  
  •  
  •  
17 changes: 17 additions & 0 deletions packages/api-v4/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
## [2026-01-27] - v0.156.0


### Fixed:

- IAM Delegation: fix payload for updateChildAccountDelegates ([#13260](https://github.com/linode/manager/pull/13260))

### Tech Stories:

- Clean up unused VPC IPv6 Large Prefixes tag ([#13245](https://github.com/linode/manager/pull/13245))

### Upcoming Features:

- CloudPulse-Alerts: Add `DeleteChannelPayload` type and request for deletion of a notification channel ([#13256](https://github.com/linode/manager/pull/13256))
- Added locks property to Linode interface,added lock create and delete event keys, refactored Lock types ([#13286](https://github.com/linode/manager/pull/13286))
- New type `NotificationChannelAlerts`, request `getAlertsByNotificationChannelId` to fetch alerts associated to a notification channel ([#13294](https://github.com/linode/manager/pull/13294))

## [2026-01-12] - v0.155.0


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.155.0",
"version": "0.156.0",
"homepage": "https://github.com/linode/manager/tree/develop/packages/api-v4",
"bugs": {
"url": "https://github.com/linode/manager/issues"
Expand Down
3 changes: 2 additions & 1 deletion packages/api-v4/src/account/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,6 @@ export const accountCapabilities = [
'Vlans',
'VPCs',
'VPC Dual Stack',
'VPC IPv6 Large Prefixes',
] as const;

export type AccountCapability = (typeof accountCapabilities)[number];
Expand Down Expand Up @@ -435,6 +434,8 @@ export const EventActionKeys = [
'lke_pool_delete',
'lke_pool_recycle',
'lke_token_rotate',
'lock_create',
'lock_delete',
'longviewclient_create',
'longviewclient_delete',
'longviewclient_update',
Expand Down
23 changes: 23 additions & 0 deletions packages/api-v4/src/cloudpulse/alerts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import type {
EditAlertDefinitionPayload,
EditNotificationChannelPayload,
NotificationChannel,
NotificationChannelAlerts,
} from './types';

export const createAlertDefinition = (
Expand Down Expand Up @@ -172,3 +173,25 @@ export const updateNotificationChannel = (
setMethod('PUT'),
setData(data, editNotificationChannelPayloadSchema),
);

export const deleteNotificationChannel = (channelId: number) =>
Request<NotificationChannel>(
setURL(
`${API_ROOT}/monitor/alert-channels/${encodeURIComponent(channelId)}`,
),
setMethod('DELETE'),
);

export const getAlertsByNotificationChannelId = (
channelId: number,
params?: Params,
filters?: Filter,
) =>
Request<ResourcePage<NotificationChannelAlerts>>(
setURL(
`${API_ROOT}/monitor/alert-channels/${encodeURIComponent(channelId)}/alerts`,
),
setMethod('GET'),
setParams(params),
setXFilter(filters),
);
15 changes: 15 additions & 0 deletions packages/api-v4/src/cloudpulse/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -489,3 +489,18 @@ export interface EditNotificationChannelPayloadWithId
*/
channelId: number;
}

export interface DeleteChannelPayload {
/**
* The ID of the channel to delete.
*/
channelId: number;
}

export interface NotificationChannelAlerts {
id: number;
label: string;
service_type: CloudPulseServiceType;
type: 'alerts-definitions';
url: string;
}
1 change: 1 addition & 0 deletions packages/api-v4/src/delivery/types.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
export const streamStatus = {
Active: 'active',
Inactive: 'inactive',
Provisioning: 'provisioning',
} as const;

export type StreamStatus = (typeof streamStatus)[keyof typeof streamStatus];
Expand Down
2 changes: 1 addition & 1 deletion packages/api-v4/src/iam/delegation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ export const updateChildAccountDelegates = ({
`${BETA_API_ROOT}/iam/delegation/child-accounts/${encodeURIComponent(euuid)}/users`,
),
setMethod('PUT'),
setData(users),
setData({ users }),
);

export const getMyDelegatedChildAccounts = ({
Expand Down
6 changes: 6 additions & 0 deletions packages/api-v4/src/iam/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -97,9 +97,12 @@ export type AccountAdmin =
| 'list_default_firewalls'
| 'list_delegate_users'
| 'list_enrolled_beta_programs'
| 'list_entities'
| 'list_role_permissions'
| 'list_service_transfers'
| 'list_user_delegate_accounts'
| 'list_user_grants'
| 'list_user_permissions'
| 'revoke_profile_app'
| 'revoke_profile_device'
| 'send_profile_phone_number_verification_code'
Expand Down Expand Up @@ -254,8 +257,11 @@ export type AccountViewer =
| 'list_available_services'
| 'list_default_firewalls'
| 'list_enrolled_beta_programs'
| 'list_entities'
| 'list_role_permissions'
| 'list_service_transfers'
| 'list_user_grants'
| 'list_user_permissions'
| 'view_account'
| 'view_account_login'
| 'view_account_settings'
Expand Down
2 changes: 2 additions & 0 deletions packages/api-v4/src/linodes/types.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import type { MaintenancePolicySlug } from '../account/types';
import type { CloudPulseAlertsPayload } from '../cloudpulse/types';
import type { LockType } from '../locks/types';
import type { IPAddress, IPRange } from '../networking/types';
import type { LinodePlacementGroupPayload } from '../placement-groups/types';
import type { Region, RegionSite } from '../regions';
Expand Down Expand Up @@ -44,6 +45,7 @@ export interface Linode {
ipv6: null | string;
label: string;
lke_cluster_id: null | number;
locks: LockType[];
maintenance_policy?: MaintenancePolicySlug;
placement_group: LinodePlacementGroupPayload | null;
region: string;
Expand Down
13 changes: 2 additions & 11 deletions packages/api-v4/src/locks/types.ts
Original file line number Diff line number Diff line change
@@ -1,20 +1,11 @@
import type { Entity } from '../account/types';
import type { EntityType } from '../entities';

/**
* Types of locks that can be applied to a resource
*/
export type LockType = 'cannot_delete' | 'cannot_delete_with_subresources';

/**
* Entity information attached to a lock
*/
export interface LockEntity {
id: number | string;
label?: string;
type: EntityType;
url?: string;
}

/**
* Request payload for creating a lock
* POST /v4beta/locks
Expand All @@ -34,7 +25,7 @@ export interface CreateLockPayload {
*/
export interface ResourceLock {
/** Information about the locked entity */
entity: LockEntity;
entity: Entity;
/** Unique identifier for the lock */
id: number;
/** Type of lock applied */
Expand Down
2 changes: 1 addition & 1 deletion packages/api-v4/src/marketplace/marketplace.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export const getMarketplaceProducts = (params?: Params, filters?: Filter) =>
export const getMarketplaceProduct = (productId: number) =>
Request<MarketplaceProduct>(
setURL(
`${BETA_API_ROOT}/marketplace/products/${encodeURIComponent(productId)}`,
`${BETA_API_ROOT}/marketplace/products/${encodeURIComponent(productId)}/details`,
),
setMethod('GET'),
);
Expand Down
35 changes: 26 additions & 9 deletions packages/api-v4/src/marketplace/types.ts
Original file line number Diff line number Diff line change
@@ -1,42 +1,59 @@
export interface MarketplaceProductDetail {
documentation: string;
overview: {
documentation?: string;
overview?: {
description: string;
};
pricing: string;
support: string;
pricing?: string;
support?: string;
}

export interface MarketplaceProduct {
category_ids: number[];
created_at: string;
created_by: string;
details?: MarketplaceProductDetail;
id: number;
info_banner?: string;
logo_url: string;
name: string;
partner_id: number;
product_tags?: string[];
short_description: string;
title_tag?: string;
tile_tag?: string;
type_id: number;
updated_at?: string;
updated_by?: string;
}

export interface MarketplaceCategory {
category: string;
created_at: string;
created_by: string;
id: number;
product_count: number;
name: string;
products_count: number;
updated_at?: string;
updated_by?: string;
}

export interface MarketplaceType {
created_at: string;
created_by: string;
id: number;
name: string;
product_count: number;
products_count: number;
updated_at?: string;
updated_by?: string;
}

export interface MarketplacePartner {
created_at: string;
created_by: string;
id: number;
logo_url_dark_mode: string;
logo_url_light_mode: string;
logo_url_night_mode?: string;
name: string;
updated_at?: string;
updated_by?: string;
url: string;
}

Expand Down
66 changes: 66 additions & 0 deletions packages/manager/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,72 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/).

## [2026-01-27] - v1.158.0


### Added:

- Add Mistral 7B instruct and ChromaDB to the Marketplace ([#13270](https://github.com/linode/manager/pull/13270))
- Logs Stream - Provisioning status ([#13284](https://github.com/linode/manager/pull/13284))

### Changed:

- Default selection of network interface type to linode interface in Linode create flow ([#13221](https://github.com/linode/manager/pull/13221))
- Update Generational Plans default sort to show newest (G8) -> oldest (G6) ([#13234](https://github.com/linode/manager/pull/13234))
- Billing: Disable 'Make payment'button for Akamai users ([#13243](https://github.com/linode/manager/pull/13243))
- NLB post-demo feedback-fix empty state title casing,rename LKE-E to Cluster and adjust column visibility for smaller screens to prioritize IPv6 ([#13250](https://github.com/linode/manager/pull/13250))
- NLB post-demo feedback-Resolve special character filtering issue in Nodes table IPv6 column and add NLB to GoTo quick navigation ([#13251](https://github.com/linode/manager/pull/13251))
- Changes related to private IP field in create linode flow ([#13253](https://github.com/linode/manager/pull/13253))
- Optimize NLB table column widths and add back button on detail pages ([#13258](https://github.com/linode/manager/pull/13258))
- Improvements in Add Network interface drawer ([#13264](https://github.com/linode/manager/pull/13264))
- Handle Incompatibility of linode interfaces in create LKE flow ([#13272](https://github.com/linode/manager/pull/13272))
- Apply UX and user feedback for linode interfaces feature in Account settings page ([#13280](https://github.com/linode/manager/pull/13280))
- Apply UX and user feedback for linode interfaces feature in Create linode page ([#13281](https://github.com/linode/manager/pull/13281))
- Logs texts updates after tech writing review ([#13291](https://github.com/linode/manager/pull/13291))
- Update design-language-system to v5.3.2 ([#13293](https://github.com/linode/manager/pull/13293))

### Fixed:

- Hide dual stack option if no IPv6 prefixes available in create VPC flow ([#13245](https://github.com/linode/manager/pull/13245))
- IAM Delegation: UX copy update, wrong breadcrumb fix ([#13259](https://github.com/linode/manager/pull/13259))
- IAM Delegation: fix payload for updateChildAccountDelegates ([#13260](https://github.com/linode/manager/pull/13260))
- IAM hydration error on User Detail pages ([#13265](https://github.com/linode/manager/pull/13265))
- IAM: removing entity/role can cause an empty page ([#13268](https://github.com/linode/manager/pull/13268))
- IAM Delegation: UI issues in Default Entity Access table, Default Roles labels/messages, and missing Make a Payment tooltip ([#13275](https://github.com/linode/manager/pull/13275))
- IAM Delegation: fix payload for changing role flow ([#13279](https://github.com/linode/manager/pull/13279))
- IAM Delegation: User selector not working in Assign Role/Roles drawer ([#13282](https://github.com/linode/manager/pull/13282))
- IAM: changing entity/role can cause an empty page ([#13285](https://github.com/linode/manager/pull/13285))
- Wrong time range sent in metrics payload on preference reload in `CloudPulse metrics` ([#13287](https://github.com/linode/manager/pull/13287))
- IAM routing cleanup ([#13288](https://github.com/linode/manager/pull/13288))
- Copy in Plans Panel generational plans tooltip ([#13289](https://github.com/linode/manager/pull/13289))
- ACLP-Alerting List sorting from service_type to service_type label ([#13295](https://github.com/linode/manager/pull/13295))
- End character validation for ACLP-Alerting Notification Channel form for name field ([#13297](https://github.com/linode/manager/pull/13297))
- IAM DElegation: remove restriction to update user delegation with empty array, update the delegations after reopening a drawer ([#13300](https://github.com/linode/manager/pull/13300))

### Tech Stories:

- IAM: Cleanup `iamRbacPrimaryNavChanges` feature flag ([#13232](https://github.com/linode/manager/pull/13232))
- Bump jspdf to 4.0.0 ([#13248](https://github.com/linode/manager/pull/13248))
- IAM - Clean up beta flag + BETA/LA logic ([#13266](https://github.com/linode/manager/pull/13266))

### Tests:

- Fix time range specification in `timerange-verification.spec.ts` ([#13240](https://github.com/linode/manager/pull/13240))
- Fix issue in 'chooseRegion' util when specifying an override region ([#13277](https://github.com/linode/manager/pull/13277))

### Upcoming Features:

- CloudPulse-Alerts: Filter linode resources based on associated aclp alerts ([#13163](https://github.com/linode/manager/pull/13163))
- Add reusable Product Selection Card component for Marketplace ([#13247](https://github.com/linode/manager/pull/13247))
- CloudPulse-Alerts: Add support for delete action for user alert channels ([#13256](https://github.com/linode/manager/pull/13256))
- Add Breadcrumb to Marketplace product landing page ([#13257](https://github.com/linode/manager/pull/13257))
- Add service URIs to Database summary tab ([#13261](https://github.com/linode/manager/pull/13261))
- Implement the main product grid with category grouping ([#13267](https://github.com/linode/manager/pull/13267))
- IAM Parent/Child - Various fixes to Parent Account Flow ([#13278](https://github.com/linode/manager/pull/13278))
- Add MSW crud for Resource Locking feature(RESPROT2) ([#13286](https://github.com/linode/manager/pull/13286))
- Associated Alerts Table to ACLP-Alerting Notification Channel Details ([#13294](https://github.com/linode/manager/pull/13294))
- CloudPulse-Alerts: Exclude account/region alerts in api payload while updating alerts for a linode and fix state reset issue on save ([#13301](https://github.com/linode/manager/pull/13301))

## [2026-01-12] - v1.157.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@ describe('Maintenance', () => {

// TODO When the Host & VM Maintenance feature rolls out, we want to enable the feature flag and update the test.
mockAppendFeatureFlags({
// TODO M3-10491 - Remove "iamRbacPrimaryNavChanges" feature flag mock once feature flag is deleted.
iamRbacPrimaryNavChanges: true,
vmHostMaintenance: {
enabled: false,
},
Expand Down
Loading
Loading