diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index a42e028..3096c02 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -1,31 +1,115 @@
-# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
-# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven
-
-# This workflow uses actions that are not certified by GitHub.
-# They are provided by a third-party and are governed by
-# separate terms of service, privacy policy, and support
-# documentation.
-
name: Java CI with Maven
on:
push:
- branches: [ "main" ]
+ branches: [ "main", "master", "develop" ]
pull_request:
- branches: [ "main" ]
+ branches: [ "main", "master", "develop" ]
+ release:
+ types: [created]
jobs:
build:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ java-version: [17, 21]
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Set up JDK ${{ matrix.java-version }}
+ uses: actions/setup-java@v4
+ with:
+ java-version: ${{ matrix.java-version }}
+ distribution: 'temurin'
+ cache: maven
+
+ - name: Build with Maven
+ run: mvn -B clean compile --file pom.xml
+
+ - name: Run tests
+ run: mvn -B test --file pom.xml
+
+ - name: Upload test results
+ if: always()
+ uses: actions/upload-artifact@v4
+ with:
+ name: test-results-java-${{ matrix.java-version }}
+ path: target/surefire-reports/
+
+ - name: Generate JaCoCo report
+ run: mvn -B jacoco:report --file pom.xml
+
+ - name: Upload coverage report
+ uses: actions/upload-artifact@v4
+ with:
+ name: jacoco-report-java-${{ matrix.java-version }}
+ path: target/site/jacoco/
+
+ - name: Verify code quality
+ run: mvn -B verify --file pom.xml
+ - name: Build JAR
+ run: mvn -B package --file pom.xml -DskipTests
+
+ - name: Upload JAR artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: licify-java-${{ matrix.java-version }}
+ path: target/*.jar
+
+ code-quality:
runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Set up JDK 17
+ uses: actions/setup-java@v4
+ with:
+ java-version: 17
+ distribution: 'temurin'
+ cache: maven
+
+ - name: Run Checkstyle
+ run: mvn -B checkstyle:check --file pom.xml
+
+ - name: Run Javadoc generation
+ run: mvn -B javadoc:javadoc --file pom.xml
+ publish:
+ needs: [build, code-quality]
+ runs-on: ubuntu-latest
+ if: github.event_name == 'release'
+
steps:
- - uses: actions/checkout@v4
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
- java-version: '17'
+ java-version: 17
distribution: 'temurin'
cache: maven
- - name: Build with Maven
- run: mvn -B package --file pom.xml
+ server-id: central
+ server-username: MAVEN_USERNAME
+ server-password: MAVEN_PASSWORD
+ gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
+ gpg-passphrase: GPG_PASSPHRASE
+
+ - name: Publish to Maven Central
+ run: mvn -B release:prepare release:perform -Darguments=-Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }}
+ env:
+ MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
+ MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
+ GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
+
+ - name: Upload release artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: release-artifacts
+ path: target/*-sources.jar,target/*-javadoc.jar,target/*.jar
diff --git a/.gitignore b/.gitignore
index 031b03e..0bdd89b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,897 +1,65 @@
-# ==============================================================================
-# COMPREHENSIVE .GITIGNORE TEMPLATE
-# ==============================================================================
-# This template covers most common development scenarios and tools
-# Generated patterns use ** to match any subdirectory depth
-
-# ==============================================================================
-# PYTHON
-# ==============================================================================
-**/__pycache__/
-**/*.py[cod]
-**/*$py.class
-**/*.so
-**/.Python
-**/build/
-**/develop-eggs/
-**/dist/
-**/downloads/
-**/eggs/
-**/.eggs/
-**/lib/
-**/lib64/
-**/parts/
-**/sdist/
-**/var/
-**/wheels/
-**/share/python-wheels/
-**/*.egg-info/
-**/.installed.cfg
-**/*.egg
-**/MANIFEST
-
-# PyInstaller
-**/*.manifest
-**/*.spec
-
-# Installer logs
-**/pip-log.txt
-**/pip-delete-this-directory.txt
-
-# Unit test / coverage reports
-**/htmlcov/
-**/.tox/
-**/.nox/
-**/.coverage
-**/.coverage.*
-**/.cache
-**/nosetests.xml
-**/coverage.xml
-**/*.cover
-**/*.py,cover
-**/.hypothesis/
-**/.pytest_cache/
-**/cover/
-
-# Translations
-**/*.mo
-**/*.pot
-
-# Django stuff:
-**/*.log
-**/local_settings.py
-**/db.sqlite3
-**/db.sqlite3-journal
-
-# Flask stuff:
-**/instance/
-**/.webassets-cache
-
-# Scrapy stuff:
-**/.scrapy
-
-# Sphinx documentation
-**/docs/_build/
-
-# PyBuilder
-**/.pybuilder/
-**/target/
-
-# Jupyter Notebook
-**/.ipynb_checkpoints
-
-# IPython
-**/profile_default/
-**/ipython_config.py
-
-# pyenv
-**/.python-version
-
-# pipenv
-**/Pipfile.lock
-
-# poetry
-**/poetry.lock
-
-# pdm
-**/.pdm.toml
-**/.pdm-python
-**/.pdm-build/
-
-# PEP 582
-**/__pypackages__/
-
-# Celery stuff
-**/celerybeat-schedule
-**/celerybeat.pid
-
-# SageMath parsed files
-**/*.sage.py
-
-# Environments
-**/.env
-**/.venv
-**/env/
-**/venv/
-**/ENV/
-**/env.bak/
-**/venv.bak/
-
-# Spyder project settings
-**/.spyderproject
-**/.spyproject
-
-# Rope project settings
-**/.ropeproject
-
-# mkdocs documentation
-**/site/
-
-# mypy
-**/.mypy_cache/
-**/.dmypy.json
-**/dmypy.json
-
-# Pyre type checker
-**/.pyre/
-
-# pytype static type analyzer
-**/.pytype/
-
-# Cython debug symbols
-**/cython_debug/
-
-# PyCharm
-**/.idea/
-
-# ==============================================================================
-# NODE.JS / JAVASCRIPT / TYPESCRIPT
-# ==============================================================================
-**/node_modules/
-**/npm-debug.log*
-**/yarn-debug.log*
-**/yarn-error.log*
-**/lerna-debug.log*
-**/.pnpm-debug.log*
-
-# Runtime data
-**/pids/
-**/*.pid
-**/*.seed
-**/*.pid.lock
-
-# Coverage directory used by tools like istanbul
-**/coverage/
-**/.nyc_output
-
-# Grunt intermediate storage
-**/.grunt
-
-# Bower dependency directory
-**/bower_components
-
-# node-waf configuration
-**/.lock-wscript
-
-# Compiled binary addons
-**/build/Release
-
-# Dependency directories
-**/jspm_packages/
-
-# Snowpack dependency directory
-**/web_modules/
-
-# TypeScript cache
-**/*.tsbuildinfo
-
-# Optional npm cache directory
-**/.npm
-
-# Optional eslint cache
-**/.eslintcache
-
-# Optional stylelint cache
-**/.stylelintcache
-
-# Microbundle cache
-**/.rpt2_cache/
-**/.rts2_cache_cjs/
-**/.rts2_cache_es/
-**/.rts2_cache_umd/
-
-# Optional REPL history
-**/.node_repl_history
-
-# Output of 'npm pack'
-**/*.tgz
-
-# Yarn Integrity file
-**/.yarn-integrity
-
-# dotenv environment variable files
-**/.env
-**/.env.development.local
-**/.env.test.local
-**/.env.production.local
-**/.env.local
-
-# parcel-bundler cache
-**/.cache
-**/.parcel-cache
-
-# Next.js build output
-**/.next
-**/out/
-
-# Nuxt.js build / generate output
-**/.nuxt
-**/dist
-
-# Gatsby files
-**/.cache/
-**/public
-
-# Vue.js
-**/dist/
-**/.tmp
-**/.cache
-
-# Vuepress build output
-**/.vuepress/dist
-
-# Serverless directories
-**/.serverless/
-
-# FuseBox cache
-**/.fusebox/
-
-# DynamoDB Local files
-**/.dynamodb/
-
-# TernJS port file
-**/.tern-port
-
-# Stores VSCode versions used for testing VSCode extensions
-**/.vscode-test
-
-# yarn v2
-**/.yarn/cache
-**/.yarn/unplugged
-**/.yarn/build-state.yml
-**/.yarn/install-state.gz
-**/.pnp.*
-
-# Storybook
-**/.storybook-out
-**/storybook-static
-
-# Angular
-**/e2e/
-**/.angular/
-
-# React Native
-**/ios/Pods/
-**/android/app/build/
-
-# Expo
-**/.expo/
-**/dist/
-**/npm-debug.*
-**/yarn-error.*
-**/.expo-shared
-
-# ==============================================================================
-# JAVA
-# ==============================================================================
-**/*.class
-**/*.log
-**/*.ctxt
-**/.mtj.tmp/
-**/*.jar
-**/*.war
-**/*.nar
-**/*.ear
-**/*.zip
-**/*.tar.gz
-**/*.rar
-**/hs_err_pid*
-**/replay_pid*
-
-# Maven
-**/target/
-**/pom.xml.tag
-**/pom.xml.releaseBackup
-**/pom.xml.versionsBackup
-**/pom.xml.next
-**/release.properties
-**/dependency-reduced-pom.xml
-**/buildNumber.properties
-**/.mvn/timing.properties
-**/.mvn/wrapper/maven-wrapper.jar
-
-# Gradle
-**/.gradle/
-**/build/
-**/.gradletasknamecache
-**/gradle-app.setting
-
-# IntelliJ IDEA
-**/.idea/
-**/*.iws
-**/*.iml
-**/*.ipr
-**/out/
-
-# Eclipse
-**/.apt_generated
-**/.classpath
-**/.factorypath
-**/.project
-**/.settings
-**/.springBeans
-**/.sts4-cache
-**/bin/
-**/tmp/
-**/*.tmp
-**/*.bak
-**/*.swp
-**/*~.nib
-**/local.properties
-**/.metadata
-**/.loadpath
-**/.recommenders
-
-# NetBeans
-**/nbproject/private/
-**/.nbbuild/
-**/dist/
-**/nbdist/
-**/.nb-gradle/
-
-# VS Code
-**/.vscode/
-
-# ==============================================================================
-# C / C++
-# ==============================================================================
-# Prerequisites
-**/*.d
-
-# Object files
-**/*.o
-**/*.ko
-**/*.obj
-**/*.elf
-
-# Linker output
-**/*.ilk
-**/*.map
-**/*.exp
-
-# Precompiled Headers
-**/*.gch
-**/*.pch
-
-# Libraries
-**/*.lib
-**/*.a
-**/*.la
-**/*.lo
-
-# Shared objects (inc. Windows DLLs)
-**/*.dll
-**/*.so
-**/*.so.*
-**/*.dylib
-
-# Executables
-**/*.exe
-**/*.out
-**/*.app
-**/*.i*86
-**/*.x86_64
-**/*.hex
-
-# Debug files
-**/*.dSYM/
-**/*.su
-**/*.idb
-**/*.pdb
-
-# Kernel Module Compile Results
-**/*.mod*
-**/*.cmd
-**/.tmp_versions/
-**/modules.order
-**/Module.symvers
-**/Mkfile.old
-**/dkms.conf
-
-# CMake
-**/CMakeLists.txt.user
-**/CMakeCache.txt
-**/CMakeFiles
-**/CMakeScripts
-**/Testing
-**/Makefile
-**/cmake_install.cmake
-**/install_manifest.txt
-**/compile_commands.json
-**/CTestTestfile.cmake
-**/_deps
-
-# Conan
-**/conanfile.txt
-**/conandata.yml
-**/conan.lock
-**/.conan/
-
-# ==============================================================================
-# C# / .NET
-# ==============================================================================
-**/bin/
-**/obj/
-**/out/
-**/*.user
-**/*.suo
-**/*.sln.docstates
-**/*.userprefs
-**/*.pidb
-**/*.booproj
-**/.vs/
-**/packages/
-**/TestResults/
-**/*.Cache
-**/ClientBin/
-**/*_i.c
-**/*_p.c
-**/*_h.h
-**/*.ilk
-**/*.meta
-**/*.obj
-**/*.iobj
-**/*.pch
-**/*.pdb
-**/*.ipdb
-**/*.pgc
-**/*.pgd
-**/*.rsp
-**/*.sbr
-**/*.tlb
-**/*.tli
-**/*.tlh
-**/*.tmp
-**/*.tmp_proj
-**/*_wpftmp.csproj
-**/*.log
-**/*.vspscc
-**/*.vssscc
-**/.builds
-**/*.pidb
-**/*.svclog
-**/*.scc
-
-# ==============================================================================
-# GO
-# ==============================================================================
-# Binaries for programs and plugins
-**/*.exe
-**/*.exe~
-**/*.dll
-**/*.so
-**/*.dylib
-
-# Test binary, built with `go test -c`
-**/*.test
-
-# Output of the go coverage tool
-**/*.out
-
-# Dependency directories
-**/vendor/
-
-# Go workspace file
-**/go.work
-
-# ==============================================================================
-# RUST
-# ==============================================================================
-# Generated by Cargo
-**/target/
-
-# Remove Cargo.lock from gitignore if creating an executable
-# Cargo.lock
-
-# These are backup files generated by rustfmt
-**/*.rs.bk
-
-# MSVC Windows builds of rustc
-**/*.pdb
-
-# ==============================================================================
-# PHP
-# ==============================================================================
-**/vendor/
-**/node_modules/
-**/npm-debug.log
-**/yarn-error.log
-
-# Laravel specific
-**/.env
-**/storage/*.key
-**/Homestead.yaml
-**/Homestead.json
-**/.vagrant
-**/.phpunit.result.cache
-
-# Symfony specific
-**/.env.local
-**/.env.local.php
-**/.env.*.local
-**/config/secrets/prod/prod.decrypt.private.php
-**/public/bundles/
-**/var/
-**/vendor/
-
-# Composer
-**/composer.phar
-**/composer.lock
-
-# ==============================================================================
-# RUBY
-# ==============================================================================
-**/*.gem
-**/*.rbc
-**/.config
-**/coverage/
-**/InstalledFiles
-**/pkg/
-**/spec/reports/
-**/spec/examples.txt
-**/test/tmp/
-**/test/version_tmp/
-**/tmp/
-**/.yardoc/
-**/_yardoc/
-**/doc/
-**/.bundle/
-**/vendor/bundle
-**/lib/bundler/man/
-**/.rbenv-version
-**/.rvmrc
-**/.ruby-version
-**/.ruby-gemset
-**/Gemfile.lock
-
-# Rails
-**/log/
-**/tmp/
-**/db/*.sqlite3
-**/db/*.sqlite3-journal
-**/db/*.sqlite3-*
-**/public/system/
-**/coverage/
-**/spec/tmp/
-**/.sass-cache/
-**/capybara-*.html
-**/.rspec
-**/.generators
-**/.rakeTasks
-
-# ==============================================================================
-# DATABASES
-# ==============================================================================
-**/*.db
-**/*.sqlite
-**/*.sqlite3
-**/*.db-shm
-**/*.db-wal
-
-# MySQL
-**/mysql-bin.*
-
-# PostgreSQL
-**/*.backup
-**/*.sql
-
-# MongoDB
-**/dump/
-
-# Redis
-**/dump.rdb
-
-# ==============================================================================
-# DEVOPS & CONTAINERS
-# ==============================================================================
-# Docker
-**/Dockerfile*
-**/.dockerignore
-**/docker-compose*.yml
-**/.docker/
-
-# Kubernetes
-**/*.kubeconfig
-
-# Terraform
-**/*.tfstate
-**/*.tfstate.*
-**/.terraform/
-**/.terraform.lock.hcl
-**/terraform.tfvars
-**/terraform.tfvars.json
-**/*.tfplan
-**/*.tfstate.backup
-
-# Vagrant
-**/.vagrant/
-**/*.box
-
-# Ansible
-**/retry files
-**/*.retry
-
-# ==============================================================================
-# OPERATING SYSTEMS
-# ==============================================================================
-# Windows
-**/Thumbs.db
-**/Thumbs.db:encryptable
-**/ehthumbs.db
-**/ehthumbs_vista.db
-**/*.stackdump
-**/$RECYCLE.BIN/
-**/Desktop.ini
-
-# macOS
-**/.DS_Store
-**/.AppleDouble
-**/.LSOverride
-**/Icon
-**/.DocumentRevisions-V100
-**/.fseventsd
-**/.Spotlight-V100
-**/.TemporaryItems
-**/.Trashes
-**/.VolumeIcon.icns
-**/.com.apple.timemachine.donotpresent
-**/.AppleDB
-**/.AppleDesktop
-**/Network Trash Folder
-**/Temporary Items
-**/.apdisk
-
-# Linux
-**/*~
-**/.fuse_hidden*
-**/.directory
-**/.Trash-*
-**/.nfs*
-
-# ==============================================================================
-# IDEs & EDITORS
-# ==============================================================================
-# Visual Studio Code
-**/.vscode/
-**/*.code-workspace
-**/.history/
-
-# Visual Studio
-**/.vs/
-**/bin/
-**/obj/
-**/*.user
-**/*.suo
-
-# IntelliJ IDEA
-**/.idea/
-**/*.iws
-**/*.iml
-**/*.ipr
-
-# Eclipse
-**/.metadata
-**/bin/
-**/tmp/
-**/*.tmp
-**/*.bak
-**/*.swp
-**/*~.nib
-**/local.properties
-**/.settings/
-**/.loadpath
-**/.recommenders
-**/.apt_generated/
-**/.apt_generated_test/
-**/.cache-main
-**/.scala_dependencies
-**/.worksheet
-
-# NetBeans
-**/nbproject/private/
-**/.nbbuild/
-**/dist/
-**/nbdist/
-**/.nb-gradle/
-**/build/
-
-# Sublime Text
-**/*.sublime-workspace
-**/*.sublime-project
-
-# Vim
-**/*.swp
-**/*.swo
-**/*~
-**/.netrwhist
-**/tags
-
-# Emacs
-**/*~
-**/#*#
-**/.#*
-**/.emacs.desktop
-**/.emacs.desktop.lock
-**/*.elc
-**/auto-save-list
-**/tramp
-**/.org-id-locations
-**/*_archive
-**/*_flymake.*
-**/flycheck_*.el
-**/.dir-locals.el
-**/.projectile
-
-# Atom
-**/.atom/
-
-# ==============================================================================
-# LOGS & TEMPORARY FILES
-# ==============================================================================
-**/logs/
-**/*.log
-**/log/
-**/debug/
-**/tmp/
-**/temp/
-**/.tmp/
-**/.temp/
-**/crash.log
-**/error.log
-**/access.log
-**/combined.log
-**/npm-debug.log*
-**/yarn-debug.log*
-**/yarn-error.log*
-
-# ==============================================================================
-# SECURITY & CREDENTIALS
-# ==============================================================================
-**/.env*
-!**/.env.example
-!**/.env.template
-**/*.pem
-**/*.key
-**/*.p12
-**/*.pfx
-**/*.jks
-**/*.keystore
-**/secrets/
-**/credentials/
-**/.secrets/
-**/.credentials/
-**/auth.json
-**/service-account*.json
-**/.gcloud/
-**/.aws/
-**/.azure/
-
-# ==============================================================================
-# BACKUP & ARCHIVE FILES
-# ==============================================================================
-**/*.bak
-**/*.backup
-**/*.old
-**/*.orig
-**/*.rej
-**/*.swp
-**/*.swo
-**/*~
-**/*.tmp
-**/*.temp
-**/.DS_Store?
-**/._*
-**/*.zip
-**/*.rar
-**/*.7z
-**/*.tar
-**/*.gz
-**/*.tgz
-**/*.tar.gz
-**/*.tar.bz2
-**/*.tar.xz
-
-# ==============================================================================
-# CACHE & BUILD ARTIFACTS
-# ==============================================================================
-**/.cache/
-**/cache/
-**/build/
-**/dist/
-**/out/
-**/target/
-**/.next/
-**/.nuxt/
-**/.vuepress/dist/
-**/public/build/
-**/public/hot
-**/public/storage
-**/storage/*.key
-**/bootstrap/cache/
-
-# ==============================================================================
-# PACKAGE MANAGERS
-# ==============================================================================
-# npm
-**/node_modules/
-**/package-lock.json
-**/.npm/
-
-# Yarn
-**/yarn.lock
-**/.yarn/
-**/.pnp.*
-
-# pnpm
-**/pnpm-lock.yaml
-**/.pnpm-store/
-
-# Bower
-**/bower_components/
-
-# Composer (PHP)
-**/vendor/
-**/composer.lock
-
-# Bundler (Ruby)
-**/vendor/bundle/
-**/Gemfile.lock
-
-# Maven (Java)
-**/target/
-
-# Gradle (Java/Android)
-**/.gradle/
-**/build/
-
-# Cargo (Rust)
-**/target/
-**/Cargo.lock
-
-# ==============================================================================
-# MISC
-# ==============================================================================
-# Thumbnails
-**/*.jpg:large
-**/*.jpeg:large
-**/*.png:large
-**/*.gif:large
-
-# Archive files
-**/*.7z
-**/*.dmg
-**/*.iso
-**/*.jar
-**/*.rar
-**/*.tar
-**/*.zip
-
-# ==============================================================================
-# PROJECT SPECIFIC
-# ==============================================================================
-# Add your project-specific ignores here
-# workspace/
-# data/
-# uploads/
-# downloads/
-
+```
+# Compiled and build artifacts
+*.class
+*.o
+*.obj
+*.out
+build/
+target/
+
+# Dependencies
+node_modules/
+venv/
+.venv/
+__pycache__/
+.mypy_cache/
+.pytest_cache/
+.gradle/
+
+# Logs and temp files
+*.log
+*.tmp
+*.swp
+
+# Environment
+.env
+.env.local
+*.env.*
+
+# Editors
+.vscode/
+.idea/
+
+# System files
+.DS_Store
+Thumbs.db
+
+# Coverage
+coverage/
+htmlcov/
+.coverage
+
+# Compressed files
+*.zip
+*.gz
+*.tar
+*.tgz
+*.bz2
+*.xz
+*.7z
+*.rar
+*.zst
+*.lz4
+*.lzh
+*.cab
+*.arj
+*.rpm
+*.deb
+*.Z
+*.lz
+*.lzo
+*.tar.gz
+*.tar.bz2
+*.tar.xz
+*.tar.zst
+```
\ No newline at end of file
diff --git a/README.md b/README.md
index 20e2c87..561e3d3 100644
--- a/README.md
+++ b/README.md
@@ -1,177 +1,340 @@
-# Licify - Java License Management Library
+# Licify - Java License Management Library 2.0
-## Description
-Licify is a robust Java library for software license management, providing advanced functionalities of hybrid encryption, digital signatures, hardware validation, and multiple serialization formats.
+[](https://github.com/yasmramos/Licify/actions/workflows/maven.yml)
+[](https://central.sonatype.com/artifact/com.licify/licify)
+[](https://adoptium.net/)
+[](https://opensource.org/licenses/MIT)
-## Current Status
-- ✅ **Tests**: 27/27 passing (100% success)
-- ✅ **Compilation**: BUILD SUCCESS
-- ✅ **Coverage**: JaCoCo reports generated
-- ✅ **GitHub**: Repository synchronized
+## 📖 Descripción
-## Main Features
+**Licify** es una biblioteca Java robusta y moderna para la gestión de licencias de software, que proporciona funcionalidades avanzadas de encriptación híbrida (AES+RSA), firmas digitales, validación de hardware y múltiples formatos de serialización.
-### 🔒 Hybrid Encryption
-- Combination of symmetric (AES) and asymmetric (RSA) algorithms
-- Flexible security parameter configuration
-- Support for multiple key sizes
+### ✨ Novedades en la Versión 2.0
-### ✍️ Digital Signatures
-- Cryptographic integrity validation
-- Customizable algorithm configuration
-- Automatic authenticity verification
+- ✅ **Java 17+:** Actualizado a las últimas características del lenguaje
+- ✅ **CI/CD Completo:** GitHub Actions con builds multi-versión (Java 17 y 21)
+- ✅ **Publicación Automática:** Configurado para Maven Central
+- ✅ **Mejor Documentación:** Javadocs completos y ejemplos detallados
+- ✅ **Nuevas Funcionalidades:** Licencias flotantes, sistema de actualización automática
+- ✅ **Calidad de Código:** Checkstyle, JaCoCo coverage >40%
-### 🖥️ Hardware Identification
-- License binding to specific hardware
-- Multiple hardware components analyzed
-- Hardware configuration backup
+## 🚀 Características Principales
-### 📝 Multiple Formats
-- BINARY: For maximum efficiency
-- STRING: For human readability
-- XML: For interoperability
-- PROPERTIES: For configuration
+### 🔒 Encriptación Híbrida
+- Combinación de algoritmos simétricos (AES-256) y asimétricos (RSA-2048/3072/4096)
+- Configuración flexible de parámetros de seguridad
+- Soporte para múltiples tamaños de clave
+- Gestión segura de claves de sesión
-### 🧬 Seed Generation
-- Deterministic cryptographic seeds
-- Multiple hash algorithms (SHA-256/384/512)
-- System entropy included
+### ✍️ Firmas Digitales
+- Validación criptográfica de integridad
+- Algoritmos configurables (SHA256withRSA, SHA384withRSA, SHA512withRSA)
+- Verificación automática de autenticidad
+- Huella digital de clave pública
-## Project Structure
+### 🖥️ Identificación de Hardware
+- Vinculación de licencias a hardware específico
+- Análisis de múltiples componentes (CPU, motherboard, disco, MAC)
+- Backup de configuración de hardware
+- Tolerancia a cambios menores de hardware
-```
-Licify/
-├── src/
-│ ├── main/java/com/licify/
-│ │ ├── Licify.java # Main API
-│ │ ├── LicenseKeyPair.java # Key management
-│ │ ├── SeedGenerator.java # Cryptographic seeds
-│ │ ├── core/ # Core functionalities
-│ │ ├── encryption/ # Hybrid encryption
-│ │ ├── signing/ # Digital signatures
-│ │ ├── hardware/ # HW identification
-│ │ ├── io/ # I/O formats
-│ │ ├── util/ # Utilities
-│ │ └── exception/ # Exceptions
-│ └── test/java/com/licify/
-│ └── LicifyTest.java # Test suite
-├── target/ # Compiled files
-├── pom.xml # Maven configuration
-└── module-info.java # Module definition
-```
+### 📝 Múltiples Formatos
+- **BINARY:** Máxima eficiencia y compactación
+- **STRING:** Legibilidad humana (Base64)
+- **XML:** Interoperabilidad con sistemas externos
+- **PROPERTIES:** Integración con archivos de configuración
-## Quick Start
+### 🔄 Sistema de Revocación
+- Lista negra de licencias revocadas
+- Persistencia en archivo JSON
+- Verificación en tiempo real
+- Limpieza programada
-### Prerequisites
-- Java 17 or higher
-- Maven 3.8 or higher
+### 🎯 Generación de Seeds
+- Seeds criptográficos determinísticos
+- Múltiples algoritmos hash (SHA-256/384/512)
+- Entropía del sistema incluida
+- Ideal para licencias offline
-### Compilation
-```bash
-mvn clean compile
+## 📦 Instalación
+
+### Maven
+
+```xml
+