Releases: mapeditor/rs-tiled
v0.13.0
v0.12.1
Update that patches a few issues.
Changed
- Improved documentation on
Map::layers
andMap::get_layer
. (#306) - Extend lifetime of
Layer
s returned fromGroupLayer::get_layer
to the map's. (#307)
New Contributors
- @erayerdin made their first contribution in #305
- @HughHoyland made their first contribution in #306
Full Changelog: v0.12.0...v0.12.1
v0.12.0
Huge release with lots of fixes and improvements.
Added
- Add
text
,width
andheight
members toObjectShape::Text
. (#278) - Implement
ResourceReader
for appropiate functions. (#272) Read the README's FAQ for more information about this change. - Support for custom type properties. (#283)
Changed
- Underlying reader for maps now uses a BufReader, which should give a large performance boost. (#286)
- Update
base64
to0.22.1
. (#294) - Update
libflate
to2.1.0
. (#294) - Update
zstd
to0.13.1
. (#294)
Fixed
ObjectShape::Text::kerning
's default value, which should have been set totrue
instead offalse
. (#278)- Unhandled u32 parsing panic in
decode_csv
. (#288) - Panic in
<Color as FromStr>::from_str
when parsing non-ascii input. (#290) - Index out of bounds in
InfiniteTileLayerData
when parsing a chunk. (#289) - Panic on unexpected XML in
ObjectData
content. (#291) - Divide by zero when parsing a tileset with height/width dimension of 0. (#292)
New Contributors
- @quininer made their first contribution in #281
- @Deukhoofd made their first contribution in #283
- @smackysnacks made their first contribution in #287
Full Changelog: v0.11.2...v0.12.0
v0.11.2
Maintenance release. Updates dependencies and documentation.
Changelog
Changed
- Updated
Image
docs. (#270) - Update
libflate
dependency to2.0.0
. (#279) - Fix some doc links. (#273)
- Update ggez example to 0.9.3.
PRs Merged
- Remove outdated doc by @aleokdev in #270
- Update
next
branch by @aleokdev in #271 - Fix doc links by @aleokdev in #273
- Update ggez example to 0.9.3 by @aleokdev in #276
- Update version & libflate dep to 2.0.0 by @aleokdev in #279
Full Changelog: v0.11.1...v0.11.2
v0.11.1
Adds WASM support and support for staggered maps.
Changelog
Added
- WASM support +
wasm
feature; CheckREADME.md
for instructions on how to set it up. (#252) - Support for staggered maps. Maps now have an
stagger_axis
andstagger_index
property. (#262) as_x
functions for layer types. (#235)
PRs Merged
- Add staggeraxis and staggerindex. by @darkautism in #262
- Add docs badge by @aleokdev in #264
- Add zstd WASM support & better docs by @aleokdev in #252
- Add
as_x
fns for layer types by @aleokdev in #235 - Update version to 0.11.1 by @aleokdev in #267
New Contributors
- @darkautism made their first contribution in #262
Full Changelog: v0.11.0...v0.11.1
v0.11.0
A really big feature update that adds support for virtual file systems, templates, text objects and more!
If you are planning to upgrade to the new version, check out the full release notes on the CHANGELOG.
What's Changed
- VFS support by @aleokdev in #199
- Enforce ResourceReader errors to be Send + Sync by @aleokdev in #206
- Add mut loader properties by @aleokdev in #207
- Remove
Layer
suffix fromLayerType
variants by @aleokdev in #203 - Formalize 0.11 branch by @aleokdev in #208
- Fix 0.11 build by @aleokdev in #215
- Fix & add tests for template object loading by @aleokdev in #227
- Rename
Chunk
&ChunkWrapper
by @aleokdev in #231 - Merge current into next by @aleokdev in #229
- Add text objects by @aleokdev in #230
- Merge branch 'current' into next by @bjorn in #246
- Merge current into next by @aleokdev in #251
- Finish 0.11 TODOs by @aleokdev in #253
- Updated lifetime of LayerTile returned from TileLayer by @Anti-Alias in #254
- Merge current into next by @aleokdev in #258
- Next -> Current by @aleokdev in #259
Full Changelog: https://github.com/mapeditor/rs-tiled/compare/v0.10.3...v0.11.0###
v0.10.3
Adds support for Wang Sets, Tiled 1.9, tile offsets and updates deps.
What's Changed
- Update CI by @aleokdev in #220
- Update deps badge by @aleokdev in #221
- Refactor
get_attrs
by @aleokdev in #219 - Initial support for WangSets by @josebaMdeL in #226
- Fix wangset imports by @aleokdev in #233
- Update deps by @aleokdev in #237
- Support Tiled 1.9
class
property by @barthap in #238 - Add support for tileset offset by @bikeshedder in #242
- Misc doc fixes by @aleokdev in #247
- Update base64 & sfml by @aleokdev in #249
- Revert breaking change by @aleokdev in #248
- Update version to 0.10.3 & fix deps badge by @aleokdev in #250
New Contributors
- @josebaMdeL made their first contribution in #226
- @barthap made their first contribution in #238
- @bikeshedder made their first contribution in #242
Full Changelog: v0.10.2...v0.10.3
v0.10.2
This update fixes some small issues and also adds basic chunk utilities as described in #210, improving infinite tile layer usage.
What's Changed
- Fix deprecation references by @aleokdev in #196
- Fix iterator lifetimes by @aleokdev in #201
- Common layer interface by @aleokdev in #197
- Remove
.travis.yml
by @aleokdev in #204 - Remove outdated comment from example by @aleokdev in #205
- Improve CI; Add rustfmt & clippy jobs by @aleokdev in #202
- Update Zstd & add deps.rs badge by @aleokdev in #213
- Fix some clippy warnings by @aleokdev in #214
- Add basic chunk utilities to infinite layers by @aleokdev in #210
- Update version to 0.10.2 by @aleokdev in #217
Full Changelog: v0.10.1...v0.10.2
v0.10.1
This update fixes a small documentation issue and adds a more streamlined way of loading assets.
The old methods for loading maps and tilesets have been deprecated.
Before:
use tiled::{FilesystemResourceCache, Map};
fn main() {
let map = Map::parse_file(
"assets/tiled_base64_zlib.tmx",
&mut FilesystemResourceCache::new(),
)
.unwrap();
println!("{:?}", map);
println!("{:?}", map.tilesets()[0].get_tile(0).unwrap().probability);
}
Now:
use tiled::Loader;
fn main() {
let mut loader = Loader::new();
let map = loader.load_tmx_map("assets/tiled_base64_zlib.tmx").unwrap();
println!("{:?}", map);
println!("{:?}", map.tilesets()[0].get_tile(0).unwrap().probability);
let tileset = loader.load_tsx_tileset("assets/tilesheet.tsx").unwrap();
assert_eq!(*map.tilesets()[0], tileset);
}
See the docs for more detail.
What's Changed
- Make malformed tileset attributes error more accurate by @mswiger in #194
- Add loader type by @aleokdev in #193
New Contributors
Full Changelog: v0.10.0...v0.10.1
v0.10.0
A big update!
This new release changes the entire interface, focusing on making everything more streamlined. The four most important changes are:
- Introduction of the
ResourceCache
trait, used to speed up loading for maps that share external assets (for now, only tilesets). - Hiding global IDs from the interface, translating to tileset index + local tile ID on load.
- Introducing wrappers over data types (e.g.
Layer
,Tile
,Object
, etc) whichDefer
to the regular data types, but conveniently also contain a reference to the parent structure (Tileset in the case of tiles, Map for everything else) for easy access to functions that require both the data type and its container. - Adding documentation to the entire crate!
Of course, there have been a lot of more additions and changes, including new features, bugfixes and everything in between.
For 0.9.5 users it is very recommended that you check out the new examples for porting old code over.
Another important update is that the repository has been moved to the official mapeditor organization and there are now three more maintainers: @aleokdev (me), @bjorn (creator of Tiled) and @PieKing1215.
I'd like to thank @mattyhall for having maintained this crate for the last 7 years and for letting us continue the work of maintaining it, @bjorn for all the code reviews and feedback provided, and of course all the contributors that have joined us and users who have provided feedback and bug reports!
Here's the full changelog:
What's Changed
- Reorganize crate by @aleokdev in #104
- update Zstd to 0.9 by @nicoxxl in #102
- Fix markdown formatting in CONTRIBUTORS file by @rsaarelm in #12
- Add support for multiline string properties by @PieKing1215 in #110
- Add layer id parsing by @PieKing1215 in #111
- Added MIT license file by @bjorn in #115
- Support object properties. by @SiegeLord in #114
- Add Github Actions by @aleokdev in #117
- Make layer ids optional and make tile layer name optional (like object layers) by @PieKing1215 in #119
- Refactor & document by @aleokdev in #106
- Start updating README.md by @PieKing1215 in #122
- Start getting changelog up to date by @PieKing1215 in #121
- Flatten Vec<Vec> to Vec by @bjorn in #128
- CI: Added caching of Rust stuff to potentially speed up action by @bjorn in #129
- Expose types at the top level by @bjorn in #132
- Contain all layer types in an enum by @aleokdev in #131
- Add parallax support by @perlindgren in #101
- Some Cargo.toml updates by @bjorn in #139
- Add layer tint color; Fix
Color
parsing issues by @aleokdev in #150 - Hide GIDs as internal details by @aleokdev in #135
- Add group layer support by @Anti-Alias in #146
- Better errors by @aleokdev in #152
- Add SFML example by @aleokdev in #133
- Hotfix: Fix CI by @aleokdev in #154
- Make tileset names optional by @aleokdev in #155
- Changed Rc to Arc by @Anti-Alias in #156
- Removing temp file by @Anti-Alias in #159
- Simplify internals by @aleokdev in #153
- Refactor chunk system by @aleokdev in #157
- Remove
Data
types from the interface by @aleokdev in #163 - Make path a requirement for parsing tilesets by @aleokdev in #160
- Wrap
Tile
over a data type by @aleokdev in #172 - Add some missing attributes by @aleokdev in #173
- Add preliminary documentation by @aleokdev in #174
- Use
Color
for color property type by @aleokdev in #180 - Fix docs and rename member by @aleokdev in #181
- Better macros by @aleokdev in #184
- Better specification for
Image::source
+ example by @aleokdev in #186 - Implement Deref for wrapper types by @aleokdev in #182
- Rename
TiledError
toError
+ AddResult
type by @aleokdev in #185 - Update changelog by @aleokdev in #188
- Add
Tileset::iter
, remove Iterator types by @aleokdev in #189 - Update version to 0.10.0 by @aleokdev in #190
- Implement Deref for Tile<'tileset> by @bjorn in #191
- Update crate version to 0.10.0 by @aleokdev in #192
New Contributors
- @aleokdev made their first contribution in #104
- @nicoxxl made their first contribution in #102
- @PieKing1215 made their first contribution in #110
- @bjorn made their first contribution in #115
- @SiegeLord made their first contribution in #114
- @perlindgren made their first contribution in #101
- @Anti-Alias made their first contribution in #146
Full Changelog: v0.9.5...v0.10.0