Skip to content

Commit 0f65b22

Browse files
Prepare 1.0.0: branding, GitHub metadata, and release automation (#22)
* chore(release): prepare 1.0.0 — branding, GitHub meta, release automation Version & docs: - Cut CHANGELOG 1.0.0 (2026-06-29); drop accreted pre-release history - Bump version references to 1.0.0; default to 1.0.0-SNAPSHOT - README: dual Java & Kotlin branding, shields, Features, v1.0 title - POM: Java & Kotlin name/description, docs-site project URL, GitHub issue tracker; finalize Install section GitHub repo metadata (adapted from sdk-php): - Issue templates (bug.yml + config.yml) with Java/Kotlin + build-tool fields - FUNDING.yml, dependabot.yml (gradle), dependabot-auto-merge - BUG_FINDING / ISSUE_WORKFLOW / RELEASE_PROCESS process docs Release automation: - tag-and-release.yml: gated JDK matrix → tag + GitHub Release, chaining into Maven Central by default (publish_to_central toggle) - publish.yml: reusable via workflow_call; harden version interpolation - update-changelog.yml on published release * ci: pin third-party actions in update-changelog to commit SHAs Pin stefanzweifel/changelog-updater-action (v1.12.0) and git-auto-commit-action (v7.2.0) to full commit SHAs to remove the mutable-tag supply-chain surface. Dependabot's github-actions ecosystem keeps the SHAs current via reviewed PRs. * ci: fix release-commit threading and remove dead changelog workflow Address PR review (MarketDataDev03): 1. Chained publish built github.sha (the launch commit), not the released ref. In workflow_call, github.sha is inherited from the caller's launch ref, and publish.yml checked out with no ref:. If tag-and-release was launched from a branch other than inputs.ref, the tag/Release pointed at inputs.ref but the immutable Maven Central jar was built from the launch commit. Fix: add a `ref` input to publish.yml used in both the guard (head_sha) and checkout; tag-and-release resolves inputs.ref to a concrete SHA, tags at that SHA, and passes it to publish-central. 2. update-changelog.yml (on: release) never fired: the release is cut with GITHUB_TOKEN, and GITHUB_TOKEN-created events don't trigger workflows — the same rule that motivated workflow_call for publish. It was also redundant: our process finalizes the CHANGELOG (dated section) before the tag, which the notes-extraction step requires. Fix: remove the workflow.
1 parent 31d1c1d commit 0f65b22

15 files changed

Lines changed: 1818 additions & 139 deletions

.github/BUG_FINDING.md

Lines changed: 701 additions & 0 deletions
Large diffs are not rendered by default.

.github/FUNDING.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
github: MarketDataApp

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
name: Bug Report
2+
description: Report a bug in the Market Data Java & Kotlin SDK
3+
title: "[Bug]: "
4+
labels: ["bug"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for reporting a bug. Please fill out all required fields to help us reproduce and fix the issue.
10+
11+
**Important:** The SDK returns data exactly as the API provides it. Before reporting, please verify the behavior you're seeing differs from what the [API documentation](https://www.marketdata.app/docs/api) describes.
12+
13+
- type: checkboxes
14+
id: api-docs-verified
15+
attributes:
16+
label: API Documentation Verification
17+
description: Confirm you've checked the API documentation before reporting this as an SDK bug.
18+
options:
19+
- label: I have reviewed the [API documentation](https://www.marketdata.app/docs/api) for this endpoint
20+
required: true
21+
- label: The behavior I'm reporting differs from what the API documentation describes (not just unexpected to me)
22+
required: true
23+
24+
- type: dropdown
25+
id: language
26+
attributes:
27+
label: Language
28+
description: Which language are you calling the SDK from?
29+
options:
30+
- Java
31+
- Kotlin
32+
- Other JVM language
33+
validations:
34+
required: true
35+
36+
- type: dropdown
37+
id: endpoint
38+
attributes:
39+
label: SDK Resource
40+
description: Which part of the SDK is affected?
41+
options:
42+
- stocks
43+
- options
44+
- markets
45+
- funds
46+
- utilities
47+
- Client (general)
48+
- Other
49+
validations:
50+
required: true
51+
52+
- type: input
53+
id: method
54+
attributes:
55+
label: Method
56+
description: Which method are you calling? (e.g., candles, quote, chain)
57+
placeholder: candles
58+
validations:
59+
required: true
60+
61+
- type: textarea
62+
id: reproduction
63+
attributes:
64+
label: Reproduction Code
65+
description: Complete, runnable Java or Kotlin code that demonstrates the bug. Must be self-contained.
66+
placeholder: |
67+
try (var client = new MarketDataClient()) {
68+
var resp = client.stocks().candles(
69+
StockCandlesRequest.builder(StockResolution.DAILY, "AAPL")
70+
.from(LocalDate.parse("2024-01-01"))
71+
.build());
72+
// Bug: ...
73+
}
74+
render: java
75+
validations:
76+
required: true
77+
78+
- type: textarea
79+
id: expected
80+
attributes:
81+
label: Expected Behavior
82+
description: What should happen?
83+
placeholder: The method should return candle data for the specified date range.
84+
validations:
85+
required: true
86+
87+
- type: textarea
88+
id: actual
89+
attributes:
90+
label: Actual Behavior
91+
description: What actually happens? Include any error messages and stack traces.
92+
placeholder: |
93+
com.marketdata.sdk.exception.ParseError: ...
94+
at com.marketdata.sdk....
95+
validations:
96+
required: true
97+
98+
- type: input
99+
id: sdk-version
100+
attributes:
101+
label: SDK Version
102+
description: The `app.marketdata:marketdata-sdk-java` version declared in your build.gradle(.kts) or pom.xml
103+
placeholder: "1.0.0"
104+
validations:
105+
required: true
106+
107+
- type: input
108+
id: jdk-version
109+
attributes:
110+
label: JDK Version
111+
description: Run `java -version` to find this
112+
placeholder: "17.0.10"
113+
validations:
114+
required: true
115+
116+
- type: dropdown
117+
id: build-tool
118+
attributes:
119+
label: Build Tool
120+
options:
121+
- Gradle (Kotlin DSL)
122+
- Gradle (Groovy DSL)
123+
- Maven
124+
- Other
125+
validations:
126+
required: false
127+
128+
- type: dropdown
129+
id: os
130+
attributes:
131+
label: Operating System
132+
multiple: true
133+
options:
134+
- macOS
135+
- Windows
136+
- Linux
137+
validations:
138+
required: false
139+
140+
- type: textarea
141+
id: notes
142+
attributes:
143+
label: Additional Context
144+
description: Any other relevant information (config, workarounds tried, etc.)
145+
validations:
146+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Ask a question
4+
url: https://github.com/MarketDataApp/sdk-java/discussions/new?category=q-a
5+
about: Ask the community for help
6+
- name: Request a feature
7+
url: https://github.com/MarketDataApp/sdk-java/discussions/new?category=ideas
8+
about: Share ideas for new features
9+
- name: Report a security issue
10+
url: https://github.com/MarketDataApp/sdk-java/security/policy
11+
about: Learn how to notify us for sensitive bugs

0 commit comments

Comments
 (0)