Skip to content

Commit d90dffb

Browse files
my idea
1 parent 2437b67 commit d90dffb

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

docs/idea_apiaudit.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
2+
### Initial Idea Submission
3+
4+
* Full Name: Chaitanya Shivram Parab
5+
* Email: [cparab02@gmail.com](mailto:cparab02@gmail.com)
6+
* [Github](https://github.com/Chaitanya-Parab)
7+
* [LinkedIn](https://www.linkedin.com/in/chaitanya-parab/)
8+
* University name: Sindhudurg Shikshan Prasarak Mandal's College of Engineering, Kankavli
9+
* Degree: Bachelor's of Engineering
10+
* Major: Computer Science
11+
* Year: 3rd year
12+
* Expected graduation date: 2027
13+
14+
Project Title: Public API Audit and Stabilization for Boa 1.0
15+
Relevant issues: (https://github.com/boa-dev/boa/issues/4524)
16+
17+
18+
### Idea description:###
19+
20+
Boa is approaching its 1.0 release, making API stability a critical requirement. Public APIs must be carefully reviewed to ensure they are consistent, well-documented and resilient to future changes without introducing breaking changes.My approach will focus on systematically auditing Boa’s public API surface and improving it to align with long-term stability goals. I plan to begin by identifying all publicly exposed items (pub structs, enums, traits and functions) across the codebase. Once identified, I will evaluate whether each item is intentionally public or should be restricted (e.g., converted to pub(crate) where appropriate).
21+
22+
A key part of the audit will involve:
23+
24+
1. Replacing public struct fields with getter methods to prevent breaking changes in future modifications.
25+
26+
2. Introducing #[non_exhaustive] where appropriate to allow extensibility of enums and structs.
27+
28+
3. Ensuring consistent API design patterns across modules.
29+
30+
4. Improving documentation for public-facing APIs to clearly define usage and guarantees.
31+
32+
I will take an incremental approach by working module-by-module, submitting small, focused pull requests to ensure reviewability and continuous progress.If time permits, I would also explore tooling or CI checks to detect unintended public API changes, helping maintain stability in the long term.
33+
34+
This project aligns closely with Boa’s goal of achieving a robust and stable 1.0 release, while also improving developer experience and maintainability.

0 commit comments

Comments
 (0)