@android_broadcast · Post #9006 · 24.04.2025 г., 10:03
🚀Room 2.7.1 уже здесь! Исправлен IndexOutOfBoundsException при валидации type converters, а также runInTransaction() теперь работает с SQLiteDriver #jetpack#jetpackupdate
Hashtags
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #168 · 16.01
Неделю назад в мире опенсорс разработки произошло интересное событие. Опенсорс — это когда разработчик пишет программу (как правило, эта программа нужна для работы других программ) и выкладывает её в общий доступ на полностью свободных началах. В большинстве случаев после этого кто угодно может делать с этой программой абсолютно что угодно: копировать, изменять, продавать решения на её основе за деньги и так далее. Иногда то, что пишут такие разработчики-волонтёры, оказывается невероятно удобно и полезно. Настолько, что гигантские корпорации используют это у себя. А кроме них — ещё десятки тысяч проектов по всему миру. Такое использование называется «зависимость», и оно создаёт связь между автором опенсорс-проекта и тем, кто взял его труд. Связь обычно такая: в моей программе где-то указано, что вот этот вот код взят по такому-то адресу у опенсорс разработчика Васи. Моя программа иногда может на этот адрес заглядывать и смотреть, а не внёс ли Вася чего нового. Вдруг он улучшил работу и исправил ошибки — тогда я скачаю новую версию его программы и установлю её у себя. Формально для такого обновления должны существовать ограничения. По факту человеческая лень и негласный этикет среди разработчиков приводят к тому, что обновления ставят не глядя. Считается, что Вася будет выкладывать только улучшенную и проверенную новую версию своей программы, ведь за ним наблюдает миллион других разработчиков. Пацаны во дворе не поймут, если Вася сделает что-то неаккуратно. Один из разработчиков по имени Marak Squires написал некоторое время назад две очень полезные программные библиотеки. Как раз такие, которые скачали десятки тысяч людей, в том числе в крупных корпорациях, и использовали у себя. В прошлом году этот разработчик написал что-то вроде: «Эй, корпорации, вы берёте мой труд бесплатно. Конечно, я его раздал бесплатно, но вы чёртовы капиталистические гиганты, и у вас миллиарды баксов, а я вам сэкономил миллионы баксов на разработке. Я жду от вас чек на почту в благодарность». Конечно, всем было пофигу. А неделю назад этот разработчик внёс в свои библиотеки деструктивное обновление, которое сделало программы, установившие его, неработоспособными, и вывело на экран «LIBERTY LIBERTY LIBERTY». Это обновление положило кучу проектов, в том числе у гигантов-корпораций. Поднялась буря. Одна часть интернета заявила, что разработчик никому ничего не должен, поэтому волен делать со своим кодом всё, что хочет. Вторая часть претендовала на то, что совершённый им поступок это вандализм и осознанный вред другим разработчикам. Дров в огонь подкинуло то, что GitHub, на котором размещался код этого разработчика, заблокировал его аккаунт. А система хранения пакетов NPM откатила изменения до предыдущих версий. Хотя формально никаких законов он не нарушал: компании брали его код по собственной воле, а он ничего никому не гарантировал. ___________________________ Я не готов назвать здесь однозначно правую сторону. Пока выглядит, как «Все мудаки». Но на мой взгляд это показательный пример вот чего: никакие формальные правила никогда не покроют всё многообразие человеческих взаимоотношений, и поэтому личностный аспект тоже важен. Даже если нет закона или правила, по которому вы что-то должны, есть смысл стараться действовать созидательно и стремиться, хотя бы частично, к всеобщему благу, а не только к личному. Особенно в ситуации, когда у тебя в руках сосредоточена та или иная власть. Корпорации действительно могли бы найти способ отблагодарить разработчика (и вообще — всех разработчиков, чей код они бесплатно берут в таких масштабах). Просто из чувства благодарности, а не потому, что должны. Разработчик мог бы просто закрыть проект и не стараться нанести урон. Просто из чувства неприятия всего деструктивного. Это, конечно, идеализированный мир розовых пони, но сила и власть это как раз способность двигать границы реальности. #dev
Hashtags
Търсене: #jetpackupdate
@android_broadcast · Post #9006 · 24.04.2025 г., 10:03
🚀Room 2.7.1 уже здесь! Исправлен IndexOutOfBoundsException при валидации type converters, а также runInTransaction() теперь работает с SQLiteDriver #jetpack#jetpackupdate
Hashtags
@android_broadcast · Post #9005 · 24.04.2025 г., 10:01
Вышла библиотека Jetpack Print 1.1.0, которая перешла на RGB формат при отправке изображения на принтеры для лучшей совместимости #jetpack#jetpackupdate
Hashtags
@android_broadcast · Post #9004 · 24.04.2025 г., 10:00
🚀 Вышел Jetpack Datastore 1.1.5 где поменяли реализацию Storage по умолчанию с OkioStorage на FileStorage. Вызвано тем чтобы решить проблему с CorruptionException в PreferencesDataStore. #jetpack#jetpackupdate
Hashtags
@android_broadcast · Post #8866 · 27.03.2025 г., 16:49
🚀 Вышел Jetpack DataStore 1.1.4 и там изменили реализацию хранилища по умолчанию, которая должна уменшить количество ошибок повреждения данных #jetpack#jetpackupdate
Hashtags
@android_broadcast · Post #8931 · 10.04.2025 г., 05:26
Также сегодня вышли beta версии Jetpack Navigation 2.9, Jetpack Lifecycle 2.9 (lifecycle, viewmodel), Saved State 1.3, Jetpack Activity 1.11, RecyclerView-Selection Version 1.2.0 #android#jetpack#jetpackupdate
Hashtags
@android_broadcast · Post #8925 · 10.04.2025 г., 04:03
🚀Вышел Jetpack AsyncLayoutInflater 1.1.0 Что нового: 👉 Возможность настройки AsyncLayoutFactory при инициализации AsyncLayoutInflater, что позволяет использовать AsyncAppCompatFactory для корректной работы с AppCompat view 👉 inflate метод теперь принимает Executor на котором будет вызван callback OnInflateFinishedListener #android#jetpack#jetpackupdate
Hashtags
@android_broadcast · Post #8872 · 27.03.2025 г., 17:24
🚀Первая альфа-версия DataStore 1.2.0, в которой добавлена поддержка работы в режиме Direct Boot (режим работы приложения до разблокировки устройства пользователем). Кроме того, появился артефакт с поддержкой Guava для Java. #android#jetpack#jetpackupdate
Hashtags
@android_broadcast · Post #9268 · 19.06.2025 г., 12:36
🚀Вышло обновление Android Jetpack библиотек В этот раз вас жду багфиксы: Room 2.7.2 и WorkManager 2.10.2, а также первая RC версия Benchmark Version 1.4.0 #android#androiddev#jetpack#jetpackupdate
@android_broadcast · Post #9525 · 25.09.2025 г., 07:40
🤖Вышел Jetpack Window 1.5.0 Что нового: 👉WindowSizeClass появились разделения для больших (Large - от 1200 до 1600) и очень больших (XLarge - более 1600 dp) экранов 👉 Получение WindowMetrics теперь работает с Application Context, а не только с UI Context 👉 Добавили API для автоматического сохранения и восстановления статуса встраивания Activity при перезапуске процесса 👉 Удалили экспериментальное API WindowInsets #android#androidjetpack#jetpackupdate
@android_broadcast · Post #8870 · 27.03.2025 г., 17:16
🚀 Добавили поддержку Android 16 для Jetpack Activity в версии 1.11.0 Alpha02 #android#jetpack#android16#jetpackupdate
@android_broadcast · Post #9080 · 09.05.2025 г., 05:48
🚀Релиз Jetpack Lifecycle 2.9.0: тестирование ViewModel и больше KMP 🎉 Новый артефакт lifecycle-viewmodel-testing - KMP библиотека для тестирования ViewModel в изоляции с помощью ViewModelScenario 👉SavedStateHandle теперь может возвращать MutableStateFlow 👉CreationExtras добавили перегрузки операторов in, +=, и + Больше поддержки KMP 👉lifecycle-testing, lifecycle-viewmodel-savedstate теперь полностью KMP библиотеки 👉LocalLifecycleOwner стал доступен из common кода 👉ViewModelProvider.NewInstanceFactory теперь доступна для Android и JVM #android#jetpack#jetpackupdate#kmp
@android_broadcast · Post #8867 · 27.03.2025 г., 16:51
🚀 Вышел Jetpack Room 2.7.0 RC03 с важными исправлениями багов перед выходом первой стабильной версии с поддержкой KMP #android#jetpack#jetpackupdate#kmp