Files
cloudflare/changelog.md

306 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog
## 2025-11-18 - 7.1.0 - feat(cloudflare)
Release 7.0.0 — manager-based API, ConvenientDnsProvider, improved utils and worker/zone/record management
- Introduce manager-based architecture: ZoneManager, RecordManager, WorkerManager for clearer, consistent API surface
- Add ConvenientDnsProvider adapter implementing IConvenientDnsProvider for third-party integrations
- New CloudflareUtils helpers (domain validation, API token check, record type validation, URL/TTL formatting, pagination)
- Improved Worker support: create/update/delete scripts, route management, and robust listing with fallbacks
- Zone and record operations enhanced (create/update/delete/purge) with type-safe wrappers and CloudflareZone/CloudflareRecord models
- Deprecated old convenience namespace in favor of managers (kept for backward compatibility with migration guidance)
- Full TypeScript exports and typings, updated package metadata for v7.0.0
## 2025-11-18 - 7.0.0 - BREAKING CHANGE(core)
Introduce RecordManager and ConvenientDnsProvider; rename list/get methods for consistent API and deprecate convenience namespace
- Add RecordManager with listRecords, getRecord, createRecord, updateRecord, deleteRecord and cleanRecords to centralize DNS record operations
- Add ConvenientDnsProvider adapter and CloudflareAccount.getConvenientDnsProvider() to provide IConvenientDnsProvider compatibility for third-party modules
- Rename methods to consistent list* naming: worker.getRoutes -> worker.listRoutes, WorkerManager.listWorkerScripts -> WorkerManager.listWorkers, ZoneManager.getZones -> ZoneManager.listZones, convenience.listRecords -> recordManager.listRecords
- Add ZoneManager.getZoneId() and ZoneManager.purgeZone() (zone cache purge helper)
- Deprecate the legacy convenience.* methods (getZoneId, getRecord, createRecord, removeRecord, cleanRecord, updateRecord, listRecords, listZones, isDomainSupported, purgeZone, acmeSetDnsChallenge, acmeRemoveDnsChallenge) — kept for backward compatibility but marked deprecated
- Export RecordManager and ConvenientDnsProvider from ts/index.ts and expose cfAccount.recordManager on CloudflareAccount
- Update tests to use new method names (listWorkers) and extend test runner timeout; package.json test script updated
- Documentation (readme) updated to describe the new manager-based API and migration guide; prepares project for major version 7.0.0
## 2025-11-17 - 6.4.3 - fix(cloudflare.plugins)
Switch to smartrequest namespace export and improve request typing and JSON parsing
- Export smartrequest as a namespace from cloudflare.plugins (replaced named SmartRequest/CoreResponse exports)
- Use plugins.smartrequest.SmartRequest.create() when building HTTP requests
- Type response as InstanceType<typeof plugins.smartrequest.CoreResponse> to match the new smartrequest export shape
- Safer JSON parsing: cast result of response.json() to the expected generic instead of relying on a generic json<T>() call and provide a text fallback when parsing fails
- Adjust imports/usages to align with @push.rocks/smartrequest namespace usage
## 2025-11-17 - 6.4.2 - fix(core)
Switch to SmartRequest fluent API and improve Cloudflare API request handling
- Upgrade runtime dependencies: @push.rocks/smartlog -> ^3.1.10, @push.rocks/smartrequest -> ^5.0.1, @push.rocks/smartstring -> ^4.1.0, @tsclass/tsclass -> ^9.3.0, cloudflare -> ^5.2.0
- Upgrade devDependencies: @git.zone/tsbuild -> ^3.1.0, @git.zone/tsrun -> ^2.0.0, @git.zone/tstest -> ^2.8.2, @push.rocks/qenv -> ^6.1.3, openapi-typescript -> ^7.10.1
- Export SmartRequest and CoreResponse from cloudflare.plugins to align with smartrequest v5 API
- Refactor CloudflareAccount.request to use SmartRequest fluent builder, add detailed logging, default JSON Content-Type, support multipart/form-data via formData(), and use appropriate HTTP method helpers
- Improve response parsing: return a safe fallback when JSON parsing fails by reading response.text() and include a concise message; better HTTP error logging including response body text
- Update usages to rely on the new request behavior (zones/workers managers use account.request for endpoints not covered by the official client)
## 2025-04-30 - 6.4.1 - fix(ci)
Update CI workflows, repository URL, and apply minor code formatting fixes
- Add new Gitea workflows for both tagged and non-tagged push events with security, test, release, and metadata jobs
- Update repository URL in package.json from pushrocks/cflare to mojoio/cloudflare
- Refine .gitignore custom comments
- Apply minor formatting improvements in source code and documentation
## 2025-04-30 - 6.4.0 - feat(CloudflareAccount)
Bump dependency versions and add domain support check in CloudflareAccount
- Upgrade dependencies: @push.rocks/smartrequest, @tsclass/tsclass, @git.zone/tsbuild, @push.rocks/tapbundle, and @types/node
- Implement the isDomainSupported convenience method in CloudflareAccount for validating domain management
## 2025-04-26 - 6.3.2 - fix(worker)
Refactor worker script update and creation to use intermediate parameter objects
- Build updateParams in CloudflareWorker for proper multipart form handling when updating scripts
- Use contentParams in WorkerManager to improve clarity and consistency in worker creation
## 2025-04-26 - 6.3.1 - fix(core)
Improve nested DNS record management and worker script multipart handling
- Add tests for creating, updating, and removing nested subdomain A records
- Refine TXT record cleaning by filtering records with matching name and type
- Clarify multipart form data handling for worker script updates and creation
## 2025-04-26 - 6.3.0 - feat(core)
Release 6.2.0: Improved async iterator support, enhanced error handling and refined API interfaces for better type safety and consistent behavior.
- Bumped package version from 6.1.0 to 6.2.0
- Updated README with more precise information on async iterators and error handling
- Enhanced API request method to better parse response bodies and handle empty responses
- Refined async iterator usage in worker routes and zone listing
- Improved logging details for debugging API interactions
- Simplified and clarified method signatures and return types in documentation
## 2025-03-19 - 6.1.0 - feat(core)
Update dependencies, enhance documentation, and improve error handling with clearer API usage examples
- Bump dependency versions (@push.rocks/smartpromise, smartrequest, @tsclass/tsclass, cloudflare and devDependencies)
- Rewrite README with extended features, improved installation instructions, and comprehensive usage guides
- Refactor and add try/catch error handling in API request methods across core classes
- Enhance test suite with refined zone, DNS record, and worker management tests
## 2025-03-19 - 6.0.6 - fix(core)
Improve logging consistency, record update functionality, and API error handling in Cloudflare modules
- Replaced raw console.log calls with logger.log for unified logging across modules
- Implemented and documented the updateRecord method with proper parameters in CloudflareAccount
- Enhanced API request error handling and added detailed documentation in request methods
- Refactored CloudflareWorker and WorkerManager methods to improve clarity and maintainability
- Updated ZoneManager and CloudflareZone to improve error reporting and zone manipulation
## 2024-06-16 - 6.0.5 no significant changes
_No significant changes in this release._
## 2024-06-16 - 6.0.4 miscellaneous
Several improvements and fixes:
- fix(start supporting workers again): update
- update license info
- update readme
- switch to official cloudflare api client while keeping class based approach
## 2024-06-15 - 6.0.3 core
- fix(core): update
## 2023-06-13 - 6.0.2 core
- fix(core): update
## 2023-06-13 - 6.0.1 core
- fix(core): update
## 2022-09-27 - 6.0.0 core
- fix(core): update
## 2022-09-27 - 5.0.10 core
- BREAKING CHANGE(core): switch to esm
## 2022-09-27 - 5.0.9 core
- fix(core): update
## 2021-01-22 - 5.0.8 core
- fix(core): update
## 2021-01-22 - 5.0.7 core
- fix(core): update
## 2021-01-22 - 5.0.6 core
- fix(core): update
## 2020-06-10 - 5.0.5 core
- fix(core): update
## 2020-06-10 - 5.0.4 core
- fix(core): update
## 2020-02-28 - 5.0.3 core
- fix(core): update
## 2020-02-28 - 5.0.2 core
- fix(core): update
## 2020-02-28 - 5.0.1 core
- fix(core): update
## 2020-02-28 - 5.0.0 core
- fix(core): update
## 2020-02-19 - 4.0.5 account
- BREAKING CHANGE(account): authorization now uses the new Account API
## 2020-02-19 - 4.0.4 core
- fix(core): update
## 2020-02-19 - 4.0.3 core
- fix(core): update
## 2020-02-10 - 4.0.2 core
- fix(core): update
## 2020-02-10 - 4.0.1 core
- fix(core): update
## 2020-02-10 - 4.0.0 core
- fix(core): update
## 2020-02-09 - 3.0.7 API
- BREAKING CHANGE(API): move to .convenience property
## 2020-02-09 - 3.0.6 core
- fix(core): update
## 2020-02-09 - 3.0.5 core
- fix(core): update
## 2019-07-19 - 3.0.4 core
- fix(core): update
## 2019-07-18 - 3.0.3 core
- fix(core): update
## 2019-07-18 - 3.0.2 core
- fix(core): update
## 2019-07-18 - 3.0.1 core
- fix(core): update
## 2019-07-18 - 3.0.0 core
- fix(core): update
## 2019-07-18 - 2.0.1 core
- fix(core): update
## 2019-07-18 - 2.0.0 core
- fix(core): update
## 2019-07-18 - 2.0.2 no significant changes
_No significant changes in this release._
## 2018-08-13 - 1.0.5 scope
- BREAKING CHANGE(scope): change scope, tools and package name
## 2017-06-11 - 1.0.4 misc
- now using tsclass
## 2017-06-09 - 1.0.3 misc
- update dependencies
## 2017-06-05 - 1.0.2 misc
- now supports purging of assets
- improve test
## 2017-06-04 - 1.0.1 misc
- add npmextra.json
## 2017-06-04 - 1.0.0 misc
- add type TRecord, update ci
## 2017-06-04 - 0.0.20 no significant changes
_No significant changes in this release._
## 2017-06-04 - 0.0.19 misc
- go async/await
- update brand link
## 2017-02-12 - 0.0.18 misc
- update README
## 2017-01-29 - 0.0.17 misc
- update README
## 2017-01-29 - 0.0.16 misc
- fix tests to run in parallel
## 2017-01-29 - 0.0.15 misc
- fixed bad request retry
## 2017-01-29 - 0.0.14 misc
- fix testing timeouts
## 2017-01-29 - 0.0.13 misc
- added random retry times
## 2017-01-29 - 0.0.12 misc
- update to new ci
## 2017-01-29 - 0.0.11 misc
- now using smartrequest
## 2017-01-22 - 0.0.10 misc
- now reacting to rate limiting
## 2016-07-31 - 0.0.9 misc
- update dependencies
## 2016-06-22 - 0.0.8 to 0.0.7 no significant changes
_No significant changes in these releases._
## 2016-06-22 - 0.0.6 misc
- updated dependencies
## 2016-06-21 - 0.0.5 misc
- fix stages
## 2016-06-21 - 0.0.4 misc
- fix stages
## 2016-06-21 - 0.0.3 misc
Multiple improvements:
- now works for most things
- update to latest dependencies
- update .gitlab.yml
- update
- add .gitlab-ci.yml
## 2016-05-25 - 0.0.2 misc
Several changes:
- improve domain string handling
- update .getRecord
- improve .createRecord
- implemented .createRecord
- compile
- add functionality
- start with tests
- improved request method of cflare class
## 2016-04-27 - 0.0.1 misc
- now returning promises
- add lossless badge
## 2016-04-27 - 0.0.0 misc
- added travis and improved README
## 2016-04-10 - 0.0.0 misc
- add package.json and README
## 2016-04-10 - unknown misc
- Initial commit
---
_Note: Versions that only contained version bump commits or minor housekeeping (6.0.5; 2.0.2; 0.0.20; 0.0.8 to 0.0.7) have been omitted from detailed entries and are summarized above._