Skip to content

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 20 Jul 15:31

1.0.0 (2026-07-20)

Bug Fixes

  • #741 AdminPanel restricted to admin address only (7b2b8c2)
  • #854: format useTransactionHistory.ts to match project Prettier style (remove semicolons) (8e7b12b), closes #854
  • #855: eliminate CSP duplication by generating index.html meta tag from policy.ts (1dc325a), closes #855
  • #932: consolidate useTransactionPolling into useTransaction.ts (#956) (28a84b6), closes #932 #932
  • #944: add txHash, network, contractId Sentry tagging on transaction failures (#952) (9c213d0), closes #944 #944
  • #945: document batch resource limits and add frontend size cap (#953) (8555f65), closes #945 #945
  • #947: add incident response runbook and break-glass recovery docs (#954) (0546342), closes #947 #9 #947
  • accept decimals=0 in validateTokenParams (56cb8d9)
  • add bounds validation to token metadata type guard (CWE-1236) (#964) (ab4cb5c)
  • add BurnAmountExceedsBalance check in burn function (1113068)
  • add CI drift check for contract ABI documentation - Closes #946 (#949) (8e67454)
  • add env var validation and misconfiguration screen (f66f1d5)
  • add esbuild as a direct devDependency for Storybook CI build (512b11e)
  • add formula-injection guard to CSV export (CWE-1236) (#963) (bff7012)
  • add missing build step to E2E job, fix sitemap script crash (535955c)
  • add missing imports for mobile responsive components (0b89740)
  • add standalone network support and fix E2E test mocks (a78f8de)
  • analytics: add opt-out tests, CI bypass check, and compliance ADR (#965) (180f672), closes #948
  • audit follow-ups — restore tx polling backoff, fix wasm target, drop orphan form (05409eb), closes #852 #732 813/#814
  • ci: remove continue-on-error from fuzz steps, add PR smoke job (#937) (#966) (000458f)
  • clear cargo clippy -D warnings findings in token-factory (2a27a8f)
  • complete contract test suite with all error variants covered (5f8320d)
  • contract: front-load batch validation and document Soroban transaction atomicity (#915) (#974) (b60868f)
  • contracts: add crash-to-regression-test process with fuzz corpus infrastructure (#951) (9428b7d), closes #938
  • contracts: add integer overflow protection in fee arithmetic (18622f1), closes #513
  • correct useLocalStorage syntax error and variable reference (232fc52)
  • dedupe token-validation rules in validation.ts (d3012c2), closes #845
  • downgrade vite to v6 for Storybook compatibility (c2f071b)
  • e2e: add token-list-container class and show 6 trailing address chars (9fcfff3)
  • e2e: prevent watcher auto-connect by not responding to REQUEST_NETWORK_DETAILS (9649702)
  • exclude fuzz crate from workspace to prevent wasm32 compilation errors (b3f09f2)
  • expand .gitignore to prevent accidental commits of local artifacts (1da56fe), closes #835
  • frontend: clear typecheck errors and prettier drift masked by red CI (82994b9)
  • frontend: close network-mismatch signing window with a fresh pre-sign check (#961) (7619e99), closes #927
  • frontend: close unclosed PR wrapper in App.tsx and remove duplicate route entries (4f9442b)
  • frontend: establish transaction reconciliation policy and add phantom-entry guards (#955) (1372af1), closes #933
  • frontend: filter-aware cache key, stable useCallback deps, re-fetch on filter change (62d2c8c)
  • frontend: implement the CSV formula-injection guard its tests expected (59839b6), closes #963
  • frontend: make token-detail routes public for deep links (#880) (971e14b)
  • frontend: only mount OnboardingModal on Help click, not first-visit (87d3ce4)
  • frontend: paginate factory event fetch instead of silently capping "all tokens" (#962) (b480f56), closes #35
  • frontend: pay real base_fee, surface FeeDisplay in mint, block writes on network mismatch (6d5697d)
  • frontend: remove exhaustive-deps suppressions, fix dep arrays (a8fcf34)
  • frontend: resolve merge fallout — format, getMetadata validation, no-this-alias (4e0d770)
  • frontend: source FeeDisplay fees from useFactoryState, not the singleton (e388e7a)
  • frontend: stop passing a decimal XLM string to formatXLM (d23be61)
  • frontend: track Horizon paging_token and pass cursor on load-more (aa6e15b)
  • frontend: unify transaction poll backoff into shared utility (#960) (2ad85fc)
  • frontend: wire orphaned features, fix standalone network, add typecheck gate (c14d1b1)
  • ipfs: retry image upload on transient Pinata errors (26a2005), closes #743
  • ipfs: validate getMetadata response shape before returning (7183346), closes #849
  • make all 202 tests pass (1043432)
  • pin esbuild/globals devDeps and apply npm audit fixes (6ccd8c3)
  • provide VITE_TOKEN_WASM_HASH in E2E CI job (64c1a5b)
  • real bugs surfaced while restoring lint/test coverage (8434f56)
  • redesign fee transfer and token deployment per issue spec (e7b8c9e)
  • refactor build system, fix contract errors, fix dark mode toggle (85751f8)
  • release: add @actions/io to satisfy @actions/exec's undeclared import (cd21fdc)
  • release: disable husky hooks in the release workflow (5429060)
  • repair local Stellar network startup in E2E CI job (5aa9026)
  • replace console.error with logger in CreateToken, TokenForm, MetadataUploadForm (24805af), closes #848
  • replace invalid checksum address in validation test (64ac45a)
  • resolve build failure blocking strict mode verification (e3370f5)
  • resolve Horizon URL from active network config in useTransactionHistory (2c25a2d), closes #837
  • restore ESLint v9 flat config (a85d008)
  • routing: fix deep-link for /token/:address and add e2e tests (1eb308a)
  • stop E2E app crash on unknown network and repair Freighter mock (232afee)
  • storybook: finish the Storybook 10 migration (a66a453), closes #893
  • token-factory: enforce strict clippy linting for contract code (686b143)
  • token-factory: extend reentrancy guard to all state-mutating entrypoints (#972) (45a1a9c)
  • token-factory: reject negative base_fee and metadata_fee (#973) (e3cdd5e)
  • token-factory: store token_wasm_hash in FactoryState (7de1635), closes #543
  • ui: sanitize and validate token name/symbol inputs (1e4e2e7)
  • upgrade soroban-sdk to 25.x and fix wasm build (1e098e1)
  • Use correct validation function name in MetadataUploadForm (b8802cf)
  • use dedicated fee_token for all fee transfers in factory contract (14db340)
  • use formatXLM and stroopsToXLM in FeeDisplay and add conversion test (65b5d94)
  • validate hexToBytes input is exactly 64 hex chars (4165f9f), closes #836
  • validate token supply before minting to prevent u128 overflow (#959) (d4027c8), closes #909
  • validation: use StrKey checksum validation for Stellar addresses (c55f0f4)
  • wallet: clear all state and token cache on disconnect (a2b1ed3)

Features

  • #588: Build Token Creation Form UI (b13478c), closes #588
  • #589: Implement StellarService Token Deployment (b186936), closes #589
  • #590: Implement IPFS Metadata Upload via Pinata (98e1fc0), closes #590
  • #603: Create Token Detail Page (a1aa1ec), closes #603
  • #604: Add React Router for Navigation (be195b5), closes #604
  • #606: Add loading states and skeleton UI (41111e0), closes #606
  • #607: Add environment variable validation on startup (5e3ff84), closes #607
  • #734: Add debounced search and creator address filter to TokenExplorer (12c703b), closes #734
  • #fuzz: add fuzz targets for set_metadata and mint_tokens (167432d), closes #fuzz
  • a11y: accessibility audit and fixes (98eb2f7)
  • add accessibility improvements (a11y) (259d1b0)
  • add AddressDisplay component with copy and explorer link (2ab3bda)
  • add analytics integration spec and scaffolding (#522) (e4d8902)
  • add CHANGELOG.md and PR template with changelog checklist (89bb67e)
  • add client-side routing with react-router-dom (fixes #471) (baee94d)
  • add comprehensive error handling system (62b4348)
  • add ConfirmModal before all on-chain transactions (3cef134)
  • add Content-Security-Policy headers (ef28578)
  • add contract event history with pagination (0425f56)
  • add contract event indexing spec (#612) (5952c01)
  • add CopyButton component and integrations #491 (6d16970)
  • add dark mode support with localStorage persistence (24e96e5)
  • add dark mode with system preference, localStorage persistence, and toggle button (5658728)
  • add decimals validation for create_token (0-18 inclusive) (f88ec3c), closes #515
  • add deploy-contract.sh script for automated contract deployment (f478eb2)
  • add E2E coverage for network mismatch guard across all write forms Closes #935 (#970) (a644ce6)
  • add env variable validation and configuration guide (98642d9), closes #8
  • add ErrorBoundary component to catch render errors (d297816)
  • add eslint import order rule spec (ca4bc6b)
  • add export CSV functionality to TransactionHistory (637dc7c)
  • add fee bump transaction support (#63) (9b2b8ea)
  • add FeeDisplay component with module-level cache (e749987)
  • add formatTimestamp and timeAgo utilities (#issue) (02f8f30), closes #issue
  • add formatTokenAmount and parseTokenAmount utilities (1041ada)
  • add French (fr) locale i18n support (4429f89), closes #740
  • add friendbot banner for testnet (aece4cb)
  • add frontend unit tests and fix retry unhandled rejections (ec4b78b), closes #9
  • add frontend unit tests for validation utils (#609) (5ef4995)
  • add get_tokens_by_creator view function (#38) (17b7ae0)
  • add global toast notification system (ea22272)
  • Add husky + lint-staged pre-commit hooks (#59) (b11c468)
  • add Husky pre-commit and pre-push hooks (#533) (c232169)
  • add i18n foundation with react-i18next (0f8c270)
  • add isValidIPFSUri validation utility and SetMetadataForm (#33) (5ba129f)
  • add isValidIPFSUri validation utility and SetMetadataForm (#33) (9e76fc4)
  • Add mainnet deployment checklist modal (#35) (d3e8f2d)
  • add MetadataAlreadySet guard in set_metadata (ebbdd65)
  • add MintForm component with address validation and mintTokens service (ac9df39)
  • add network switching support (#680) (60e9f3f)
  • add OG tags, react-router-dom, clippy CI, and npm ci (24d091c), closes #54 #56 #68 #85
  • add pause/unpause admin function to factory contract (#39) (5a5c965)
  • add polling, last-updated indicator, and refresh to transaction history (ac79943), closes #752
  • add Prettier, fix all TS errors, add CI/CD pipeline, add formatAddress and Checkbox UI component (a11180e)
  • add PWA support with vite-plugin-pwa (#81) (547110c)
  • add reentrancy guard to create_token with Error::Reentrancy variant (986de4b)
  • add reusable Modal base component (#527) (e19c519)
  • add reusable Modal base component (#527) (f605b53)
  • add robots.txt, sitemap.xml, and meta description for SEO (de6bb1c)
  • add robust useClipboard hook and refactor dashboard (7149392), closes #26
  • add secure Admin Panel for factory fee management (39e28a5)
  • Add security disclosure policy (#47) (096fcd7)
  • Add Select UI component with accessibility and dark mode support (412420a)
  • add semantic release for automated versioning (bcd42fe)
  • add sitemap generation script and update prebuild script to include it (8948663)
  • add skeleton loaders and a11y improvements (#475, #477) (1ea1e54)
  • add skeleton loaders for TokenExplorer and Dashboard (42867fe), closes #735
  • add skeleton-loaders spec (requirements, design, tasks) (ec3a9ed)
  • add social sharing for newly created tokens (#521) (7e2cdcc)
  • add Soroban benchmark harness for resource cost tracking (#968) (91b504f), closes #12
  • add soroban-token-sdk audit spec (ae3686a)
  • add stellar contract optimize to deployment workflow (4a56338)
  • add stellarExplorerUrl utility and wire explorer links (d043699)
  • add Storybook stories for ConfirmModal, ProgressIndicator, and InsufficientBalanceWarning (a25343e)
  • add Storybook with stories for all UI components (564a5b8)
  • add Terms of Service acceptance modal before first transaction (#529) (53a7bc8)
  • add Terms of Service acceptance modal before first transaction (#529) (b2ddf76)
  • add testnet faucet integration via Friendbot (#519) (f7c2965)
  • add token event history with pagination and event details display (9196fdf)
  • add token search, filter, and sort to Dashboard (a17250a)
  • add token search, filter, and sort to dashboard (#64) (eb80749)
  • add TokenDashboard with pagination, search, and Explorer links (d7ce574)
  • add TokenExplorer component with search and pagination (4b21179)
  • add TokenMetadata display component (658efc0)
  • Add transaction retry logic with exponential backoff (#62) (f0d8f02)
  • Add TransactionHistory component and useTransactionHistory hook for Stellar token operations (f8fed91)
  • Add TransactionStatus component and tests (4637fb8)
  • add transfer_admin function with tests (347d54f)
  • add TTL management for all Soroban storage writes (7b34532)
  • add UI barrel export and update all imports (2e4fbe0)
  • add update_admin function to token factory contract (#479) (5db1fe4)
  • add useDebounce hook, apply to MintForm/BurnForm/Dashboard, fix build (e8727e1)
  • add useFactoryState hook, coverage thresholds, and CI workflow (15b366d)
  • Add useLocalStorage hook and tests (56eac71)
  • add useTokenBalance hook and fix TypeScript errors (43792b7)
  • add useTokens pagination and useTokenInfo hook (a473194)
  • add VITE_TOKEN_WASM_HASH to env validation and fix duplicate import (b027cc2)
  • add wallet token portfolio dashboard (cc28ab9)
  • add WalletButton UI component and integrate into App.tsx header (cf20f69)
  • add wasm-opt post-processing for contract binary (de1f779)
  • add whitelist for fee-free token creation (59c0f59)
  • build token creation form UI on home page (#667) (0311381)
  • Burn Tokens UI with danger-zone styling and safety confirmation (#675) (f894e11)
  • burn: add data-testid attributes for balance display, Max button, and validation error (0c72f14), closes #755 #755
  • ci: add reproducible WASM hash verification workflow for mainnet deployments (#950) (abcdbce), closes #940
  • comprehensive contract tests + fix lib.rs compilation errors (#677) (83a8f8f)
  • contract: add batch token creation (#487) (b50b182)
  • contract: add optional max supply cap to tokens (#483) (dc00eb6)
  • contract: add treasury fee split mechanism (#485) (d933acf)
  • contract: emit events for all state-changing functions (#482) (0a375a8)
  • contracts: add schema versioning and implement migrate (7293485)
  • contracts: add schema versioning and implement migrate (a9fbd2e)
  • create WalletConnectButton component (766c6b9)
  • enable TypeScript strict mode (#531) (bb3ad84)
  • enforce u128 for initial_supply and add InvalidTokenParams validation #517 (67582a3)
  • enhance security, add contract upgrade support, and integrate E2E tests into CI (5695ca0)
  • enhance token factory with DataKey enum and update storage access (e0c24c0)
  • explorer: add Stellar Expert deep links for accounts, transactions, and contracts (6d509a4)
  • extract contract error mapping to contractErrors.ts (0420e56)
  • factory: add offset/limit pagination to get_tokens_by_creator (#729) (3f88aae)
  • frontend: add ipfs gateway URL resolver and stabilize frontend checks (005ff3f)
  • frontend: block writes on network mismatch in metadata + admin forms (#906) (f6e88f3)
  • frontend: implement i18n support with es and pt translations (dcbc1b2)
  • frontend: wire network-mismatch banner + FAQ page, drop dead duplicate, fix repo URLs (901021f)
  • gate wallet and metadata actions behind ToS (8318679)
  • global error boundary, toast system, and service error cleanup (19dbf05)
  • global error boundary, toast system, and service error cleanup (6ca83ad)
  • hooks: add LRU eviction to useTokens module-level cache (#967) (25ca799)
  • hooks: add useTransaction hook for transaction lifecycle (#489) (18debc3)
  • implement BigInt-safe formatting utilities (fc30b37)
  • implement burn_enabled per-token flag (7d265e8)
  • Implement Freighter Wallet Integration (b91a66e)
  • implement Freighter wallet integration (#666) (8416cfd)
  • implement global error boundary (#473) (d83fe50)
  • implement Horizon API retry logic with exponential backoff and Retry-After handling #499 (cfd31b5)
  • implement mobile-responsive design for all components (cfdf285)
  • implement pagination for token dashboard (#29) (9aa41b1)
  • implement Pinata IPFS upload service with tests (6b33365)
  • implement Pinata IPFS upload with progress tracking and error handling (53b3684)
  • implement responsive mobile layout (issue #616) (49ddf41)
  • implement reusable CopyButton component with Clipboard API integration (2f8b716)
  • implement Soroban contract invocation logic in StellarService (3a4af37)
  • implement Soroban RPC interactions in stellar.ts (42c9d18)
  • implement StellarService with full Soroban RPC integration (3f0a520)
  • implement token burn UI and service (a199523)
  • implement Token Dashboard page (#673) (c3b204c)
  • implement token detail page (a79ef19)
  • implement TokenDashboard page with TokenCard component and index-based pagination (4af373b)
  • implement TokenDetail page (#470) (71ca751)
  • implement TokenDetail page with IPFS metadata, mint/burn/set-metadata inline forms, and 404 state (9c7f0eb)
  • implement transaction status tracking (#681) (3c0a793)
  • implement update_treasury in token-factory (0c381d3)
  • implement useLocalStorage for dark mode context and add tests for useDarkMode hook (f04664c)
  • implement useLocalStorage hook and integrate for Dark Mode, Network, and Language #518 (9a25f84)
  • implement useTokens hook with parallel fetching and cache (d9cc12d), closes #16
  • implement wallet auto-reconnect and Freighter event listeners (4cba9dc)
  • integrate Sentry error tracking for failed contract calls (e0cb9f9), closes #757
  • ipfs: implement IPFS metadata upload via Pinata (#669) (949bcc3)
  • Mint Tokens UI with RHF validation and token dropdown (#674) (223235d)
  • mobile responsive design (90814c2)
  • monitoring: add monitoring docs and sentry dependency (e043a5c)
  • monitoring: add Sentry, uptime monitoring, and health endpoint (cee6369)
  • move wallet state to global React Context (6c24340)
  • network switcher with mainnet warning and localStorage persistence (5fa8531)
  • pause/unpause factory already implemented; add burn-while-paused test (#480) (4dd54ca)
  • provide services via StellarContext, re-init on network change (4f924de)
  • security: add Content Security Policy and security headers (19f0f1f)
  • security: add dependency audit and Dependabot configuration (9f404c1), closes hi#severity #502
  • security: add strict CSP, X-Frame-Options, and X-Content-Type-Options headers (a625191)
  • show XLM/USD equivalent in FeeDisplay component (fd3c20d), closes #733
  • toast notification system already implemented (#474) (73b04c9)
  • token-factory: validate create_token params and use InvalidParameters error (4e7abc4)
  • ui: add DropZone drag-and-drop component and replace file input in MetadataUploadForm (fee9791)
  • ui: add network-aware Stellar Expert explorer links (20dced8), closes #621
  • ui: confirmation modal before every state-changing transaction (#490) (88291e3)
  • ui: implement MetadataForm with IPFS upload + Stellar linking (#676) (20f5327)
  • upgrade mechanism, ADRs, QR code sharing, onboarding tutorial (7b59535), closes #1 #2 #3 #4
  • ux: insufficient balance warning before transaction submission (#496) (0777d93)
  • wire setMetadata to StellarService in TokenDetail (04de946)
  • wire up mint and burn token UI to contract (ca6b7b4), closes #541

Performance Improvements

  • apply useMemo, useCallback, and React.memo for render optimizations (8afb78a)
  • fetch creator token pages concurrently with capped concurrency (#969) (bfdc828), closes #16
  • frontend: implement route-level code splitting and lazy load stellar-sdk (a9ed488)