Tags give the ability to mark specific points in history as being important
-
v0.4.0
protectedRelease: Release v0.4.0062f6a4e · ·Zero-copy ByteBuffer overloads on OpusEncoder and OpusDecoder OpusDecoder.MAX_PCM_FRAME_SAMPLES promoted to public for use in buffer-sizing calculations outside the library. OpusDecoder.getMaxPcmFrameBytes() and getMaxPcmFrameFloatBytes() — return the exact maximum output buffer size in bytes for this decoder's channel count. OpusEncoder, OpusDecoder, and OpusRepacketizer now use Arena.ofShared() for their long-lived native buffers. Create, use, and close may now happen on different threads
-
v0.3.2
protectedRelease: Release v0.3.23164eb1a · ·panopus.libopus.path JVM system property: set to a full path to load a specific libopus shared library instead of the OS default. Useful for bundling or testing against a non-system build of libopus without needing OS environment variables. When the library cannot be loaded, a descriptive IllegalStateException is thrown with installation hints and the underlying OS error, instead of a bare IllegalArgumentException: Cannot open library. README "Custom library path" section restructured to document the new JVM system property as the primary (recommended) approach, with OS-level env-var mechanisms moved to a secondary option.
-
v0.3.1
protectedRelease: Release v0.3.1c5acb00f · ·Opus.isAvailable() — returns false when libopus cannot be found or loaded, allowing consumer applications to handle native library absence gracefully without encountering ExceptionInInitializerError or NoClassDefFoundError. Upgraded Gradle wrapper to 9.5.1. Corrected GitLab CI pipeline stage ordering.
-
v0.3.0
protectedRelease: Release v0.3.05a5a1393 · ·Maven Central publishing via com.vanniktech.maven.publish 0.36.0; artifacts are signed with GPG and uploaded directly to the Central Portal. CI publishes automatically on version tags when the signing credentials are configured. Javadoc hosted on javadoc.io and linked from the README badge. Real audio round-trip tests across all Opus-supported sample rates (8 / 16 / 48 kHz) using raw PCM test resources derived from a 3-second stereo reference recording. External packet decoder compatibility tests: 151 Opus packets pre-encoded by ffmpeg verify decoder correctness independently of the panopus encoder. tools/extract_opus_packets.py — extracts raw Opus audio packets from an Ogg container into a simple length-prefixed binary format for use as test resources.
-
v0.2.0
protectedRelease: Release v0.2.06ec27563 · ·Performance: Pre-allocate native buffers in OpusEncoder, OpusDecoder, and OpusRepacketizer to eliminate per-call Arena allocations, reducing GC pressure and overhead on hot encode/decode paths. Fixed: GitLab CI pipeline release job. Tests: Added regression tests for returned-array independence in encoder and decoder.