Skip to content

Release v1.2.0

Choose a tag to compare

@hibeekaey hibeekaey released this 16 Sep 19:04
· 208 commits to main since this release
90f7104

Release v1.2.0

What's New

Added

  • Default Version Management: Added automatic fallback versions for all package dependencies
    • React: ^18.3.1, Next.js: 14.2.0, Go: 1.22.0, Node.js: 20.11.0
    • Kotlin: 2.0.0, Swift: 5.9.0 with automatic version resolution
  • Enhanced Security: Comprehensive security improvements across all templates
    • Secure file operations with path validation and traversal protection
    • Secure file permissions (0600 for files, 0750 for directories)
    • Added security utility functions with proper error handling
  • Template Variable Processing: Enhanced support for complex template expressions
    • Added support for {{.Name | lower}}, {{.Name | upper}} in directory names
    • Fixed iOS and Android project structure generation with proper naming
  • Disabled Template Filtering: Automatic exclusion of .tmpl.disabled files from generated projects

Changed

  • Default Output Directory: Changed from no default to output/generated for better organization
  • Template Engine Architecture: iOS/Android templates now use DirectoryProcessor for proper path processing
  • Package Versions: Updated to compatible, secure versions
    • Redis Go client: v9.14.0 (was v9.15.0 which didn't exist)
    • ESLint: ^8.57.0 (compatible with Next.js 14.2.0)
  • CLI Interface: Removed duplicate help command for cleaner interface

Fixed

  • Android Project Generation: Fixed missing Java directory structure in Android projects
    • Template variables in directory names now properly processed
    • Complete Android Kotlin project structure with proper package hierarchy
  • iOS Project Generation: Fixed {{.Name}} appearing literally in iOS directory names
    • Proper Xcode project structure with correct naming
  • Security Vulnerabilities: Fixed all gosec security issues
    • Path traversal vulnerabilities (G304): 25 issues resolved
    • Insecure file permissions (G301/G306): 20 issues resolved
    • Unhandled errors (G104): 2 issues resolved in generated code
  • Template Processing: Fixed nil pointer errors when version configurations are missing
    • All templates now use version functions with fallbacks
    • Minimal configurations work without specifying any versions
  • Package Dependencies: Fixed version compatibility issues
    • React/Next.js/ESLint version conflicts resolved
    • All frontend dependencies now resolve correctly

Security

  • Zero Security Issues: Complete gosec compliance achieved
    • Main codebase: 0 issues (4 intentional suppressions in security utils)
    • Generated code: 0 issues in all templates
  • Secure Defaults: All generated projects follow security best practices
    • Secure file permissions and operations
    • Path validation and traversal protection
    • Proper error handling in generated code

Testing

  • Comprehensive Testing: Full component integration testing completed
    • All components (Frontend, Backend, Mobile, Infrastructure) generate successfully
    • Package dependency resolution verified for all templates
    • Cross-platform compatibility maintained
    • Zero regressions in existing functionality

Migration Notes

  • Default Output Path: Projects now generate to output/generated/ by default instead of requiring manual specification
  • Version Requirements: Version specifications in config files are now optional - sensible defaults are provided
  • iOS/Android Projects: Existing projects with {{.Name}} in directory names should be regenerated for proper structure
  • Security: All generated projects now follow enhanced security practices automatically

Recent Commits

Installation

Quick Install (Linux/macOS)

curl -sSL https://raw.githubusercontent.com/cuesoftinc/open-source-project-generator/main/scripts/install.sh | bash

Manual Installation

  1. Download the appropriate archive for your platform
  2. Extract the archive
  3. Follow the installation instructions in the INSTALL.txt file

Package Managers

  • Debian/Ubuntu: Download the .deb package and install with dpkg -i
  • Red Hat/CentOS: Download the .rpm package and install with rpm -i
  • Homebrew: brew install generator (coming soon)

Usage

# Generate a new project interactively
generator generate

# Show help
generator --help

# Validate a generated project
generator validate ./my-project

# Show version and latest package versions
generator version --packages

Checksums

See checksums.txt for SHA256 hashes of all release assets.