Skip to content

Commit 52298e5

Browse files
committed
Add CHANGELOG.md, change prefix to [debugger], default consoleOutput/logExceptions to true
1 parent 9c2983b commit 52298e5

File tree

16 files changed

+223
-22
lines changed

16 files changed

+223
-22
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ test-output.txt
2828
# Markdown (except docs)
2929
*.md
3030
!README.md
31+
!CHANGELOG.md
3132
!AGENTS.md
3233
!JAVA_AGENT.md
3334
!docs/*.md
35+
examples/docker/.vscode/settings.json

CHANGELOG.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Changelog
2+
3+
## [3.0.0.3-SNAPSHOT] - 2026-02-11
4+
5+
### Fixed
6+
7+
- **Exception breakpoints now work in native mode (Lucee 7.1+)** - Fixed critical bug where onException() was never called for uncaught exceptions. Added onException() call in Lucee's PageContextImpl.java execute() catch block.
8+
- Docker example .lco file deployment - Fixed COPY path in Dockerfile to correctly reference files from build context
9+
10+
### Changed
11+
12+
- Log prefix changed from `[luceedebug]` to `[debugger]` for consistency
13+
- Exception logging now defaults to `true` (was `false`) - exception details are lost after continuing, so logging them makes sense
14+
- Console output streaming now defaults to `true` (was `false`) - it's a debug tool, DX matters more than a bit of overhead
15+
- onException() calls now log at DEBUG level instead of INFO - reduces noise in debug console
16+
17+
### Added
18+
19+
- Test infrastructure for exception logging configuration (logLevel and logExceptions parameters)
20+
- Three new tests for exception logging behavior:
21+
- testExceptionLoggingWithLogExceptionsEnabled
22+
- testExceptionLoggingDisabled
23+
- testOnExceptionCalledLogsAtDebugLevel
24+
25+
### Removed
26+
27+
- Diagnostic logging from isDapClientConnected() - simplified to just return the boolean flag
28+
29+
## [3.0.0.2-SNAPSHOT] - 2026-01-30
30+
31+
### Changed
32+
33+
- Reduced client logging verbosity for cleaner debug output
34+
- Improved Docker example documentation with detailed logging explanations
35+
36+
### Added
37+
38+
- Documentation for `LUCEE_DEBUGGER_DEBUG` environment variable for verbose server-side logging
39+
- IDE integration tips for Neovim and JetBrains in Docker example README
40+
41+
## [3.0.0.1-SNAPSHOT] - 2026-01-28
42+
43+
### Added
44+
45+
- **Docker example** - Complete working example with Lucee 7.1 in Docker, includes VS Code, Neovim, and JetBrains configurations
46+
- `LUCEE_DAP_HOST` environment variable for binding DAP server to specific addresses (default: localhost, use `0.0.0.0` for Docker)
47+
- Maven Central publishing support in CI/CD
48+
- AGENTS.md documentation for building from source
49+
50+
### Changed
51+
52+
- **Migrated from Gradle to Maven** build system
53+
- VS Code extension migrated to lucee publisher for Marketplace release
54+
- Updated tests to use published Lucee 7.1 alpha instead of custom builds
55+
56+
### Fixed
57+
58+
- .lex deployment with correct GAV (Group-Artifact-Version) in manifest
59+
- CI deploy job GPG configuration

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ The simplest and most efficient way to use luceedebug. No JVM configuration requ
3030

3131
**Setup:**
3232

33-
1. Install the extension via Lucee Admin, using `LUCEE_EXTENSIONS=org.lucee:debugger-extension:3.0.0.2-SNAPSHOT`, or deploy the `.lex` file to your extensions folder
33+
1. Install the extension via Lucee Admin, using `LUCEE_EXTENSIONS=org.lucee:debugger-extension:3.0.0.3-SNAPSHOT`, or deploy the `.lex` file to your extensions folder
3434
2. Set environment variables:
3535

3636
```bash
@@ -98,9 +98,9 @@ These options control how the debug adapter behaves. They apply regardless of wh
9898
| `port` | DAP server port (must match `LUCEE_DAP_PORT`) |
9999
| `secret` | Authentication secret (must match `LUCEE_DAP_SECRET`, required for extension mode) |
100100
| `logLevel` | Log verbosity: `error`, `info`, `debug`, `trace` (default: info) |
101-
| `consoleOutput` | Stream console output to debug console (extension mode only, default: false) |
101+
| `consoleOutput` | Stream console output to debug console (extension mode only, default: true) |
102102
| `evaluation` | Enable expression evaluation in console/watch/hover (default: true) |
103-
| `logExceptions` | Log exceptions to the debug console (default: false) |
103+
| `logExceptions` | Log exception stacktraces to the debug console (default: true) |
104104

105105
### DAP Capabilities
106106

agent/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
</scm>
3939

4040
<properties>
41-
<revision>3.0.0.2-SNAPSHOT</revision>
41+
<revision>3.0.0.3-SNAPSHOT</revision>
4242
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
4343
<maven.compiler.source>11</maven.compiler.source>
4444
<maven.compiler.target>11</maven.compiler.target>

examples/docker/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1-
FROM lucee/lucee:7.1.0.46-SNAPSHOT-nginx-tomcat11.0-jdk25-temurin-noble
1+
FROM lucee/lucee:7.1.0.48-SNAPSHOT-nginx-tomcat11.0-jdk25-temurin-noble
22
# COPY target/debugger-extension-*.lex /opt/lucee/server/lucee-server/deploy/
3+
# COPY examples/docker/*.lco /opt/lucee/server/lucee-server/deploy/

examples/docker/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ See the [main README](../../README.md) for all configuration options, DAP capabi
8686

8787
The Lucee 7.1+ Docker image is used, with the debugger extension being installed via an env var:
8888

89-
`LUCEE_EXTENSIONS: org.lucee:debugger-extension:3.0.0.2-SNAPSHOT`.
89+
`LUCEE_EXTENSIONS: org.lucee:debugger-extension:3.0.0.3-SNAPSHOT`.
9090

9191
Three env vars enable the debugger:
9292

examples/docker/app/index.cfm

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,29 @@
11
<cfscript>
2+
3+
deploy = directoryList("/opt/lucee/server/lucee-server/deploy/");
4+
dump(deploy);
5+
flush;
6+
27
systemOutput("Request: " & cgi.request_url, true);
38
greeting = "Hello from Lucee!";
49
now = now();
10+
11+
12+
systemOutput("Triggering breakpoint via BIF", true);
13+
breakpoint();
514
</cfscript>
615
<cfoutput>
716
<h1>#greeting#</h1>
817
<p>#dateTimeFormat( now, "full" )#</p>
18+
919
</cfoutput>
20+
<cfscript>
21+
22+
systemOutput("Triggering breakpoint via throw", true);
23+
24+
function throwWithStack(){
25+
throw("zac");
26+
}
27+
28+
throwWithStack();
29+
</cfscript>

examples/docker/docker-compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ services:
77
LUCEE_DAP_SECRET: my-secret
88
LUCEE_DAP_PORT: 10000
99
LUCEE_DAP_HOST: 0.0.0.0
10-
LUCEE_LOGGING_FORCE_APPENDER: console
10+
LUCEE_LOGGING_FORCE_APPENDER_: console
1111
LUCEE_LOGGING_FORCE_LEVEL: info
1212
LUCEE_DEBUGGER_DEBUG: false
13-
LUCEE_EXTENSIONS: org.lucee:debugger-extension:3.0.0.2-SNAPSHOT
13+
LUCEE_EXTENSIONS: org.lucee:debugger-extension:3.0.0.3-SNAPSHOT
1414
ports:
1515
- "8888:8888"
1616
- "10000:10000"

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>org.lucee</groupId>
66
<artifactId>debugger-extension</artifactId>
7-
<version>3.0.0.2-SNAPSHOT</version>
7+
<version>3.0.0.3-SNAPSHOT</version>
88
<packaging>pom</packaging>
99
<name>Debugger Extension</name>
1010

source/java/src/org/lucee/extension/debugger/DapServer.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -583,13 +583,13 @@ private void configureLogging(Map<String, Object> args) {
583583
}
584584
}
585585

586-
// logExceptions - default false
587-
Log.setLogExceptions(toBooleanValue(args.get("logExceptions"), false));
586+
// logExceptions - default true (exception details are lost after continuing)
587+
Log.setLogExceptions(toBooleanValue(args.get("logExceptions"), true));
588588

589-
// consoleOutput - default false (streams System.out/err to debug console)
589+
// consoleOutput - default true (streams System.out/err to debug console)
590590
// Only available in native mode
591591
if (luceeVm_ instanceof NativeLuceeVm) {
592-
NativeDebuggerListener.setConsoleOutput(toBooleanValue(args.get("consoleOutput"), false));
592+
NativeDebuggerListener.setConsoleOutput(toBooleanValue(args.get("consoleOutput"), true));
593593
}
594594
}
595595

0 commit comments

Comments
 (0)