Skip to content

Conversation

@mercyblitz
Copy link
Contributor

This pull request introduces several improvements and enhancements to the Microsphere Java Framework, focusing on expanding documentation, refining version handling, and improving code clarity. The most significant changes include a major update to the README.md for better onboarding, a substantial enhancement to the Version utility to support semantic versioning (including pre-release identifiers), and minor code/documentation cleanups across the codebase.

Documentation and Onboarding Improvements:

  • Major rewrite and expansion of README.md: Adds a comprehensive introduction, feature list, module descriptions, getting started instructions (including Maven usage), code examples, build instructions, contribution guidelines, and links to documentation resources. This greatly improves the onboarding experience for new users and contributors.

Version Handling Enhancements:

  • Version class (microsphere-java-core/src/main/java/io/microsphere/util/Version.java):
    • Adds support for semantic versioning, including pre-release identifiers (e.g., 1.2.3-beta). Updates parsing, comparison, hashing, and string representation logic to handle these cases. [1] [2] [3] [4] [5] [6] [7] [8] [9]
    • Refactors static utility methods for version parsing, removes deprecated StringTokenizer usage, and ensures more robust null handling in comparison operations. [1] [2] [3]

Build and Workflow Configuration:

  • Expands GitHub Actions workflow triggers in .github/workflows/maven-build.yml to include the release branch, ensuring CI/CD coverage for release builds.

Code and Documentation Cleanups:

  • Updates JavaDoc examples across several classes (AbstractDeque, UnmodifiableIterator, Serializer, ExecutableDefinition, MavenArtifactResourceResolver) to use standard Java generics syntax (<E>, <String>, etc.) instead of HTML entities, improving readability. [1] [2] [3] [4] [5]

These changes collectively improve the usability, maintainability, and clarity of the Microsphere Java Framework.

mercyblitz and others added 30 commits August 26, 2025 02:27
Update the version and documents
Updated issue reporting links and improved documentation structure.
Reordered branches in the pull_request trigger of the Maven GitHub Actions workflow for consistency. No functional changes to workflow execution.
Removed extra spaces in conditional and environment variable assignments in the maven-publish.yml GitHub Actions workflow for improved consistency.
Bumps [org.springframework:spring-framework-bom](https://github.com/spring-projects/spring-framework) from 6.2.11 to 6.2.12.
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](spring-projects/spring-framework@v6.2.11...v6.2.12)

---
updated-dependencies:
- dependency-name: org.springframework:spring-framework-bom
  dependency-version: 6.2.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Replaces HTML entity tags with plain angle brackets in the Javadoc example for Maven POM properties file path to improve readability.
Corrected the Javadoc example in AbstractDeque to use proper angle brackets for generics instead of HTML-escaped entities, improving readability for developers.
Updated the Javadoc example in UnmodifiableIterator to use proper angle brackets for generics, improving readability and correctness.
Corrected the Javadoc example in Serializer.java to use angle brackets for generics instead of HTML entities, improving readability and accuracy.
Corrected the generic type syntax in the Javadoc example from '&lt;Method&gt;' to '<Method>' for clarity and proper rendering.
Replaces HTML-escaped generics with angle brackets in Javadoc comments for better readability in ParameterizedTypeImplTest.
…g.springframework-spring-framework-bom-6.2.12

Bump org.springframework:spring-framework-bom from 6.2.11 to 6.2.12
Bumped the parent pom version from 0.2.1 to 0.2.2 to use the latest build configuration and dependencies.
Added a link to the Semantic Versioning specification in the Version class Javadoc for further reference and clarity.
Bumps the Spring framework version from 5.3.31 to 5.3.39 in the Java parent POM to include latest fixes and improvements.
Replaces 'junit-jupiter.version' with 'junit.version' and updates its value to 6.0.1. Modifies dependencies to use the new property and renames the 'spring5' profile to 'java8-16', setting JUnit version to 5.13.4 for that profile.
Bumped SLF4J to 2.0.17 and Logback to 1.5.20 for improved logging support. Added a new Maven profile 'java8-10' to set Logback version to 1.3.16 for JDK 8-10 compatibility.
Bumps [org.springframework:spring-framework-bom](https://github.com/spring-projects/spring-framework) from 6.2.11 to 6.2.12.
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](spring-projects/spring-framework@v6.2.11...v6.2.12)

---
updated-dependencies:
- dependency-name: org.springframework:spring-framework-bom
  dependency-version: 6.2.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Enhanced the Version class to support pre-release identifiers in version strings (e.g., 1.2.3-alpha). Updated parsing, comparison, and string representation logic to handle pre-release values according to semantic versioning. Improved null checks and refactored version parsing to use StringUtils.split instead of StringTokenizer.
Added tests for pre-release version handling, including equality, comparison, and hash code checks. Introduced validation for invalid version numbers and improved coverage for toString and getPreRelease methods. Removed unused imports and refactored test structure for clarity.
…g.springframework-spring-framework-bom-6.2.12

Bump org.springframework:spring-framework-bom from 6.2.11 to 6.2.12
@codecov
Copy link

codecov bot commented Nov 6, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ Complexity Δ
...re/classloading/MavenArtifactResourceResolver.java 100.00% <ø> (ø) 8.00 <0.00> (ø)
.../java/io/microsphere/collection/AbstractDeque.java 18.18% <ø> (ø) 4.00 <0.00> (ø)
...o/microsphere/collection/UnmodifiableIterator.java 100.00% <ø> (ø) 4.00 <0.00> (ø)
...a/io/microsphere/reflect/ExecutableDefinition.java 93.10% <ø> (ø) 12.00 <0.00> (ø)
...ore/src/main/java/io/microsphere/util/Version.java 100.00% <100.00%> (ø) 51.00 <15.00> (+13.00)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Nov 6, 2025

@mercyblitz mercyblitz merged commit 711b085 into release Nov 6, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants