What's new
Features
* Update notebook magics to work with Gemini by markmcd in https://github.com/google/generative-ai-python/pull/109
* Semantic retriever by shilpakancharla in https://github.com/google/generative-ai-python/pull/168
* Attributed question answering (`genai.generate_answer`) by shilpakancharla in https://github.com/google/generative-ai-python/pull/169
* Automatic function calling. by MarkDaoust in https://github.com/google/generative-ai-python/pull/201
model = genai.GenerativeModel(..., tools=[my_function])
chat = model.start_chat(enable_automatic_function_calling=True)
* Request options (timeouts, retry, ...) by aidoskanapyanov in https://github.com/google/generative-ai-python/pull/204
Model.generate_content(...,
request_options={'timeout': 100, 'retry': google.api_core.retry.Retry()})
* Permissions module by mayureshagashe2105 in https://github.com/google/generative-ai-python/pull/205
More updates
* Lock google-auth version to fix 114 by yihong0618 in https://github.com/google/generative-ai-python/pull/115
* Update code in `README.md` and `generate_content` documentation by Hamza-nabil in https://github.com/google/generative-ai-python/pull/149
* Make error message more readable by ftnext in https://github.com/google/generative-ai-python/pull/163
* Python 3.12 support. by MarkDaoust in https://github.com/google/generative-ai-python/pull/165
* Rename model defaults to use gemini-pro by markmcd in https://github.com/google/generative-ai-python/pull/175
* Add a more explicit error when no `parts` are returned by markmcd in https://github.com/google/generative-ai-python/pull/180
* Add `embed_content_async` implementation by mayureshagashe2105 in https://github.com/google/generative-ai-python/pull/189
* Link embed_content reference page to model details page by kaycebasques in https://github.com/google/generative-ai-python/pull/194
* Implement `__repr__` for `GenerateContentResponse` and `ChatSession` by aidoskanapyanov in https://github.com/google/generative-ai-python/pull/202
* Fixed 166. Thanks piresramon. by MarkDaoust in https://github.com/google/generative-ai-python/pull/208
New Contributors
* yihong0618 made their first contribution in https://github.com/google/generative-ai-python/pull/115
* ftnext made their first contribution in https://github.com/google/generative-ai-python/pull/163
* mayureshagashe2105 made their first contribution in https://github.com/google/generative-ai-python/pull/189
* kaycebasques made their first contribution in https://github.com/google/generative-ai-python/pull/194
* aidoskanapyanov made their first contribution in https://github.com/google/generative-ai-python/pull/202
**Full Changelog**: https://github.com/google/generative-ai-python/compare/v0.3.2...v0.4.0