It was almost a year ago that a MLS work stoppage was avoided when the players' union and league hammered out a Collective Bargaining Agreement. While many of the big-picture details were released around the time, it was only today that the MLS Players Union made the full CBA publicly available.

A lot of what's in there is only going to be of interest to the players themselves, and there's even more stuff they'll probably only skim over. But for MLS wonks like us -- and if you're reading this blog, we're including you -- there's a treasure trove of information that provides a better understanding of the league's inner workings.

Here's some of the stuff we found most interesting:

Minimum salaries

The document doesn't really get interesting until you get to Article 10 on page 28. That's where they talk about minimum salaries.

TL;DR: The absolute minimum that a player can be paid in 2016 is $51,500, and veterans will make at least $62,500.

Further reading: The reserve minimum players have to be 24 or younger and not have more than two years of MLS experience, but they are eligible for a bunch of bonuses their senior counterparts aren't for things like starts and making the gameday roster. After two years, a player must be elevated to a senior minimum roster spot, assuming his options are being picked up.

An example: A reserve minimum player like Oniel Fisher, would have been due at least an additional $12,750 in playing time bonuses (nine starts and three other league appearances, plus whatever games he made the bench and didn't play).

Team bonuses

While those base salaries are a significant improvement over what players have made in the past, we really start to see an improvement for players on the lower end of the salary structure once team bonuses are factored in.

TL;DR: Teams get bonuses for everything from winning regular-season games ($7,500) to making the playoffs (at least $20,000) to winning trophies (the big prize is MLS Cup at $275,000).

Further reading: The bonuses extend into other competitions, with the U.S. Open Cup winner getting $250,000, the Canadian Champion getting $50,000 and teams that qualify for CONCACAF Champions League could get as much as $226,000 (they'd need win all four group stage games and win the title to get the full amount). Teams can also get as much as $54,000 for playing in friendlies. These bonuses do not count against the salary budget, unlike individual player bonuses that would be in their specific contracts.

An example: The Sounders racked up $235,500 in bonuses last year (15 wins + playoffs + two CCL wins + CCL quarterfinals) and they can still claim another $135,000 through CCL play this year. If they had repeated their 2014 campaign, they'd have claimed $510,000 in bonuses (20 wins + Supporters' Shield + U.S. Open Cup). Their only friendly was against Club Tijuana, though, a team that doesn't translate to a bonus. The Portland Timbers, on the other hand, claimed $407,500 in bonuses last year (15 wins + playoffs + MLS Cup champs). If the Sounders chose to give all 31 players on last year's season-ending roster an equal share of the bonus money (they probably didn't), that means an additional $7,600 for each player.

Salary cap

This is information that is eventually made public every year, but now we have the complete salary budget schedule.

TL;DR: Every team has at least $3,660,000 to spend on their senior roster in 2016. The budget increase is a little less than 5 percent per year.

Further reading: The only players who count against the budget are for roster spot 1-20, and as few as 18 players can be placed on the senior roster. For the most part, players making the veteran or reserve minimum, Homegrown Players, and Generation Adidas players are all off budget. Spots 21-24 on the roster must be paid at least the veteran minimum and spots 24-28 must be paid at least the reserve minimum.

An example: Fisher would occupy one of the 24-28 spots on the roster and not count against the salary cap.

How a player's budget charge is determined

Truth be told, this is not going to help you figure out how much a player counts against the salary cap, but it is a window into just how complicated the process is.

TL;DR: A player's salary cap hit is almost impossible to determine simply by looking at their base salary, and phrases like "MLS retains discretion" make it even more of a fool's errand. That said, you can probably added about 15 percent to any given player's salary and get a general idea of how much they count.

Further reading: A full-season Designated Player salary cap hit is pegged at 12.5 percent of the total budget (a midseason DP only costs 6.25 percent). So having three full-season DPs means you are sinking 37.5 percent of your budget into about 15-17 percent of your roster. Having a third DP also costs you an additional $150,000 a year that is put back into a league pool and redistributed as allocation to the teams that don't have three DPs. Those figures can be paid down with allocation money, though.

An example: The Sounders' three DPs will each count $457,500 against the cap in 2016 (before any allocation is used), but midseason acquisition Nelson Haedo Valdez only counted $218,125 last year. This helps explain how the Sounders effectively spent the new TAM before they even got it.

Per-diem

This is really not of particular importance, but it's still interesting.

TL;DR: Players get the equivalent $101 a day (including incidentals) whenever they travel.

Further reading: Teams can choose to provide meals as long as they are of an equivalent value to the per-diem and players are basically guaranteed breakfast and lunch on any day they train or play.

An example: Over the course of the season, a regular starter or rotational player will go on about 17 road trips. Those road trips are at least two days each. That adds up to about $3,400 a year in per-diem.

Allocation money

We still don't know how much money is in the pool or how much each team gets, but we now have a baseline.

TL;DR: Each team will get at least $250,000 in allocation money this year.

Further reading: Expansion teams now start with $1.1 million in allocation, and every year a pool of money equivalent to $100,000 multiplied by the number of teams the previous year will be injected into the league and distributed however the league deems necessary. Teams can also get allocation for participating in non-MLS tournaments like CCL, Open Cup or Canadian Cup. While it's long been the law of the land, the CBA also codifies that a maximum of $650,000 from a loan or transfer can be turned into allocation .

An example: The league has traditionally given additional allocation money to teams that miss the playoffs or qualify for CCL. Teams that fall into the so-called "donut hole" don't usually get that additional allocation. The Sounders are probably starting with $250,000 in AM.

Transfer and loans

One of the things about playing in MLS is accepting that you can be traded basically anywhere in the league and there's not much you can do about it. While this is pretty normal in North American sports, it's not how most of the soccer world works. That's still the case under this CBA, but it does assert a player's right to refuse a transfer outside the league whether it's to a USL team or a foreign one.

TL;DR: Players don't have a ton of control over where they play in MLS.

Further reading: One obvious win for the players in this area is that they were able to guarantee themselves a 10 percent cut of any transfer outside the league. That's pretty standard operating procedure in other countries, but was an area of contention here before this CBA.

An example: Under today's agreement, DeAndre Yedlin would have been due about $300,000 from the reported $3 million transfer fee that sent him to Tottenham Hotspur.

Other banned activity

This is just kinda funny, even if it totally makes sense.

TL;DR: If a player gets hurt exploring a cave, MLS is going to be pissed.

Free agency

This was one of the bigger issues of negotiations, and while we knew some of the broad parameters, there's a lot more detail here. Players must be at least 28 years old and have at least eight years of MLS experience and can get these raises:

TL;DR: MLS now has a limited form of free agency.

Further reading: Teams can still give their own players bigger raises than the ones outlined here, but they've also created rules that keep teams from taking advantage of that in a way that the NBA does by putting a one-year moratorium on trading any player who got a bigger raise than the ones outlined above. It's all possible for free agents to get bigger raises through the "out-performance mechanism," which is something the league and union will determine based on a series of objective criteria like awards, goals or national team appearances.

An example: Chad Barrett had his option declined last year and was able to choose where he played without having to go through a litany of drafts first.

Other random notes