Skip to content

v20

Compare
Choose a tag to compare
@github-actions github-actions released this 28 Sep 15:33
· 151 commits to main since this release
176afb7

Changelog

  • 176afb7 Merge pull request #17 from codecrafters-io/partition-metadata-extension
  • 338c461 test: remove stages test for Fetch extension for the time being
  • 1a0b23a refactor: update MESSAGES regex to match new format
  • 4d163cc Merge branch 'main' into partition-metadata-extension
  • 748b8ba Merge pull request #18 from codecrafters-io/refactor-assertions
  • a14e2e5 ci: update Python version to 3.9
  • 6590fc1 test: update fixtures & remove unused stage slug
  • 81f4806 refactor: add Contains function to assertions package
  • 5e41e06 refactor: use assertions in code instead of custom checks
  • 5b869b4 feat: add ResponseHeaderAssertion
  • 336dcfa feat: add ApiVersionsAssertion file
  • d314c12 refactor: update header version used in ApiVersionsRequest It's always v2 for commonly used APIs
  • ca945de feat: remove stage 4 of DescribeTopicPartitions extension
  • 13df4f6 chore: update fixtures & regexes to skip random values
  • 45917ef test: update fixtures
  • 279b011 chore: update placeholder slugs with unique values
  • 3f6dc3a feat: use randomized values for topic names, ids and messages
  • 0dcb0dc refactor: update encoding method signatures to use realencoder package
  • 1185f93 refactor: stages to use shared constants
  • 27d182a refactor: replace all ✔️ in logs with -
  • 699d2a2 chore: fix typo
  • a982203 refactor: improve error handling in decoding of describeTopicPartition
  • 967b3c4 fix: remove unnecessary castings
  • bd20c22 fix: remove names colliding with imported package names
  • 68e6cbf fix: remove variable names colliding with imported package names
  • 9e67c45 chore: fix comment lint issues
  • 69ebc93 chore: add indentation to logs
  • dcb5ed0 refactor: add error handling to generate log dirs function
  • c7da48c refactor: add eror handling to all serializer methods
  • 1451cac refactor: replace all print statements with logs across serializers
  • b25c207 chore: add todo
  • 274321d refactor: update fetch request parameters
  • e7d11c9 refactor: update fetch request parameters
  • 7fae46d test: update fixtures and add more regex replacements
  • 5cc40e6 chore: update kafka-server-start.sh to redirect output to /dev/null
  • de7863e test: update fixtures
  • 304a9f4 feat: generate log directory before each stage execution
  • 2def304 ci: show all kafka logs
  • c6d6291 chore: add new tasks
  • 654cb02 chore: add new stage to tester prerequisites
  • a72a5df test: update fixtures
  • affdc87 feat: Add test for stage DescribeTopicPartition for multi topics
  • 2039a97 refactor: remove entire log base directory
  • 48b9c50 test: add fixtures
  • a31266d refactor: add fixture based tests for concurrent stages, describe topic partitions, and fetch extension
  • c28d6cb chore: fix lint
  • 78a69f5 chore: add tester prerequisites
  • 13d29c6 feat: Add test for stage DescribeTopicPartition for topic w multi partition (ResponsePartitionLimit:2)
  • 04586b4 feat: Add test for stage DescribeTopicPartition for topic w multi partition (ResponsePartitionLimit:1)
  • f8f290c refactor: update topic name and topic ID values from constants
  • 1cdc447 chore: update kafka-server-start.sh to redirect output to /dev/null
  • e9ab3a7 refactor: break generate_cluster_metadata file into individual files for each serializer type
  • 3e3ac6d refactor: update writeMetaProperties, writePartitionMetadata function signature to match other functions
  • ac554b6 refactor: generate directories for all topics and partitions in single call
  • 116af99 refactor: rename topic + partition paths to better reflect their nature
  • ed3d64d refactor: update GenerateLogDirs to use common.LOG_DIR for log directory path
  • 8227489 refactor: update GenerateLogDirs to create more topic dirs along with all required files
  • eda99cf refactor: update writeClusterMetadata function to support multiple topics and partitions
  • f1fd3b2 refactor: add serialize method for multiple topic messages
  • 3529c21 refactor: refactor writeKraftServerProperties function
  • 1662b25 feat: add more topics and messages to constants
  • af970f0 chore: remove all unused config values
  • 057e830 refactor: replace embed with hardcoded data
  • c6ed50b feat: generate kraft.server.properties file from embed
  • 9eb0dfb feat: use default path for writing logs to
  • 20d4caf feat: add default argument to all kafka_executable runs
  • 1b71078 chore: update your_program.sh
  • ed597f4 chore: update go deps
  • 4f87e4d test: use shared util function in tests
  • 4ee5e5f refactor: use shared values from constants file
  • 66420d0 feat: add tests for P1 and P2 of Describe_topic_partition extension
  • acb6383 chore: setup tester prerequisites
  • 07b03c4 feat: add constants file
  • ecc5a39 refactor: remove unused code and clean up file
  • a117d3e feat: add serializer for all log directory required by kafka for booting
  • 1590a43 fix: fix compact_records_length decoding
  • 99a26bb feat: add encoding methods to put bytes at given offset
  • e9ca2db refactor: minor update to how we encode null keys
  • d32cea1 feat: fix length encoding in record
  • 4d6f877 fix: fix decoding bug in record length :(
  • 0f2b12e feat: generate record elements that are computed based on the data
  • ad8e749 feat: generate recordBatch elements that are computed based on the data
  • 361648b fix: fix encoding for record.
  • 83708df fix: fix encoding of record batch
  • 77fce9f fix: fix encoding of cluster metadata payloads
  • a5a8600 feat: add tests for encoding cluster metadata payload values
  • 5cc0bf1 refactor: use compact string encoding for record names in ClusterMetadataPayload
  • 9db5d7a refactor: rename payload struct to ClusterMetadataPayload
  • 16a6529 feat: add 2nd log.dir to use with self generated records
  • 6b29623 feat: add encoders for all payload types
  • dcf5c18 chore: update .gitignore file
  • 6d1fdf0 feat: add decoders for all payload types (those required for our use case)
  • 0751960 feat: add decoders for more payload types
  • 79434d3 feat: add proper decoders for 2 payload types
  • 2617499 chore: rename file
  • 5290f2e fix: minor fix to hexdump output in test
  • 0cebf25 test: add unit tests for all cluster_metadata_payload decoding
  • adf2d2f refactor: add unit tests for cluster_metadata_payload decoding
  • 7c0e759 feat: add encoding methods for RecordBatch, Record, and RecordHeader
  • cfa448c refactor: move record_batch into its own file
  • 344a0ec refactor: remove non-essential recordBatches from cluster_metadata log file.
  • eb0155c chore: add new stage xy3 to course_definition
  • ba51227 refactor: remove files from inside __cluster_metadata-0
  • 4fa27c4 refactor: remove files from inside foo-0
  • 136fc1e feat: add stage F4 to test how FETCH is affected while messing with logs.dir
  • 8d1ba4e refactor: remove checkpoint files from inside log.dirs
  • 07c3bdd chore: update gitignore
  • a36af35 chore: add tester prerequisites
  • 7abec08 feat: add test for stage3 of DescribeTopicPartition ext
  • 582d5d8 fix: decoding of describe_topic_partition, add decoded elements into array
  • 244f218 feat: Add DescribeTopicPartition API
  • 45de6af feat: add DescribeTopicPartitions Request to docs
  • 8b2363b feat: add decoder for DescribePartitionMetadata response.
  • eeb2ab1 chore: remove unsued decoding logic
  • 2c3552a refactor: fix encoding of describe_topic_partitions request.
  • fe7bd92 feat: add request encoder + request decoder for DescribeTopicPartition