obug is a lightweight JavaScript debugging utility, forked from debug, with TypeScript and native ESM support. It helps developers enable and disable debug output by namespace (for example via the DEBUG environment variable or browser localStorage), and provides customizable formatting and logging with a small footprint for modern runtimes.
Project status
- Actively maintained, with very recent activity (last upstream push and latest update on 2026-09-09), plus multiple updates within the same day (v3.0.0 and v2.2.1).
- Update cadence looks fast and ongoing recently, with several releases in 2026 (notably v2.2.0 through v3.0.0 on 2026-09-09, then smaller updates in June, July, and November 2025).
AI summary generated
Recent updates
v3.0.0
v3.0.0 primarily changes how the library is resolved and which implementation is selected as the default entry. Internally, the runtime implementations were refactored so that the plain implementation is the base, with the browser implementation delegating to it. The release notes document the main migration items for JSR and package resolution, but there is at least one behavior change in how `obug/plain` handles `useColors`.
Breakingv2.2.1
v2.2.1 is a small maintenance release with one documented change: reducing bundled code by avoiding object spread helpers, plus adding tracking of entry sizes. The implementation mainly affects how the plain (useColors=false) debug instance is constructed, and the README is updated with newly measured bundle sizes.
v2.2.0
v2.2.0 introduces runtime-specific debug output selection (ANSI vs browser-style vs plain console) via conditional exports. It also removes the browser localStorage helper function and updates the browser/runtime wiring accordingly.
Featuresv2.1.4
v2.1.4 is a small bug fix release intended to handle environments where access to environment variables is disallowed. The release notes mention fallback behavior for restricted environments, and the code implements this by safely wrapping access to process.env and using a local env cache.
v2.1.3
v2.1.3 primarily updates package metadata and build tooling configuration. The only user-facing change mentioned in the release notes is adding a `sideEffects` field, alongside a set of dependency bumps in lockfiles.
Featuresv2.1.2
Release v2.1.2 has release notes that claim no significant changes. The actual diff shows multiple repository and packaging updates (JSR publishing config, GitHub workflow changes, and a runtime code tweak in src/node.ts), plus substantial dependency/tooling bumps and a large README expansion.
BreakingFeaturesv2.1.1
v2.1.1 is a small release focused on improving performance in environment variable parsing used for debug inspection options. The diff mainly changes how string values for debug_* flags are coerced into booleans, and makes a minor documentation adjustment in the README.
v2.1.0
v2.1.0 primarily introduces customization of the `humanize` function used to format the time delta in debug output. However, the underlying implementation changes are much broader than the release notes indicate, including a refactor of the public API exports and changes to how formatting hooks receive timing information.
Featuresv1.0.2
Release v1.0.2 does not document any significant changes. The actual diff shows only a package version bump in package.json from 1.0.1 to 1.0.2, with no other code or configuration changes.
v1.0.1
Release v1.0.1 claims no significant changes, but the repo diff shows removal of a TypeScript types file and substantial lockfile/developer-tooling updates. Documentation was also trimmed by removing a “Refactor Plan” section from the README.
v2.0.0
Release v2.0.0 is presented as a rewrite of v2, but the release notes do not enumerate any concrete user-facing changes. The actual diff is small and mostly documentation, with notable public API surface changes in the core/node modules.
Featuresv2.0.0-beta.1
v2.0.0-beta.1 is a major internal rewrite of the library, with the core moved to a new createDebug/enable/disable model and separate environment wrappers for browser and Node. The release notes do not enumerate user-facing API changes, but the diff shows several export and behavior changes that can break existing consumers.
Featuresv1.0.0
Release notes for v1.0.0 state that there are no significant changes. The actual diff shows a major version bump plus substantial TypeScript definition and documentation updates, and a small runtime adjustment related to how properties are attached to the debug function.
Featuresv0.1.3
v0.1.3 primarily changes the published export surface to avoid exposing internal APIs, aligning behavior more closely with the upstream debug package. The code diff shows specific named exports removed and additional CommonJS-style compatibility exports added, along with new conformance tests and stricter CI typechecking.
Breakingv0.1.2
v0.1.2 makes Node the default entry point for the package and includes a small build optimization to reduce generated output. The release notes describe the Node-default behavior and JSDoc removal, but the diff also shows additional packaging and build configuration changes not fully covered.
Breaking