# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).


## <small>1.1.5 (2025-08-12)</small>

* Merge pull request #58 from pablo-albaladejo/dependabot/npm_and_yarn/eslint/js-9.33.0 ([ce37ac4](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/ce37ac4)), closes [#58](https://github.com/pablo-albaladejo/trainingpeaks-sdk/issues/58)
* Merge pull request #59 from pablo-albaladejo/dependabot/npm_and_yarn/eslint-9.33.0 ([91cde37](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/91cde37)), closes [#59](https://github.com/pablo-albaladejo/trainingpeaks-sdk/issues/59)
* chore(deps-dev): bump @eslint/js from 9.32.0 to 9.33.0 ([2f88c36](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/2f88c36))
* chore(deps-dev): bump eslint from 9.32.0 to 9.33.0 ([0e648ac](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/0e648ac))

## <small>1.1.4 (2025-08-12)</small>

* Merge pull request #57 from pablo-albaladejo/dependabot/npm_and_yarn/semantic-release/github-11.0.4 ([f4a938f](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/f4a938f)), closes [#57](https://github.com/pablo-albaladejo/trainingpeaks-sdk/issues/57)
* Merge pull request #66 from pablo-albaladejo/fix/issue-65-github-username-references ([ccc62dd](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/ccc62dd)), closes [#66](https://github.com/pablo-albaladejo/trainingpeaks-sdk/issues/66)
* fix: resolve invalid GitHub username references in CODEOWNERS ([bae3709](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/bae3709)), closes [#65](https://github.com/pablo-albaladejo/trainingpeaks-sdk/issues/65)
* chore(deps-dev): bump @semantic-release/github from 11.0.3 to 11.0.4 ([ec2953e](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/ec2953e))

## <small>1.1.3 (2025-08-12)</small>

* Merge pull request #56 from pablo-albaladejo/dependabot/npm_and_yarn/zod-4.0.17 ([e0af0ff](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/e0af0ff)), closes [#56](https://github.com/pablo-albaladejo/trainingpeaks-sdk/issues/56)
* chore(deps): bump zod from 4.0.14 to 4.0.17 ([711b8cc](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/711b8cc))

## <small>1.1.2 (2025-08-12)</small>

* Merge pull request #62 from pablo-albaladejo/dependabot/npm_and_yarn/typescript-eslint-8.39.1 ([85c3a62](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/85c3a62)), closes [#62](https://github.com/pablo-albaladejo/trainingpeaks-sdk/issues/62)
* Merge pull request #63 from pablo-albaladejo/dependabot/npm_and_yarn/types/node-24.2.1 ([36b6321](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/36b6321)), closes [#63](https://github.com/pablo-albaladejo/trainingpeaks-sdk/issues/63)
* chore(deps-dev): bump @types/node from 22.17.0 to 24.2.1 ([fe9ce32](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/fe9ce32))
* chore(deps-dev): bump typescript-eslint from 8.39.0 to 8.39.1 ([cb55cc0](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/cb55cc0))
* chore(release): 1.1.2 [skip ci] ([b0a2fcf](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/b0a2fcf))

## <small>1.1.2 (2025-08-12)</small>

* Merge pull request #63 from pablo-albaladejo/dependabot/npm_and_yarn/types/node-24.2.1 ([36b6321](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/36b6321)), closes [#63](https://github.com/pablo-albaladejo/trainingpeaks-sdk/issues/63)
* chore(deps-dev): bump @types/node from 22.17.0 to 24.2.1 ([fe9ce32](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/fe9ce32))

## <small>1.1.1 (2025-08-12)</small>

* Merge pull request #64 from pablo-albaladejo/dependabot/npm_and_yarn/dotenv-17.2.1 ([8c587b5](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/8c587b5)), closes [#64](https://github.com/pablo-albaladejo/trainingpeaks-sdk/issues/64)
* chore(deps-dev): bump dotenv from 16.6.1 to 17.2.1 ([2d95aee](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/2d95aee))

## 1.1.0 (2025-08-11)

* Merge pull request #16 from pablo-albaladejo/feat/list-workouts ([3bae455](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/3bae455)), closes [#16](https://github.com/pablo-albaladejo/trainingpeaks-sdk/issues/16)
* Merge pull request #61 from pablo-albaladejo/fix/semantic-release-commitlint ([37b8064](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/37b8064)), closes [#61](https://github.com/pablo-albaladejo/trainingpeaks-sdk/issues/61)
* Update test/e2e/test-built-library.cjs ([0945fbc](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/0945fbc))
* fix: disable body and footer max line length in commitlint ([5bfcc5c](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/5bfcc5c))
* fix: re-enable body max line length in commitlint configuration ([5fb01f3](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/5fb01f3))
* chore: add husky for Git hooks and improve error handling ([a51aee7](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/a51aee7))
* chore: add local testing scripts and configuration for GitHub Actions ([358df1d](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/358df1d))
* chore: add project configuration ([22086f1](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/22086f1))
* chore: enforce mandatory validation ([eaea2df](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/eaea2df))
* chore: enhance architecture documentation ([5a0ce6e](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/5a0ce6e))
* chore: enhance error handling logic in documentation ([a442fa8](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/a442fa8))
* chore: improve documentation ([9015ee7](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/9015ee7))
* chore: refine architecture documentation ([bd4a736](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/bd4a736))
* chore: remove TypeScript ESLint dependencies from package.json and package-lock.json ([984016c](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/984016c))
* chore: remove unnecessary whitespace in workout entrypoint fixture ([45c719b](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/45c719b))
* chore: synchronize package.json and package-lock.json, add check script ([c1b35f3](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/c1b35f3))
* chore: update docs ([a269eb3](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/a269eb3))
* chore: update documentation and workflows to require Node.js 20+ ([c17b4a0](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/c17b4a0))
* chore: update project configuration ([255b797](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/255b797))
* chore: update project configuration and scripts ([c0cc238](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/c0cc238))
* chore: update testing requirements ([fcb9289](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/fcb9289))
* refactor: clean up CI workflow and improve test formatting ([73802a8](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/73802a8))
* refactor: enhance error handling and improve user entity management ([3bbfdd3](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/3bbfdd3))
* refactor: enhance test structure ([27c5531](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/27c5531))
* refactor: improve code consistency and enhance error handling ([41ff5e3](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/41ff5e3))
* refactor: improve type safety in fixtures ([7978580](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/7978580))
* refactor: standardize mock reset method and enhance error handling in API calls ([e72cb8b](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/e72cb8b))
* refactor: standardize whitespace ([dde2a46](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/dde2a46))
* refactor: standardize whitespace and formatting across multiple files ([37a4eee](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/37a4eee))
* refactor: streamline authentication tests ([db3152d](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/db3152d))
* refactor: update documentation and changelog structure ([031af4a](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/031af4a))
* feat:  implement workout repository and entrypoints ([9e2f146](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/9e2f146))
* feat: add integration tests ([2fbeace](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/2fbeace))
* feat: add session storage support for Bearer token ([d57d340](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/d57d340))
* feat: enhance error handling and add workout entrypoint test fixtures ([72ed2eb](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/72ed2eb))

## 1.0.0 (2025-08-05)

* chore: initial commit ([cf12ac2](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/cf12ac2))

## <small>1.0.1 (2025-08-05)</small>

* Merge branch 'main' of https://github.com/pablo-albaladejo/trainingpeaks-sdk ([2b5b499](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/2b5b499))
* docs: enhance README ([3929505](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/3929505))

## 1.0.0 (2025-08-05)

* docs: update README for clean repository ([a8f50bc](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/a8f50bc))
* chore: initial commit ([a160e58](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/a160e58))
* chore(release): 1.0.0 [skip ci] ([e617487](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/e617487))

## 1.0.0 (2025-08-05)

* chore: initial commit ([a160e58](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/a160e58))

## 1.9.0 (2025-07-23)

* feat: add comprehensive integration tests for authentication ([01a9caa](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/01a9caa))

## <small>1.8.1 (2025-07-23)</small>

* refactor: centralize type definitions ([6add43a](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/6add43a))
* refactor: enhance workout structure builders and converters ([709c52a](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/709c52a))

## 1.8.0 (2025-07-23)

* feat: add workout builder service and unit tests ([50631e3](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/50631e3))

## 1.7.0 (2025-07-22)

* feat: integrate  codecov for test analytics ([a0a181f](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/a0a181f))

## 1.6.0 (2025-07-22)

* chore: disable coverage for integration tests in configuration ([ba60405](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/ba60405))
* fix: improve configuration validation in end-to-end tests ([3884dfd](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/3884dfd))
* feat: add comprehensive end-to-end tests ([e26f60e](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/e26f60e))
* feat: add rosie factory patterns for test data generation ([15d2b9d](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/15d2b9d))
* feat: enhance configuration validation and add comprehensive tests ([72f1e1b](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/72f1e1b))
* feat: enhance trainingpeaks client with persistent storage support ([53c1277](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/53c1277))
* feat: enhance workout validation and error handling ([70f76fe](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/70f76fe))
* feat: implement centralized error handling ([745b7ad](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/745b7ad))
* feat: implement error handling service ([71c4a41](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/71c4a41))
* feat: improve end-to-end tests with environment variable support ([6f45811](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/6f45811))
* feat: update cursor guidelines for improved clarity and consistency ([8167b89](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/8167b89))
* refactor: streamline use case implementations and enhance type exports ([00fbfd5](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/00fbfd5))
* refactor: update documentation and improve code structure ([01f035c](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/01f035c))

# Changes

All important changes to this project are listed here.

The format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).


## <small>1.5.1 (2025-07-20)</small>

* refactor: transition from interface to type ([8a39888](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/8a39888))

## 1.5.0 (2025-07-14)

* feat: enhance typescript linting rules and update sdk client structure ([bb4f871](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/bb4f871))

## <small>1.4.6 (2025-07-14)</small>

* refactor: implement individual function types for application services ([f572a68](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/f572a68))

## <small>1.4.5 (2025-07-14)</small>

* refactor: update testing ([95c3dda](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/95c3dda))

## <small>1.4.4 (2025-07-14)</small>

* refactor: implement logger service and remove deprecated service ([11292ce](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/11292ce))
* refactor: update import paths and enhance logger ([765df96](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/765df96))

## <small>1.4.3 (2025-07-14)</small>

* refactor: separate application vs domain services ([ee46a87](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/ee46a87))

## <small>1.4.2 (2025-07-14)</small>

* refactor: move domain services ([ff1dd2a](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/ff1dd2a))
* feat!: function first refactor ([33d4085](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/33d4085))

## <small>1.4.1 (2025-07-13)</small>

* chore: update dependencies to use playwright-core and remove playwright ([255ccbd](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/255ccbd))

## 1.4.0 (2025-07-13)

* feat: add tags and activity type to workout metadata in tests ([158557a](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/158557a))
* fix: add playwright to package.json ([87f4de4](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/87f4de4))

## 1.3.0 (2025-07-13)

* fix: streamline import statements ([856ea1d](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/856ea1d))
* feat: enhance ts configuration and import paths ([852f808](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/852f808))
* feat: update package configuration and enhance build scripts ([c615b9b](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/c615b9b))

## 1.2.0 (2025-07-13)

* feat: enhance package configuration and build process ([62e8094](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/62e8094))
* feat: update node.js setup for npm authentication ([c99e94e](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/c99e94e))
* chore(release): enable npm publishing in configuration ([0a1975e](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/0a1975e))

## 1.1.0 (2025-07-13)

* feat: add hexagonal architecture rules and coding conventions ([a0ab8e5](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/a0ab8e5))
* chore: remove local and simple semantic release configurations ([5a3f32c](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/5a3f32c))
* chore(release): 1.0.2 [skip ci] ([e0eb4a1](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/e0eb4a1))
* docs: add comprehensive cursor rules with architecture decisions ([d5de3c1](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/d5de3c1))
* fix: resolve github assets name collision in semantic-release ([0b4a246](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/0b4a246))

## <small>1.0.2 (2025-07-13)</small>

* docs: add comprehensive cursor rules with architecture decisions ([d5de3c1](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/d5de3c1))
* chore: remove local and simple semantic release configurations ([5a3f32c](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/5a3f32c))
* fix: resolve github assets name collision in semantic-release ([0b4a246](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/0b4a246))

## <small>1.0.1 (2025-07-13)</small>

* Merge pull request #1 from pablo-albaladejo/dependabot/github_actions/codecov/codecov-action-5 ([98ab5ed](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/98ab5ed)), closes [#1](https://github.com/pablo-albaladejo/trainingpeaks-sdk/issues/1)
* ci: bump codecov/codecov-action from 3 to 5 ([498d257](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/498d257))

## 1.0.0 (2025-07-13)

* fix: add coverage dependency and fix delete workout test ([badc56f](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/badc56f))
* fix: disable npm publishing temporarily to test semantic-release ([87470a1](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/87470a1))
* fix: remove deprecated husky shebang lines ([0d828ee](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/0d828ee))
* fix: rename files to lowercase for case-sensitive filesystems ([2fe1aed](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/2fe1aed))
* fix: resolve case sensitivity issues for github actions ([1bb8d07](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/1bb8d07))
* feat: add husky with commitlint and lint-staged ([180bbdb](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/180bbdb))
* feat: add prettier code formatting support ([42ffd90](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/42ffd90))
* feat: add web authentication and integration testing support ([117b7cb](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/117b7cb))
* feat: implement semantic-release for automated versioning and publishing ([1548c25](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/1548c25))
* ci: add github actions for ci/cd pipeline ([3e71ce8](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/3e71ce8))
* ci: update nodejs version ([f1f114e](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/f1f114e))
* refactor: convert all files to kebab-case and remove redundancy ([dce8d2d](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/dce8d2d))
* refactor: implement  hexagonal architecture ([fa544e3](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/fa544e3))
* refactor(workout): implement hexagonal architecture ([d2fddf0](https://github.com/pablo-albaladejo/trainingpeaks-sdk/commit/d2fddf0))

## [Unreleased]

### ✨ Features

- Initial TrainingPeaks SDK implementation
- Web-based authentication with browser simulation
- Workout upload functionality (GPX, TCX, FIT)
- TypeScript support with full type definitions
- Comprehensive test coverage
- Hexagonal architecture implementation
- Centralized configuration system

### 🐛 Bug Fixes

- Fixed case sensitivity issues for Linux environments
- Resolved delete workout test to use proper workflow
- Fixed ESLint configuration for TypeScript

### 📚 Documentation

- Complete README with usage examples
- API documentation
- Development setup guide

### 🏗️ Build System

- GitHub Actions CI/CD pipeline
- Automated testing and quality checks
- Code formatting with Prettier
- ESLint configuration
- Commit message validation

### 🔧 Chores

- Semantic release configuration
- Automated changelog generation
- NPM publishing automation
