Releases: com-lihaoyi/os-lib
Releases · com-lihaoyi/os-lib
0.11.4-M3
0.11.4-M2
0.11.4-M2
0.11.4-M1
Update publish-artifacts.yml
0.11.3
0.11.2
Merged Pull Requests
- Fixed typo on
Readme.adoc
by @windymelt in #322 - Use Files.newOutputStream instead of new java.io.FileOutputStream by @sake92 in #323
New Contributors
- @windymelt made their first contribution in #322
Full Changelog: 0.11.1...0.11.2
0.11.1
Merged Pull Requests
Full Changelog: 0.11.0...0.11.1
0.11.0
Merged Pull Requests
- Update acyclic to 0.3.13 by @scala-steward in #304
- Fix expecty macro by @pawelsadlo in #307
- Update jna to 5.15.0 by @scala-steward in #309
- Update acyclic to 0.3.15 by @scala-steward in #313
zip
andunzip
API by @lihaoyi in #317
Full Changelog: 0.10.7...0.11.0
0.10.7
Merged Pull Requests
- Allow even more dynamic instrumentation of
pwd
viaos.dynamicPwdFunction
by @lihaoyi in #299 - Allow multiple segments in Stringliterals by @pawelsadlo in #297
- Update error messages to allow better error messages for invalid path segments by @lihaoyi in #301
- Make use of concise literal paths everywhere by @lihaoyi in #302
- Update mima comparison versions by @lihaoyi in #303
New Contributors
- @pawelsadlo made their first contribution in #297
Full Changelog: 0.10.6...0.10.7
0.10.7-M2
Allow multiple segments in Stringliterals (#297) This PR adds support for multi-segment literal strings. for example ```scala val path = root / "foo/bar" val qux = "qux" val path = root / "foo/bar" / "baz" / qux val path = root / "foo/bar" / "baz/qux" ``` it also parses `..` segments from literal as `os.up` enabling syntax like: ```scala val path = root / "foo" / ".." / "bar" // equivalent to `root / "foo" / os.up / "bar"` val path = root / "foo" / "../bar" // equivalent to `root / "foo" / os.up / "bar"` ``` non-canonical paths used in literals result in compile-time errors, suggesting usage of canonical paths or removing path segment, eg. ```scala val path = root / "foo/./bar" //suggests "foo/bar" val path = root / "foo//bar" //suggests "foo/bar" val path = root / "//foo//bar/./baz" //suggests "foo/bar/baz" val path = root / "" //suggests removing the segment val path = root / "." //suggests removing the segment val path = root / "/" //suggests removing the segment val path = root / "//" //suggests removing the segment val path = root / "/./" //suggests removing the segment ``` Note: Its not usable in os-Lib itself, due to the fact that it would lead to macro expansion in the same compilation unit as its definition. @lihaoyi there is a little bit of hacking involved: 1. There is a default implicit conversion not being a macro to be used within os library, without this we would have to add a submodule and split the whole project, I'm not even sure if its doable. 4. Needed to turn off acyclic in `Path` and particular `Macro` files (also needed to mock `acyclic.skipped` in case of `scala 3`). 5. Needed to provide another implicit conversion in `ViewBoundImplicit` trait because macros turn out to be not avaliable as implicit views, this is needed for `ArrayPathChunk` and `SeqPathChunk` to work.
0.10.7-M1
Allow even more dynamic instrumentation of `pwd` via `os.dynamicPwdFu…