Skip to content

Latest commit

 

History

History
230 lines (174 loc) · 5.1 KB

File metadata and controls

230 lines (174 loc) · 5.1 KB

Version 1.1.0 Release Summary

🎉 Release Prepared Successfully!

Version: 1.1.0
Release Date: 2026-03-27
Previous Version: 1.0.0


✅ Completed Tasks

1. Version Updates

  • ✅ Updated pom.xml from 1.0.0 → 1.1.0
  • ✅ Updated Maven dependency examples in README.md
  • ✅ Updated Gradle dependency examples in README.md
  • ✅ Added "What's New" section to README.md

2. New Documentation Created

  • CHANGELOG.md - Complete version history
  • RELEASE_CHECKLIST.md - Deployment guide
  • ✅ Enhanced README.md with new features
  • ✅ Updated USAGE_EXAMPLES.md

3. Code Quality

  • ✅ Fixed Java 11 compatibility in test files
  • ✅ Removed hardcoded values from tests
  • ✅ Made test files use dynamic proxy names
  • ✅ Updated .gitignore to exclude generated files

🆕 New Features in v1.1.0

1. Environment Variable Support

// Simple - reads from APIGEE_SERVICE_ACCOUNT_JSON
ApigeeApiConfig config = ApigeeApiConfig.builder()
    .organization("my-org")
    .serviceAccountKeyFromEnv()  // NEW!
    .build();

// Custom env var name
config.serviceAccountKeyFromEnv("MY_CUSTOM_VAR");  // NEW!

Benefits:

  • Perfect for Docker/Kubernetes deployments
  • No need to commit credentials
  • Cleaner code - no manual System.getenv() calls

2. Enhanced JSON Output Methods

// All these are NEW in 1.1.0:

// With custom options
String json = converter.convertFromApigeeToJson(config, "proxy", options);

// Specific revision with options
String json = converter.convertFromApigeeToJson(config, "proxy", "5", options);

3. Enhanced YAML Output Methods

// All these are NEW in 1.1.0:

// With custom options  
String yaml = converter.convertFromApigeeToYaml(config, "proxy", options);

// Specific revision with options
String yaml = converter.convertFromApigeeToYaml(config, "proxy", "5", options);

🗂️ Files to Delete Before Deployment

Please manually delete these files (they contain test data or sensitive info):

# Generated test outputs
JSONPlaceholder-Todo-API-openapi.json
JSONPlaceholder-Todo-API-openapi.yaml
test-openapi.json
test-openapi.yaml

# Sensitive data
service-account.json

# Old/redundant files
pom.xml.asc
run-test.bat
run-apigee-conversion.bat
TEST_RESULTS.md
IMPROVEMENTS_SUMMARY.md
cleanup.bat

Keep these important files:

  • README.md
  • CHANGELOG.md
  • USAGE_EXAMPLES.md
  • QUICK_REFERENCE.md
  • PUBLISHING.md
  • RELEASE_CHECKLIST.md
  • .env.example
  • run-manual-test.bat
  • pom.xml
  • .gitignore
  • src/

📦 Deployment Commands

Step 1: Clean and Test

cd "C:\Apigee to openAPI Java Library\apigee-bundle-to-openapi"

# Run tests
mvn clean test

# Build
mvn clean install

Step 2: Generate Artifacts

# Generate sources and javadoc JARs
mvn source:jar javadoc:jar

Step 3: Sign (if publishing to Maven Central)

# Sign all artifacts
mvn gpg:sign-and-deploy-file -Dfile=target/apigee-bundle-to-openapi-1.1.0.jar \
  -DpomFile=pom.xml \
  -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ \
  -DrepositoryId=ossrh

Step 4: Git Tag and Push

git add .
git commit -m "Release version 1.1.0"
git tag -a v1.1.0 -m "Version 1.1.0 - Environment variable support and enhanced output methods"
git push origin main
git push origin v1.1.0

Step 5: Deploy to Maven Central

mvn clean deploy -P release

📊 Release Statistics

Code Changes

  • Files Modified: 5

    • ApigeeApiConfig.java
    • ApigeeToOpenApiConverter.java
    • README.md
    • USAGE_EXAMPLES.md
    • .gitignore
  • New Methods Added: 4

    • serviceAccountKeyFromEnv()
    • serviceAccountKeyFromEnv(String)
    • convertFromApigeeToJson(config, proxy, options)
    • convertFromApigeeToYaml(config, proxy, options)
    • Plus 2 more overloads for revision-specific conversions

Documentation

  • New Files: 2 (CHANGELOG.md, RELEASE_CHECKLIST.md)
  • Updated Files: 3 (README.md, USAGE_EXAMPLES.md, QUICK_REFERENCE.md)
  • Total Lines Added: ~500+ lines of documentation

🎯 Migration Guide for Users

From 1.0.0 to 1.1.0

No breaking changes! All existing code continues to work.

Optional improvements:

1. Simplify Environment Variable Usage

// Before
String json = System.getenv("APIGEE_SERVICE_ACCOUNT_JSON");
config.serviceAccountKeyJson(json);

// After (simpler)
config.serviceAccountKeyFromEnv();

2. Use Direct JSON Output

// Before
ConversionResult result = converter.convertFromApigee(config, "proxy");
String json = converter.writeToString(result.getOpenAPI(), OutputFormat.JSON);

// After (one-liner)
String json = converter.convertFromApigeeToJson(config, "proxy");

✅ Next Steps

  1. Delete the files listed above
  2. Run tests: mvn clean test
  3. Build: mvn clean install
  4. Review RELEASE_CHECKLIST.md
  5. Deploy following the commands above

📞 Support

For deployment help, see:


Version 1.1.0 is ready for deployment! 🚀