The US attack on a hospital in Afghanistan which killed 42 people occurred because of human errors, process errors and equipment failures, a top general said.
General Joseph Votel, the new head of US Central Command, said none of the crew knew they were striking a trauma centre.
No criminal charges have been levelled against US military personnel for mistakes that resulted in last year's air strike on the civilian hospital in Kunduz operated by the medical charity Doctors Without Borders.
The group has called the attack a war crime.
General Votel said the trauma centre was on a no-strike list but the gunship crew did not have access to the list.
The Pentagon was releasing the full report on the investigation on Friday, including details about what exactly led a US Air Force special operations AC-130 gunship to bomb the hospital and how those mistakes were made.
According to one senior US official, a two-star general was among about 16 American military personnel disciplined because of the attack.
A number of those punished are US special operations forces.
No one was sent to court-martial, officials said.
However, in many cases a non-judicial punishment, such as a letter of reprimand or suspension, can effectively end a military career.
The US air strike last October was carried out by one of the most lethal aircraft in the US arsenal.
Doctors Without Borders called the attack "relentless and brutal".
The Associated Press reported in March that more than a dozen US military personnel had been disciplined in connection with the bombing, and that the punishments were all largely administrative.
The crew of the AC-130, which is armed with side-firing cannons and guns, had been dispatched to hit a Taliban command centre in a building 450 yards from the hospital, the US military said in November.
Hampered by problems with their targeting sensors, the crew relied on a physical description that led them to begin firing at the hospital even though they saw no hostile activity there.
Officials have said the attack was caused by human error, and that many chances to prevent the attack on the wrong target were missed.
A separate US report on the incident said the AC-130 aircraft fired 211 shells at the hospital compound over 29 minutes before commanders realised the mistake and ordered a halt.
Doctors Without Borders officials contacted coalition military personnel during the attack to say the hospital was "being 'bombed' from the air", and the word finally was relayed to the AC-130 crew, the report said.
The attack came as US military advisers were helping Afghan forces retake Kunduz, which had fallen to the Taliban on September 28.
It was the first major city to fall since the Taliban were expelled from Kabul in 2001.
Afghan officials claimed the hospital had been overrun by the Taliban, but no evidence of that has surfaced.
The hospital was destroyed and Doctors Without Borders ceased operations in Kunduz.