-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathchangelog.txt
More file actions
34 lines (27 loc) · 3.61 KB
/
Copy pathchangelog.txt
File metadata and controls
34 lines (27 loc) · 3.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# lib-cloudinfo changelog
2.0.0 - 24 Jul 2026
- BREAKING: type CloudProduct.gpusPerVm as Float instead of Integer. CloudInfo reports fractional GPU counts for fractional-GPU instance families (e.g. AWS g6f.2xlarge reports gpusPerVm=0.25), which the Integer field truncated to 0, making a real GPU instance indistinguishable from a CPU-only one for any `gpusPerVm > 0` check. Consumers that auto-unbox getGpusPerVm() to int (notably sched) must consume Float and treat `> 0` as GPU. Whole counts now serialise as 8.0 instead of 8 (PR #98, closes #97).
1.2.2 - 6 Jul 2026
- Add AcceleratorFeatures: provider-agnostic helpers over the accelerator-related CloudProduct.features tokens (hasGpu, isNvidia, hasFpga) plus the token constants (gpu, nvidia, amd, habana, fpga, xilinx). Centralises classification of CloudInfo-returned accelerator data with the model instead of duplicating it in consumers.
1.2.0 - 3 Jul 2026
- Add a unified features filter to ProductsQuery: ProductsQuery.Builder.features(List<String>) is serialised as ?features=a,b,c (capability tokens AND-intersected server-side), matching the seqeralabs/cloudinfo #61 contract. The legacy sched/nvme boolean filters keep working (the backend treats them as ?features=sched / ?features=ssd).
- Add a families filter to ProductsQuery: ProductsQuery.Builder.families(List<String>) is serialised as ?families=m5d,c5.large to filter products by machine-family or instance-type name.
- Add CloudInfoClient.getFamilies(provider) and getFamilies(provider, List<String> features) for the /families endpoint, returning the sorted distinct machine families (optionally filtered by capability features). Backed by the new FamiliesResponse model.
- Add CloudProduct.family carrying the machine-family name now returned by the backend; null on legacy responses that do not populate it.
- Surface the /families 400 "invalid feature" response: CloudInfoException.getValidCapabilities() exposes the server-provided list of accepted feature tokens, parsed via the new ErrorResponse model.
- Correct and expand the CloudProduct.features documentation to the actual lowercase token vocabulary (ssd, gpu, arm, x86, burst, hibernation, sched) plus GPU vendor (nvidia, amd, habana) and model tokens (a100, tesla-a100, radeon-pro-v520, ...) introduced in seqeralabs/cloudinfo #54 and #61.
1.1.2 - 7 May 2026
- Add value-based equals, hashCode and toString to ProductsQuery so instances built from the same flags compare equal and can be used safely as map keys / cache keys (PR #66).
1.1.1 - 7 May 2026
- Re-release of 1.1.0 to capture the CloudProduct.features change that was committed after the 1.1.0 release commit on PR #61 and therefore missing from the 1.1.0 artifact.
1.1.0 - 6 May 2026
- Add ProductsQuery options object with sched and nvme filters
- Add getProducts(provider, region, ProductsQuery) overload on CloudInfoClient to expose the sched/nvme query parameters introduced in seqeralabs/cloudinfo#48
- Add CloudProduct.features (List<String>) carrying the per-product capability tokens advertised by the CloudInfo backend (e.g. SCHED, NVME, GPU, family-type). Consumers map these strings onto a domain-specific enum; null preserves backward compatibility for older backend versions that do not populate the field.
1.0.0 - 22 Jan 2026
- Initial release of lib-cloudinfo module
- Add CloudInfoClient for fetching cloud provider data from Cloudinfo API
- Add model classes: CloudRegion, CloudProduct, CloudPrice, CloudResponse, ProductAttributes
- Support for AWS (amazon), GCP (google), and Azure (azure) providers
- Built on lib-httpx for HTTP requests with automatic retry
- Use lib-serde-jackson for type-safe JSON deserialization