|
| 1 | +# Changelog |
| 2 | + |
| 3 | +## [3.0.0] - 2025-07-24 |
| 4 | + |
| 5 | +### Major Changes |
| 6 | + |
| 7 | +- **BREAKING**: Migrated to modern Deno APIs - requires Deno 2.0+ |
| 8 | +- **BREAKING**: Replaced deprecated `std/http` with built-in `Deno.serve` |
| 9 | +- **BREAKING**: Updated all `std/*` imports to JSR `@std/*` packages |
| 10 | +- **BREAKING**: Interceptor functions now receive `Request` instead of `ServerRequest` |
| 11 | + |
| 12 | +### New Features |
| 13 | + |
| 14 | +- **Dual Publishing**: Now available on both [JSR](https://jsr.io/@joakimunge/denoliver) and [deno.land/x](https://deno.land/x/denoliver) |
| 15 | +- **Modern TypeScript**: Enhanced TypeScript support with updated type definitions |
| 16 | +- **JSR Compatibility**: Full compatibility with the JavaScript Registry (JSR) |
| 17 | + |
| 18 | +### Technical Improvements |
| 19 | + |
| 20 | +- Migrated from deprecated `serveTls` to modern `Deno.serve` with TLS options |
| 21 | +- Updated all standard library imports to use JSR (`jsr:@std/*`) |
| 22 | +- Replaced deprecated `location.reload(true)` with `location.reload()` |
| 23 | +- Fixed resource leaks in test suite with proper child process cleanup |
| 24 | +- Updated CI/CD workflow for Deno 2.x compatibility |
| 25 | +- Added project configuration with `deno.json` |
| 26 | + |
| 27 | +### Migration Guide |
| 28 | + |
| 29 | +**From v2.x to v3.0.0:** |
| 30 | + |
| 31 | +1. **Deno Version**: Upgrade to Deno 2.0 or later |
| 32 | +2. **Installation**: |
| 33 | + ```bash |
| 34 | + # New JSR installation (recommended) |
| 35 | + deno install -g --allow-net --allow-read --allow-write --allow-run jsr:@joakimunge/denoliver@3.0.0 --name denoliver |
| 36 | + |
| 37 | + # Or continue using deno.land/x |
| 38 | + deno install -g --allow-net --allow-read --allow-write --allow-run https://deno.land/x/denoliver@3.0.0/mod.ts --name denoliver |
| 39 | + ``` |
| 40 | +3. **Module Imports**: |
| 41 | + ```typescript |
| 42 | + // New JSR import (recommended) |
| 43 | + import denoliver from 'jsr:@joakimunge/denoliver@3.0.0' |
| 44 | + |
| 45 | + // Or continue using deno.land/x |
| 46 | + import denoliver from 'https://deno.land/x/denoliver@3.0.0/mod.ts' |
| 47 | + ``` |
| 48 | +4. **Interceptors**: Update interceptor function signatures: |
| 49 | + ```typescript |
| 50 | + // Before (v2.x) |
| 51 | + const interceptor = (req: ServerRequest) => { /* ... */ } |
| 52 | + |
| 53 | + // After (v3.0.0) |
| 54 | + const interceptor = (req: Request) => { /* ... */ } |
| 55 | + ``` |
| 56 | + |
| 57 | +--- |
| 58 | + |
| 59 | +## [2.3.1] |
| 60 | + |
| 61 | +### Added |
| 62 | +- Support for `.mjs` files |
| 63 | + |
| 64 | +### Fixed |
| 65 | +- Installation issues on Deno 1.16.1+ |
| 66 | + |
| 67 | +## [2.3.0] |
| 68 | + |
| 69 | +### Fixed |
| 70 | +- Installation broken on version 1.16.1 |
| 71 | +- Updated server request type and fixed failing tests |
| 72 | +- Updated standard library to 0.97 |
| 73 | + |
| 74 | +## [2.2.0] |
| 75 | + |
| 76 | +### Fixed |
| 77 | +- Set fixed version of std lib to 0.81.0 for stability |
| 78 | + |
| 79 | +## [2.1.0] |
| 80 | + |
| 81 | +### Fixed |
| 82 | +- Await respond promise to fix broken pipe errors |
| 83 | + |
| 84 | +### Added |
| 85 | +- HTTP request interceptors (before/after) |
| 86 | +- Injectable middleware system |
| 87 | + |
| 88 | +## [2.0.0] |
| 89 | + |
| 90 | +### Added |
| 91 | +- Major rewrite with new features and improvements |
| 92 | + |
| 93 | +--- |
| 94 | + |
| 95 | +For older versions, see the [Git history](https://github.com/joakimunge/denoliver/commits/master). |
0 commit comments