Auric

Auric Player — Changelog

1.12.0

License & subscription

  • The Manage Subscription button now only appears when your license is actually a subscription. Lifetime keys and manually-issued licenses see a Lifetime License badge instead of a button that errored out trying to open a billing portal that doesn't exist
  • Subscription state is fetched on activation and refreshed in the background, so cancellations or plan changes propagate without re-entering your key
  • The in-app Buy License links now go to the working pricing page

Track edits

  • Multi-track edits now show a labeled progress bar in the sidebar with a count of completed items, so long batch operations (artwork updates, tag rewrites) are visible without blocking the editor

Under the hood

  • Indie and App Store builds now share less code at compile time. The App Store binary no longer includes the indie license-activation paths, and the indie binary is unchanged in behavior

1.11.2

Performance

  • Artists, Genres, and Album detail panels rebuilt on the system's native list-with-sections rendering. Cells are now recycled during scroll and resize, and the Liquid Glass surfaces around them stay cached, so window resize feels closer to how the fullscreen player feels
  • Artist and Genre sidebar selection switched to the system's native selection styling. Clicking a row no longer recomputes every other row's appearance, and selection feel is instant on large libraries
  • Faster artist list scrolling. Portrait disk reads now run off the main thread, and a synchronous in-memory fast path means already-loaded portraits render without an actor hop
  • Queue rebuilt on the same native rendering

Album detail

  • Track rows now align cleanly past the cover edge instead of indenting under the album title column. The leading offset scales with the cover artwork size at every UI density

Songs view

  • No behavior change. The selection / double-click / column-resize / column-customization behavior shipped in 1.11.1 is preserved. A future release will migrate this view to the same native rendering once we can keep its keyboard, click, and drag-out behavior identical to today

1.11.1

Fix

  • Window zoom and scrolling on Songs and other primary library views were laggy in 1.11.0 vs 1.10.5. The cushion added in 1.11.0 to keep content above the floating mini-player was forcing per-frame content-size recomputation on long lists. Removed for now — long lists will scroll under the mini-player at the bottom, matching 1.10.5 behavior. A non-laggy alternative will land in a future release

1.11.0

Sync to iPhone

  • New Devices section in the sidebar. When an iPhone or iPad running Auric for iOS is on the same Wi-Fi network and paired, it appears here with a green online dot, last-seen / last-sync time, and a per-device settings panel: transcode format and bitrate, max sample rate, max bit depth, artwork max size, on-device storage cap, sync-playlists toggle, and unpair
  • Heartbeat keep-alive — the online dot now stays lit while iOS is on a sync screen, not just during active manifest fetches or downloads

Stats overhaul

  • New Listening / Library segmented mode picker. Listening mode shows total time, last-30-days time, current streak, daily-listening chart for the past 30 days, top tracks, top artists, and recently played. Library mode shows track / album / artist / format / genre / decade breakdowns
  • Export, Import, and Share — share renders the full Stats page as Markdown, HTML, plain text, JSON, or PNG. Snapshots are dated; importing on a fresh install dedupes by play timestamp and recomputes per-track playCount from the merged event log so a stale machine can't clobber a current one's plays

Unified screen headers

  • Songs, Albums, Artists, Genres, Stats, Queue, and Device Detail all use the same header component. Identical heights, padding, placement, and behavior across every primary screen
  • Responsive layout — when the window is narrow, the title and subtitle drop to a second row beneath the search field and controls instead of being clipped

Album and Artist detail

  • Album detail — cover sized 2× the previous artwork token, large title, accent-blue artist link, “Genre · Year · tracks · duration” metadata line, and glass-capsule Play and Shuffle circle buttons
  • Artist detail — the gradient hero and horizontal album rail are gone. Each album in the artist's library now renders as its own section with a large cover, album title and year, and tracks aligned beneath. Hairline divider between sections
  • “Similar in Library” and “You Might Also Like” recommendations are now visible without expanding the bio toggle

Navigation and shortcuts

  • ⌘LGo to Current Song. Routes contextually based on the active view (Songs, Artists, Albums, Genres, Playlists). Tapping the mini-player album art or track info uses the same path
  • Right-click and the overflow “…” on the docked and floating mini-players show the same context menu as the song list
  • Genre autocomplete in the track info editor, sourced from existing values in your library. Genre tags are now written to file metadata on save
  • Double-clicking the title-bar zone now honors macOS's “Double-click a window's title bar to” system preference (Maximize / Fill / Minimize / None)

Fullscreen player

  • Visualizer toggle moved to the top-left. Visualizer is now the full-view background under the controls, native macOS fullscreen mode, auto-hiding menu bar and dock
  • Right-click anywhere in the fullscreen view to switch visualizer style
  • Find-missing-artwork triggers automatically when entering fullscreen on a track without art

Library and external services

  • Watched-folder removal no longer beachballs the app on large libraries. Cleanup runs on a detached ModelContext with a single SQL delete instead of iterating tracks Swift-side
  • Last.fm artist info, similar-artist recommendations, and AcoustID-based CD identification now ship working out of the box on every install. API keys are baked into the public binary instead of relying on per-machine build environment variables

Performance

  • Stats and Artist detail derivations are cached on data-change instead of recomputed on every body evaluation. Removed a per-frame Task @MainActor dispatch from every ScrollView's background-clearing modifier. Replaced a GeometryReader per album card with native scaled-fill sizing. Trimmed duplicate data-change observers across the Albums and Genres views. Debounced fullscreen cursor wake to 500 ms so continuous-hover doesn't allocate a Task per frame

1.10.5

Installer

  • New drag-to-install DMG. Mounting the download now shows Auric.app next to an Applications shortcut; drag one onto the other to install. The old zip is still included on the releases page as a fallback

Keyboard shortcuts

  • ⌘A now reliably selects every track in the current view. SwiftUI was auto-focusing the library's search field on window activation, which hijacked Cmd-A to select (empty) search text. The shortcut now routes to the track list whenever one is visible
  • ⌘I now opens the multi-track info editor on the current selection. Pick multiple tracks in Library, Artist, Album, or Genre views and press Cmd-I to edit their metadata in bulk with “Mixed” detection for fields that differ across the selection

1.10.4

Fix

  • Fixed a launch crash caused by SwiftData aborting inside the AlbumArtwork relationship-fault path on macOS 26.4 Release builds. The dedup store introduced in 1.10.0 is no longer accessed at runtime; artwork is stored inline on each track. Libraries that were migrated into the dedup store in 1.10.0–1.10.3 will show no artwork on their existing tracks — re-import or use Find Album Art from the context menu to restore it. Dedup will return properly in a later release
  • Retains the memory, progress-bar, and Mac↔iOS sync fixes from 1.10.0–1.10.3

1.10.3

Fix

  • Fixed a launch crash and an import crash introduced in 1.10.1. The new stable sync-ID column added to Track and Playlist was causing SwiftData to fail a dynamic cast when faulting the AlbumArtwork relationship during view rendering and during batch saves. The column has been removed; sync identifiers fall back to file path (tracks) and a deterministic name+creation-timestamp string (playlists), which is not as robust as UUIDs but doesn't crash. A proper stable-ID scheme will return in a later release behind a versioned schema migration
  • All other 1.10.1 Mac↔iOS sync reliability fixes remain in place: version check on pair, off-main file read for track downloads, inbound-frame serialization via AsyncStream, multi-chunk track response writes instead of a concatenated blob, send-error logging

1.10.2

Fix

  • Fixed a crash when importing tracks from a watched folder. The 1.10.1 sync-reliability release introduced a new stable-ID field on Track and Playlist and populated it in the object initializer; SwiftData's save path hit a dynamic-cast abort on the first batch save. Tracks and Playlists now get their ID assigned lazily from the startup backfill and sync handlers, which avoids the hazard

1.10.1

Mac ↔ iOS sync reliability

  • Tracks and playlists now ship stable UUID identifiers in the sync manifest, replacing the old file-path (tracks) and in-memory hash (playlists) IDs. Fixes playlists appearing to churn or duplicate after the Mac is restarted, and fixes synced tracks becoming unreachable after a file move or drive remount
  • Track-download requests now use an indexed lookup instead of scanning the whole library. Serving a track no longer pulls tens of thousands of rows into memory per request
  • Large track files are memory-mapped and read off the main thread, so the UI no longer stalls for a second or two when the iPhone downloads a hi-res FLAC
  • Inbound sync requests are now strictly serialized — two requests in flight can't produce out-of-order responses under load
  • Track response bodies are written to the socket in separate chunks instead of concatenated into a single multi-hundred-MB buffer
  • Pairing now rejects version-mismatched clients without burning the PIN, and send failures are logged for diagnostics

ⓘ iOS re-sync on first connect

Because sync identifiers changed shape, any paired iPhone will see its current Auric library as "disappeared" on the next sync and re-download tracks + playlists once. Your Mac library is untouched. The iOS app can smooth this over once it ships its matching update.

1.10.0

⚠️ Library reset required

This release introduces a new deduplicated artwork store and reworks the library import pipeline. The first launch will reset your library — watched folders, playlists, play history, ratings, and Drift analysis will need to be re-added. Your audio files on disk are untouched. Re-add your watched folder and Auric will rebuild everything on the first scan.

Memory & import

  • Fixed a catastrophic memory leak in the library scanner that could consume 100+ GB of RAM on hi-res FLAC libraries with embedded cover art. Imports now run in bounded batches with a peak memory footprint under 500 MB regardless of library size
  • Track scanning progress bar now updates incrementally during a scan instead of jumping from 0 → 100% at the end
  • New AlbumArtwork store: cover art is deduplicated across tracks. An album with 12 identical embedded covers now stores one copy instead of twelve, typically cutting artwork disk usage by 10–50×
  • Full-quality artwork is preserved at import and when writing metadata back to files — no lossy downsizing

File export

  • New Settings → Library → Rename Files on Export. When on, dragging a track out of Auric or exporting a playlist renames the copy using its metadata: Artist - Album - Track # - Title.ext. Your originals are never touched

Fixes

  • ⌘C, ⌘V, ⌘X, ⌘A, and Delete work correctly in text fields everywhere in the app. The global Select All still selects every track in the current view when a track list is focused
  • Default density rows have more breathing room; Loose density shows larger artist avatars; Tight density uses full-size type so dense layouts stay legible

1.9.0

UI Density

  • Three layout densities in Settings → Appearance: Tight, Default, Loose. Tight hides row artwork, reduces row heights, and drops the per-artist song count; Loose enlarges album covers and adds breathing room. Applies across Library, Queue, Artists, Albums, Genres, and Now Playing
  • Full design-token pass: every font size, color, spacing value, radius, and frame dimension now flows through a named token. No more scattered magic numbers

Apple Music & iTunes

  • Album art now resolves through the Apple Music catalog first (via iTunes Search → Apple Music lookup), with iTunes and MusicBrainz as fallbacks — higher hit rate and 2400×2400 artwork
  • Real artist portraits in the Artists list and detail hero, pulled from the Apple Music catalog and cached locally
  • File → Library → Import from Music.app / iTunes… — merges play counts, skip counts, ratings, last-played timestamps, and earlier date-added from an iTunes Library.xml into existing tracks

Playlists

  • Add to Playlist submenu on every track context menu, with a Recent section for the last four playlists you added to
  • Adding duplicate tracks now prompts with Skip / Add Anyway, plus an "Apply to all remaining duplicates" checkbox for batch adds
  • Remove from "<playlist>" context action — appears in playlist views, and also on the currently-playing track anywhere else in the app when it's playing from a playlist shuffle

Library Stats

  • Tracks now carry a 0–5 star rating, visible and editable from the context menu, Metadata Panel, and the new Rating column in Library
  • Play count, skip count, and Last Played are tracked on every play — feed into smart playlists and the new Stats view
  • New Stats sidebar item: total listening time, top tracks, top artists, recently played, listening streak, and a daily listening bar chart for the last 30 days

Command Palette

  • ⌘K opens a fuzzy-searchable command palette: navigation, playback, library actions, playlists, and tracks in one place
  • Arrow keys to select, Return to run, Esc to close. Score-based fuzzy matching (consecutive runs, word-boundary bonuses, camelCase)

Lyrics

  • Lyrics view in the expanded Now Playing panel — toggle between artwork and lyrics with one button
  • Reads embedded lyrics from file tags first (ID3 USLT, MP4 ©lyr, Vorbis LYRICS field), falls back to lrclib.net
  • Time-synced lyrics auto-scroll to the current playback position; plain lyrics show as a single readable block

Audio

  • Headphone correction: Settings → Audio → Headphone Correction imports AutoEq ParametricEq.txt files and applies up to 10 parametric bands on top of your usual EQ — flatten any headphone to the Harman target
  • Output device routing: new speaker/AirPlay picker next to the visualizer toggle in the Now Playing bar. Route to any connected AirPlay device or keep the system default

CD Ripping

  • File → Library → Rip Audio CD… — insert an audio CD and rip selected tracks to FLAC, Apple Lossless, or AIFF
  • Automatic disc identification via MusicBrainz: track titles, artist, album, and year are filled in before the rip completes. Files are named and foldered by that metadata

iPhone Library Sync

  • New Sync tab in Settings. Share your Mac's library with Auric on your iPhone over local Wi-Fi: 6-digit PIN pairing, Keychain-backed paired device list, per-device unpair

Licensing

  • License keys are now emailed automatically after checkout (via Resend) in addition to being shown on the success page
  • Manage Subscription button in Settings → License opens the Stripe billing portal in your browser — update card, change plans, cancel anytime
  • Webhook now properly handles subscription cancellations, refunds, and chargebacks, so cancelled subscribers lose access as expected
  • Activation endpoint hardened with rate limiting and a single generic error on failure to prevent key enumeration

Polish

  • Services settings pane rebuilt with native Form rows — tighter alignment, single consolidated encryption notice, text-field placeholder no longer escapes the field
  • Keyboard-navigable track rows and context menus across every view
  • Rewrite of LibrarySyncService (Swift 6 concurrency), artist avatar component, and the full dedup/intelligence layer for playlist add/remove

1.8.0

Fullscreen

  • New dedicated fullscreen now-playing experience: big blurred-artwork backdrop, large artwork hero, draggable progress bar, glass transport controls
  • Liquid glass queue panel on the right showing the last 8 played tracks plus everything up next, auto-scrolling to keep the current track centered
  • Generative visualizer driven by the track's BPM, musical key, and energy — toggle between artwork and visualizer with V
  • Keyboard shortcuts: Space play/pause, previous/next track
  • Cursor auto-hides after three seconds of inactivity for a clean, immersive view

Navigation

  • Opening an album is now instant with no flash of the albums grid behind it — rebuilt on a real NavigationStack
  • Back always returns to the previous section with the same track selected and scroll position preserved
  • Go to Artist, Go to Album, and Go to Genre added to every track right-click menu

Artist + Album Views

  • Artist view gets a new hero: blurred album-art mosaic backdrop, stats strip (tracks, albums, total listening time), horizontal scrolling albums rail
  • Hovering an album in the rail dims tracks that aren't on that album — scan an artist's catalog by album at a glance
  • Album detail surfaces average BPM, dominant key, and average energy when tracks are analyzed
  • Typography pass on Last.fm artist bios: paragraph spacing, decoded HTML entities, cleaner disambiguation headings for artists with shared names, capped line width for readability

Metadata Panel

  • Redesigned with a blurred artwork backdrop, Drift chips (BPM, Key, Energy), two-column stats grid, and a collapsible File Info disclosure
  • Batch metadata editing: select multiple tracks, open Get Info, and changes apply to every track in the selection — fields with different values show "Multiple values" and stay untouched unless you type a new value

Album Art

  • Find Album Art now uses the iTunes Search API as its primary source — mainstream albums hit reliably, with MusicBrainz + Cover Art Archive as the fallback for deeper catalogs
  • Artwork applies to every track in the album across your library, not just the selected ones, and is embedded into the audio file itself so other players see it too
  • Clear progress overlay centered over the main window while the search runs

Metadata Writing

  • Auric now writes its own BPM and musical key analysis back to audio files, so the tags travel with your music across apps
  • WAV files get a full ID3v2 chunk covering every editable field (was previously limited to six fields)
  • M4A writes composer and comment atoms (previously dropped on save)

Licensing

  • A single license key can now unlock both Auric Player and Auric Converter
  • Settings → License gained an Enter License button — no need to wait for trial expiry to register a key

Polish

  • Single-instance main window: clicking the dock icon focuses the existing window instead of opening a new one
  • Smart Playlists save without requiring a name (auto-named from the first rule, or "Smart Playlist")
  • Sidebar section header → content spacing tightened
  • Album grid no longer mounts when viewing a specific album, saving resources
  • Visualizer and Canvas views pause their render loop when playback is paused

1.7.2

Bug Fixes

  • Fixed: ⌘I now opens info for the selected track in Queue, Albums, Artists, and Genres views. Previously it always opened the currently playing track unless you were in the Songs view.

1.7.1

Bug Fixes

  • Fixed: Genres, Albums, and Artists views now refresh immediately after editing track metadata. Previously, the old group could linger and the new group wouldn't appear until app restart.

Menus

  • Duplicate Finder moved from the Window menu to the Library menu, next to Remove Missing Tracks

Sidebar

  • Section "+" buttons (Watched Folders, Smart Playlists, Playlists) now fade in only when the header is hovered, keeping the sidebar quieter at rest

1.7.0

Duplicate Finder

  • New Window → Duplicate Finder with its own resizable window for long-running cleanup sessions
  • Match criteria for Artist, Title, and Album with three levels: Exact, Similar (Damerau-Levenshtein fuzzy matching), or Any
  • Optional "Match track numbers" toggle to avoid grouping different tracks from the same album
  • Worst version (lowest bitrate) is pre-selected in every group
  • Move selected duplicates to the Trash with a confirmation dialog
  • Ignore groups to keep them out of future scans; an "Ignored Pairs" section lets you unignore them later

Multi-Select

  • Consistent ⌘-click (toggle), ⇧-click (range), ⌘A (select all), and ⌘⌫ (delete) across Queue, Albums, Artists, and Genres views
  • Shift-click now replaces the selection with the anchor-to-clicked range and keeps the anchor fixed until a plain or ⌘-click moves it, matching Finder behavior
  • Context menus on Albums, Artists, and Genres track rows now include Play, Play Next, Add to Queue, Get Info, Reveal in Finder, Identify, Find Album Art, Love on Last.fm, and Delete from Library

File Handling

  • Auric is registered as the default handler for FLAC, Ogg Vorbis, MP3, AAC/M4A, ALAC, WAV, and AIFF
  • Double-click any supported audio file in Finder to import it into the library and start playback
  • Multi-file selections from Finder are imported as a single queue

1.6.5

Library

  • Library → Add Files… (Cmd+Shift+O) opens a file picker to add individual audio files to the library
  • Library → Remove Missing Tracks removes any track whose underlying file is no longer on disk; tracks on unmounted volumes are left alone
  • Cmd+Backspace deletes the selected tracks from the library, with a confirmation prompt that can be silenced with "Don't ask again"

Watched Folders

  • Adding a watched folder now adopts existing library tracks whose files are inside that folder, rather than creating duplicate entries

1.6.4

Library

  • One-time cleanup: removes stale track references left behind by earlier versions so the Songs view reflects only real tracks

1.6.3

Watched Folders

  • Fixed: new files added to a watched folder now appear immediately after clicking "Rescan," without needing to restart the app

1.6.2

Window

  • Added "Auric Library" command to the Window menu (Cmd+0) so the main window can be reopened after closing it

Radio

  • Audio mode selector for hosts: Lossless PCM, AAC 320 kbps, AAC 256 kbps, or AAC 96 kbps
  • Public IP consent prompt when hosting, so cross-network listeners can join

Performance

  • Drift audio analysis (BPM, key, energy, brightness) moved to a native Rust engine for faster library scanning
  • Smart shuffle scales to libraries of any size: full Drift ranking caps at 2,000 tracks, larger libraries get a fast Fisher-Yates fallback so shuffle stays instant

Compatibility

  • Replaced deprecated kIOMasterPortDefault API with kIOMainPortDefault for macOS 26

1.6

New Icon

  • Redesigned app icon with automatic dark and light mode variants

Visualizer

  • Rebuilt rendering engine with Milkdrop-style feedback buffer for smoother, more reactive visuals
  • New styles: Fractal, Nebula, and Vortex
  • Visualizer now opens in its own resizable window
  • Customization controls overlay for adjusting styles and parameters in real time
  • Controls restyled with Liquid Glass
  • Style picker changed from segmented control to dropdown menu
  • Removed Spectrum and Waveform styles (consolidated into the new engine)

Keyboard & Selection

  • Comprehensive keyboard shortcuts across the app
  • Cmd+A select all in track lists
  • Multi-select context menu for bulk actions
  • Visualizer and Equalizer toggles added to the View menu

Bug Fixes

  • Fixed broken visualizer rendering with boosted overlay intensities
  • Fixed Queue header typography not matching app style
  • Fixed compiler warnings in visualizer and app termination code
  • Fixed concurrency warnings in render pass descriptor access

1.5

Playback Queue

  • New Queue view in the sidebar showing the full playback queue with track numbers, artwork, and current track highlight
  • Right-click any track, playlist, or folder to "Add to Queue" or "Play Next"
  • Reshuffle the queue at any time from the Queue view header
  • Remove individual tracks from the queue via right-click

Theme Engine

  • Replaced the custom color wheel and font color system with native Liquid Glass appearance
  • Appearance mode selector: System, Light, or Dark
  • New color tint system: pick any color and control intensity from fully transparent (pure glass) to fully opaque (solid color)
  • All UI colors now use system semantic colors that adapt correctly to light and dark modes
  • Accent color follows the macOS system highlight color

Performance

  • All library scanning and metadata extraction now runs on a background actor using SwiftData's @ModelActor, completely off the main thread
  • Tracks on disconnected volumes are automatically dimmed and excluded from playback without blocking the UI
  • Volume availability cache prevents repeated file system hits on dead mounts
  • Library view updates debounced during scanning to prevent repeated sorting of large libraries
  • Removed @Query sorting overhead (was re-sorting 20K+ tracks on every database save)
  • Scan progress bar in the sidebar shows real-time import progress
  • Braille spinner next to folder name while scanning

Library Management

  • Configurable scan interval: 15 min, 30 min, 1 hour, 6 hours, on launch only, or manual only
  • Rescan button next to the folder name when viewing a watched folder
  • Right-click context menus on sidebar section headers for quick creation
  • New split +/chevron button for creating playlists, smart playlists, watched folders, and playlist folders
  • "Directories" renamed to "Watched Folders"
  • Tracks from disconnected drives shown at 35% opacity with playback disabled
  • Tracks automatically re-enabled when drives reconnect

Stability

  • Fixed crash when audio output device disconnects during playback (headphones unplugged, Bluetooth speaker disconnects)
  • Fixed crash from infinite recursion in AudioEngine volume property
  • Fixed crash from force unwraps in Drift shuffle engine with empty candidates
  • Fixed app freeze when watched folder is on a disconnected drive
  • Fixed app freeze during large library imports (20K+ tracks)
  • Fixed metadata panel crash when displayed track is deleted
  • Fixed queue index crash when track is deleted during playback
  • Fixed corrupt WAV/AIFF/FLAC files causing infinite loops in metadata parser
  • Added 60-second timeout on AcoustID fingerprint generation
  • Added 30-second timeout on folder enumeration
  • Added 10/30-second timeouts on Last.fm and MusicBrainz API calls
  • Added disk space check before metadata writes to prevent file corruption
  • Added 20MB cap on album art downloads to prevent out-of-memory
  • Fixed playlist track references orphaned when deleting a watched folder
  • Fixed Sparkle framework code signing (resource fork files breaking Gatekeeper)
  • Added SwiftData schema migration for safe upgrades from v1.0

Audio

  • Audio engine automatically recovers when the output device changes mid-playback
  • Volume normalization now uses vectorized vDSP for fast RMS calculation
  • EQ rebuilt with functional custom vertical sliders (the rotated slider approach was broken)
  • Visualizer frequency bands now use the actual audio sample rate instead of hardcoded 44100 Hz
  • Visualizer time accumulator wraps to prevent float precision loss after extended sessions
  • Fixed miniplayer popout positioning off screen

Shuffle

  • Shuffle button now picks a random starting track instead of always starting at the first track
  • All views (Library, Albums, Artists, Genres) now use Drift for queue ordering instead of Swift's built-in .shuffled()

Removed

  • Removed Apple Music integration (was non-functional, only opened URLs in the browser)

1.2

  • Auric Drift: intelligent shuffle with BPM, key, energy, and brightness analysis, harmonic mixing, genre-aware transitions, and freshness modeling
  • 10-band graphic equalizer with 23 presets and auto pre-gain
  • Hardware sample rate matching for bit-perfect hi-res playback
  • Exclusive (hog) mode for direct DAC output
  • Gapless playback
  • Volume normalization with configurable LUFS targeting

1.0

  • Initial release