Release engineering, ili releng, je proces pripreme dovršenog računalnog softvera za distribuciju. To može uključivati mnoge odvojene programske i inženjerske discipline, a nisu sve definicije inženjeringa izdanja iste u različitim tvrtkama. Neki od zadataka koji mogu biti uključeni u inženjering izdanja uključuju sastavljanje izvornog koda, praćenje i održavanje razvojnih alata i okruženja, održavanje biblioteke izdanja tijekom cijelog životnog vijeka programa, a ponekad i implementaciju softvera na živom poslužitelju ili sustavu. Neke od prednosti postojanja namjenskog inženjera izdanja u ciklusu razvoja softvera su bolje iskustvo za krajnje korisnike — jer se metode izdavanja prvo testiraju — bolja cjelokupna dokumentacija programa tijekom nadogradnje i svojevrsna kontrola kvalitete u situacijama u kojima se dijelovi programa potječu iz zasebnih izvora.
Tijekom razvoja softvera dolazi do točke u kojoj je aplikacija dovršena i treba je ili distribuirati korisnicima ili instalirati na live server kako bi se mogla koristiti. Bez inženjera za izdavanje, ovaj proces bi mogao uključivati da programeri kompiliraju program putem razvojnih alata, a zatim premještaju binarne datoteke na ciljni medij ili poslužitelj. Neki od problema koji se mogu susresti s ovim procesom su da program može imati ovisnosti koje nisu kvantificirane, neke promjene mogu biti zaboravljene ili, u konačnici, proces možda neće nužno biti reproduciran u budućnosti.
Jedan od najvećih dijelova inženjeringa izdanja je praćenje napretka razvoja programa. To bi moglo značiti korištenje sustava za utvrđivanje verzija ili korištenje drugog softvera ne samo za praćenje i označavanje svakog koraka programa tijekom njegovog razvoja, već i za pohranu snimaka programa kako bi se kasnije mogli pozvati. Uz samo rukovanje izvornim kodom, uspješna izrada programa zahtijeva i pohranu informacija o alatima koji se koriste i različitim bibliotekama ili drugim resursima koji se koriste. Konačni cilj je mogućnost ponovnog kompajliranja programa u bilo kojoj fazi njegova razvoja, neovisno o razvojnim sustavima koji su korišteni za njegovu izradu.
Drugi mogući dio inženjeringa izdanja je priprema aplikacije za distribuciju kupcima. Nakon što je program preveden u binarne datoteke, razvijaju se i istražuju metode za instaliranje programa na računalo krajnjeg korisnika. To bi moglo uključivati pisanje instalacijskog programa ili testiranje programa u različitim situacijama ako je aktivan kako bi se osiguralo da radi u skladu sa specifikacijama. Inženjering izdanja ponekad uključuje stvarno instaliranje programa više puta na više sustava kako bi se osiguralo da se različite konfiguracije ili pogreške obrađuju na ispravan način.