Todos los cambios notables de este proyecto se documentan en este archivo.
El formato se basa en Keep a Changelog.
- NuGet Trusted Publishing (OIDC) en
release.ymlconNuGet/login@v1y environmentnuget-publish. docs/CI.md: guía de workflows, secretos, política en nuget.org y solución de problemas.
release.yml: environmentrelease→nuget-publish; push NuGet con credencial efímera (sinNUGET_API_KEYpermanente).ci.yml/release.yml: acciones@v5/@v4,FORCE_JAVASCRIPT_ACTIONS_TO_NODE24, reference assemblies net40 en workflow (sin import en.csproj, compatible con Mono).- Scripts de release: NuGet.org vía CI al empujar tag; eliminado
release.envy push manual con API key.
scripts/release.env.exampley soporte deNUGET_API_KEYen scripts locales.- Opción
--push-nugety código legacy de publicación manual en NuGet. build-dist.sh/release.ps1: flujo recomendado local + tag → CI publica en NuGet.- README: documentación Trusted Publishing alineada con NetcoreFSL.
- Helpers internos:
SearchIoHelper,PathHelper,ParallelSearchHelper. - GitHub Actions:
ci.yml(build Release unsigned en PR/push) yrelease.yml(strong-name + pack + push NuGet + GitHub Release en tagv*). NETFastSearchLibrary.Legacy.nuspecpara publicación en nuget.org.- Scripts de release:
scripts/release.ps1(Windows),scripts/build-dist.sh(Linux),scripts/release.env.example. - Exportación base64 de claves (
--export-snk-base64,--export-pfx-base64) para secretos de CI; archivos*_base64en.gitignore. - Strong-name oficial
EMZApps.snk(tokena8ab9e59c05f5f54); firma solo conOfficialBuild=true(CI / mantenedores).
FileSearchMultipleejecuta búsquedas en varias carpetas en paralelo (antes en serie).- Supresión centralizada de excepciones de E/S:
UnauthorizedAccessException,IOException,SecurityException,PathTooLongException,DirectoryNotFoundException. - Detección de ciclos en el árbol de directorios (junctions / symlinks).
FileSearchBase.OnSearchCompletedmanejaAggregateExceptioncuandoExecuteHandlers.InNewTask.app.manifestsinlongPathAware(compatible con objetivo Windows XP).- Comentarios XML en
FileSearch:crefambiguos enGetFiles/GetFilesFasty<summary>duplicado en constructor. NETFastSearchLibrary.Legacy.nuspec: empaquetado NuGet en Linux (target=""provocabaentryNamevacío); rutas con/.build-dist.sh: menú interactivo por defecto; release completo y comandos CLI (--release,--pack, etc.).build-dist.sh: push NuGet en Linux víadotnet nuget push; omitir tag/GitHub Release si ya existen en remoto.
- Clases de búsqueda internas refactorizadas para usar los helpers.
- Paralelismo acotado con
WithDegreeOfParallelism=Environment.ProcessorCount. - Mensajes de validación de argumentos en español.
FileEventArgsrealiza copia defensiva de la lista de archivos.- Firma de ensamblado: reemplaza certificado legacy
PaatyDSMApps96.pfxpor strong-nameEMZApps.snk(no versionado). - Release CI y
release.ps1: NuGet Author Signing opcional; publicación por defecto unsigned (Repository Signing en nuget.org). NETFastSearchLibrary.csproj: documentación XML en configuración Release; firma condicionalOfficialBuild.- README: requisito Visual Studio 2015+; compilación local vs oficial; instalación NuGet; guía de secretos GitHub/nuget.org.
.gitignore:*.snk,*_base64,scripts/release.env,dist/.
- Referencia a
PaatyDSMApps96.pfxySignAssemblypermanente en el.csproj.
CHANGELOG.mdy metadatos de proyecto (autor alanjmrt94 / EMZ Apps).- Aviso de versión legacy y enlace al sucesor NetcoreFSL.
- Tapa de presentación en
README.mdconlogo_base.png. - Comentarios XML (
///) de la API pública en español.
README.mdreescrito: marca Legacy, API documentada con nombres reales (FileSearch,FileSearchMultiple).LICENSEyAssemblyInfo.cs: autor actualizado a alanjmrt94 / EMZ Apps (reemplaza PaatyDSM).Logo.pngrenombrado alogo_base.png;fsl.icoconservado como icono del ensamblado..gitignore: excluye.cursor/(plan de desarrollo) y.vscode/.
- Plantillas
.vscode/solution-explorer/(no requeridas por la biblioteca).
- Paquetes NuGet actualizados.
- Licencia actualizada.
- Versión inicial publicada por PaatyDSM Apps.
- Búsqueda de archivos por patrón y delegado, métodos estáticos y API por eventos.
FileSearchMultiplepara búsqueda en varias carpetas.- Compatibilidad con .NET Framework 4.0 y Windows XP.