Skip to content

v0.3.0

Choose a tag to compare

@theoliverlear theoliverlear released this 27 Sep 22:02
· 2414 commits to main since this release

Changelog

v0.3.0 – 2025-09-27


Full Changelog: v0.2.2...v0.3.0

Module Version - Top Level

Module Version
Crypto-Trader 0.3.0
Crypto-Trader-Admin 0.0.4
Crypto-Trader-Api 0.0.6
Crypto-Trader-Assets 0.0.4
Crypto-Trader-Console 0.0.1
Crypto-Trader-Contact 0.0.2
Crypto-Trader-Coverage 0.0.2
Crypto-Trader-Data 0.0.3
Crypto-Trader-Docs 0.0.3
Crypto-Trader-Engine 0.0.3
Crypto-Trader-Health 0.0.2
Crypto-Trader-Library 0.1.0
Crypto-Trader-Logging 0.0.3
Crypto-Trader-Security 0.0.2
Crypto-Trader-Simulator 0.0.1
Crypto-Trader-Testing 0.0.4
Crypto-Trader-Version 0.1.1

Module Version - Library

Module Version
Admin-Library 0.0.2
Admin-Events 0.0.2
Admin-Models 0.0.2
Api-Library 0.0.5
Api-Communication 0.0.5
Api-Components 0.0.5
Api-Config 0.0.2
Api-Events 0.0.2
Api-Infrastructure 0.0.2
Api-Models 0.0.6
Api-Repositories 0.0.5
Api-Services 0.0.3
Contact-Library 0.0.2
Contact-Events 0.0.2
Contact-Models 0.0.2
Contact-Repositories 0.0.2
Desktop-Library 0.0.3
Desktop-Components 0.0.3
Externals-Library 0.0.3
Security-Library 0.0.1
Security-Config 0.0.2
Security-Events 0.0.2
Security-Infrastructure 0.0.2
Security-Models 0.0.2
Security-Repositories 0.0.1
Security-Services 0.0.1
Version-Library 0.0.3
Version-Models 0.0.3

Breaking changes

  • Rename packages from infra to infrastructure across security/infrastructure modules; update import paths accordingly.
  • Restrict jkt rebind in RefreshTokenService to transitions from unbound sessions only, tightening refresh-token behavior.

Highlights

  • Add end-to-end DPoP support on the website: key generation/storage services, DPoP proof signing, bound-auth headers, and startup initializer with proactive/ reactive token refresh.
  • Introduce Trade Console with vendor selection, in-browser terminal, currency search, and Angular Material integration.
  • Expand API: public /api/currency/** access, currency name list endpoint, and paginated/top currency retrieval with validations and tests.
  • Add portfolio and asset history models plus controller/service conversions with comprehensive test coverage.
  • Refresh UI/UX: new dashboard route/guards, revamped navigation with iconography, chart defaults, loading/animation improvements, and new asset icons.
  • Build/test upgrades: Kotlin plugin integration, test JAR packaging across modules, new unit tests for auth, security, and components.

Crypto Trader

  • Add api-scripts dependency in pom.xml for script-based API operations.
  • Add Kotlin support via kotlin-maven-plugin and configure build-helper-maven-plugin for sources.
  • Increment module versions and enhance POM descriptions across the repository.
  • Configure JUnit groups and system properties for test execution in pom.xml.

Crypto Trader Admin

  • Add AdminApplicationTest.kt and AdminTestSuite.kt to validate JavaFX app startup and aggregate admin tests.
  • Add testing dependencies for JUnit and Spring Boot integration.

Crypto Trader Api

  • Add currency endpoints: currency names (getList), day performance/null-safe responses, and validation for negative offsets.
  • Add repository/service support for paginated and top non-encapsulated currencies.
  • Refactor controllers (AccountController, PortfolioController) for immutability and AuthContextService integration.
  • Add tests: CurrencyControllerTest, PortfolioControllerTest, TraderControllerTest, UserControllerTest, AdminAuthControllerTest, CryptoTraderApiApplicationTest.

Crypto Trader Assets

  • Add icons: exchange arrows, paper mode, start/stop, recommended star, wallet, coin, stock scale.

Crypto Trader Contact

  • Update maven-failsafe-plugin to v3.2.5 for improved integration tests.

Crypto Trader Health

  • Add maven-jar-plugin to produce test JARs.

Crypto Trader Library

  • Add ApiComponentsTestSuite.kt to group API component tests.

Crypto Trader Security

  • Allow public access to /api/currency/** in SecurityConfig.
  • Restrict jkt rebind in RefreshTokenService and add DPoP proof verification tests.
  • Refactor TokenBlacklistService API and RsaKeyService validation; add corresponding tests.
  • Refactor Honeypot filter and related tests to infrastructure package naming.

Crypto Trader Testing

  • Remove unused dependency versions from POM to reduce noise.

Crypto Trader Version

  • Refactor ModuleLibrary for dynamic initialization of parent/individual modules.
  • Add maven-jar-plugin for test JAR creation.

Crypto Trader Website

  • Add DPoP key generation/storage/signing services and DPoP-bound auth.interceptor with proactive/reactive refresh; switch to in-memory token storage with observables.
  • Add APP_INITIALIZER to generate keys and refresh tokens on startup; integrate auth.service, token-refresh.service, and HTTP service refactors.
  • Introduce Trade Console: trade-console, vendor selection components, in-browser terminal, search-input, currency names service, and Angular Material modules.
  • Add Dashboard page and route guards (auth, account, dashboard) with popup UX for unauthorized access.
  • Expand portfolio and currency UI: lists, statistics, charts (day-currency-chart), lazy loading, animations, loading wheel, and responsive pixel calculator service/utilities.
  • Redesign navigation with icon-based items, dynamic rendering by login state, and updated styles; add links/assets (Coinbase/Binance logos).
  • Update global styles, palettes, placeholders, and asset registrations; set isDevelopment to false.

Api Communication

  • Add PortfolioHistoryResponse and PortfolioAssetHistoryResponse models.
  • Add CurrencyNamesResponse for currency name lists.

Api Components

  • Add CurrencyDataRetriever empty-list guard and tests (CurrencyDataRetrieverTest, CurrencyJsonGeneratorTest).
  • Add SpringContextTest.kt for Spring helper validation.

Api Config

  • Remove DocsSecurityConfig and corresponding auto-configuration import.

Api Infrastructure

  • Add maven-jar-plugin for test JARs.

Api Models

  • Refactor SafePassword for better encoding/comparison and null-safety; add SafePasswordTest.
  • Improve PerformanceRatingTest structure with nested classes, display names, and tags; add ApiModelsTestSuite with display/tag annotations.
  • Add JUnit Jupiter Engine dependency for testing.

Api Services

  • Add Spring Data Commons to module-info.java.
  • Add AuthContextService helpers and tests; integrate ProductUserService.
  • Add portfolio/asset history conversion methods in PortfolioService.
  • Refactor TokenBlacklistService API; add tests.
  • Strengthen RsaKeyService validation with tests.
  • Restructure RefreshTokenServiceTest with nested classes and BeforeEach.
  • Add DpopVerifierServiceTest for DPoP proof verification.

Security Config

  • Allow public access to /api/currency/**.

Security Infrastructure

  • Rename infra package to infrastructure and align HoneypotFilter and tests.

Security Services

  • Restrict jkt rebind behavior in RefreshTokenService.
  • Add maven-jar-plugin for test JARs.

Version Library

  • Refactor ModuleLibrary for dynamic module initialization.

Other

Repo changes

  • Add ISSUE_TEMPLATE.md and USER_STORY_ISSUE_TEMPLATE.md for standardized issue reporting.
  • Update docs.yml to add JWT_SECRET and SECURITY_HONEYPOT_PATHS environment variables.
  • Exclude UI tests in docs.yml to prevent crashes during coverage runs.
  • Update CHANGELOG to include Crypto-Trader-Simulator and add bullets for security/simulator sections.