Skip to content
This repository was archived by the owner on Oct 28, 2023. It is now read-only.

observe docs #6

Closed
wants to merge 749 commits into from
Closed

observe docs #6

wants to merge 749 commits into from

Conversation

diesalbla
Copy link
Owner

  • Sketch of file2.Path
  • Read working
  • Add some tests for Path
  • Win32 path creation
  • Switch to wrapping Java API
  • Invert Path cross build strategy
  • Add PathCompanionApi
  • Make PathApi a universal trait
  • Revert "Make PathApi a universal trait"
  • Initial sketch of write
  • Scalafmt
  • Add cross platform api for Flag
  • Minor change to FilesSuite
  • Add flags support to open
  • Make flags required for write
  • Make flags required for read
  • Start fleshing out file2 for js
  • Create path companion object
  • Formatting
  • Fix file names
  • Implement Flag for JS
  • Add some headers
  • AnyVal the JVM flag, lock-down ctrs
  • Remove unneded Read/WriteCursorPlatform
  • Some minor doc updates
  • Implement Files for js
  • Bug fix
  • Cleanup
  • Fix PathSuite failures
  • Make space for new API
  • Move file2 in to file
  • Add readRange
  • Add tail
  • More common implementations
  • Scaladoc
  • Scalafmt
  • Reuse new impl in deprecated methods
  • Reuse new impl in deprecated methods
  • Move a couple more methods up to shared
  • Flesh out Path APIs
  • Clean up, tests passing
  • Formatting
  • Add mima exclusions
  • Add example of non-default FS usage
  • Add CopyFlags
  • Implement copy and size for js
  • Add Benchmark for the typical use-case of having a Stream built from a Cats Effect Queue
  • Move FilesSuite to shared
  • Use /tmp directory correctly
  • Specialize method for building a stream from a cats-effect Queue that outputs single elements
  • Add n=1 value just to benchmark very small queues
  • Fix writeAll bug
  • Fix Node.js readAll/writeAll error handling
  • Pull: contP variable small adjustment.
  • Start fleshing out error handling
  • Fix compilation
  • Fix compilation
  • Move writeRotate impl
  • Deleteion, exists, and directory creation
  • Relocate adaptError
  • Implement stubs
  • Add UnknownHostException
  • Make exceptions more Java-like
  • Formatting
  • More formatting :)
  • Add Files.list
  • Add glob variant of list
  • Add deprecations for methods ported so far
  • Add path predicates
  • Move move to shared
  • Make the code compatible with Scala 2.12
  • Rearrange JVM code to keep deprecated stuff separate
  • Update temp file/dir signatures
  • Update sbt-scalajs, scalajs-compiler, ... to 1.7.0
  • Add permissions support
  • Add get/set posix permissions support
  • Make Permissions#value public
  • Fix octal upper bound on permissions
  • Implement Files stubs for Node.js
  • Uncomment unix sockets implementation
  • Add unit tests for PosixPermissions
  • Adjust mima exclusions
  • Implement remaining Files methods for Node.js
  • Scalafmt
  • Fix JVM 2.12 build
  • Fix mima and js
  • Fix null pointer exception when stream destroyed
  • Fix missing import in Fix null pointer exception when Node.js stream is destroyed typelevel/fs2#2530
  • Unqualify IOException
  • Fix deprecation annotations
  • Uncomment FileSuite
  • Formatting
  • Bug fixing
  • Fix scala 3 compile
  • Add get/set last modified time
  • Implement modified time methods
  • Implement SSLException
  • Formatting
  • Implement more exceptions
  • Bye bye lockfile
  • ScalaDoc on PosixPermissions
  • Add missing exception aliases
  • Bug fix
  • Add error adaptor
  • Implement additional path methods
  • Add test for AccessDeniedException
  • Add test for DirectoryNotEmptyException
  • Add test for NotDirectoryException
  • Path has a Monoid
  • Add test for endsWith
  • Work in progress for new walk implementation
  • Make Socket#endOfInput cross-platform
  • File attributes
  • Implement getBasicFileAttributes for Node.js
  • Implement more stubs
  • Bring back the lock files
  • Docs
  • Docs
  • More docs
  • Fix walk for platforms without fileKey
  • Add some examples of using the Files API
  • Use tupleLeft in file examples
  • Minor syntax updates to the files examples
  • More simplification of files examples
  • Fix compilation
  • Scalafmt
  • Per suggestion from Frank Thomas, use an inverted Order instead of requiring Group
  • Implement isSameFile, generalize walk
  • Path semantics matching, tests, docs
  • More docs
  • More docs, added Files.createFile, moved Watcher to new API
  • Add mima exclusion
  • Implement createFile for Node.js
  • Implement setLastModifiedTime for JS
  • Fix scala3 build
  • Update cats-effect, cats-effect-laws, ... to 3.2.2
  • Finish cursory ScalaDoc pass on Files
  • Do not require folks to add obvious open flags
  • More docs
  • Add example to file docs
  • Scalafmt
  • Implement symbolic link for JS
  • Cleanup
  • Fix some compilation warnings
  • Add example of counting lines of code
  • Scalafmt
  • Catch a couple more javascript exceptions
  • Update fs2-io docs with Node.js support
  • Fix deprecation versions
  • Make internal method private[TLSParameters]
  • Tweak Node.js server to be more idiomatic
  • Use correct linking method
  • Special Case parJoin 1
  • Added the scala docs API links on the main site. This should fix the issue Cannot find Scaladoc on fs2.io website typelevel/fs2#2356
  • Update sbt-sonatype to 3.9.9
  • Scala 2.13: avoid compiler warnings.
  • Update cats-effect, cats-effect-laws, ... to 3.2.3
  • Suppress unused params warnings
  • Pull - Compile MapOutput objects with a handler too.
  • Fix syntax highlighting in getting started guide
  • Remove optimized implementation of map due to memory leak
  • Scalafmt
  • Fix failing resourceWeak test
  • Adjust mima exclusions
  • Adjust baseVersion
  • Mark groupWithin test flaky
  • Arbitrary charset decoding
  • Remove charsets unavailable in JS, add UTF_8 for completeness
  • Update sbt-sonatype to 3.9.10
  • Update sbt-spiewak-sonatype to 0.22.0
  • Regenerate workflow with sbt-github-actions
  • PR review
  • Fix broken pub-sub example in guide.
  • Special case for parEvalMap with max concurrency of 1
  • Update sbt-mdoc to 2.2.23
  • Introduce fs2.io.ClosedChannelException
  • Fix compile errors
  • Formatting
  • Update scodec-bits to 1.1.28
  • Improve API reference page formatting
  • Update links for 3.1.1
  • Update scala3-library, ... to 3.0.2
  • Regenerate workflow with sbt-github-actions
  • Make compression APIs cross-platform, impl next up
  • Implement compression on Node.js
  • Seal Compression and appease MiMa
  • Set maxSize for Scalacheck
  • Remove unnecessary delegate
  • Initial import of time series from scodec-protocols
  • Port tests
  • Mark flaky test
  • Update cats-effect, cats-effect-laws, ... to 3.2.7
  • Add ScalaDoc to Scan
  • Update scodec-bits to 1.1.28
  • Replace TimeStamp with FiniteDuration
  • Scalafmt
  • Cleanup
  • Change TimeStamped.throttle to use stepLeg
  • Scalafmt
  • Add scodec-stream
  • Add scodec interop example
  • Update workflow
  • Add instances for stream encoder and decoder
  • Scalafmt
  • Scalafmt
  • Fix js dependency
  • Fix mima on scodec module
  • Fix compilation on Scala 3
  • Bump ST version, use new features
  • Add a convenient shorthand for predicating effects on a boolean signal.
  • Update jnr-unixsocket to 0.38.10
  • Update cats-effect, cats-effect-laws, ... to 3.2.8
  • Update lockfile
  • More fixes for ST/node version bumps
  • Update scodec-bits to 1.1.28
  • Issue_2598_A: Fix pure-streams leak.
  • Issue_2598_B Memory leak involving Uncons through (drain)
  • Add F.unit: avoid stack overflow.
  • Use Monad for improved clarity.
  • Close server, terminate stream, then wait for callback
  • Fix Scala 3 compilation error
  • Implement CRC32 checksum
  • Move constants to object
  • Implement scalacheck-based test
  • Reimplement parJoin
  • Add short circuiting monad transformer tests
  • Implement onOutcome
  • Drain before interruption
  • Handle error instead of attempt and void
  • Update scala-library to 2.12.15
  • Regenerate workflow with sbt-github-actions
  • Update sbt-spiewak-sonatype to 0.22.1
  • Update jnr-unixsocket to 0.38.11
  • Make Target extend MonadCancelThrow
  • scalafmt
  • Pull - Translate - fix compilation bug.
  • Update testng-6-7 to 3.2.10.0
  • Update cats-effect, cats-effect-laws, ... to 3.2.9
  • Stream - GroupWithin - Some changes.
  • Implement Files#realPath
  • Fix UnixSockets classpath detection logic
  • Scaladoc
  • Pull - Remove internal matches.
  • Remove unnecessary Target abstract classes
  • Improve perfomance for parEvalMapUnordered
  • parEvalMapUnordered - channel
  • change mapAsyncUnordered
  • CR fixes
  • CR fixes
  • Fix typos
  • Remove unnecessary indexing in Chunk combinators and add new IndexedChunk type
  • Scalafmt
  • Fix compilation error and remove unnecessary compaction caching
  • Removed IndexedChunk
  • Cleanup
  • Add note to unconsN and chunkN about composite chunks
  • Mima
  • Make Chunk.Queue#apply O(log2(num chunks))
  • Update core/shared/src/main/scala/fs2/Chunk.scala
  • Fix compilation
  • Change text.utf8.decodeC(Stream(Chunk.empty)) to emit no elements
  • Use java.util.Arrays.binarySearch
  • Scalafmt
  • Fix error in insertion point logic
  • Use AtomicReference instead of Ref
  • Correct ScalaDoc comment
  • Correct ScalaDoc comment
  • Add Strong instance for Scan
  • Scalafmt
  • Restore Scan.lift
  • Review comments
  • Added info for fs2-io for sjs on get stated
  • Removed a reference to ce2 Effect
  • Improve Scope#interruptWhen error
  • Added a node-only disclaimer to getstarted
  • Updated getstarted comment for node.js
  • Add a unit test that reproduces the circular buffer copying overflow issue
  • Implement a modulus operation instead of the built in remainder
  • Update ip4s-core to 3.0.4
  • Check the output of the unit test
  • Use Integer.remainderUnsigned instead of modulus
  • Group all unit tests for readOutputStream
  • Remove the debug println that slipped through
  • Add a more generous timeout for the CI
  • Stream - Extend documentation of broadcastThrough.
  • BroadcastThrough Documentation - More accuracy.
  • fix socket leak for unresolvable domains
  • Use JDK 17 in the CI
  • Update scodec-bits to 1.1.29
  • Use new CRC builder from scodec-bits
  • Fix scaladoc
  • Restore CompressionPlatform (oops)
  • Move CompressionPlatform to right dir ...
  • Bump cats-effect version
  • Use new TestControl in StreamCombinatorsSuite
  • Use TestControl in TimedPullsSuite
  • Use TestControl in StreamRetrySuite
  • Rm custom deterministic IO executor in tests
  • Fix simple warnings
  • Use TestControl in StreamZipSuite
  • Rm custom deterministic runtime creation method
  • Fix StreamCombinatorsSuite for JS
  • Fix typo in the comment
  • Fix concurrently for short-circuiting transformers
  • Add the readOutputStream short-circuiting issue reproduction as a unit test
  • Add more concurrently short-circuiting unit tests
  • Improve TCP errors on JS
  • Improve file system errors on JS
  • Make UnknownHostException message OS-specific
  • Update munit-cats-effect-3 to 1.0.6
  • Make interruptWhen a no-op with the Sync compiler
  • Improve more IO exceptions on JS
  • Fix handling of ECONNRESET
  • Implement java.net.ProtocolException for JS
  • Revert "Remove unnecessary delegate"
  • Upgrade scalacheck-effect to 1.0.3
  • Disable ioJS test which hangs
  • Rework Node.js readReadable API
  • Rework Node.js readReadable API, take 2
  • Partially revert "Merge pull request fix socket leak for unresolvable domains typelevel/fs2#2644 from stephennancekivell/fix/Socket / FileDescriptor leak for unresolvable hosts typelevel/fs2#2643-socket-leak"
  • Flush CharsetDecoder to produce final chunk
  • Publisher.toStream can demand for more than one element
  • fix ordering
  • rename extension to avoid backwards compatibility issues
  • JDK8 support
  • bufferSize is a Int as Chunk size are Int
  • internally use Chunk instead of Vector
  • do not expose Chunk
  • use a default buffer of 16 elements
  • avoid diff with 'main' branch
  • keep existing behavior asking for elements one by one
  • document bufferSize
  • Update Scope docs
  • this change should be binary compatible
  • Update sbt-scalajs, scalajs-compiler, ... to 1.7.1
  • document how to keep the existing behavior
  • Revert "this change should be binary compatible"
  • rename new API toStreamBuffered to avoid breaking binary compatibility
  • Make Pull#output and Pull#outputOption1 effect polymorphic
  • Fix decodeCWithCharset with JDK8
  • add cabbit, fix edit link
  • Guide: remove references to pre-1.0 apis
  • Fix compactUntagged class cast exception typelevel/fs2#2679 - bug in Chunk.compactUntagged when used with empty or single element chunks
  • Introduce compactBoxed
  • Remove BoxedArraySlice
  • Remove unused arr
  • Remove compactBoxed specialization since only use was implementation of traverse/traverseFilter and Chunk.Queue now how amortized O(size * log(chunk count)) traversal
  • Add toIndexedChunk
  • Remove unused dependency to scalajs-dom
  • Use Node types instead of SJS std lib
  • Update scala3-library, ... to 3.1.0
  • Regenerate workflow with sbt-github-actions
  • Update sbt-mdoc to 2.2.24
  • Remove type aliases in TimeSeries package
  • Imported more of scodec-protocols
  • Update workflow
  • Import the rest of scodec-protocols
  • Scalafmt
  • Fix 2.x compilation
  • Bump ip4s and deprecate fs2 UnknownHostException
  • nowarn the internal use
  • Bump ip4s hash
  • Bump ip4s again
  • Site
  • Scalafmt
  • Fix 2.12 compilation
  • Add docs on TimeSeries and scodec
  • Bump ip4s version
  • fix hanging test
  • Update ip4s-core to 3.1.1
  • ipv6 is 16 bytes
  • added regression test for scodec-stream subproject
  • Update jnr-unixsocket to 0.38.12
  • Pull - Fix Memory Leak Issue 2693
  • added spaced function
  • Fix compilation warnings
  • Remove ScalaJSBundler plugin from scodec/protocols
  • Update the default bit in gzip compression to false
  • Update the test to use crc function from scodec
  • Update the wording for fhCrcEnabled parameter
  • Less confusing crc16 test computation
  • Update mima filter
  • Make fs2-io osgi jvm-only
  • Bump base version to 3.2
  • Update scala-library to 2.13.7
  • Regenerate workflow with sbt-github-actions
  • Fix Ipv4Header decoder
  • Fix Ipv4Header encoder
  • Scalafmt
  • Manually format Ipv4Header codec
  • Fix manual formatting
  • Fix test compilation
  • Fix test compilation
  • Improve guide on pull
  • Update OpenJDK version in guide and nix shell
  • Update scalafmt-core to 3.1.0
  • Disable ScalaDoc formatting so doctest examples compile
  • Update scalafmt-core to 3.1.1
  • Reformat with scalafmt 3.1.1
  • par-eval-map
  • par-eval-v3
  • Revert "Reformat with scalafmt 3.1.1"
  • Exclude scalafix/ directory from scalafmt
  • Remove OSGi support
  • parEvalMap
  • Update sbt-scalafmt to 2.4.4
  • par-eval-v3 - remove unneeded cancellation handling
  • Stream[F, Either[Throwable, O]].evalMap(_.pure.rethrow).mask <-> .rethrow.mask
  • Update scalafmt-core to 3.1.2
  • Update jnr-unixsocket to 0.38.13
  • Improve performance of Chunk.map and similar and memory efficiency of filter
  • Scalafmt
  • Fix 2.12 compilation
  • Restore direct array creation in map/mapAccumulate
  • Restore original map implementation
  • Create a Chunk from IterableOnce
  • Add Chunk.iterator to support 2.12
  • Update cats-core, cats-laws to 2.7.0
  • Bump CE version to 3.3.0
  • Scalafmt
  • ioJS: handle NoSuchFileException in isDirectory, isFile and isSymbolicLink
  • Use Node.js API for stdout/stdin
  • Fix tests for JS
  • Use makeArrayBuilder
  • true-case test for isSymbolicLink
  • true-case test for isHidden, fix and make isHidden consistent
  • Set autoDestroy = false in the ioplatform.mkDuplex
  • Update scalafmt-core to 3.2.0
  • Update core/shared/src/main/scala/fs2/Stream.scala
  • rethrow - make the algorithm more explicit
  • Update ip4s-core to 3.1.2
  • Update scodec-bits to 1.1.30
  • rethrow - fix doctests
  • Implement io.readResource
  • Formatting
  • getResourceAsStream is probably blocking
  • par-eval-v3 - added test on issue-2726
  • increase timed interval
  • Add readClassResource method
  • Change Socket#read to disallow a read after a timeout
  • Change filterWithPrevious example list in Scaladoc
  • Add another test case for reading after timed out read
  • Update sbt-spiewak-sonatype to 0.23.0
  • Update jnr-unixsocket to 0.38.14
  • Change exception thrown when reading from a socket which has had a previous read cancelled
  • Adjust test timeout
  • Update CI Java
  • Set default chunk size to 64k
  • Update io/shared/src/test/scala/fs2/io/net/tcp/SocketSuite.scala
  • Take 4: treat a socket that has cancelled a read as closed for read
  • Shutdown socket reads on read cancelation
  • Simplify canceled read handling
  • Add mima exclusion
  • Remove unnecessary type param
  • Further simplify implementation
  • Another simplification
  • par-eval-v3 - extracted parEvalMap* tests to a dedicated Suite
  • Update scalafmt-core to 3.2.1
  • Update sbt-scalafmt to 2.4.5
  • Implement TLSSocket#applicationProtocol on JS
  • Fix Scala 3 compile
  • Handle nulls in Java implementation
  • Update munit-cats-effect-3 to 1.0.7
  • par-eval-v3 - fix test parEvalMap* "cancels unneeded"
  • par-eval-v3 - scalafmt
  • Fix Unexpected behaviors around the use of Pull typelevel/fs2#2717
  • Update jnr-unixsocket to 0.38.15
  • Deprecate Chunk.buffer, add Chunk.to(Collection)
  • perf
  • benchmark
  • Update sbt to 1.5.6
  • channel-perf
  • Rm Jabba index in the build.sbt
  • Regenerate ci.yml
  • Update sbt-scalajs, scalajs-compiler, ... to 1.8.0
  • Add bounds checking to ArraySlice#apply
  • Scalafmt
  • channel-perf - CR comments + scalafmt + blackhole
  • channel-perf - CR comment
  • Update sbt to 1.5.7
  • Add failing test for Files.walk order
  • Revert "Add failing test for Files.walk order"
  • Add failing test for Files.walk preventing streaming copy
  • Fix order of walk to allow streaming copy
  • Formatting
  • Add test for NIO compatibility
  • Cosmetics
  • More formatting
  • Remove need for jdk converters
  • Use mask
  • text.lines enhancements:
  • Fix docs, change some param names
  • format
  • scalafmt
  • scalafmt
  • Fix for scala 2.12 build
  • fsIO - realPath: re-throw javascript exception as NoSuchFileException
  • recoverWith (oops)
  • adaptError instead of recoverWith->raiseError
  • Use custom exception for too-long line
  • Don't use deprecated method, for good measure.
  • Scala 2.12 fix, again
  • Update cats-effect, cats-effect-laws, ... to 3.3.1
  • Update sbt to 1.5.8
  • Test that existing CRLF-delimited text is split appropriately when crsOnly is enabled
  • Always split lines on '\r'-delimited input; simplify methods
  • unsure how that compiled
  • Fix Unexpected behaviors around the use of Pull (part II) typelevel/fs2#2762 - eval after zip may cause interruption
  • Handle trailing \r in text.lines consistently with other delimiters
  • scalafmt
  • Test observe termination of observing sink
  • Close output channel after observing sink has succeeded
  • Update scalafmt-core to 3.2.2
  • Reformat with scalafmt 3.2.2
  • Disable tracing in memory leak tests
  • Fix build warnings
  • Fix a few more warnings
  • Adjust mima filter
  • Fix a few more
  • Remove unnecessary chunk generator case since Chunk.seq(List(..)) will create an ArraySlice
  • Restore min thread count config for test ExecutionContext
  • Remove unnecessary usage of global execution context in tests, enable parallel test execution, use cross-friendly nowarn unused trick
  • Adjust test forking
  • Fork core and io tests
  • Pull Compilation Tweak: reuse BuildR object.
  • Update sbt-scalafmt to 2.4.6
  • Update scalafmt-core to 3.3.0
  • Enable fatal warnings on CI
  • Remove invalid ScalaDoc links
  • Remove invalid ScalaDoc links
  • Update sbt to 1.6.0
  • Upgrade scalablytyped
  • Adjust ioJS project for changes in facades
  • Scalafmt
  • Update to node types 16.11.7
  • Update lockfile again?
  • Observe - Expand API Docs

Thanks for opening a PR!

Target the main branch if this PR is targeted for the 3.x series and the series/2.5.x branch if targeted for the 2.5.x series.

If the CI build fails due to Scalafmt, run sbt fmt and push the changes (generally a good idea to run this prior to opening the PR).

Feel free to ask questions on the fs2 and fs2-dev channels on the Typelevel Discord server.

mpilquist and others added 30 commits October 23, 2021 11:35
Remove unused dependency to scalajs-dom
Import scodec-stream and scodec-protocols in to fs2
…weaks

Improve Node.js server shutdown and error handling
added regression test for scodec-stream subproject
Added `spaced` function, similar to `metered` but waiting
…ocket-0.38.12

Update jnr-unixsocket to 0.38.12
…mpression

Opt-in for FHCRC in gzip compression
mpilquist and others added 29 commits December 24, 2021 08:33
…ests

Disable tracing in memory leak tests
… parallel test execution, use cross-friendly nowarn unused trick
In the compilation loop, the BuildR simply represents a sort-of
callback or continuation, to connect the result of an inner stream.
We use them because directly passing the Uncons or the StepLeg runners
currently causes memory leaks.

However, since the BuildR object itself has no state, we can just
reuse a same object all through the compilation.
…core-3.3.0

Update scalafmt-core to 3.3.0
Pull Compilation Tweak: reuse BuildR object.
@diesalbla diesalbla closed this Dec 29, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet